@discordeno/bot 22.0.1-next.069e4fa → 22.0.1-next.09f2dfd
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 +1 -1
- package/dist/commandOptionsParser.d.ts.map +1 -1
- package/dist/commandOptionsParser.js +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/desiredProperties.d.ts +110 -86
- package/dist/desiredProperties.d.ts.map +1 -1
- package/dist/desiredProperties.js +251 -1
- package/dist/events.d.ts +10 -10
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
- package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_DELETE.js +1 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +1 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.js +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +1 -1
- package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_CREATE.js +1 -1
- package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_DELETE.js +1 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
- package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
- package/dist/handlers/channels/index.d.ts.map +1 -1
- package/dist/handlers/channels/index.js +1 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +1 -1
- package/dist/handlers/emojis/index.d.ts.map +1 -1
- package/dist/handlers/emojis/index.js +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_CREATE.js +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_DELETE.js +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.js +1 -1
- package/dist/handlers/entitlements/index.d.ts.map +1 -1
- package/dist/handlers/entitlements/index.js +1 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.js +1 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +1 -1
- package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_CREATE.js +1 -1
- package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_DELETE.js +1 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +1 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
- package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_UPDATE.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +1 -1
- package/dist/handlers/guilds/automod/index.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/index.js +1 -1
- package/dist/handlers/guilds/index.d.ts.map +1 -1
- package/dist/handlers/guilds/index.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/index.js +1 -1
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/handlers/index.js +1 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
- package/dist/handlers/integrations/index.d.ts.map +1 -1
- package/dist/handlers/integrations/index.js +1 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +1 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
- package/dist/handlers/interactions/index.d.ts.map +1 -1
- package/dist/handlers/interactions/index.js +1 -1
- package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_CREATE.js +2 -1
- package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_DELETE.js +1 -1
- package/dist/handlers/invites/index.d.ts.map +1 -1
- package/dist/handlers/invites/index.js +1 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +1 -1
- package/dist/handlers/members/index.d.ts.map +1 -1
- package/dist/handlers/members/index.js +1 -1
- package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +1 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
- package/dist/handlers/messages/index.d.ts.map +1 -1
- package/dist/handlers/messages/index.js +1 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
- package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -1
- package/dist/handlers/misc/RATE_LIMITED.js +1 -1
- package/dist/handlers/misc/READY.d.ts.map +1 -1
- package/dist/handlers/misc/READY.js +1 -1
- package/dist/handlers/misc/RESUMED.d.ts.map +1 -1
- package/dist/handlers/misc/RESUMED.js +1 -1
- package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
- package/dist/handlers/misc/TYPING_START.js +1 -1
- package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/misc/USER_UPDATE.js +1 -1
- package/dist/handlers/misc/index.d.ts.map +1 -1
- package/dist/handlers/misc/index.js +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
- package/dist/handlers/poll/index.d.ts.map +1 -1
- package/dist/handlers/poll/index.js +1 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
- package/dist/handlers/roles/index.d.ts.map +1 -1
- package/dist/handlers/roles/index.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
- package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
- package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
- package/dist/handlers/soundboard/index.d.ts.map +1 -1
- package/dist/handlers/soundboard/index.js +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.js +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.js +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +1 -1
- package/dist/handlers/subscriptions/index.d.ts.map +1 -1
- package/dist/handlers/subscriptions/index.js +1 -1
- package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
- package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.js +1 -1
- package/dist/handlers/voice/index.d.ts.map +1 -1
- package/dist/handlers/voice/index.js +1 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
- package/dist/handlers/webhooks/index.d.ts.map +1 -1
- package/dist/handlers/webhooks/index.js +1 -1
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +1 -1
- package/dist/helpers.d.ts +46 -42
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +14 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/transformers/activity.d.ts.map +1 -1
- package/dist/transformers/activity.js +1 -1
- package/dist/transformers/application.d.ts.map +1 -1
- package/dist/transformers/application.js +1 -1
- package/dist/transformers/applicationCommand.d.ts.map +1 -1
- package/dist/transformers/applicationCommand.js +1 -1
- package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
- package/dist/transformers/applicationCommandOption.js +1 -1
- package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/transformers/applicationCommandOptionChoice.js +1 -1
- package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
- package/dist/transformers/applicationCommandPermission.js +1 -1
- package/dist/transformers/attachment.d.ts.map +1 -1
- package/dist/transformers/attachment.js +1 -1
- package/dist/transformers/auditLogEntry.d.ts.map +1 -1
- package/dist/transformers/auditLogEntry.js +1 -1
- package/dist/transformers/automodActionExecution.d.ts.map +1 -1
- package/dist/transformers/automodActionExecution.js +1 -1
- package/dist/transformers/automodRule.d.ts.map +1 -1
- package/dist/transformers/automodRule.js +3 -2
- package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
- package/dist/transformers/avatarDecorationData.js +1 -1
- package/dist/transformers/channel.d.ts.map +1 -1
- package/dist/transformers/channel.js +4 -4
- package/dist/transformers/component.d.ts.map +1 -1
- package/dist/transformers/component.js +151 -8
- package/dist/transformers/embed.d.ts.map +1 -1
- package/dist/transformers/embed.js +1 -1
- package/dist/transformers/emoji.d.ts.map +1 -1
- package/dist/transformers/emoji.js +1 -1
- package/dist/transformers/entitlement.d.ts.map +1 -1
- package/dist/transformers/entitlement.js +1 -1
- package/dist/transformers/gatewayBot.d.ts.map +1 -1
- package/dist/transformers/gatewayBot.js +1 -1
- package/dist/transformers/guild.d.ts.map +1 -1
- package/dist/transformers/guild.js +1 -1
- package/dist/transformers/incidentsData.d.ts.map +1 -1
- package/dist/transformers/incidentsData.js +1 -1
- package/dist/transformers/index.d.ts.map +1 -1
- package/dist/transformers/index.js +1 -1
- package/dist/transformers/integration.d.ts.map +1 -1
- package/dist/transformers/integration.js +1 -1
- package/dist/transformers/interaction.d.ts.map +1 -1
- package/dist/transformers/interaction.js +17 -7
- package/dist/transformers/invite.d.ts.map +1 -1
- package/dist/transformers/invite.js +3 -1
- package/dist/transformers/lobby.d.ts.map +1 -1
- package/dist/transformers/lobby.js +1 -1
- package/dist/transformers/member.d.ts.map +1 -1
- package/dist/transformers/member.js +1 -1
- package/dist/transformers/message.d.ts.map +1 -1
- package/dist/transformers/message.js +1 -1
- package/dist/transformers/onboarding.d.ts.map +1 -1
- package/dist/transformers/onboarding.js +1 -1
- package/dist/transformers/poll.d.ts.map +1 -1
- package/dist/transformers/poll.js +1 -1
- package/dist/transformers/presence.d.ts.map +1 -1
- package/dist/transformers/presence.js +1 -1
- package/dist/transformers/reverse/activity.d.ts.map +1 -1
- package/dist/transformers/reverse/activity.js +1 -1
- package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
- package/dist/transformers/reverse/allowedMentions.js +1 -1
- package/dist/transformers/reverse/application.d.ts.map +1 -1
- package/dist/transformers/reverse/application.js +1 -1
- package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommand.js +1 -1
- package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommandOption.js +1 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
- package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
- package/dist/transformers/reverse/attachment.d.ts.map +1 -1
- package/dist/transformers/reverse/attachment.js +1 -1
- package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
- package/dist/transformers/reverse/auditLogEntry.js +1 -1
- package/dist/transformers/reverse/component.d.ts.map +1 -1
- package/dist/transformers/reverse/component.js +149 -11
- package/dist/transformers/reverse/embed.d.ts.map +1 -1
- package/dist/transformers/reverse/embed.js +1 -1
- package/dist/transformers/reverse/emoji.d.ts.map +1 -1
- package/dist/transformers/reverse/emoji.js +1 -1
- package/dist/transformers/reverse/gatewayBot.d.ts.map +1 -1
- package/dist/transformers/reverse/gatewayBot.js +1 -1
- package/dist/transformers/reverse/index.d.ts.map +1 -1
- package/dist/transformers/reverse/index.js +1 -1
- package/dist/transformers/reverse/member.d.ts.map +1 -1
- package/dist/transformers/reverse/member.js +1 -1
- package/dist/transformers/reverse/presence.d.ts.map +1 -1
- package/dist/transformers/reverse/presence.js +1 -1
- package/dist/transformers/reverse/team.d.ts.map +1 -1
- package/dist/transformers/reverse/team.js +1 -1
- package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
- package/dist/transformers/reverse/widgetSettings.js +1 -1
- package/dist/transformers/role.d.ts.map +1 -1
- package/dist/transformers/role.js +2 -1
- package/dist/transformers/scheduledEvent.d.ts.map +1 -1
- package/dist/transformers/scheduledEvent.js +1 -1
- package/dist/transformers/sku.d.ts.map +1 -1
- package/dist/transformers/sku.js +1 -1
- package/dist/transformers/soundboardSound.d.ts.map +1 -1
- package/dist/transformers/soundboardSound.js +1 -1
- package/dist/transformers/stageInstance.d.ts.map +1 -1
- package/dist/transformers/stageInstance.js +1 -1
- package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
- package/dist/transformers/stageInviteInstance.js +1 -1
- package/dist/transformers/sticker.d.ts.map +1 -1
- package/dist/transformers/sticker.js +1 -1
- package/dist/transformers/subscription.d.ts.map +1 -1
- package/dist/transformers/subscription.js +1 -1
- package/dist/transformers/team.d.ts.map +1 -1
- package/dist/transformers/team.js +1 -1
- package/dist/transformers/template.d.ts.map +1 -1
- package/dist/transformers/template.js +1 -1
- package/dist/transformers/threadMember.d.ts.map +1 -1
- package/dist/transformers/threadMember.js +1 -1
- package/dist/transformers/toggles/Permissions.d.ts.map +1 -1
- package/dist/transformers/toggles/Permissions.js +1 -1
- package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
- package/dist/transformers/toggles/ToggleBitfield.js +1 -1
- package/dist/transformers/toggles/channel.d.ts.map +1 -1
- package/dist/transformers/toggles/channel.js +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 +2 -2
- package/dist/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/transformers/toggles/guild.js +3 -3
- package/dist/transformers/toggles/index.d.ts.map +1 -1
- package/dist/transformers/toggles/index.js +1 -1
- package/dist/transformers/toggles/member.d.ts.map +1 -1
- package/dist/transformers/toggles/member.js +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.map +1 -1
- package/dist/transformers/toggles/user.js +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 +105 -18
- package/dist/transformers/types.d.ts.map +1 -1
- package/dist/transformers/types.js +2 -2
- package/dist/transformers/user.d.ts.map +1 -1
- package/dist/transformers/user.js +20 -3
- package/dist/transformers/voiceRegion.d.ts.map +1 -1
- package/dist/transformers/voiceRegion.js +1 -1
- package/dist/transformers/voiceState.d.ts.map +1 -1
- package/dist/transformers/voiceState.js +1 -1
- package/dist/transformers/webhook.d.ts.map +1 -1
- package/dist/transformers/webhook.js +5 -5
- package/dist/transformers/welcomeScreen.d.ts.map +1 -1
- package/dist/transformers/welcomeScreen.js +1 -1
- package/dist/transformers/widget.d.ts.map +1 -1
- package/dist/transformers/widget.js +1 -1
- package/dist/transformers/widgetSettings.d.ts.map +1 -1
- package/dist/transformers/widgetSettings.js +1 -1
- package/dist/transformers.d.ts +30 -30
- package/dist/transformers.d.ts.map +1 -1
- package/dist/transformers.js +1 -1
- package/package.json +19 -21
|
@@ -16,11 +16,19 @@ export function transformComponent(bot, payload) {
|
|
|
16
16
|
component = transformInputTextComponent(bot, payload);
|
|
17
17
|
break;
|
|
18
18
|
case MessageComponentTypes.StringSelect:
|
|
19
|
+
component = transformStringSelectMenuComponent(bot, payload);
|
|
20
|
+
break;
|
|
19
21
|
case MessageComponentTypes.UserSelect:
|
|
22
|
+
component = transformUserSelectMenuComponent(bot, payload);
|
|
23
|
+
break;
|
|
20
24
|
case MessageComponentTypes.RoleSelect:
|
|
25
|
+
component = transformRoleSelectMenuComponent(bot, payload);
|
|
26
|
+
break;
|
|
21
27
|
case MessageComponentTypes.MentionableSelect:
|
|
28
|
+
component = transformMentionableSelectMenuComponent(bot, payload);
|
|
29
|
+
break;
|
|
22
30
|
case MessageComponentTypes.ChannelSelect:
|
|
23
|
-
component =
|
|
31
|
+
component = transformChannelSelectMenuComponent(bot, payload);
|
|
24
32
|
break;
|
|
25
33
|
case MessageComponentTypes.Section:
|
|
26
34
|
component = transformSectionComponent(bot, payload);
|
|
@@ -46,6 +54,15 @@ export function transformComponent(bot, payload) {
|
|
|
46
54
|
case MessageComponentTypes.FileUpload:
|
|
47
55
|
component = transformFileUploadComponent(bot, payload);
|
|
48
56
|
break;
|
|
57
|
+
case MessageComponentTypes.RadioGroup:
|
|
58
|
+
component = transformRadioGroupComponent(bot, payload);
|
|
59
|
+
break;
|
|
60
|
+
case MessageComponentTypes.CheckboxGroup:
|
|
61
|
+
component = transformCheckboxGroupComponent(bot, payload);
|
|
62
|
+
break;
|
|
63
|
+
case MessageComponentTypes.Checkbox:
|
|
64
|
+
component = transformCheckboxComponent(bot, payload);
|
|
65
|
+
break;
|
|
49
66
|
}
|
|
50
67
|
return bot.transformers.customizers.component(bot, payload, component);
|
|
51
68
|
}
|
|
@@ -118,7 +135,7 @@ function transformInputTextComponent(bot, payload) {
|
|
|
118
135
|
}
|
|
119
136
|
return input;
|
|
120
137
|
}
|
|
121
|
-
function
|
|
138
|
+
function transformStringSelectMenuComponent(bot, payload) {
|
|
122
139
|
const props = bot.transformers.desiredProperties.component;
|
|
123
140
|
const select = {};
|
|
124
141
|
if (props.type && payload.type) select.type = payload.type;
|
|
@@ -131,11 +148,6 @@ function transformSelectMenuComponent(bot, payload) {
|
|
|
131
148
|
if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
|
|
132
149
|
if (props.minValues && payload.min_values) select.minValues = payload.min_values;
|
|
133
150
|
if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
|
|
134
|
-
if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
|
|
135
|
-
id: bot.transformers.snowflake(defaultValue.id),
|
|
136
|
-
type: defaultValue.type
|
|
137
|
-
}));
|
|
138
|
-
if (props.channelTypes && payload.channel_types) select.channelTypes = payload.channel_types;
|
|
139
151
|
if (props.options && payload.options) select.options = payload.options.map((option)=>({
|
|
140
152
|
label: option.label,
|
|
141
153
|
value: option.value,
|
|
@@ -151,6 +163,95 @@ function transformSelectMenuComponent(bot, payload) {
|
|
|
151
163
|
}
|
|
152
164
|
return select;
|
|
153
165
|
}
|
|
166
|
+
function transformUserSelectMenuComponent(bot, payload) {
|
|
167
|
+
const props = bot.transformers.desiredProperties.component;
|
|
168
|
+
const select = {};
|
|
169
|
+
if (props.type && payload.type) select.type = payload.type;
|
|
170
|
+
if (props.id && payload.id) select.id = payload.id;
|
|
171
|
+
if (props.customId && payload.custom_id) select.customId = payload.custom_id;
|
|
172
|
+
// Check if this is the user select response
|
|
173
|
+
if ('values' in payload) {
|
|
174
|
+
if (props.values && payload.values) select.values = payload.values;
|
|
175
|
+
if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
|
|
176
|
+
} else {
|
|
177
|
+
if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
|
|
178
|
+
if (props.minValues && payload.min_values) select.minValues = payload.min_values;
|
|
179
|
+
if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
|
|
180
|
+
if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
|
|
181
|
+
id: bot.transformers.snowflake(defaultValue.id),
|
|
182
|
+
type: defaultValue.type
|
|
183
|
+
}));
|
|
184
|
+
if (props.disabled && payload.disabled) select.disabled = payload.disabled;
|
|
185
|
+
}
|
|
186
|
+
return select;
|
|
187
|
+
}
|
|
188
|
+
function transformRoleSelectMenuComponent(bot, payload) {
|
|
189
|
+
const props = bot.transformers.desiredProperties.component;
|
|
190
|
+
const select = {};
|
|
191
|
+
if (props.type && payload.type) select.type = payload.type;
|
|
192
|
+
if (props.id && payload.id) select.id = payload.id;
|
|
193
|
+
if (props.customId && payload.custom_id) select.customId = payload.custom_id;
|
|
194
|
+
// Check if this is the role select response
|
|
195
|
+
if ('values' in payload) {
|
|
196
|
+
if (props.values && payload.values) select.values = payload.values;
|
|
197
|
+
if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
|
|
198
|
+
} else {
|
|
199
|
+
if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
|
|
200
|
+
if (props.minValues && payload.min_values) select.minValues = payload.min_values;
|
|
201
|
+
if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
|
|
202
|
+
if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
|
|
203
|
+
id: bot.transformers.snowflake(defaultValue.id),
|
|
204
|
+
type: defaultValue.type
|
|
205
|
+
}));
|
|
206
|
+
if (props.disabled && payload.disabled) select.disabled = payload.disabled;
|
|
207
|
+
}
|
|
208
|
+
return select;
|
|
209
|
+
}
|
|
210
|
+
function transformMentionableSelectMenuComponent(bot, payload) {
|
|
211
|
+
const props = bot.transformers.desiredProperties.component;
|
|
212
|
+
const select = {};
|
|
213
|
+
if (props.type && payload.type) select.type = payload.type;
|
|
214
|
+
if (props.id && payload.id) select.id = payload.id;
|
|
215
|
+
if (props.customId && payload.custom_id) select.customId = payload.custom_id;
|
|
216
|
+
// Check if this is the mentionable select response
|
|
217
|
+
if ('values' in payload) {
|
|
218
|
+
if (props.values && payload.values) select.values = payload.values;
|
|
219
|
+
if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
|
|
220
|
+
} else {
|
|
221
|
+
if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
|
|
222
|
+
if (props.minValues && payload.min_values) select.minValues = payload.min_values;
|
|
223
|
+
if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
|
|
224
|
+
if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
|
|
225
|
+
id: bot.transformers.snowflake(defaultValue.id),
|
|
226
|
+
type: defaultValue.type
|
|
227
|
+
}));
|
|
228
|
+
if (props.disabled && payload.disabled) select.disabled = payload.disabled;
|
|
229
|
+
}
|
|
230
|
+
return select;
|
|
231
|
+
}
|
|
232
|
+
function transformChannelSelectMenuComponent(bot, payload) {
|
|
233
|
+
const props = bot.transformers.desiredProperties.component;
|
|
234
|
+
const select = {};
|
|
235
|
+
if (props.type && payload.type) select.type = payload.type;
|
|
236
|
+
if (props.id && payload.id) select.id = payload.id;
|
|
237
|
+
if (props.customId && payload.custom_id) select.customId = payload.custom_id;
|
|
238
|
+
// Check if this is the channel select response
|
|
239
|
+
if ('values' in payload) {
|
|
240
|
+
if (props.values && payload.values) select.values = payload.values;
|
|
241
|
+
if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
|
|
242
|
+
} else {
|
|
243
|
+
if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
|
|
244
|
+
if (props.minValues && payload.min_values) select.minValues = payload.min_values;
|
|
245
|
+
if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
|
|
246
|
+
if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
|
|
247
|
+
id: bot.transformers.snowflake(defaultValue.id),
|
|
248
|
+
type: defaultValue.type
|
|
249
|
+
}));
|
|
250
|
+
if (props.channelTypes && payload.channel_types) select.channelTypes = payload.channel_types;
|
|
251
|
+
if (props.disabled && payload.disabled) select.disabled = payload.disabled;
|
|
252
|
+
}
|
|
253
|
+
return select;
|
|
254
|
+
}
|
|
154
255
|
function transformSectionComponent(bot, payload) {
|
|
155
256
|
const props = bot.transformers.desiredProperties.component;
|
|
156
257
|
const section = {};
|
|
@@ -238,5 +339,47 @@ function transformFileUploadComponent(bot, payload) {
|
|
|
238
339
|
}
|
|
239
340
|
return fileUpload;
|
|
240
341
|
}
|
|
342
|
+
function transformRadioGroupComponent(bot, payload) {
|
|
343
|
+
const props = bot.transformers.desiredProperties.component;
|
|
344
|
+
const radioGroup = {};
|
|
345
|
+
if (props.type && payload.type) radioGroup.type = payload.type;
|
|
346
|
+
if (props.id && payload.id) radioGroup.id = payload.id;
|
|
347
|
+
if (props.customId && payload.custom_id) radioGroup.customId = payload.custom_id;
|
|
348
|
+
// Check if this is the component (has options) or the interaction response (modal submit, has value)
|
|
349
|
+
if ('options' in payload) {
|
|
350
|
+
if (props.options && payload.options) radioGroup.options = payload.options;
|
|
351
|
+
if (props.required && payload.required !== undefined) radioGroup.required = payload.required;
|
|
352
|
+
} else {
|
|
353
|
+
if (props.value) radioGroup.value = payload.value ?? undefined;
|
|
354
|
+
}
|
|
355
|
+
return radioGroup;
|
|
356
|
+
}
|
|
357
|
+
function transformCheckboxGroupComponent(bot, payload) {
|
|
358
|
+
const props = bot.transformers.desiredProperties.component;
|
|
359
|
+
const checkboxGroup = {};
|
|
360
|
+
if (props.type && payload.type) checkboxGroup.type = payload.type;
|
|
361
|
+
if (props.id && payload.id) checkboxGroup.id = payload.id;
|
|
362
|
+
if (props.customId && payload.custom_id) checkboxGroup.customId = payload.custom_id;
|
|
363
|
+
// Check if this is the component (has options) or the interaction response (modal submit, has values)
|
|
364
|
+
if ('options' in payload) {
|
|
365
|
+
if (props.options && payload.options) checkboxGroup.options = payload.options;
|
|
366
|
+
if (props.minValues && payload.min_values !== undefined) checkboxGroup.minValues = payload.min_values;
|
|
367
|
+
if (props.maxValues && payload.max_values !== undefined) checkboxGroup.maxValues = payload.max_values;
|
|
368
|
+
if (props.required && payload.required !== undefined) checkboxGroup.required = payload.required;
|
|
369
|
+
} else {
|
|
370
|
+
if (props.values && payload.values) checkboxGroup.values = payload.values;
|
|
371
|
+
}
|
|
372
|
+
return checkboxGroup;
|
|
373
|
+
}
|
|
374
|
+
function transformCheckboxComponent(bot, payload) {
|
|
375
|
+
const props = bot.transformers.desiredProperties.component;
|
|
376
|
+
const checkbox = {};
|
|
377
|
+
if (props.type && payload.type) checkbox.type = payload.type;
|
|
378
|
+
if (props.id && payload.id) checkbox.id = payload.id;
|
|
379
|
+
if (props.customId && payload.custom_id) checkbox.customId = payload.custom_id;
|
|
380
|
+
if (props.value && 'value' in payload) checkbox.value = payload.value;
|
|
381
|
+
if (props.default && 'default' in payload) checkbox.default = payload.default;
|
|
382
|
+
return checkbox;
|
|
383
|
+
}
|
|
241
384
|
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRMYWJlbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZXBhcmF0b3JDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQsIE1lZGlhR2FsbGVyeUl0ZW0sIFVuZnVybGVkTWVkaWFJdGVtIH0gZnJvbSAnLi90eXBlcy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBDb21wb25lbnRcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ29udGFpbmVyOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGh1bWJuYWlsOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZXBhcmF0b3I6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TZXBhcmF0b3JDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTGFiZWw6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1GaWxlVXBsb2FkQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLCBjb21wb25lbnQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW1cbiAgY29uc3QgbWVkaWFJdGVtID0ge30gYXMgVW5mdXJsZWRNZWRpYUl0ZW1cblxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBtZWRpYUl0ZW0udXJsID0gcGF5bG9hZC51cmxcbiAgaWYgKHByb3BzLnByb3h5VXJsICYmIHBheWxvYWQucHJveHlfdXJsKSBtZWRpYUl0ZW0ucHJveHlVcmwgPSBwYXlsb2FkLnByb3h5X3VybFxuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHRcbiAgaWYgKHByb3BzLndpZHRoICYmIHBheWxvYWQud2lkdGgpIG1lZGlhSXRlbS53aWR0aCA9IHBheWxvYWQud2lkdGhcbiAgaWYgKHByb3BzLmNvbnRlbnRUeXBlICYmIHBheWxvYWQuY29udGVudF90eXBlKSBtZWRpYUl0ZW0uY29udGVudFR5cGUgPSBwYXlsb2FkLmNvbnRlbnRfdHlwZVxuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQsIG1lZGlhSXRlbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKTogTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZWRpYUdhbGxlcnlJdGVtXG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgTWVkaWFHYWxsZXJ5SXRlbVxuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKVxuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgZ2FsbGVyeUl0ZW0uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgZ2FsbGVyeUl0ZW0uc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQWN0aW9uUm93KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aW9uUm93KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBhY3Rpb25Sb3cuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cykgYWN0aW9uUm93LmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSlcblxuICByZXR1cm4gYWN0aW9uUm93XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgY29udGFpbmVyID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjb250YWluZXIudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuYWNjZW50Q29sb3IgJiYgcGF5bG9hZC5hY2NlbnRfY29sb3IpIGNvbnRhaW5lci5hY2NlbnRDb2xvciA9IHBheWxvYWQuYWNjZW50X2NvbG9yXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgY29udGFpbmVyLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXJcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBjb250YWluZXIuY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKVxuXG4gIHJldHVybiBjb250YWluZXJcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBidXR0b24gPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBidXR0b24uaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBidXR0b24ubGFiZWwgPSBwYXlsb2FkLmxhYmVsXG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWRcbiAgaWYgKHByb3BzLnN0eWxlICYmIHBheWxvYWQuc3R5bGUpIGJ1dHRvbi5zdHlsZSA9IHBheWxvYWQuc3R5bGVcbiAgaWYgKHByb3BzLmVtb2ppICYmIHBheWxvYWQuZW1vamkpIGJ1dHRvbi5lbW9qaSA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBwYXlsb2FkLmVtb2ppKVxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmxcbiAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIGJ1dHRvbi5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWRcbiAgaWYgKHByb3BzLnNrdUlkICYmIHBheWxvYWQuc2t1X2lkKSBidXR0b24uc2t1SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNrdV9pZClcblxuICByZXR1cm4gYnV0dG9uXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBpbnB1dCA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgaW5wdXQuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy52YWx1ZSAmJiBwYXlsb2FkLnZhbHVlKSBpbnB1dC52YWx1ZSA9IHBheWxvYWQudmFsdWVcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkXG5cbiAgLy8gQ2hlY2sgaWYgaXQgaXMgdGhlIGNvbXBvbmVudCBvciB0aGUgcmVzcG9uc2VcbiAgaWYgKCdzdHlsZScgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBpbnB1dC5zdHlsZSA9IHBheWxvYWQuc3R5bGVcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgaW5wdXQucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkXG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbFxuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBpbnB1dC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXJcbiAgICBpZiAocHJvcHMubWluTGVuZ3RoICYmIHBheWxvYWQubWluX2xlbmd0aCkgaW5wdXQubWluTGVuZ3RoID0gcGF5bG9hZC5taW5fbGVuZ3RoXG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aFxuICB9XG5cbiAgcmV0dXJuIGlucHV0XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZFxuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXNcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlclxuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzXG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXNcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSlcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlc1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucylcbiAgICAgIHNlbGVjdC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShvcHRpb24uZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgICAgfSkpXG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWRcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlY3Rpb25Db21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VjdGlvbi5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBzZWN0aW9uLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSlcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KVxuXG4gIHJldHVybiBzZWN0aW9uXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgdGh1bWJuYWlsID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSB0aHVtYm5haWwudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGh1bWJuYWlsLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSB0aHVtYm5haWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgdGh1bWJuYWlsLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXJcblxuICByZXR1cm4gdGh1bWJuYWlsXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVkaWFHYWxsZXJ5LmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuaXRlbXMgJiYgcGF5bG9hZC5pdGVtcykgbWVkaWFHYWxsZXJ5Lml0ZW1zID0gcGF5bG9hZC5pdGVtcy5tYXAoKGl0ZW0pID0+IGJvdC50cmFuc2Zvcm1lcnMubWVkaWFHYWxsZXJ5SXRlbShib3QsIGl0ZW0pKVxuXG4gIHJldHVybiBtZWRpYUdhbGxlcnlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVDb21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZS5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmZpbGUgJiYgcGF5bG9hZC5maWxlKSBmaWxlLmZpbGUgPSBib3QudHJhbnNmb3JtZXJzLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5maWxlKVxuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGZpbGUubmFtZSA9IHBheWxvYWQubmFtZVxuICBpZiAocHJvcHMuc2l6ZSAmJiBwYXlsb2FkLnNpemUpIGZpbGUuc2l6ZSA9IHBheWxvYWQuc2l6ZVxuXG4gIHJldHVybiBmaWxlXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnQgfCBEaXNjb3JkVGV4dERpc3BsYXlJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGV4dERpc3BsYXkuaWQgPSBwYXlsb2FkLmlkXG4gIC8vIFRoYXQgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdjb250ZW50JyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmNvbnRlbnQgJiYgcGF5bG9hZC5jb250ZW50KSB0ZXh0RGlzcGxheS5jb250ZW50ID0gcGF5bG9hZC5jb250ZW50XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZXBhcmF0b3IuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5kaXZpZGVyICYmIHBheWxvYWQuZGl2aWRlcikgc2VwYXJhdG9yLmRpdmlkZXIgPSBwYXlsb2FkLmRpdmlkZXJcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZ1xuXG4gIHJldHVybiBzZXBhcmF0b3Jcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRMYWJlbENvbXBvbmVudCB8IERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGxhYmVsID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBsYWJlbC50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBsYWJlbC5pZCA9IHBheWxvYWQuaWRcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWxcbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgbGFiZWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIH1cbiAgaWYgKHByb3BzLmNvbXBvbmVudCAmJiBwYXlsb2FkLmNvbXBvbmVudCkgbGFiZWwuY29tcG9uZW50ID0gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudClcblxuICByZXR1cm4gbGFiZWxcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQgfCBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZVVwbG9hZC5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBmaWxlVXBsb2FkLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWRcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXNcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgZmlsZVVwbG9hZC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXNcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgZmlsZVVwbG9hZC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXNcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWRcbiAgfVxuXG4gIHJldHVybiBmaWxlVXBsb2FkXG59XG4iXSwibmFtZXMiOlsiTWVzc2FnZUNvbXBvbmVudFR5cGVzIiwidHJhbnNmb3JtQ29tcG9uZW50IiwiYm90IiwicGF5bG9hZCIsImNvbXBvbmVudCIsInR5cGUiLCJBY3Rpb25Sb3ciLCJ0cmFuc2Zvcm1BY3Rpb25Sb3ciLCJCdXR0b24iLCJ0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQiLCJDb250YWluZXIiLCJ0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQiLCJUZXh0SW5wdXQiLCJ0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQiLCJTdHJpbmdTZWxlY3QiLCJVc2VyU2VsZWN0IiwiUm9sZVNlbGVjdCIsIk1lbnRpb25hYmxlU2VsZWN0IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQiLCJTZWN0aW9uIiwidHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIkZpbGUiLCJ0cmFuc2Zvcm1GaWxlQ29tcG9uZW50IiwiU2VwYXJhdG9yIiwidHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50IiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwib3B0aW9ucyIsIm9wdGlvbiIsInVuZGVmaW5lZCIsIm5hbWUiLCJhbmltYXRlZCIsImRlZmF1bHQiLCJzZWN0aW9uIiwiYWNjZXNzb3J5IiwidGh1bWJuYWlsIiwibWVkaWFHYWxsZXJ5IiwiaXRlbXMiLCJpdGVtIiwiZmlsZSIsInNpemUiLCJ0ZXh0RGlzcGxheSIsImNvbnRlbnQiLCJzZXBhcmF0b3IiLCJkaXZpZGVyIiwic3BhY2luZyIsImZpbGVVcGxvYWQiXSwibWFwcGluZ3MiOiJBQUFBLFNB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
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlO1xuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLCBtZWRpYUl0ZW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW07XG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVkaWFHYWxsZXJ5SXRlbSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdykge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBidXR0b24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBpbnB1dCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgdXNlciBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcm9sZSBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1lbnRpb25hYmxlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjaGFubmVsIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRodW1ibmFpbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBsYWJlbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQgfCBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgcmFkaW9Hcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmFkaW9Hcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcmFkaW9Hcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgcmFkaW9Hcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWUpXG4gIGlmICgnb3B0aW9ucycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucykgcmFkaW9Hcm91cC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJhZGlvR3JvdXAucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy52YWx1ZSkgcmFkaW9Hcm91cC52YWx1ZSA9IHBheWxvYWQudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJhZGlvR3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94R3JvdXAgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNoZWNrYm94R3JvdXAudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94R3JvdXAuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94R3JvdXAuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjb21wb25lbnQgKGhhcyBvcHRpb25zKSBvciB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKG1vZGFsIHN1Ym1pdCwgaGFzIHZhbHVlcylcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBjaGVja2JveEdyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgY2hlY2tib3hHcm91cC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBjaGVja2JveEdyb3VwO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94Q29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjaGVja2JveCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3gudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBjaGVja2JveC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIGlmIChwcm9wcy52YWx1ZSAmJiAndmFsdWUnIGluIHBheWxvYWQpIGNoZWNrYm94LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmRlZmF1bHQgJiYgJ2RlZmF1bHQnIGluIHBheWxvYWQpIGNoZWNrYm94LmRlZmF1bHQgPSBwYXlsb2FkLmRlZmF1bHQ7XG5cbiAgcmV0dXJuIGNoZWNrYm94O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIlNlcGFyYXRvciIsInRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudCIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwic2VjdGlvbiIsImFjY2Vzc29yeSIsInRodW1ibmFpbCIsIm1lZGlhR2FsbGVyeSIsIml0ZW1zIiwiaXRlbSIsImZpbGUiLCJzaXplIiwidGV4dERpc3BsYXkiLCJjb250ZW50Iiwic2VwYXJhdG9yIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlVXBsb2FkIiwicmFkaW9Hcm91cCIsImNoZWNrYm94R3JvdXAiLCJjaGVja2JveCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQ0VBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFLM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JRLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFL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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/transformers/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/transformers/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAoDrE"}
|
|
@@ -41,4 +41,4 @@ export function transformEmbed(bot, payload) {
|
|
|
41
41
|
return bot.transformers.customizers.embed(bot, payload, embed);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1iZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW1iZWQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEVtYmVkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEVtYmVkKTogRW1iZWQge1xuICBjb25zdCBlbWJlZCA9IHtcbiAgICB0aXRsZTogcGF5bG9hZC50aXRsZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICB0aW1lc3RhbXA6IHBheWxvYWQudGltZXN0YW1wID8gRGF0ZS5wYXJzZShwYXlsb2FkLnRpbWVzdGFtcCkgOiB1bmRlZmluZWQsXG4gICAgY29sb3I6IHBheWxvYWQuY29sb3IsXG4gICAgZm9vdGVyOiBwYXlsb2FkLmZvb3RlclxuICAgICAgPyB7XG4gICAgICAgICAgdGV4dDogcGF5bG9hZC5mb290ZXIudGV4dCxcbiAgICAgICAgICBpY29uVXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uX3VybCxcbiAgICAgICAgICBwcm94eUljb25Vcmw6IHBheWxvYWQuZm9vdGVyLnByb3h5X2ljb25fdXJsLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbWFnZTogcGF5bG9hZC5pbWFnZVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLmltYWdlLnVybCxcbiAgICAgICAgICBwcm94eVVybDogcGF5bG9hZC5pbWFnZS5wcm94eV91cmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLmltYWdlLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC5pbWFnZS53aWR0aCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdGh1bWJuYWlsOiBwYXlsb2FkLnRodW1ibmFpbFxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLnRodW1ibmFpbC51cmwsXG4gICAgICAgICAgcHJveHlVcmw6IHBheWxvYWQudGh1bWJuYWlsLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudGh1bWJuYWlsLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC50aHVtYm5haWwud2lkdGgsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHZpZGVvOiBwYXlsb2FkLnZpZGVvXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQudmlkZW8udXJsLFxuICAgICAgICAgIHByb3h5VXJsOiBwYXlsb2FkLnZpZGVvLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudmlkZW8uaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLnZpZGVvLndpZHRoLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwcm92aWRlcjogcGF5bG9hZC5wcm92aWRlcixcbiAgICBhdXRob3I6IHBheWxvYWQuYXV0aG9yXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmF1dGhvci5uYW1lLFxuICAgICAgICAgIHVybDogcGF5bG9hZC5hdXRob3IudXJsLFxuICAgICAgICAgIGljb25Vcmw6IHBheWxvYWQuYXV0aG9yLmljb25fdXJsLFxuICAgICAgICAgIHByb3h5SWNvblVybDogcGF5bG9hZC5hdXRob3IucHJveHlfaWNvbl91cmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGZpZWxkczogcGF5bG9hZC5maWVsZHMsXG4gIH0gYXMgRW1iZWQ7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZW1iZWQoYm90LCBwYXlsb2FkLCBlbWJlZCk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtRW1iZWQiLCJib3QiLCJwYXlsb2FkIiwiZW1iZWQiLCJ0aXRsZSIsInR5cGUiLCJkZXNjcmlwdGlvbiIsInVybCIsInRpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsInVuZGVmaW5lZCIsImNvbG9yIiwiZm9vdGVyIiwidGV4dCIsImljb25VcmwiLCJpY29uX3VybCIsInByb3h5SWNvblVybCIsInByb3h5X2ljb25fdXJsIiwiaW1hZ2UiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwidGh1bWJuYWlsIiwidmlkZW8iLCJwcm92aWRlciIsImF1dGhvciIsIm5hbWUiLCJmaWVsZHMiLCJ0cmFuc2Zvcm1lcnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSxlQUFlQyxHQUFRLEVBQUVDLE9BQXFCO0lBQzVELE1BQU1DLFFBQVE7UUFDWkMsT0FBT0YsUUFBUUUsS0FBSztRQUNwQkMsTUFBTUgsUUFBUUcsSUFBSTtRQUNsQkMsYUFBYUosUUFBUUksV0FBVztRQUNoQ0MsS0FBS0wsUUFBUUssR0FBRztRQUNoQkMsV0FBV04sUUFBUU0sU0FBUyxHQUFHQyxLQUFLQyxLQUFLLENBQUNSLFFBQVFNLFNBQVMsSUFBSUc7UUFDL0RDLE9BQU9WLFFBQVFVLEtBQUs7UUFDcEJDLFFBQVFYLFFBQVFXLE1BQU0sR0FDbEI7WUFDRUMsTUFBTVosUUFBUVcsTUFBTSxDQUFDQyxJQUFJO1lBQ3pCQyxTQUFTYixRQUFRVyxNQUFNLENBQUNHLFFBQVE7WUFDaENDLGNBQWNmLFFBQVFXLE1BQU0sQ0FBQ0ssY0FBYztRQUM3QyxJQUNBUDtRQUNKUSxPQUFPakIsUUFBUWlCLEtBQUssR0FDaEI7WUFDRVosS0FBS0wsUUFBUWlCLEtBQUssQ0FBQ1osR0FBRztZQUN0QmEsVUFBVWxCLFFBQVFpQixLQUFLLENBQUNFLFNBQVM7WUFDakNDLFFBQVFwQixRQUFRaUIsS0FBSyxDQUFDRyxNQUFNO1lBQzVCQyxPQUFPckIsUUFBUWlCLEtBQUssQ0FBQ0ksS0FBSztRQUM1QixJQUNBWjtRQUNKYSxXQUFXdEIsUUFBUXNCLFNBQVMsR0FDeEI7WUFDRWpCLEtBQUtMLFFBQVFzQixTQUFTLENBQUNqQixHQUFHO1lBQzFCYSxVQUFVbEIsUUFBUXNCLFNBQVMsQ0FBQ0gsU0FBUztZQUNyQ0MsUUFBUXBCLFFBQVFzQixTQUFTLENBQUNGLE1BQU07WUFDaENDLE9BQU9yQixRQUFRc0IsU0FBUyxDQUFDRCxLQUFLO1FBQ2hDLElBQ0FaO1FBQ0pjLE9BQU92QixRQUFRdUIsS0FBSyxHQUNoQjtZQUNFbEIsS0FBS0wsUUFBUXVCLEtBQUssQ0FBQ2xCLEdBQUc7WUFDdEJhLFVBQVVsQixRQUFRdUIsS0FBSyxDQUFDSixTQUFTO1lBQ2pDQyxRQUFRcEIsUUFBUXVCLEtBQUssQ0FBQ0gsTUFBTTtZQUM1QkMsT0FBT3JCLFFBQVF1QixLQUFLLENBQUNGLEtBQUs7UUFDNUIsSUFDQVo7UUFDSmUsVUFBVXhCLFFBQVF3QixRQUFRO1FBQzFCQyxRQUFRekIsUUFBUXlCLE1BQU0sR0FDbEI7WUFDRUMsTUFBTTFCLFFBQVF5QixNQUFNLENBQUNDLElBQUk7WUFDekJyQixLQUFLTCxRQUFReUIsTUFBTSxDQUFDcEIsR0FBRztZQUN2QlEsU0FBU2IsUUFBUXlCLE1BQU0sQ0FBQ1gsUUFBUTtZQUNoQ0MsY0FBY2YsUUFBUXlCLE1BQU0sQ0FBQ1QsY0FBYztRQUM3QyxJQUNBUDtRQUNKa0IsUUFBUTNCLFFBQVEyQixNQUFNO0lBQ3hCO0lBRUEsT0FBTzVCLElBQUk2QixZQUFZLENBQUNDLFdBQVcsQ0FBQzVCLEtBQUssQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDMUQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/transformers/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/transformers/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAYrE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CAQlH"}
|
|
@@ -33,4 +33,4 @@ export function transformDefaultReactionEmoji(bot, payload) {
|
|
|
33
33
|
return bot.transformers.customizers.defaultReactionEmoji(bot, payload, defaultReactionEmoji);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1vamkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERpc2NvcmRFbW9qaSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgRW1vamlUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2Vtb2ppLmpzJztcbmltcG9ydCB0eXBlIHsgRGVmYXVsdFJlYWN0aW9uRW1vamksIEVtb2ppIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBiYXNlRW1vamk6IEVtb2ppID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEVtb2ppKSxcblxuICBnZXQgYW5pbWF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcz8uYW5pbWF0ZWQ7XG4gIH0sXG4gIGdldCByZXF1aXJlQ29sb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/LnJlcXVpcmVDb2xvbnM7XG4gIH0sXG4gIGdldCBtYW5hZ2VkKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/Lm1hbmFnZWQ7XG4gIH0sXG4gIGdldCBhdmFpbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5hdmFpbGFibGU7XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRW1vamkoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRFbW9qaSk6IEVtb2ppIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmVtb2ppO1xuICBjb25zdCBlbW9qaSA9IE9iamVjdC5jcmVhdGUoYmFzZUVtb2ppKSBhcyBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBlbW9qaS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGVtb2ppLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLnJvbGVzKSBlbW9qaS5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKTtcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBlbW9qaS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKTtcblxuICBlbW9qaS50b2dnbGVzID0gbmV3IEVtb2ppVG9nZ2xlcyhwYXlsb2FkKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5lbW9qaShib3QsIHBheWxvYWQsIGVtb2ppKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkpOiBEZWZhdWx0UmVhY3Rpb25FbW9qaSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5kZWZhdWx0UmVhY3Rpb25FbW9qaTtcbiAgY29uc3QgZGVmYXVsdFJlYWN0aW9uRW1vamkgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxEZWZhdWx0UmVhY3Rpb25FbW9qaSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5lbW9qaUlkICYmIHBheWxvYWQuZW1vamlfaWQpIGRlZmF1bHRSZWFjdGlvbkVtb2ppLmVtb2ppSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppX2lkKTtcbiAgaWYgKHByb3BzLmVtb2ppTmFtZSAmJiBwYXlsb2FkLmVtb2ppX25hbWUpIGRlZmF1bHRSZWFjdGlvbkVtb2ppLmVtb2ppTmFtZSA9IHBheWxvYWQuZW1vamlfbmFtZTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5kZWZhdWx0UmVhY3Rpb25FbW9qaShib3QsIHBheWxvYWQsIGRlZmF1bHRSZWFjdGlvbkVtb2ppKTtcbn1cbiJdLCJuYW1lcyI6WyJFbW9qaVRvZ2dsZXMiLCJiYXNlRW1vamkiLCJ1bmRlZmluZWQiLCJhbmltYXRlZCIsInRvZ2dsZXMiLCJyZXF1aXJlQ29sb25zIiwibWFuYWdlZCIsImF2YWlsYWJsZSIsInRyYW5zZm9ybUVtb2ppIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJlbW9qaSIsIk9iamVjdCIsImNyZWF0ZSIsImlkIiwic25vd2ZsYWtlIiwibmFtZSIsInJvbGVzIiwibWFwIiwidXNlciIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamkiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiXSwibWFwcGluZ3MiOiJBQUdBLFNBQVNBLFlBQVksUUFBUSxxQkFBcUI7QUFHbEQsT0FBTyxNQUFNQyxZQUFtQjtJQUM5QiwyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLFlBQVc7UUFDYixPQUFPLElBQUksQ0FBQ0MsT0FBTyxFQUFFRDtJQUN2QjtJQUNBLElBQUlFLGlCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQ0QsT0FBTyxFQUFFQztJQUN2QjtJQUNBLElBQUlDLFdBQVU7UUFDWixPQUFPLElBQUksQ0FBQ0YsT0FBTyxFQUFFRTtJQUN2QjtJQUNBLElBQUlDLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ0gsT0FBTyxDQUFDRyxTQUFTO0lBQy9CO0FBQ0YsRUFBRTtBQUVGLE9BQU8sU0FBU0MsZUFBZUMsR0FBUSxFQUFFQyxPQUFxQjtJQUM1RCxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxLQUFLO0lBQ3RELE1BQU1BLFFBQVFDLE9BQU9DLE1BQU0sQ0FBQ2Y7SUFFNUIsSUFBSVUsTUFBTU0sRUFBRSxJQUFJUCxRQUFRTyxFQUFFLEVBQUVILE1BQU1HLEVBQUUsR0FBR1IsSUFBSUcsWUFBWSxDQUFDTSxTQUFTLENBQUNSLFFBQVFPLEVBQUU7SUFDNUUsSUFBSU4sTUFBTVEsSUFBSSxJQUFJVCxRQUFRUyxJQUFJLEVBQUVMLE1BQU1LLElBQUksR0FBR1QsUUFBUVMsSUFBSTtJQUN6RCxJQUFJUixNQUFNUyxLQUFLLElBQUlWLFFBQVFVLEtBQUssRUFBRU4sTUFBTU0sS0FBSyxHQUFHVixRQUFRVSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxDQUFDSixLQUFPUixJQUFJRyxZQUFZLENBQUNNLFNBQVMsQ0FBQ0Q7SUFDckcsSUFBSU4sTUFBTVcsSUFBSSxJQUFJWixRQUFRWSxJQUFJLEVBQUVSLE1BQU1RLElBQUksR0FBR2IsSUFBSUcsWUFBWSxDQUFDVSxJQUFJLENBQUNiLEtBQUtDLFFBQVFZLElBQUk7SUFFcEZSLE1BQU1WLE9BQU8sR0FBRyxJQUFJSixhQUFhVTtJQUVqQyxPQUFPRCxJQUFJRyxZQUFZLENBQUNXLFdBQVcsQ0FBQ1QsS0FBSyxDQUFDTCxLQUFLQyxTQUFTSTtBQUMxRDtBQUVBLE9BQU8sU0FBU1UsOEJBQThCZixHQUFRLEVBQUVDLE9BQW9DO0lBQzFGLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNZLG9CQUFvQjtJQUNyRSxNQUFNQSx1QkFBdUIsQ0FBQztJQUU5QixJQUFJZCxNQUFNZSxPQUFPLElBQUloQixRQUFRaUIsUUFBUSxFQUFFRixxQkFBcUJDLE9BQU8sR0FBR2pCLElBQUlHLFlBQVksQ0FBQ00sU0FBUyxDQUFDUixRQUFRaUIsUUFBUTtJQUNqSCxJQUFJaEIsTUFBTWlCLFNBQVMsSUFBSWxCLFFBQVFtQixVQUFVLEVBQUVKLHFCQUFxQkcsU0FBUyxHQUFHbEIsUUFBUW1CLFVBQVU7SUFFOUYsT0FBT3BCLElBQUlHLFlBQVksQ0FBQ1csV0FBVyxDQUFDRSxvQkFBb0IsQ0FBQ2hCLEtBQUtDLFNBQVNlO0FBQ3pFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../src/transformers/entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../src/transformers/entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAgBvF"}
|
|
@@ -14,4 +14,4 @@ export function transformEntitlement(bot, payload) {
|
|
|
14
14
|
return bot.transformers.customizers.entitlement(bot, payload, entitlement);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW50aXRsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW50aXRsZW1lbnQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB0eXBlIHsgRW50aXRsZW1lbnQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUVudGl0bGVtZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRW50aXRsZW1lbnQpOiBFbnRpdGxlbWVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5lbnRpdGxlbWVudDtcbiAgY29uc3QgZW50aXRsZW1lbnQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxFbnRpdGxlbWVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBlbnRpdGxlbWVudC5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGVudGl0bGVtZW50LnNrdUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5za3VfaWQpO1xuICBpZiAocHJvcHMudXNlcklkICYmIHBheWxvYWQudXNlcl9pZCkgZW50aXRsZW1lbnQudXNlcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC51c2VyX2lkKTtcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZF9pZCkgZW50aXRsZW1lbnQuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBlbnRpdGxlbWVudC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgZW50aXRsZW1lbnQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmRlbGV0ZWQgJiYgcGF5bG9hZC5kZWxldGVkICE9PSB1bmRlZmluZWQpIGVudGl0bGVtZW50LmRlbGV0ZWQgPSBwYXlsb2FkLmRlbGV0ZWQ7XG4gIGlmIChwcm9wcy5zdGFydHNBdCAmJiBwYXlsb2FkLnN0YXJ0c19hdCkgZW50aXRsZW1lbnQuc3RhcnRzQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuc3RhcnRzX2F0KTtcbiAgaWYgKHByb3BzLmVuZHNBdCAmJiBwYXlsb2FkLmVuZHNfYXQpIGVudGl0bGVtZW50LmVuZHNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRzX2F0KTtcbiAgaWYgKHByb3BzLmNvbnN1bWVkICYmIHBheWxvYWQuY29uc3VtZWQgIT09IHVuZGVmaW5lZCkgZW50aXRsZW1lbnQuY29uc3VtZWQgPSBwYXlsb2FkLmNvbnN1bWVkO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmVudGl0bGVtZW50KGJvdCwgcGF5bG9hZCwgZW50aXRsZW1lbnQpO1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUVudGl0bGVtZW50IiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJlbnRpdGxlbWVudCIsImlkIiwic25vd2ZsYWtlIiwic2t1SWQiLCJza3VfaWQiLCJ1c2VySWQiLCJ1c2VyX2lkIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidHlwZSIsImRlbGV0ZWQiLCJ1bmRlZmluZWQiLCJzdGFydHNBdCIsInN0YXJ0c19hdCIsIkRhdGUiLCJwYXJzZSIsImVuZHNBdCIsImVuZHNfYXQiLCJjb25zdW1lZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLFNBQVNBLHFCQUFxQkMsR0FBUSxFQUFFQyxPQUEyQjtJQUN4RSxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxXQUFXO0lBQzVELE1BQU1BLGNBQWMsQ0FBQztJQUVyQixJQUFJSCxNQUFNSSxFQUFFLElBQUlMLFFBQVFLLEVBQUUsRUFBRUQsWUFBWUMsRUFBRSxHQUFHTixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUUssRUFBRTtJQUNsRixJQUFJSixNQUFNTSxLQUFLLElBQUlQLFFBQVFRLE1BQU0sRUFBRUosWUFBWUcsS0FBSyxHQUFHUixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVEsTUFBTTtJQUNoRyxJQUFJUCxNQUFNUSxNQUFNLElBQUlULFFBQVFVLE9BQU8sRUFBRU4sWUFBWUssTUFBTSxHQUFHVixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVUsT0FBTztJQUNwRyxJQUFJVCxNQUFNVSxPQUFPLElBQUlYLFFBQVFZLFFBQVEsRUFBRVIsWUFBWU8sT0FBTyxHQUFHWixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVksUUFBUTtJQUN4RyxJQUFJWCxNQUFNWSxhQUFhLElBQUliLFFBQVFjLGNBQWMsRUFBRVYsWUFBWVMsYUFBYSxHQUFHZCxJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUWMsY0FBYztJQUNoSSxJQUFJYixNQUFNYyxJQUFJLElBQUlmLFFBQVFlLElBQUksRUFBRVgsWUFBWVcsSUFBSSxHQUFHZixRQUFRZSxJQUFJO0lBQy9ELElBQUlkLE1BQU1lLE9BQU8sSUFBSWhCLFFBQVFnQixPQUFPLEtBQUtDLFdBQVdiLFlBQVlZLE9BQU8sR0FBR2hCLFFBQVFnQixPQUFPO0lBQ3pGLElBQUlmLE1BQU1pQixRQUFRLElBQUlsQixRQUFRbUIsU0FBUyxFQUFFZixZQUFZYyxRQUFRLEdBQUdFLEtBQUtDLEtBQUssQ0FBQ3JCLFFBQVFtQixTQUFTO0lBQzVGLElBQUlsQixNQUFNcUIsTUFBTSxJQUFJdEIsUUFBUXVCLE9BQU8sRUFBRW5CLFlBQVlrQixNQUFNLEdBQUdGLEtBQUtDLEtBQUssQ0FBQ3JCLFFBQVF1QixPQUFPO0lBQ3BGLElBQUl0QixNQUFNdUIsUUFBUSxJQUFJeEIsUUFBUXdCLFFBQVEsS0FBS1AsV0FBV2IsWUFBWW9CLFFBQVEsR0FBR3hCLFFBQVF3QixRQUFRO0lBRTdGLE9BQU96QixJQUFJRyxZQUFZLENBQUN1QixXQUFXLENBQUNyQixXQUFXLENBQUNMLEtBQUtDLFNBQVNJO0FBQ2hFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatewayBot.d.ts","sourceRoot":"","sources":["../../src/transformers/gatewayBot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"gatewayBot.d.ts","sourceRoot":"","sources":["../../src/transformers/gatewayBot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAa1F"}
|
|
@@ -12,4 +12,4 @@ export function transformGatewayBot(bot, payload) {
|
|
|
12
12
|
return bot.transformers.customizers.gatewayBot(bot, payload, gatewayBot);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHZXRHYXRld2F5Qm90IH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBHZXRHYXRld2F5Qm90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HYXRld2F5Qm90KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR2V0R2F0ZXdheUJvdCk6IEdldEdhdGV3YXlCb3Qge1xuICBjb25zdCBnYXRld2F5Qm90ID0ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2hhcmRzOiBwYXlsb2FkLnNoYXJkcyxcbiAgICBzZXNzaW9uU3RhcnRMaW1pdDoge1xuICAgICAgdG90YWw6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC50b3RhbCxcbiAgICAgIHJlbWFpbmluZzogcGF5bG9hZC5zZXNzaW9uX3N0YXJ0X2xpbWl0LnJlbWFpbmluZyxcbiAgICAgIHJlc2V0QWZ0ZXI6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC5yZXNldF9hZnRlcixcbiAgICAgIG1heENvbmN1cnJlbmN5OiBwYXlsb2FkLnNlc3Npb25fc3RhcnRfbGltaXQubWF4X2NvbmN1cnJlbmN5LFxuICAgIH0sXG4gIH0gYXMgR2V0R2F0ZXdheUJvdDtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5nYXRld2F5Qm90KGJvdCwgcGF5bG9hZCwgZ2F0ZXdheUJvdCk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtR2F0ZXdheUJvdCIsImJvdCIsInBheWxvYWQiLCJnYXRld2F5Qm90IiwidXJsIiwic2hhcmRzIiwic2Vzc2lvblN0YXJ0TGltaXQiLCJ0b3RhbCIsInNlc3Npb25fc3RhcnRfbGltaXQiLCJyZW1haW5pbmciLCJyZXNldEFmdGVyIiwicmVzZXRfYWZ0ZXIiLCJtYXhDb25jdXJyZW5jeSIsIm1heF9jb25jdXJyZW5jeSIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLG9CQUFvQkMsR0FBUSxFQUFFQyxPQUE2QjtJQUN6RSxNQUFNQyxhQUFhO1FBQ2pCQyxLQUFLRixRQUFRRSxHQUFHO1FBQ2hCQyxRQUFRSCxRQUFRRyxNQUFNO1FBQ3RCQyxtQkFBbUI7WUFDakJDLE9BQU9MLFFBQVFNLG1CQUFtQixDQUFDRCxLQUFLO1lBQ3hDRSxXQUFXUCxRQUFRTSxtQkFBbUIsQ0FBQ0MsU0FBUztZQUNoREMsWUFBWVIsUUFBUU0sbUJBQW1CLENBQUNHLFdBQVc7WUFDbkRDLGdCQUFnQlYsUUFBUU0sbUJBQW1CLENBQUNLLGVBQWU7UUFDN0Q7SUFDRjtJQUVBLE9BQU9aLElBQUlhLFlBQVksQ0FBQ0MsV0FBVyxDQUFDWixVQUFVLENBQUNGLEtBQUtDLFNBQVNDO0FBQy9EIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAA8B,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAA8B,MAAM,mBAAmB,CAAC;AAEhG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAW,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CA+HnG"}
|