@discordeno/bot 22.0.1-next.f2e8d7e → 22.0.1-next.f4e424f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +3 -2
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -2
  6. package/dist/desiredProperties.d.ts +4 -1
  7. package/dist/desiredProperties.d.ts.map +1 -1
  8. package/dist/desiredProperties.js +40 -1
  9. package/dist/events.d.ts +22 -7
  10. package/dist/events.d.ts.map +1 -1
  11. package/dist/events.js +1 -1
  12. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  13. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  14. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  15. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  16. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  17. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  18. package/dist/handlers/invites/INVITE_CREATE.js +20 -4
  19. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  20. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  21. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  22. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  23. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  24. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  25. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  26. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  27. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  28. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  29. package/dist/helpers.d.ts +17 -4
  30. package/dist/helpers.d.ts.map +1 -1
  31. package/dist/helpers.js +60 -20
  32. package/dist/transformers/activity.d.ts +17 -5
  33. package/dist/transformers/activity.d.ts.map +1 -1
  34. package/dist/transformers/activity.js +55 -37
  35. package/dist/transformers/application.d.ts +3 -3
  36. package/dist/transformers/application.d.ts.map +1 -1
  37. package/dist/transformers/application.js +18 -7
  38. package/dist/transformers/applicationCommand.d.ts +3 -2
  39. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  40. package/dist/transformers/applicationCommand.js +19 -17
  41. package/dist/transformers/applicationCommandOption.d.ts +3 -2
  42. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  43. package/dist/transformers/applicationCommandOption.js +22 -19
  44. package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -2
  45. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  46. package/dist/transformers/applicationCommandOptionChoice.js +10 -8
  47. package/dist/transformers/applicationCommandPermission.d.ts +7 -3
  48. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  49. package/dist/transformers/applicationCommandPermission.js +20 -13
  50. package/dist/transformers/attachment.d.ts +3 -1
  51. package/dist/transformers/attachment.d.ts.map +1 -1
  52. package/dist/transformers/attachment.js +12 -4
  53. package/dist/transformers/auditLogEntry.d.ts +7 -3
  54. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  55. package/dist/transformers/auditLogEntry.js +32 -25
  56. package/dist/transformers/automodActionExecution.d.ts +10 -3
  57. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  58. package/dist/transformers/automodActionExecution.js +35 -23
  59. package/dist/transformers/automodRule.d.ts +7 -3
  60. package/dist/transformers/automodRule.d.ts.map +1 -1
  61. package/dist/transformers/automodRule.js +30 -30
  62. package/dist/transformers/avatarDecorationData.d.ts +3 -2
  63. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  64. package/dist/transformers/avatarDecorationData.js +6 -3
  65. package/dist/transformers/channel.d.ts +6 -3
  66. package/dist/transformers/channel.d.ts.map +1 -1
  67. package/dist/transformers/channel.js +11 -6
  68. package/dist/transformers/component.d.ts +9 -4
  69. package/dist/transformers/component.d.ts.map +1 -1
  70. package/dist/transformers/component.js +197 -28
  71. package/dist/transformers/embed.d.ts +16 -3
  72. package/dist/transformers/embed.d.ts.map +1 -1
  73. package/dist/transformers/embed.js +71 -42
  74. package/dist/transformers/emoji.d.ts +7 -3
  75. package/dist/transformers/emoji.d.ts.map +1 -1
  76. package/dist/transformers/emoji.js +10 -5
  77. package/dist/transformers/entitlement.d.ts +3 -2
  78. package/dist/transformers/entitlement.d.ts.map +1 -1
  79. package/dist/transformers/entitlement.js +6 -3
  80. package/dist/transformers/gatewayBot.d.ts +7 -3
  81. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  82. package/dist/transformers/gatewayBot.js +20 -13
  83. package/dist/transformers/guild.d.ts +3 -2
  84. package/dist/transformers/guild.d.ts.map +1 -1
  85. package/dist/transformers/guild.js +25 -25
  86. package/dist/transformers/incidentsData.d.ts +3 -2
  87. package/dist/transformers/incidentsData.d.ts.map +1 -1
  88. package/dist/transformers/incidentsData.js +6 -3
  89. package/dist/transformers/integration.d.ts +10 -3
  90. package/dist/transformers/integration.d.ts.map +1 -1
  91. package/dist/transformers/integration.js +43 -31
  92. package/dist/transformers/interaction.d.ts +20 -12
  93. package/dist/transformers/interaction.d.ts.map +1 -1
  94. package/dist/transformers/interaction.js +47 -32
  95. package/dist/transformers/invite.d.ts +4 -4
  96. package/dist/transformers/invite.d.ts.map +1 -1
  97. package/dist/transformers/invite.js +26 -24
  98. package/dist/transformers/lobby.d.ts +13 -4
  99. package/dist/transformers/lobby.d.ts.map +1 -1
  100. package/dist/transformers/lobby.js +35 -5
  101. package/dist/transformers/member.d.ts +3 -2
  102. package/dist/transformers/member.d.ts.map +1 -1
  103. package/dist/transformers/member.js +6 -3
  104. package/dist/transformers/message.d.ts +20 -10
  105. package/dist/transformers/message.d.ts.map +1 -1
  106. package/dist/transformers/message.js +52 -25
  107. package/dist/transformers/onboarding.d.ts +9 -4
  108. package/dist/transformers/onboarding.d.ts.map +1 -1
  109. package/dist/transformers/onboarding.js +17 -10
  110. package/dist/transformers/poll.d.ts +6 -3
  111. package/dist/transformers/poll.d.ts.map +1 -1
  112. package/dist/transformers/poll.js +14 -7
  113. package/dist/transformers/presence.d.ts +3 -2
  114. package/dist/transformers/presence.d.ts.map +1 -1
  115. package/dist/transformers/presence.js +10 -6
  116. package/dist/transformers/reverse/activity.d.ts +4 -3
  117. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  118. package/dist/transformers/reverse/activity.js +20 -24
  119. package/dist/transformers/reverse/applicationCommand.js +2 -2
  120. package/dist/transformers/reverse/component.d.ts.map +1 -1
  121. package/dist/transformers/reverse/component.js +152 -11
  122. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  123. package/dist/transformers/reverse/embed.js +19 -4
  124. package/dist/transformers/reverse/member.d.ts.map +1 -1
  125. package/dist/transformers/reverse/member.js +4 -2
  126. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  127. package/dist/transformers/reverse/presence.js +3 -2
  128. package/dist/transformers/reverse/user.d.ts +5 -0
  129. package/dist/transformers/reverse/user.d.ts.map +1 -0
  130. package/dist/transformers/reverse/user.js +17 -0
  131. package/dist/transformers/role.d.ts +7 -4
  132. package/dist/transformers/role.d.ts.map +1 -1
  133. package/dist/transformers/role.js +11 -7
  134. package/dist/transformers/scheduledEvent.d.ts +6 -3
  135. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  136. package/dist/transformers/scheduledEvent.js +10 -5
  137. package/dist/transformers/sku.d.ts +3 -2
  138. package/dist/transformers/sku.d.ts.map +1 -1
  139. package/dist/transformers/sku.js +6 -3
  140. package/dist/transformers/soundboardSound.d.ts +3 -2
  141. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  142. package/dist/transformers/soundboardSound.js +6 -3
  143. package/dist/transformers/stageInstance.d.ts +3 -2
  144. package/dist/transformers/stageInstance.d.ts.map +1 -1
  145. package/dist/transformers/stageInstance.js +6 -3
  146. package/dist/transformers/stageInviteInstance.d.ts +3 -3
  147. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  148. package/dist/transformers/stageInviteInstance.js +10 -8
  149. package/dist/transformers/sticker.d.ts +6 -3
  150. package/dist/transformers/sticker.d.ts.map +1 -1
  151. package/dist/transformers/sticker.js +18 -14
  152. package/dist/transformers/subscription.d.ts +3 -2
  153. package/dist/transformers/subscription.d.ts.map +1 -1
  154. package/dist/transformers/subscription.js +6 -3
  155. package/dist/transformers/team.d.ts +7 -3
  156. package/dist/transformers/team.d.ts.map +1 -1
  157. package/dist/transformers/team.js +22 -16
  158. package/dist/transformers/template.d.ts +3 -2
  159. package/dist/transformers/template.d.ts.map +1 -1
  160. package/dist/transformers/template.js +18 -16
  161. package/dist/transformers/threadMember.d.ts +6 -3
  162. package/dist/transformers/threadMember.d.ts.map +1 -1
  163. package/dist/transformers/threadMember.js +20 -16
  164. package/dist/transformers/toggles/channel.d.ts +2 -2
  165. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  166. package/dist/transformers/toggles/channel.js +2 -2
  167. package/dist/transformers/toggles/emoji.d.ts +1 -1
  168. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  169. package/dist/transformers/toggles/emoji.js +1 -1
  170. package/dist/transformers/toggles/guild.d.ts +3 -3
  171. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  172. package/dist/transformers/toggles/guild.js +3 -3
  173. package/dist/transformers/toggles/role.d.ts +1 -1
  174. package/dist/transformers/toggles/role.d.ts.map +1 -1
  175. package/dist/transformers/toggles/role.js +1 -1
  176. package/dist/transformers/toggles/user.d.ts +1 -1
  177. package/dist/transformers/toggles/user.d.ts.map +1 -1
  178. package/dist/transformers/toggles/user.js +1 -1
  179. package/dist/transformers/toggles/voice.d.ts +1 -1
  180. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  181. package/dist/transformers/toggles/voice.js +1 -1
  182. package/dist/transformers/types.d.ts +212 -52
  183. package/dist/transformers/types.d.ts.map +1 -1
  184. package/dist/transformers/types.js +2 -2
  185. package/dist/transformers/user.d.ts +13 -5
  186. package/dist/transformers/user.d.ts.map +1 -1
  187. package/dist/transformers/user.js +18 -9
  188. package/dist/transformers/voiceRegion.d.ts +3 -2
  189. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  190. package/dist/transformers/voiceRegion.js +12 -10
  191. package/dist/transformers/voiceState.d.ts +3 -3
  192. package/dist/transformers/voiceState.d.ts.map +1 -1
  193. package/dist/transformers/voiceState.js +6 -4
  194. package/dist/transformers/webhook.d.ts +3 -1
  195. package/dist/transformers/webhook.d.ts.map +1 -1
  196. package/dist/transformers/webhook.js +9 -6
  197. package/dist/transformers/welcomeScreen.d.ts +1 -2
  198. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  199. package/dist/transformers/welcomeScreen.js +1 -1
  200. package/dist/transformers/widget.d.ts +1 -2
  201. package/dist/transformers/widget.d.ts.map +1 -1
  202. package/dist/transformers/widget.js +7 -5
  203. package/dist/transformers/widgetSettings.d.ts +1 -2
  204. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  205. package/dist/transformers/widgetSettings.js +1 -1
  206. package/dist/transformers.d.ts +190 -78
  207. package/dist/transformers.d.ts.map +1 -1
  208. package/dist/transformers.js +81 -21
  209. package/package.json +18 -18
@@ -1,34 +1,34 @@
1
1
  import { bigintToSnowflake, snowflakeToBigint } from '@discordeno/utils';
2
2
  import { createDesiredPropertiesObject } from './desiredProperties.js';
3
- import { transformActivity, transformActivityInstance, transformActivityLocation } from './transformers/activity.js';
3
+ import { transformActivity, transformActivityAssets, transformActivityEmoji, transformActivityInstance, transformActivityLocation } from './transformers/activity.js';
4
4
  import { transformApplication } from './transformers/application.js';
5
5
  import { transformApplicationCommand } from './transformers/applicationCommand.js';
6
6
  import { transformApplicationCommandOption } from './transformers/applicationCommandOption.js';
7
7
  import { transformApplicationCommandOptionChoice } from './transformers/applicationCommandOptionChoice.js';
8
- import { transformApplicationCommandPermission } from './transformers/applicationCommandPermission.js';
8
+ import { transformApplicationCommandPermissions, transformGuildApplicationCommandPermissions } from './transformers/applicationCommandPermission.js';
9
9
  import { transformAttachment } from './transformers/attachment.js';
10
- import { transformAuditLogEntry } from './transformers/auditLogEntry.js';
11
- import { transformAutoModerationActionExecution } from './transformers/automodActionExecution.js';
12
- import { transformAutoModerationRule } from './transformers/automodRule.js';
10
+ import { transformAuditLogEntry, transformOptionalAuditEntryInfo } from './transformers/auditLogEntry.js';
11
+ import { transformAutoModerationAction, transformAutoModerationActionExecution, transformAutoModerationActionMetadata } from './transformers/automodActionExecution.js';
12
+ import { transformAutoModerationRule, transformAutoModerationRuleTriggerMetadata } from './transformers/automodRule.js';
13
13
  import { transformAvatarDecorationData } from './transformers/avatarDecorationData.js';
14
14
  import { transformChannel, transformForumTag } from './transformers/channel.js';
15
15
  import { transformComponent, transformMediaGalleryItem, transformUnfurledMediaItem } from './transformers/component.js';
16
- import { transformEmbed } from './transformers/embed.js';
16
+ import { transformEmbed, transformEmbedAuthor, transformEmbedFooter, transformEmbedImage, transformEmbedVideo } from './transformers/embed.js';
17
17
  import { transformDefaultReactionEmoji, transformEmoji } from './transformers/emoji.js';
18
18
  import { transformEntitlement } from './transformers/entitlement.js';
19
- import { transformGatewayBot } from './transformers/gatewayBot.js';
19
+ import { transformGatewayBot, transformSessionStartLimit } from './transformers/gatewayBot.js';
20
20
  import { transformGuild } from './transformers/guild.js';
21
21
  import { transformIncidentsData } from './transformers/incidentsData.js';
22
- import { transformIntegration } from './transformers/integration.js';
22
+ import { transformIntegration, transformIntegrationAccount, transformIntegrationApplication } from './transformers/integration.js';
23
23
  import { transformInteraction, transformInteractionCallback, transformInteractionCallbackResponse, transformInteractionDataOption, transformInteractionDataResolved, transformInteractionResource } from './transformers/interaction.js';
24
24
  import { transformInvite } from './transformers/invite.js';
25
- import { transformLobby, transformLobbyMember } from './transformers/lobby.js';
25
+ import { transformLobby, transformLobbyInvite, transformLobbyMember, transformLobbyMessage } from './transformers/lobby.js';
26
26
  import { transformMember } from './transformers/member.js';
27
- import { transformMessage, transformMessageCall, transformMessageInteractionMetadata, transformMessagePin, transformMessageSnapshot } from './transformers/message.js';
27
+ import { transformMessage, transformMessageCall, transformMessageInteractionMetadata, transformMessagePin, transformMessageSnapshot, transformSharedClientTheme } from './transformers/message.js';
28
28
  import { transformGuildOnboarding, transformGuildOnboardingPrompt, transformGuildOnboardingPromptOption } from './transformers/onboarding.js';
29
29
  import { transformPoll, transformPollMedia } from './transformers/poll.js';
30
30
  import { transformPresence } from './transformers/presence.js';
31
- import { transformActivityToDiscordActivity } from './transformers/reverse/activity.js';
31
+ import { transformActivityAssetsToDiscordActivityAssets, transformActivityToDiscordActivity } from './transformers/reverse/activity.js';
32
32
  import { transformAllowedMentionsToDiscordAllowedMentions } from './transformers/reverse/allowedMentions.js';
33
33
  import { transformApplicationToDiscordApplication } from './transformers/reverse/application.js';
34
34
  import { transformApplicationCommandToDiscordApplicationCommand } from './transformers/reverse/applicationCommand.js';
@@ -39,6 +39,7 @@ import { transformComponentToDiscordComponent, transformMediaGalleryItemToDiscor
39
39
  import { transformEmbedToDiscordEmbed } from './transformers/reverse/embed.js';
40
40
  import { transformMemberToDiscordMember, transformUserToDiscordUser } from './transformers/reverse/member.js';
41
41
  import { transformTeamToDiscordTeam } from './transformers/reverse/team.js';
42
+ import { transformCollectiblesToDiscordCollectibles, transformNameplateToDiscordNameplate } from './transformers/reverse/user.js';
42
43
  import { transformRole, transformRoleColors } from './transformers/role.js';
43
44
  import { transformScheduledEvent, transformScheduledEventRecurrenceRule } from './transformers/scheduledEvent.js';
44
45
  import { transformSku } from './transformers/sku.js';
@@ -47,7 +48,7 @@ import { transformStageInstance } from './transformers/stageInstance.js';
47
48
  import { transformInviteStageInstance } from './transformers/stageInviteInstance.js';
48
49
  import { transformSticker, transformStickerPack } from './transformers/sticker.js';
49
50
  import { transformSubscription } from './transformers/subscription.js';
50
- import { transformTeam } from './transformers/team.js';
51
+ import { transformTeam, transformTeamMember } from './transformers/team.js';
51
52
  import { transformTemplate } from './transformers/template.js';
52
53
  import { transformThreadMember, transformThreadMemberGuildCreate } from './transformers/threadMember.js';
53
54
  import { transformCollectibles, transformNameplate, transformUser, transformUserPrimaryGuild } from './transformers/user.js';
@@ -63,43 +64,57 @@ export function createTransformers(options) {
63
64
  return {
64
65
  customizers: {
65
66
  activity: _options.customizers?.activity ?? defaultCustomizer,
67
+ activityAssets: _options.customizers?.activityAssets ?? defaultCustomizer,
68
+ activityEmoji: _options.customizers?.activityEmoji ?? defaultCustomizer,
66
69
  activityInstance: _options.customizers?.activityInstance ?? defaultCustomizer,
67
70
  activityLocation: _options.customizers?.activityLocation ?? defaultCustomizer,
68
71
  application: _options.customizers?.application ?? defaultCustomizer,
69
72
  applicationCommand: _options.customizers?.applicationCommand ?? defaultCustomizer,
70
73
  applicationCommandOption: _options.customizers?.applicationCommandOption ?? defaultCustomizer,
71
74
  applicationCommandOptionChoice: _options.customizers?.applicationCommandOptionChoice ?? defaultCustomizer,
72
- applicationCommandPermission: _options.customizers?.applicationCommandPermission ?? defaultCustomizer,
75
+ applicationCommandPermissions: _options.customizers?.applicationCommandPermissions ?? defaultCustomizer,
73
76
  attachment: _options.customizers?.attachment ?? defaultCustomizer,
74
77
  auditLogEntry: _options.customizers?.auditLogEntry ?? defaultCustomizer,
75
- automodActionExecution: _options.customizers?.automodActionExecution ?? defaultCustomizer,
76
- automodRule: _options.customizers?.automodRule ?? defaultCustomizer,
78
+ autoModerationAction: _options.customizers?.autoModerationAction ?? defaultCustomizer,
79
+ autoModerationActionExecution: _options.customizers?.autoModerationActionExecution ?? defaultCustomizer,
80
+ autoModerationActionMetadata: _options.customizers?.autoModerationActionMetadata ?? defaultCustomizer,
81
+ autoModerationRule: _options.customizers?.autoModerationRule ?? defaultCustomizer,
82
+ autoModerationRuleTriggerMetadata: _options.customizers?.autoModerationRuleTriggerMetadata ?? defaultCustomizer,
77
83
  avatarDecorationData: _options.customizers?.avatarDecorationData ?? defaultCustomizer,
78
84
  channel: _options.customizers?.channel ?? defaultCustomizer,
79
85
  collectibles: _options.customizers?.collectibles ?? defaultCustomizer,
80
86
  component: _options.customizers?.component ?? defaultCustomizer,
81
87
  defaultReactionEmoji: _options.customizers?.defaultReactionEmoji ?? defaultCustomizer,
82
88
  embed: _options.customizers?.embed ?? defaultCustomizer,
89
+ embedAuthor: _options.customizers?.embedAuthor ?? defaultCustomizer,
90
+ embedFooter: _options.customizers?.embedFooter ?? defaultCustomizer,
91
+ embedImage: _options.customizers?.embedImage ?? defaultCustomizer,
92
+ embedVideo: _options.customizers?.embedVideo ?? defaultCustomizer,
83
93
  emoji: _options.customizers?.emoji ?? defaultCustomizer,
84
94
  entitlement: _options.customizers?.entitlement ?? defaultCustomizer,
85
95
  forumTag: _options.customizers?.forumTag ?? defaultCustomizer,
86
96
  gatewayBot: _options.customizers?.gatewayBot ?? defaultCustomizer,
87
97
  guild: _options.customizers?.guild ?? defaultCustomizer,
98
+ guildApplicationCommandPermissions: _options.customizers?.guildApplicationCommandPermissions ?? defaultCustomizer,
88
99
  guildOnboarding: _options.customizers?.guildOnboarding ?? defaultCustomizer,
89
100
  guildOnboardingPrompt: _options.customizers?.guildOnboardingPrompt ?? defaultCustomizer,
90
101
  guildOnboardingPromptOption: _options.customizers?.guildOnboardingPromptOption ?? defaultCustomizer,
91
102
  incidentsData: _options.customizers?.incidentsData ?? defaultCustomizer,
92
103
  integration: _options.customizers?.integration ?? defaultCustomizer,
104
+ integrationAccount: _options.customizers?.integrationAccount ?? defaultCustomizer,
105
+ integrationApplication: _options.customizers?.integrationApplication ?? defaultCustomizer,
93
106
  interaction: _options.customizers?.interaction ?? defaultCustomizer,
94
107
  interactionCallback: _options.customizers?.interactionCallback ?? defaultCustomizer,
95
108
  interactionCallbackResponse: _options.customizers?.interactionCallbackResponse ?? defaultCustomizer,
96
- interactionDataOptions: _options.customizers?.interactionDataOptions ?? defaultCustomizer,
109
+ interactionDataOption: _options.customizers?.interactionDataOption ?? defaultCustomizer,
97
110
  interactionDataResolved: _options.customizers?.interactionDataResolved ?? defaultCustomizer,
98
111
  interactionResource: _options.customizers?.interactionResource ?? defaultCustomizer,
99
112
  invite: _options.customizers?.invite ?? defaultCustomizer,
100
113
  inviteStageInstance: _options.customizers?.inviteStageInstance ?? defaultCustomizer,
101
114
  lobby: _options.customizers?.lobby ?? defaultCustomizer,
102
115
  lobbyMember: _options.customizers?.lobbyMember ?? defaultCustomizer,
116
+ lobbyMessage: _options.customizers?.lobbyMessage ?? defaultCustomizer,
117
+ lobbyInvite: _options.customizers?.lobbyInvite ?? defaultCustomizer,
103
118
  mediaGalleryItem: _options.customizers?.mediaGalleryItem ?? defaultCustomizer,
104
119
  member: _options.customizers?.member ?? defaultCustomizer,
105
120
  message: _options.customizers?.message ?? defaultCustomizer,
@@ -108,6 +123,7 @@ export function createTransformers(options) {
108
123
  messagePin: _options.customizers?.messagePin ?? defaultCustomizer,
109
124
  messageSnapshot: _options.customizers?.messageSnapshot ?? defaultCustomizer,
110
125
  nameplate: _options.customizers?.nameplate ?? defaultCustomizer,
126
+ optionalAuditEntryInfo: _options.customizers?.optionalAuditEntryInfo ?? defaultCustomizer,
111
127
  poll: _options.customizers?.poll ?? defaultCustomizer,
112
128
  pollMedia: _options.customizers?.pollMedia ?? defaultCustomizer,
113
129
  presence: _options.customizers?.presence ?? defaultCustomizer,
@@ -115,6 +131,8 @@ export function createTransformers(options) {
115
131
  roleColors: _options.customizers?.roleColors ?? defaultCustomizer,
116
132
  scheduledEvent: _options.customizers?.scheduledEvent ?? defaultCustomizer,
117
133
  scheduledEventRecurrenceRule: _options.customizers?.scheduledEventRecurrenceRule ?? defaultCustomizer,
134
+ sessionStartLimit: _options.customizers?.sessionStartLimit ?? defaultCustomizer,
135
+ sharedClientTheme: _options.customizers?.sharedClientTheme ?? defaultCustomizer,
118
136
  sku: _options.customizers?.sku ?? defaultCustomizer,
119
137
  soundboardSound: _options.customizers?.soundboardSound ?? defaultCustomizer,
120
138
  stageInstance: _options.customizers?.stageInstance ?? defaultCustomizer,
@@ -122,6 +140,7 @@ export function createTransformers(options) {
122
140
  stickerPack: _options.customizers?.stickerPack ?? defaultCustomizer,
123
141
  subscription: _options.customizers?.subscription ?? defaultCustomizer,
124
142
  team: _options.customizers?.team ?? defaultCustomizer,
143
+ teamMember: _options.customizers?.teamMember ?? defaultCustomizer,
125
144
  template: _options.customizers?.template ?? defaultCustomizer,
126
145
  threadMember: _options.customizers?.threadMember ?? defaultCustomizer,
127
146
  threadMemberGuildCreate: _options.customizers?.threadMemberGuildCreate ?? defaultCustomizer,
@@ -138,59 +157,76 @@ export function createTransformers(options) {
138
157
  desiredProperties: createDesiredPropertiesObject(_options.desiredProperties ?? {}),
139
158
  reverse: {
140
159
  activity: _options.reverse?.activity ?? transformActivityToDiscordActivity,
160
+ activityAssets: _options.reverse?.activityAssets ?? transformActivityAssetsToDiscordActivityAssets,
141
161
  allowedMentions: _options.reverse?.allowedMentions ?? transformAllowedMentionsToDiscordAllowedMentions,
142
162
  application: _options.reverse?.application ?? transformApplicationToDiscordApplication,
143
163
  applicationCommand: _options.reverse?.applicationCommand ?? transformApplicationCommandToDiscordApplicationCommand,
144
164
  applicationCommandOption: _options.reverse?.applicationCommandOption ?? transformApplicationCommandOptionToDiscordApplicationCommandOption,
145
165
  applicationCommandOptionChoice: _options.reverse?.applicationCommandOptionChoice ?? transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice,
146
166
  attachment: _options.reverse?.attachment ?? transformAttachmentToDiscordAttachment,
167
+ collectibles: _options.reverse?.collectibles ?? transformCollectiblesToDiscordCollectibles,
147
168
  component: _options.reverse?.component ?? transformComponentToDiscordComponent,
148
169
  embed: _options.reverse?.embed ?? transformEmbedToDiscordEmbed,
149
170
  mediaGalleryItem: _options.reverse?.mediaGalleryItem ?? transformMediaGalleryItemToDiscordMediaGalleryItem,
150
171
  member: _options.reverse?.member ?? transformMemberToDiscordMember,
172
+ nameplate: _options.reverse?.nameplate ?? transformNameplateToDiscordNameplate,
151
173
  snowflake: _options.reverse?.snowflake ?? bigintToSnowflake,
152
174
  team: _options.reverse?.team ?? transformTeamToDiscordTeam,
153
175
  unfurledMediaItem: _options.reverse?.unfurledMediaItem ?? transformUnfurledMediaItemToDiscordUnfurledMediaItem,
154
176
  user: _options.reverse?.user ?? transformUserToDiscordUser
155
177
  },
156
178
  activity: _options.activity ?? transformActivity,
179
+ activityAssets: _options.activityAssets ?? transformActivityAssets,
180
+ activityEmoji: _options.activityEmoji ?? transformActivityEmoji,
157
181
  activityInstance: _options.activityInstance ?? transformActivityInstance,
158
182
  activityLocation: _options.activityLocation ?? transformActivityLocation,
159
183
  application: _options.application ?? transformApplication,
160
184
  applicationCommand: _options.applicationCommand ?? transformApplicationCommand,
161
185
  applicationCommandOption: _options.applicationCommandOption ?? transformApplicationCommandOption,
162
186
  applicationCommandOptionChoice: _options.applicationCommandOptionChoice ?? transformApplicationCommandOptionChoice,
163
- applicationCommandPermission: _options.applicationCommandPermission ?? transformApplicationCommandPermission,
187
+ applicationCommandPermissions: _options.applicationCommandPermissions ?? transformApplicationCommandPermissions,
164
188
  attachment: _options.attachment ?? transformAttachment,
165
189
  auditLogEntry: _options.auditLogEntry ?? transformAuditLogEntry,
166
- automodActionExecution: _options.automodActionExecution ?? transformAutoModerationActionExecution,
167
- automodRule: _options.automodRule ?? transformAutoModerationRule,
190
+ autoModerationAction: _options.autoModerationAction ?? transformAutoModerationAction,
191
+ autoModerationActionExecution: _options.autoModerationActionExecution ?? transformAutoModerationActionExecution,
192
+ autoModerationActionMetadata: _options.autoModerationActionMetadata ?? transformAutoModerationActionMetadata,
193
+ autoModerationRule: _options.autoModerationRule ?? transformAutoModerationRule,
194
+ autoModerationRuleTriggerMetadata: _options.autoModerationRuleTriggerMetadata ?? transformAutoModerationRuleTriggerMetadata,
168
195
  avatarDecorationData: _options.avatarDecorationData ?? transformAvatarDecorationData,
169
196
  channel: _options.channel ?? transformChannel,
170
197
  collectibles: _options.collectibles ?? transformCollectibles,
171
198
  component: _options.component ?? transformComponent,
172
199
  defaultReactionEmoji: _options.defaultReactionEmoji ?? transformDefaultReactionEmoji,
173
200
  embed: _options.embed ?? transformEmbed,
201
+ embedAuthor: _options.embedAuthor ?? transformEmbedAuthor,
202
+ embedFooter: _options.embedFooter ?? transformEmbedFooter,
203
+ embedImage: _options.embedImage ?? transformEmbedImage,
204
+ embedVideo: _options.embedVideo ?? transformEmbedVideo,
174
205
  emoji: _options.emoji ?? transformEmoji,
175
206
  entitlement: _options.entitlement ?? transformEntitlement,
176
207
  forumTag: _options.forumTag ?? transformForumTag,
177
208
  gatewayBot: _options.gatewayBot ?? transformGatewayBot,
178
209
  guild: _options.guild ?? transformGuild,
210
+ guildApplicationCommandPermissions: _options.guildApplicationCommandPermissions ?? transformGuildApplicationCommandPermissions,
179
211
  guildOnboarding: _options.guildOnboarding ?? transformGuildOnboarding,
180
212
  guildOnboardingPrompt: _options.guildOnboardingPrompt ?? transformGuildOnboardingPrompt,
181
213
  guildOnboardingPromptOption: _options.guildOnboardingPromptOption ?? transformGuildOnboardingPromptOption,
182
214
  incidentsData: _options.incidentsData ?? transformIncidentsData,
183
215
  integration: _options.integration ?? transformIntegration,
216
+ integrationAccount: _options.integrationAccount ?? transformIntegrationAccount,
217
+ integrationApplication: _options.integrationApplication ?? transformIntegrationApplication,
184
218
  interaction: _options.interaction ?? transformInteraction,
185
219
  interactionCallback: _options.interactionCallback ?? transformInteractionCallback,
186
220
  interactionCallbackResponse: _options.interactionCallbackResponse ?? transformInteractionCallbackResponse,
187
- interactionDataOptions: _options.interactionDataOptions ?? transformInteractionDataOption,
221
+ interactionDataOption: _options.interactionDataOption ?? transformInteractionDataOption,
188
222
  interactionDataResolved: _options.interactionDataResolved ?? transformInteractionDataResolved,
189
223
  interactionResource: _options.interactionResource ?? transformInteractionResource,
190
224
  invite: _options.invite ?? transformInvite,
191
225
  inviteStageInstance: _options.inviteStageInstance ?? transformInviteStageInstance,
192
226
  lobby: _options.lobby ?? transformLobby,
193
227
  lobbyMember: _options.lobbyMember ?? transformLobbyMember,
228
+ lobbyMessage: _options.lobbyMessage ?? transformLobbyMessage,
229
+ lobbyInvite: _options.lobbyInvite ?? transformLobbyInvite,
194
230
  mediaGalleryItem: _options.mediaGalleryItem ?? transformMediaGalleryItem,
195
231
  member: _options.member ?? transformMember,
196
232
  message: _options.message ?? transformMessage,
@@ -199,6 +235,7 @@ export function createTransformers(options) {
199
235
  messagePin: _options.messagePin ?? transformMessagePin,
200
236
  messageSnapshot: _options.messageSnapshot ?? transformMessageSnapshot,
201
237
  nameplate: _options.nameplate ?? transformNameplate,
238
+ optionalAuditEntryInfo: _options.optionalAuditEntryInfo ?? transformOptionalAuditEntryInfo,
202
239
  poll: _options.poll ?? transformPoll,
203
240
  pollMedia: _options.pollMedia ?? transformPollMedia,
204
241
  presence: _options.presence ?? transformPresence,
@@ -206,6 +243,8 @@ export function createTransformers(options) {
206
243
  roleColors: _options.roleColors ?? transformRoleColors,
207
244
  scheduledEvent: _options.scheduledEvent ?? transformScheduledEvent,
208
245
  scheduledEventRecurrenceRule: _options.scheduledEventRecurrenceRule ?? transformScheduledEventRecurrenceRule,
246
+ sessionStartLimit: _options.sessionStartLimit ?? transformSessionStartLimit,
247
+ sharedClientTheme: _options.sharedClientTheme ?? transformSharedClientTheme,
209
248
  sku: _options.sku ?? transformSku,
210
249
  soundboardSound: _options.soundboardSound ?? transformSoundboardSound,
211
250
  snowflake: _options.snowflake ?? snowflakeToBigint,
@@ -214,6 +253,7 @@ export function createTransformers(options) {
214
253
  stickerPack: _options.stickerPack ?? transformStickerPack,
215
254
  subscription: _options.subscription ?? transformSubscription,
216
255
  team: _options.team ?? transformTeam,
256
+ teamMember: _options.teamMember ?? transformTeamMember,
217
257
  template: _options.template ?? transformTemplate,
218
258
  threadMember: _options.threadMember ?? transformThreadMember,
219
259
  threadMemberGuildCreate: _options.threadMemberGuildCreate ?? transformThreadMemberGuildCreate,
@@ -228,5 +268,25 @@ export function createTransformers(options) {
228
268
  widgetSettings: _options.widgetSettings ?? transformWidgetSettings
229
269
  };
230
270
  }
271
+ /**
272
+ * Calls a transformer customizer function with the provided parameters.
273
+ *
274
+ * @template TInfo - The key of the transformer information to use.
275
+ * @param customizer - The key of the transformer information to use.
276
+ * @param bot - The bot instance.
277
+ * @param payload - The original payload from Discord.
278
+ * @param transformed - The transformed object.
279
+ * @param extra - Additional extra information for the customizer.
280
+ * @returns The result of the customizer function.
281
+ *
282
+ * @remarks
283
+ * This function is used because it is hard to deal with the customizer overloads directly in the transformers.
284
+ *
285
+ * Since the overloads are present only with partial transformers, this function requires the partial extra, for non-partial transformers the normal function call can be used
286
+ */ export function callCustomizer(customizer, bot, payload, transformed, extra) {
287
+ // The type of the customizer is not generalizable, so we use unknown, callCustomizer has the correct type and we cast it here
288
+ const customizerFn = bot.transformers.customizers[customizer];
289
+ return customizerFn(bot, payload, transformed, extra);
290
+ }
231
291
 
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgRGlzY29yZEFjdGl2aXR5LFxuICBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sXG4gIERpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgRGlzY29yZEF0dGFjaG1lbnQsXG4gIERpc2NvcmRBdWRpdExvZ0VudHJ5LFxuICBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgRGlzY29yZENoYW5uZWwsXG4gIERpc2NvcmRDb2xsZWN0aWJsZXMsXG4gIERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgRGlzY29yZEVtYmVkLFxuICBEaXNjb3JkRW1vamksXG4gIERpc2NvcmRFbnRpdGxlbWVudCxcbiAgRGlzY29yZEZvcnVtVGFnLFxuICBEaXNjb3JkR2V0R2F0ZXdheUJvdCxcbiAgRGlzY29yZEd1aWxkLFxuICBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZyxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgRGlzY29yZEd1aWxkV2lkZ2V0LFxuICBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgRGlzY29yZEluY2lkZW50c0RhdGEsXG4gIERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSxcbiAgRGlzY29yZEludGVyYWN0aW9uLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgRGlzY29yZEludml0ZUNyZWF0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZExvYmJ5LFxuICBEaXNjb3JkTG9iYnlNZW1iZXIsXG4gIERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLFxuICBEaXNjb3JkTWVtYmVyLFxuICBEaXNjb3JkTWVzc2FnZSxcbiAgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIERpc2NvcmRNZXNzYWdlUGluLFxuICBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBEaXNjb3JkTmFtZXBsYXRlLFxuICBEaXNjb3JkUG9sbCxcbiAgRGlzY29yZFBvbGxNZWRpYSxcbiAgRGlzY29yZFByZXNlbmNlVXBkYXRlLFxuICBEaXNjb3JkUm9sZSxcbiAgRGlzY29yZFJvbGVDb2xvcnMsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudCxcbiAgRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIERpc2NvcmRTa3UsXG4gIERpc2NvcmRTb3VuZGJvYXJkU291bmQsXG4gIERpc2NvcmRTdGFnZUluc3RhbmNlLFxuICBEaXNjb3JkU3RpY2tlcixcbiAgRGlzY29yZFN0aWNrZXJQYWNrLFxuICBEaXNjb3JkU3Vic2NyaXB0aW9uLFxuICBEaXNjb3JkVGVhbSxcbiAgRGlzY29yZFRlbXBsYXRlLFxuICBEaXNjb3JkVGhyZWFkTWVtYmVyLFxuICBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgRGlzY29yZFVzZXIsXG4gIERpc2NvcmRVc2VyUHJpbWFyeUd1aWxkLFxuICBEaXNjb3JkVm9pY2VSZWdpb24sXG4gIERpc2NvcmRWb2ljZVN0YXRlLFxuICBEaXNjb3JkV2ViaG9vayxcbiAgRGlzY29yZFdlbGNvbWVTY3JlZW4sXG4gIFJlY3Vyc2l2ZVBhcnRpYWwsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGJpZ2ludFRvU25vd2ZsYWtlLCBzbm93Zmxha2VUb0JpZ2ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi9ib3QuanMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QsXG4gIHR5cGUgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgdHlwZSBTZXR1cERlc2lyZWRQcm9wcyxcbiAgdHlwZSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbn0gZnJvbSAnLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BY3Rpdml0eSwgdHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSwgdHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FjdGl2aXR5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F0dGFjaG1lbnQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F1ZGl0TG9nRW50cnkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kQWN0aW9uRXhlY3V0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F1dG9tb2RSdWxlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXZhdGFyRGVjb3JhdGlvbkRhdGEuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ2hhbm5lbCwgdHJhbnNmb3JtRm9ydW1UYWcgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9jaGFubmVsLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNvbXBvbmVudCwgdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSwgdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9jb21wb25lbnQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRW1iZWQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9lbWJlZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSwgdHJhbnNmb3JtRW1vamkgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9lbW9qaS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbnRpdGxlbWVudCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2VudGl0bGVtZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUdhdGV3YXlCb3QgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9nYXRld2F5Qm90LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUd1aWxkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ3VpbGQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW5jaWRlbnRzRGF0YSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2luY2lkZW50c0RhdGEuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW50ZWdyYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbnRlZ3JhdGlvbi5qcyc7XG5pbXBvcnQge1xuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbnRlcmFjdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbnZpdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbnZpdGUuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTG9iYnksIHRyYW5zZm9ybUxvYmJ5TWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbG9iYnkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVtYmVyLmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybU1lc3NhZ2UsXG4gIHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHJhbnNmb3JtTWVzc2FnZVBpbixcbiAgdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9tZXNzYWdlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZywgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LCB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9vbmJvYXJkaW5nLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvbGwsIHRyYW5zZm9ybVBvbGxNZWRpYSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3BvbGwuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUHJlc2VuY2UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9wcmVzZW5jZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hY3Rpdml0eS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FsbG93ZWRNZW50aW9ucy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hcHBsaWNhdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FwcGxpY2F0aW9uQ29tbWFuZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdHRhY2htZW50VG9EaXNjb3JkQXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXR0YWNobWVudC5qcyc7XG5pbXBvcnQge1xuICB0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQsXG4gIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLFxuICB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2NvbXBvbmVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9lbWJlZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1NZW1iZXJUb0Rpc2NvcmRNZW1iZXIsIHRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9tZW1iZXIuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL3RlYW0uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUm9sZSwgdHJhbnNmb3JtUm9sZUNvbG9ycyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JvbGUuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsIHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zY2hlZHVsZWRFdmVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Ta3UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9za3UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU291bmRib2FyZFNvdW5kIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc291bmRib2FyZFNvdW5kLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVN0YWdlSW5zdGFuY2UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdGFnZUluc3RhbmNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdGFnZUludml0ZUluc3RhbmNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVN0aWNrZXIsIHRyYW5zZm9ybVN0aWNrZXJQYWNrIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc3RpY2tlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TdWJzY3JpcHRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdWJzY3JpcHRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVGVhbSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RlYW0uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVGVtcGxhdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90ZW1wbGF0ZS5qcyc7XG5pbXBvcnQgeyB0eXBlIFRocmVhZE1lbWJlclRyYW5zZm9ybWVyRXh0cmEsIHRyYW5zZm9ybVRocmVhZE1lbWJlciwgdHJhbnNmb3JtVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90aHJlYWRNZW1iZXIuanMnO1xuaW1wb3J0IHR5cGUge1xuICBBY3Rpdml0eSxcbiAgQWN0aXZpdHlJbnN0YW5jZSxcbiAgQWN0aXZpdHlMb2NhdGlvbixcbiAgQXBwbGljYXRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIEF0dGFjaG1lbnQsXG4gIEF1ZGl0TG9nRW50cnksXG4gIEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICBBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBDaGFubmVsLFxuICBDb2xsZWN0aWJsZXMsXG4gIENvbXBvbmVudCxcbiAgRGVmYXVsdFJlYWN0aW9uRW1vamksXG4gIEVtYmVkLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEZvcnVtVGFnLFxuICBHZXRHYXRld2F5Qm90LFxuICBHdWlsZCxcbiAgR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgR3VpbGRPbmJvYXJkaW5nLFxuICBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgR3VpbGRXaWRnZXQsXG4gIEd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIEluY2lkZW50c0RhdGEsXG4gIEludGVncmF0aW9uLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnZpdGUsXG4gIEludml0ZVN0YWdlSW5zdGFuY2UsXG4gIExvYmJ5LFxuICBMb2JieU1lbWJlcixcbiAgTWVkaWFHYWxsZXJ5SXRlbSxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlQ2FsbCxcbiAgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIE1lc3NhZ2VQaW4sXG4gIE1lc3NhZ2VTbmFwc2hvdCxcbiAgTmFtZXBsYXRlLFxuICBQb2xsLFxuICBQb2xsTWVkaWEsXG4gIFByZXNlbmNlVXBkYXRlLFxuICBSb2xlLFxuICBSb2xlQ29sb3JzLFxuICBTY2hlZHVsZWRFdmVudCxcbiAgU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSxcbiAgU2t1LFxuICBTb3VuZGJvYXJkU291bmQsXG4gIFN0YWdlSW5zdGFuY2UsXG4gIFN0aWNrZXIsXG4gIFN0aWNrZXJQYWNrLFxuICBTdWJzY3JpcHRpb24sXG4gIFRlYW0sXG4gIFRlbXBsYXRlLFxuICBUaHJlYWRNZW1iZXIsXG4gIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICBVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgVXNlcixcbiAgVXNlclByaW1hcnlHdWlsZCxcbiAgVm9pY2VSZWdpb24sXG4gIFZvaWNlU3RhdGUsXG4gIFdlYmhvb2ssXG4gIFdlbGNvbWVTY3JlZW4sXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3R5cGVzLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNvbGxlY3RpYmxlcywgdHJhbnNmb3JtTmFtZXBsYXRlLCB0cmFuc2Zvcm1Vc2VyLCB0cmFuc2Zvcm1Vc2VyUHJpbWFyeUd1aWxkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdXNlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Wb2ljZVJlZ2lvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3ZvaWNlUmVnaW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVZvaWNlU3RhdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy92b2ljZVN0YXRlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVdlYmhvb2sgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93ZWJob29rLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4gfSBmcm9tICcuL3RyYW5zZm9ybWVycy93ZWxjb21lU2NyZWVuLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVdpZGdldCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldFNldHRpbmdzLmpzJztcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJGdW5jdGlvbnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0ge1xuICBhY3Rpdml0eTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEFjdGl2aXR5LCBBY3Rpdml0eT47XG4gIGFjdGl2aXR5SW5zdGFuY2U6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLCBBY3Rpdml0eUluc3RhbmNlPjtcbiAgYWN0aXZpdHlMb2NhdGlvbjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sIEFjdGl2aXR5TG9jYXRpb24+O1xuICBhcHBsaWNhdGlvbjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEFwcGxpY2F0aW9uLCBBcHBsaWNhdGlvbiwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsIEFwcGxpY2F0aW9uQ29tbWFuZD47XG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiwgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uPjtcbiAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLCBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucywgR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucz47XG4gIGF0dGFjaG1lbnQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBdHRhY2htZW50LCBBdHRhY2htZW50PjtcbiAgYXVkaXRMb2dFbnRyeTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEF1ZGl0TG9nRW50cnksIEF1ZGl0TG9nRW50cnk+O1xuICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sIEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uPjtcbiAgYXV0b21vZFJ1bGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsIEF1dG9Nb2RlcmF0aW9uUnVsZT47XG4gIGF2YXRhckRlY29yYXRpb25EYXRhOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGEsIEF2YXRhckRlY29yYXRpb25EYXRhPjtcbiAgY2hhbm5lbDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZENoYW5uZWwsIENoYW5uZWwsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgY29sbGVjdGlibGVzOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQ29sbGVjdGlibGVzLCBDb2xsZWN0aWJsZXM+O1xuICBjb21wb25lbnQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLCBDb21wb25lbnQ+O1xuICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLCBEZWZhdWx0UmVhY3Rpb25FbW9qaT47XG4gIGVtYmVkOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkRW1iZWQsIEVtYmVkPjtcbiAgZW1vamk6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRFbW9qaSwgRW1vamk+O1xuICBlbnRpdGxlbWVudDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEVudGl0bGVtZW50LCBFbnRpdGxlbWVudD47XG4gIGZvcnVtVGFnOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkRm9ydW1UYWcsIEZvcnVtVGFnPjtcbiAgZ2F0ZXdheUJvdDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEdldEdhdGV3YXlCb3QsIEdldEdhdGV3YXlCb3Q+O1xuICBndWlsZDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEd1aWxkLCBHdWlsZCwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBndWlsZE9uYm9hcmRpbmc6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIEd1aWxkT25ib2FyZGluZz47XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCwgR3VpbGRPbmJvYXJkaW5nUHJvbXB0PjtcbiAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24+O1xuICBpbmNpZGVudHNEYXRhOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW5jaWRlbnRzRGF0YSwgSW5jaWRlbnRzRGF0YT47XG4gIGludGVncmF0aW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsIEludGVncmF0aW9uPjtcbiAgaW50ZXJhY3Rpb246IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRJbnRlcmFjdGlvbiwgSW50ZXJhY3Rpb24sIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW50ZXJhY3Rpb25DYWxsYmFjazogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssIEludGVyYWN0aW9uQ2FsbGJhY2s+O1xuICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IFRyYW5zZm9ybWVyRnVuY3Rpb248XG4gICAgVFByb3BzLFxuICAgIFRCZWhhdmlvcixcbiAgICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgICB7IHNoYXJkSWQ/OiBudW1iZXIgfVxuICA+O1xuICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLCBJbnRlcmFjdGlvbkRhdGFPcHRpb24+O1xuICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogVHJhbnNmb3JtZXJGdW5jdGlvbjxcbiAgICBUUHJvcHMsXG4gICAgVEJlaGF2aW9yLFxuICAgIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICB7IHNoYXJkSWQ/OiBudW1iZXI7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfVxuICA+O1xuICBpbnRlcmFjdGlvblJlc291cmNlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSwgSW50ZXJhY3Rpb25SZXNvdXJjZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBpbnZpdGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsIEludml0ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBpbnZpdGVTdGFnZUluc3RhbmNlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSwgSW52aXRlU3RhZ2VJbnN0YW5jZSwgeyBndWlsZElkPzogQmlnU3RyaW5nIH0+O1xuICBsb2JieTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZExvYmJ5LCBMb2JieT47XG4gIGxvYmJ5TWVtYmVyOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkTG9iYnlNZW1iZXIsIExvYmJ5TWVtYmVyPjtcbiAgbWVkaWFHYWxsZXJ5SXRlbTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sIE1lZGlhR2FsbGVyeUl0ZW0+O1xuICBtZW1iZXI6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZW1iZXIsIE1lbWJlciwgeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmcgfT47XG4gIG1lc3NhZ2U6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlLCBNZXNzYWdlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIG1lc3NhZ2VDYWxsOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkTWVzc2FnZUNhbGwsIE1lc3NhZ2VDYWxsPjtcbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE+O1xuICBtZXNzYWdlUGluOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkTWVzc2FnZVBpbiwgTWVzc2FnZVBpbiwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBtZXNzYWdlU25hcHNob3Q6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlU25hcHNob3QsIE1lc3NhZ2VTbmFwc2hvdCwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBuYW1lcGxhdGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmROYW1lcGxhdGUsIE5hbWVwbGF0ZT47XG4gIHBvbGw6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRQb2xsLCBQb2xsPjtcbiAgcG9sbE1lZGlhOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkUG9sbE1lZGlhLCBQb2xsTWVkaWE+O1xuICBwcmVzZW5jZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFByZXNlbmNlVXBkYXRlLCBQcmVzZW5jZVVwZGF0ZT47XG4gIHJvbGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRSb2xlLCBSb2xlLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIHJvbGVDb2xvcnM6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRSb2xlQ29sb3JzLCBSb2xlQ29sb3JzPjtcbiAgc2NoZWR1bGVkRXZlbnQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTY2hlZHVsZWRFdmVudCwgU2NoZWR1bGVkRXZlbnQ+O1xuICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSwgU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZT47XG4gIHNrdTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFNrdSwgU2t1PjtcbiAgc291bmRib2FyZFNvdW5kOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkU291bmRib2FyZFNvdW5kLCBTb3VuZGJvYXJkU291bmQ+O1xuICBzdGFnZUluc3RhbmNlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkU3RhZ2VJbnN0YW5jZSwgU3RhZ2VJbnN0YW5jZT47XG4gIHN0aWNrZXI6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTdGlja2VyLCBTdGlja2VyPjtcbiAgc3RpY2tlclBhY2s6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTdGlja2VyUGFjaywgU3RpY2tlclBhY2s+O1xuICBzdWJzY3JpcHRpb246IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvbj47XG4gIHRlYW06IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRUZWFtLCBUZWFtPjtcbiAgdGVtcGxhdGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRUZW1wbGF0ZSwgVGVtcGxhdGU+O1xuICB0aHJlYWRNZW1iZXI6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRUaHJlYWRNZW1iZXIsIFRocmVhZE1lbWJlciwgVGhyZWFkTWVtYmVyVHJhbnNmb3JtZXJFeHRyYT47XG4gIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlPjtcbiAgdW5mdXJsZWRNZWRpYUl0ZW06IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0+O1xuICB1c2VyOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVXNlciwgVXNlcj47XG4gIHVzZXJQcmltYXJ5R3VpbGQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRVc2VyUHJpbWFyeUd1aWxkLCBVc2VyUHJpbWFyeUd1aWxkPjtcbiAgdm9pY2VSZWdpb246IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRWb2ljZVJlZ2lvbiwgVm9pY2VSZWdpb24+O1xuICB2b2ljZVN0YXRlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVm9pY2VTdGF0ZSwgVm9pY2VTdGF0ZSwgeyBndWlsZElkPzogQmlnU3RyaW5nIH0+O1xuICB3ZWJob29rOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkV2ViaG9vaywgV2ViaG9vaz47XG4gIHdlbGNvbWVTY3JlZW46IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRXZWxjb21lU2NyZWVuLCBXZWxjb21lU2NyZWVuPjtcbiAgd2lkZ2V0OiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkR3VpbGRXaWRnZXQsIEd1aWxkV2lkZ2V0PjtcbiAgd2lkZ2V0U2V0dGluZ3M6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLCBHdWlsZFdpZGdldFNldHRpbmdzPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBUcmFuc2Zvcm1lckZ1bmN0aW9uczxcbiAgVFByb3BzLFxuICBUQmVoYXZpb3Jcbj4gJiB7XG4gIGN1c3RvbWl6ZXJzOiBUcmFuc2Zvcm1lckN1c3RvbWl6ZXJzPFRQcm9wcywgVEJlaGF2aW9yPjtcbiAgZGVzaXJlZFByb3BlcnRpZXM6IFRQcm9wcztcbiAgcmV2ZXJzZToge1xuICAgIGFjdGl2aXR5OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBY3Rpdml0eSkgPT4gRGlzY29yZEFjdGl2aXR5O1xuICAgIGFsbG93ZWRNZW50aW9uczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWxsb3dlZE1lbnRpb25zKSA9PiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zO1xuICAgIGFwcGxpY2F0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbikgPT4gRGlzY29yZEFwcGxpY2F0aW9uO1xuICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kO1xuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uO1xuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlO1xuICAgIGF0dGFjaG1lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPEF0dGFjaG1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZEF0dGFjaG1lbnQ7XG4gICAgY29tcG9uZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBDb21wb25lbnQpID0+IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlO1xuICAgIGVtYmVkOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBFbWJlZCkgPT4gRGlzY29yZEVtYmVkO1xuICAgIG1lZGlhR2FsbGVyeUl0ZW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pID0+IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtO1xuICAgIG1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRNZW1iZXI7XG4gICAgc25vd2ZsYWtlOiAoc25vd2ZsYWtlOiBCaWdTdHJpbmcpID0+IHN0cmluZztcbiAgICB0ZWFtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUZWFtKSA9PiBEaXNjb3JkVGVhbTtcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pID0+IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbTtcbiAgICB1c2VyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRVc2VyO1xuICB9O1xuICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gYmlnaW50O1xufTtcblxuY29uc3QgZGVmYXVsdEN1c3RvbWl6ZXIgPSAoX2JvdDogdW5rbm93biwgX3BheWxvYWQ6IHVua25vd24sIHN0cnVjdHVyZTogdW5rbm93bikgPT4gc3RydWN0dXJlO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJhbnNmb3JtZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPihcbiAgb3B0aW9uczogUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+Pixcbik6IFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICBjb25zdCBfb3B0aW9ucyA9IG9wdGlvbnMgYXMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5Pj47XG5cbiAgcmV0dXJuIHtcbiAgICBjdXN0b21pemVyczoge1xuICAgICAgYWN0aXZpdHk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5SW5zdGFuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUluc3RhbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5TG9jYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdHRhY2htZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXR0YWNobWVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdWRpdExvZ0VudHJ5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9tb2RBY3Rpb25FeGVjdXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvbW9kUnVsZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9tb2RSdWxlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdmF0YXJEZWNvcmF0aW9uRGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGNoYW5uZWw6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jaGFubmVsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY29sbGVjdGlibGVzOiBfb3B0aW9ucy5jdXN0b21pemVycz8uY29sbGVjdGlibGVzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY29tcG9uZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uY29tcG9uZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtYmVkOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1iZWQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbW9qaTogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW50aXRsZW1lbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5lbnRpdGxlbWVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGZvcnVtVGFnOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZm9ydW1UYWcgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBnYXRld2F5Qm90OiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ2F0ZXdheUJvdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmcgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW5jaWRlbnRzRGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVncmF0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZWdyYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFjazogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25SZXNvdXJjZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludml0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lmludml0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnZpdGVTdGFnZUluc3RhbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5sb2JieSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGxvYmJ5TWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnlNZW1iZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZWRpYUdhbGxlcnlJdGVtOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVkaWFHYWxsZXJ5SXRlbSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZUNhbGw6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlQ2FsbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlUGluOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVBpbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VTbmFwc2hvdDogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VTbmFwc2hvdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG5hbWVwbGF0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lm5hbWVwbGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHBvbGw6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5wb2xsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcG9sbE1lZGlhOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucG9sbE1lZGlhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcHJlc2VuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5wcmVzZW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHJvbGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5yb2xlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcm9sZUNvbG9yczogX29wdGlvbnMuY3VzdG9taXplcnM/LnJvbGVDb2xvcnMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzY2hlZHVsZWRFdmVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LnNjaGVkdWxlZEV2ZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBza3U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5za3UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zb3VuZGJvYXJkU291bmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0aWNrZXI6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlclBhY2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyUGFjayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN1YnNjcmlwdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LnN1YnNjcmlwdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRlYW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZWFtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVtcGxhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZW1wbGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnRocmVhZE1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMuY3VzdG9taXplcnM/LnVuZnVybGVkTWVkaWFJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdXNlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnVzZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyUHJpbWFyeUd1aWxkOiBfb3B0aW9ucy5jdXN0b21pemVycz8udXNlclByaW1hcnlHdWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHZvaWNlUmVnaW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VSZWdpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB2b2ljZVN0YXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VTdGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdlYmhvb2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy53ZWJob29rID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2VsY29tZVNjcmVlbjogX29wdGlvbnMuY3VzdG9taXplcnM/LndlbGNvbWVTY3JlZW4gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy53aWRnZXQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXRTZXR0aW5nczogX29wdGlvbnMuY3VzdG9taXplcnM/LndpZGdldFNldHRpbmdzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgIH0sXG4gICAgZGVzaXJlZFByb3BlcnRpZXM6IGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0KF9vcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzID8/IHt9KSxcbiAgICByZXZlcnNlOiB7XG4gICAgICBhY3Rpdml0eTogX29wdGlvbnMucmV2ZXJzZT8uYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSxcbiAgICAgIGFsbG93ZWRNZW50aW9uczogX29wdGlvbnMucmV2ZXJzZT8uYWxsb3dlZE1lbnRpb25zID8/IHRyYW5zZm9ybUFsbG93ZWRNZW50aW9uc1RvRGlzY29yZEFsbG93ZWRNZW50aW9ucyxcbiAgICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kOiBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOlxuICAgICAgICBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgICAgYXR0YWNobWVudDogX29wdGlvbnMucmV2ZXJzZT8uYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50VG9EaXNjb3JkQXR0YWNobWVudCxcbiAgICAgIGNvbXBvbmVudDogX29wdGlvbnMucmV2ZXJzZT8uY29tcG9uZW50ID8/IHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCxcbiAgICAgIGVtYmVkOiBfb3B0aW9ucy5yZXZlcnNlPy5lbWJlZCA/PyB0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkLFxuICAgICAgbWVkaWFHYWxsZXJ5SXRlbTogX29wdGlvbnMucmV2ZXJzZT8ubWVkaWFHYWxsZXJ5SXRlbSA/PyB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgICAgIG1lbWJlcjogX29wdGlvbnMucmV2ZXJzZT8ubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlcixcbiAgICAgIHNub3dmbGFrZTogX29wdGlvbnMucmV2ZXJzZT8uc25vd2ZsYWtlID8/IGJpZ2ludFRvU25vd2ZsYWtlLFxuICAgICAgdGVhbTogX29wdGlvbnMucmV2ZXJzZT8udGVhbSA/PyB0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSxcbiAgICAgIHVuZnVybGVkTWVkaWFJdGVtOiBfb3B0aW9ucy5yZXZlcnNlPy51bmZ1cmxlZE1lZGlhSXRlbSA/PyB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICAgICAgdXNlcjogX29wdGlvbnMucmV2ZXJzZT8udXNlciA/PyB0cmFuc2Zvcm1Vc2VyVG9EaXNjb3JkVXNlcixcbiAgICB9LFxuICAgIGFjdGl2aXR5OiBfb3B0aW9ucy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eSxcbiAgICBhY3Rpdml0eUluc3RhbmNlOiBfb3B0aW9ucy5hY3Rpdml0eUluc3RhbmNlID8/IHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuYWN0aXZpdHlMb2NhdGlvbiA/PyB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxuICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24sXG4gICAgYXR0YWNobWVudDogX29wdGlvbnMuYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50LFxuICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmF1ZGl0TG9nRW50cnkgPz8gdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBfb3B0aW9ucy5hdXRvbW9kQWN0aW9uRXhlY3V0aW9uID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgIGF1dG9tb2RSdWxlOiBfb3B0aW9ucy5hdXRvbW9kUnVsZSA/PyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUsXG4gICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IF9vcHRpb25zLmF2YXRhckRlY29yYXRpb25EYXRhID8/IHRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhLFxuICAgIGNoYW5uZWw6IF9vcHRpb25zLmNoYW5uZWwgPz8gdHJhbnNmb3JtQ2hhbm5lbCxcbiAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLmNvbGxlY3RpYmxlcyA/PyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsXG4gICAgY29tcG9uZW50OiBfb3B0aW9ucy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50LFxuICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBfb3B0aW9ucy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICBlbWJlZDogX29wdGlvbnMuZW1iZWQgPz8gdHJhbnNmb3JtRW1iZWQsXG4gICAgZW1vamk6IF9vcHRpb25zLmVtb2ppID8/IHRyYW5zZm9ybUVtb2ppLFxuICAgIGVudGl0bGVtZW50OiBfb3B0aW9ucy5lbnRpdGxlbWVudCA/PyB0cmFuc2Zvcm1FbnRpdGxlbWVudCxcbiAgICBmb3J1bVRhZzogX29wdGlvbnMuZm9ydW1UYWcgPz8gdHJhbnNmb3JtRm9ydW1UYWcsXG4gICAgZ2F0ZXdheUJvdDogX29wdGlvbnMuZ2F0ZXdheUJvdCA/PyB0cmFuc2Zvcm1HYXRld2F5Qm90LFxuICAgIGd1aWxkOiBfb3B0aW9ucy5ndWlsZCA/PyB0cmFuc2Zvcm1HdWlsZCxcbiAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmd1aWxkT25ib2FyZGluZyA/PyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogX29wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5pbmNpZGVudHNEYXRhID8/IHRyYW5zZm9ybUluY2lkZW50c0RhdGEsXG4gICAgaW50ZWdyYXRpb246IF9vcHRpb25zLmludGVncmF0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uLFxuICAgIGludGVyYWN0aW9uOiBfb3B0aW9ucy5pbnRlcmFjdGlvbiA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrID8/IHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IF9vcHRpb25zLmludGVyYWN0aW9uRGF0YU9wdGlvbnMgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvblJlc291cmNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgaW52aXRlOiBfb3B0aW9ucy5pbnZpdGUgPz8gdHJhbnNmb3JtSW52aXRlLFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmludml0ZVN0YWdlSW5zdGFuY2UgPz8gdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgICBsb2JieTogX29wdGlvbnMubG9iYnkgPz8gdHJhbnNmb3JtTG9iYnksXG4gICAgbG9iYnlNZW1iZXI6IF9vcHRpb25zLmxvYmJ5TWVtYmVyID8/IHRyYW5zZm9ybUxvYmJ5TWVtYmVyLFxuICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLm1lZGlhR2FsbGVyeUl0ZW0gPz8gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSxcbiAgICBtZW1iZXI6IF9vcHRpb25zLm1lbWJlciA/PyB0cmFuc2Zvcm1NZW1iZXIsXG4gICAgbWVzc2FnZTogX29wdGlvbnMubWVzc2FnZSA/PyB0cmFuc2Zvcm1NZXNzYWdlLFxuICAgIG1lc3NhZ2VDYWxsOiBfb3B0aW9ucy5tZXNzYWdlQ2FsbCA/PyB0cmFuc2Zvcm1NZXNzYWdlQ2FsbCxcbiAgICBtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YTogX29wdGlvbnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEgPz8gdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gICAgbWVzc2FnZVBpbjogX29wdGlvbnMubWVzc2FnZVBpbiA/PyB0cmFuc2Zvcm1NZXNzYWdlUGluLFxuICAgIG1lc3NhZ2VTbmFwc2hvdDogX29wdGlvbnMubWVzc2FnZVNuYXBzaG90ID8/IHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCxcbiAgICBuYW1lcGxhdGU6IF9vcHRpb25zLm5hbWVwbGF0ZSA/PyB0cmFuc2Zvcm1OYW1lcGxhdGUsXG4gICAgcG9sbDogX29wdGlvbnMucG9sbCA/PyB0cmFuc2Zvcm1Qb2xsLFxuICAgIHBvbGxNZWRpYTogX29wdGlvbnMucG9sbE1lZGlhID8/IHRyYW5zZm9ybVBvbGxNZWRpYSxcbiAgICBwcmVzZW5jZTogX29wdGlvbnMucHJlc2VuY2UgPz8gdHJhbnNmb3JtUHJlc2VuY2UsXG4gICAgcm9sZTogX29wdGlvbnMucm9sZSA/PyB0cmFuc2Zvcm1Sb2xlLFxuICAgIHJvbGVDb2xvcnM6IF9vcHRpb25zLnJvbGVDb2xvcnMgPz8gdHJhbnNmb3JtUm9sZUNvbG9ycyxcbiAgICBzY2hlZHVsZWRFdmVudDogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnQgPz8gdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsXG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgIHNrdTogX29wdGlvbnMuc2t1ID8/IHRyYW5zZm9ybVNrdSxcbiAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLnNvdW5kYm9hcmRTb3VuZCA/PyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQsXG4gICAgc25vd2ZsYWtlOiBfb3B0aW9ucy5zbm93Zmxha2UgPz8gc25vd2ZsYWtlVG9CaWdpbnQsXG4gICAgc3RhZ2VJbnN0YW5jZTogX29wdGlvbnMuc3RhZ2VJbnN0YW5jZSA/PyB0cmFuc2Zvcm1TdGFnZUluc3RhbmNlLFxuICAgIHN0aWNrZXI6IF9vcHRpb25zLnN0aWNrZXIgPz8gdHJhbnNmb3JtU3RpY2tlcixcbiAgICBzdGlja2VyUGFjazogX29wdGlvbnMuc3RpY2tlclBhY2sgPz8gdHJhbnNmb3JtU3RpY2tlclBhY2ssXG4gICAgc3Vic2NyaXB0aW9uOiBfb3B0aW9ucy5zdWJzY3JpcHRpb24gPz8gdHJhbnNmb3JtU3Vic2NyaXB0aW9uLFxuICAgIHRlYW06IF9vcHRpb25zLnRlYW0gPz8gdHJhbnNmb3JtVGVhbSxcbiAgICB0ZW1wbGF0ZTogX29wdGlvbnMudGVtcGxhdGUgPz8gdHJhbnNmb3JtVGVtcGxhdGUsXG4gICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy50aHJlYWRNZW1iZXIgPz8gdHJhbnNmb3JtVGhyZWFkTWVtYmVyLFxuICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMudW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgdXNlcjogX29wdGlvbnMudXNlciA/PyB0cmFuc2Zvcm1Vc2VyLFxuICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLnVzZXJQcmltYXJ5R3VpbGQgPz8gdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCxcbiAgICB2b2ljZVJlZ2lvbjogX29wdGlvbnMudm9pY2VSZWdpb24gPz8gdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gICAgdm9pY2VTdGF0ZTogX29wdGlvbnMudm9pY2VTdGF0ZSA/PyB0cmFuc2Zvcm1Wb2ljZVN0YXRlLFxuICAgIHdlYmhvb2s6IF9vcHRpb25zLndlYmhvb2sgPz8gdHJhbnNmb3JtV2ViaG9vayxcbiAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy53ZWxjb21lU2NyZWVuID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gICAgd2lkZ2V0OiBfb3B0aW9ucy53aWRnZXQgPz8gdHJhbnNmb3JtV2lkZ2V0LFxuICAgIHdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy53aWRnZXRTZXR0aW5ncyA/PyB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbiAgfSBzYXRpc2ZpZXMgVHJhbnNmb3JtZXJzPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT4gYXMgdW5rbm93biBhcyBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+O1xufVxuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgVFBheWxvYWQsXG4gIFRUcmFuc2Zvcm1lZCxcbiAgVEV4dHJhID0ge30sXG4+ID0gKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVFBheWxvYWQsIGV4dHJhPzogVEV4dHJhKSA9PiBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPjtcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJDdXN0b21pemVyRnVuY3Rpb248XG4gIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBUUGF5bG9hZCxcbiAgVFRyYW5zZm9ybWVkLFxuICBURXh0cmEgPSB7fSxcbj4gPSAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUUGF5bG9hZCwgdHJhbnNmb3JtZWQ6IFRUcmFuc2Zvcm1lZCwgZXh0cmE/OiBURXh0cmEpID0+IGFueTtcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJDdXN0b21pemVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSB7XG4gIFtLIGluIGtleW9mIFRyYW5zZm9ybWVyRnVuY3Rpb25zPFRQcm9wcywgVEJlaGF2aW9yPl06IFRyYW5zZm9ybWVyRnVuY3Rpb25zPFRQcm9wcywgVEJlaGF2aW9yPltLXSBleHRlbmRzIFRyYW5zZm9ybWVyRnVuY3Rpb248XG4gICAgVFByb3BzLFxuICAgIFRCZWhhdmlvcixcbiAgICBpbmZlciBUUGF5bG9hZCxcbiAgICBpbmZlciBUVHJhbnNmb3JtZWQsXG4gICAgaW5mZXIgVEV4dHJhXG4gID5cbiAgICA/IFRyYW5zZm9ybWVyQ3VzdG9taXplckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBUUGF5bG9hZCwgU2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4sIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VEV4dHJhPj5cbiAgICA6ICdFUlJPUjogSW52YWxpZCB0cmFuc2Zvcm1lciBmb3VuZCc7XG59O1xuXG5leHBvcnQgdHlwZSBCaWdTdHJpbmdzVG9CaWdpbnRzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogQmlnU3RyaW5nIGV4dGVuZHMgVFtLXSA/IGJpZ2ludCA6IFRbS107XG59O1xuIl0sIm5hbWVzIjpbImJpZ2ludFRvU25vd2ZsYWtlIiwic25vd2ZsYWtlVG9CaWdpbnQiLCJjcmVhdGVEZXNpcmVkUHJvcGVydGllc09iamVjdCIsInRyYW5zZm9ybUFjdGl2aXR5IiwidHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSIsInRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJ0cmFuc2Zvcm1BdHRhY2htZW50IiwidHJhbnNmb3JtQXVkaXRMb2dFbnRyeSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlIiwidHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJ0cmFuc2Zvcm1DaGFubmVsIiwidHJhbnNmb3JtRm9ydW1UYWciLCJ0cmFuc2Zvcm1Db21wb25lbnQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJ0cmFuc2Zvcm1FbWJlZCIsInRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppIiwidHJhbnNmb3JtRW1vamkiLCJ0cmFuc2Zvcm1FbnRpdGxlbWVudCIsInRyYW5zZm9ybUdhdGV3YXlCb3QiLCJ0cmFuc2Zvcm1HdWlsZCIsInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsInRyYW5zZm9ybUludml0ZSIsInRyYW5zZm9ybUxvYmJ5IiwidHJhbnNmb3JtTG9iYnlNZW1iZXIiLCJ0cmFuc2Zvcm1NZW1iZXIiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmciLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJ0cmFuc2Zvcm1Qb2xsIiwidHJhbnNmb3JtUG9sbE1lZGlhIiwidHJhbnNmb3JtUHJlc2VuY2UiLCJ0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5IiwidHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zIiwidHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCIsInRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciIsInRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyIiwidHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0iLCJ0cmFuc2Zvcm1Sb2xlIiwidHJhbnNmb3JtUm9sZUNvbG9ycyIsInRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50IiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInRyYW5zZm9ybVNrdSIsInRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCIsInRyYW5zZm9ybVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlIiwidHJhbnNmb3JtU3RpY2tlciIsInRyYW5zZm9ybVN0aWNrZXJQYWNrIiwidHJhbnNmb3JtU3Vic2NyaXB0aW9uIiwidHJhbnNmb3JtVGVhbSIsInRyYW5zZm9ybVRlbXBsYXRlIiwidHJhbnNmb3JtVGhyZWFkTWVtYmVyIiwidHJhbnNmb3JtVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiLCJ0cmFuc2Zvcm1Db2xsZWN0aWJsZXMiLCJ0cmFuc2Zvcm1OYW1lcGxhdGUiLCJ0cmFuc2Zvcm1Vc2VyIiwidHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCIsInRyYW5zZm9ybVZvaWNlUmVnaW9uIiwidHJhbnNmb3JtVm9pY2VTdGF0ZSIsInRyYW5zZm9ybVdlYmhvb2siLCJ0cmFuc2Zvcm1XZWxjb21lU2NyZWVuIiwidHJhbnNmb3JtV2lkZ2V0IiwidHJhbnNmb3JtV2lkZ2V0U2V0dGluZ3MiLCJkZWZhdWx0Q3VzdG9taXplciIsIl9ib3QiLCJfcGF5bG9hZCIsInN0cnVjdHVyZSIsImNyZWF0ZVRyYW5zZm9ybWVycyIsIm9wdGlvbnMiLCJfb3B0aW9ucyIsImN1c3RvbWl6ZXJzIiwiYWN0aXZpdHkiLCJhY3Rpdml0eUluc3RhbmNlIiwiYWN0aXZpdHlMb2NhdGlvbiIsImFwcGxpY2F0aW9uIiwiYXBwbGljYXRpb25Db21tYW5kIiwiYXBwbGljYXRpb25Db21tYW5kT3B0aW9uIiwiYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIiwiYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbiIsImF0dGFjaG1lbnQiLCJhdWRpdExvZ0VudHJ5IiwiYXV0b21vZEFjdGlvbkV4ZWN1dGlvbiIsImF1dG9tb2RSdWxlIiwiYXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJjaGFubmVsIiwiY29sbGVjdGlibGVzIiwiY29tcG9uZW50IiwiZGVmYXVsdFJlYWN0aW9uRW1vamkiLCJlbWJlZCIsImVtb2ppIiwiZW50aXRsZW1lbnQiLCJmb3J1bVRhZyIsImdhdGV3YXlCb3QiLCJndWlsZCIsImd1aWxkT25ib2FyZGluZyIsImd1aWxkT25ib2FyZGluZ1Byb21wdCIsImd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiIsImluY2lkZW50c0RhdGEiLCJpbnRlZ3JhdGlvbiIsImludGVyYWN0aW9uIiwiaW50ZXJhY3Rpb25DYWxsYmFjayIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsImludGVyYWN0aW9uUmVzb3VyY2UiLCJpbnZpdGUiLCJpbnZpdGVTdGFnZUluc3RhbmNlIiwibG9iYnkiLCJsb2JieU1lbWJlciIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJtZW1iZXIiLCJtZXNzYWdlIiwibWVzc2FnZUNhbGwiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1lc3NhZ2VQaW4iLCJtZXNzYWdlU25hcHNob3QiLCJuYW1lcGxhdGUiLCJwb2xsIiwicG9sbE1lZGlhIiwicHJlc2VuY2UiLCJyb2xlIiwicm9sZUNvbG9ycyIsInNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInNrdSIsInNvdW5kYm9hcmRTb3VuZCIsInN0YWdlSW5zdGFuY2UiLCJzdGlja2VyIiwic3RpY2tlclBhY2siLCJzdWJzY3JpcHRpb24iLCJ0ZWFtIiwidGVtcGxhdGUiLCJ0aHJlYWRNZW1iZXIiLCJ0aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSIsInVuZnVybGVkTWVkaWFJdGVtIiwidXNlciIsInVzZXJQcmltYXJ5R3VpbGQiLCJ2b2ljZVJlZ2lvbiIsInZvaWNlU3RhdGUiLCJ3ZWJob29rIiwid2VsY29tZVNjcmVlbiIsIndpZGdldCIsIndpZGdldFNldHRpbmdzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJyZXZlcnNlIiwiYWxsb3dlZE1lbnRpb25zIiwic25vd2ZsYWtlIl0sIm1hcHBpbmdzIjoiQUFnRkEsU0FBU0EsaUJBQWlCLEVBQUVDLGlCQUFpQixRQUFRLG9CQUFvQjtBQUV6RSxTQUNFQyw2QkFBNkIsUUFJeEIseUJBQXlCO0FBQ2hDLFNBQVNDLGlCQUFpQixFQUFFQyx5QkFBeUIsRUFBRUMseUJBQXlCLFFBQVEsNkJBQTZCO0FBQ3JILFNBQVNDLG9CQUFvQixRQUFRLGdDQUFnQztBQUNyRSxTQUFTQywyQkFBMkIsUUFBUSx1Q0FBdUM7QUFDbkYsU0FBU0MsaUNBQWlDLFFBQVEsNkNBQTZDO0FBQy9GLFNBQVNDLHVDQUF1QyxRQUFRLG1EQUFtRDtBQUMzRyxTQUFTQyxxQ0FBcUMsUUFBUSxpREFBaUQ7QUFDdkcsU0FBU0MsbUJBQW1CLFFBQVEsK0JBQStCO0FBQ25FLFNBQVNDLHNCQUFzQixRQUFRLGtDQUFrQztBQUN6RSxTQUFTQyxzQ0FBc0MsUUFBUSwyQ0FBMkM7QUFDbEcsU0FBU0MsMkJBQTJCLFFBQVEsZ0NBQWdDO0FBQzVFLFNBQVNDLDZCQUE2QixRQUFRLHlDQUF5QztBQUN2RixTQUFTQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLFFBQVEsNEJBQTRCO0FBQ2hGLFNBQVNDLGtCQUFrQixFQUFFQyx5QkFBeUIsRUFBRUMsMEJBQTBCLFFBQVEsOEJBQThCO0FBQ3hILFNBQVNDLGNBQWMsUUFBUSwwQkFBMEI7QUFDekQsU0FBU0MsNkJBQTZCLEVBQUVDLGNBQWMsUUFBUSww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
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgRGlzY29yZEFjdGl2aXR5LFxuICBEaXNjb3JkQWN0aXZpdHlBc3NldHMsXG4gIERpc2NvcmRBY3Rpdml0eUVtb2ppLFxuICBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sXG4gIERpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkQXR0YWNobWVudCxcbiAgRGlzY29yZEF1ZGl0TG9nRW50cnksXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbixcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSxcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSxcbiAgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBEaXNjb3JkQ2hhbm5lbCxcbiAgRGlzY29yZENvbGxlY3RpYmxlcyxcbiAgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRm9vdGVyLFxuICBEaXNjb3JkRW1iZWRJbWFnZSxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG4gIERpc2NvcmRFbW9qaSxcbiAgRGlzY29yZEVudGl0bGVtZW50LFxuICBEaXNjb3JkRm9ydW1UYWcsXG4gIERpc2NvcmRHZXRHYXRld2F5Qm90LFxuICBEaXNjb3JkR3VpbGQsXG4gIERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBEaXNjb3JkR3VpbGRXaWRnZXQsXG4gIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBEaXNjb3JkSW5jaWRlbnRzRGF0YSxcbiAgRGlzY29yZEludGVncmF0aW9uQWNjb3VudCxcbiAgRGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb24sXG4gIERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSxcbiAgRGlzY29yZEludGVyYWN0aW9uLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZExvYmJ5LFxuICBEaXNjb3JkTG9iYnlJbnZpdGUsXG4gIERpc2NvcmRMb2JieU1lbWJlcixcbiAgRGlzY29yZExvYmJ5TWVzc2FnZSxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRNZW1iZXIsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBEaXNjb3JkTWVzc2FnZUNhbGwsXG4gIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LFxuICBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgRGlzY29yZE1lc3NhZ2VQaW4sXG4gIERpc2NvcmRNZXNzYWdlU25hcHNob3QsXG4gIERpc2NvcmROYW1lcGxhdGUsXG4gIERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvLFxuICBEaXNjb3JkUG9sbCxcbiAgRGlzY29yZFBvbGxNZWRpYSxcbiAgRGlzY29yZFByZXNlbmNlVXBkYXRlLFxuICBEaXNjb3JkUm9sZSxcbiAgRGlzY29yZFJvbGVDb2xvcnMsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudCxcbiAgRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIERpc2NvcmRTZXNzaW9uU3RhcnRMaW1pdCxcbiAgRGlzY29yZFNoYXJlZENsaWVudFRoZW1lLFxuICBEaXNjb3JkU2t1LFxuICBEaXNjb3JkU291bmRib2FyZFNvdW5kLFxuICBEaXNjb3JkU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZFN0aWNrZXIsXG4gIERpc2NvcmRTdGlja2VyUGFjayxcbiAgRGlzY29yZFN1YnNjcmlwdGlvbixcbiAgRGlzY29yZFRlYW0sXG4gIERpc2NvcmRUZWFtTWVtYmVyLFxuICBEaXNjb3JkVGVtcGxhdGUsXG4gIERpc2NvcmRUaHJlYWRNZW1iZXIsXG4gIERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICBEaXNjb3JkVXNlcixcbiAgRGlzY29yZFVzZXJQcmltYXJ5R3VpbGQsXG4gIERpc2NvcmRWb2ljZVJlZ2lvbixcbiAgRGlzY29yZFZvaWNlU3RhdGUsXG4gIERpc2NvcmRXZWJob29rLFxuICBEaXNjb3JkV2VsY29tZVNjcmVlbixcbiAgUmVjdXJzaXZlUGFydGlhbCxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgYmlnaW50VG9Tbm93Zmxha2UsIHNub3dmbGFrZVRvQmlnaW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuL2JvdC5qcyc7XG5pbXBvcnQge1xuICBjcmVhdGVEZXNpcmVkUHJvcGVydGllc09iamVjdCxcbiAgdHlwZSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICB0eXBlIFNldHVwRGVzaXJlZFByb3BzLFxuICB0eXBlIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybUFjdGl2aXR5LFxuICB0cmFuc2Zvcm1BY3Rpdml0eUFzc2V0cyxcbiAgdHJhbnNmb3JtQWN0aXZpdHlFbW9qaSxcbiAgdHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSxcbiAgdHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbixcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYWN0aXZpdHkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucywgdHJhbnNmb3JtR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F0dGFjaG1lbnQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSwgdHJhbnNmb3JtT3B0aW9uYWxBdWRpdEVudHJ5SW5mbyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F1ZGl0TG9nRW50cnkuanMnO1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb24sXG4gIHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kQWN0aW9uRXhlY3V0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSwgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXV0b21vZFJ1bGUuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1DaGFubmVsLCB0cmFuc2Zvcm1Gb3J1bVRhZyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NoYW5uZWwuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ29tcG9uZW50LCB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtLCB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NvbXBvbmVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbWJlZCwgdHJhbnNmb3JtRW1iZWRBdXRob3IsIHRyYW5zZm9ybUVtYmVkRm9vdGVyLCB0cmFuc2Zvcm1FbWJlZEltYWdlLCB0cmFuc2Zvcm1FbWJlZFZpZGVvIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1iZWQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamksIHRyYW5zZm9ybUVtb2ppIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1vamkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRW50aXRsZW1lbnQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9lbnRpdGxlbWVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1HYXRld2F5Qm90LCB0cmFuc2Zvcm1TZXNzaW9uU3RhcnRMaW1pdCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2dhdGV3YXlCb3QuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9ndWlsZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbmNpZGVudHNEYXRhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbnRlZ3JhdGlvbiwgdHJhbnNmb3JtSW50ZWdyYXRpb25BY2NvdW50LCB0cmFuc2Zvcm1JbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24uanMnO1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW52aXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW52aXRlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUxvYmJ5LCB0cmFuc2Zvcm1Mb2JieUludml0ZSwgdHJhbnNmb3JtTG9iYnlNZW1iZXIsIHRyYW5zZm9ybUxvYmJ5TWVzc2FnZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2xvYmJ5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybU1lbWJlciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL21lbWJlci5qcyc7XG5pbXBvcnQge1xuICB0cmFuc2Zvcm1NZXNzYWdlLFxuICB0cmFuc2Zvcm1NZXNzYWdlQ2FsbCxcbiAgdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gIHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCxcbiAgdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL21lc3NhZ2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nLCB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQsIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL29uYm9hcmRpbmcuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUG9sbCwgdHJhbnNmb3JtUG9sbE1lZGlhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcG9sbC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1QcmVzZW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3ByZXNlbmNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMsIHRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FjdGl2aXR5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFsbG93ZWRNZW50aW9uc1RvRGlzY29yZEFsbG93ZWRNZW50aW9ucyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYWxsb3dlZE1lbnRpb25zLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FwcGxpY2F0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hdHRhY2htZW50LmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCxcbiAgdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvY29tcG9uZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2VtYmVkLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciwgdHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL21lbWJlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvdGVhbS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXNUb0Rpc2NvcmRDb2xsZWN0aWJsZXMsIHRyYW5zZm9ybU5hbWVwbGF0ZVRvRGlzY29yZE5hbWVwbGF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvdXNlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Sb2xlLCB0cmFuc2Zvcm1Sb2xlQ29sb3JzIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcm9sZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCwgdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NjaGVkdWxlZEV2ZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVNrdSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NrdS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zb3VuZGJvYXJkU291bmQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW5zdGFuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3RpY2tlciwgdHJhbnNmb3JtU3RpY2tlclBhY2sgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdGlja2VyLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N1YnNjcmlwdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZWFtLCB0cmFuc2Zvcm1UZWFtTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGVhbS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZW1wbGF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RlbXBsYXRlLmpzJztcbmltcG9ydCB7IHR5cGUgVGhyZWFkTWVtYmVyVHJhbnNmb3JtZXJFeHRyYSwgdHJhbnNmb3JtVGhyZWFkTWVtYmVyLCB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RocmVhZE1lbWJlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGl2aXR5LFxuICBBY3Rpdml0eUFzc2V0cyxcbiAgQWN0aXZpdHlFbW9qaSxcbiAgQWN0aXZpdHlJbnN0YW5jZSxcbiAgQWN0aXZpdHlMb2NhdGlvbixcbiAgQXBwbGljYXRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBBdHRhY2htZW50LFxuICBBdWRpdExvZ0VudHJ5LFxuICBBdXRvTW9kZXJhdGlvbkFjdGlvbixcbiAgQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIEF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEsXG4gIEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhLFxuICBBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgQ2hhbm5lbCxcbiAgQ29sbGVjdGlibGVzLFxuICBDb21wb25lbnQsXG4gIERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBFbWJlZCxcbiAgRW1iZWRBdXRob3IsXG4gIEVtYmVkRm9vdGVyLFxuICBFbWJlZEltYWdlLFxuICBFbWJlZFZpZGVvLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEZvcnVtVGFnLFxuICBHZXRHYXRld2F5Qm90LFxuICBHdWlsZCxcbiAgR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgR3VpbGRPbmJvYXJkaW5nLFxuICBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgR3VpbGRXaWRnZXQsXG4gIEd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIEluY2lkZW50c0RhdGEsXG4gIEludGVncmF0aW9uLFxuICBJbnRlZ3JhdGlvbkFjY291bnQsXG4gIEludGVncmF0aW9uQXBwbGljYXRpb24sXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb3VyY2UsXG4gIEludml0ZSxcbiAgSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgTG9iYnksXG4gIExvYmJ5SW52aXRlLFxuICBMb2JieU1lbWJlcixcbiAgTG9iYnlNZXNzYWdlLFxuICBNZWRpYUdhbGxlcnlJdGVtLFxuICBNZW1iZXIsXG4gIE1lc3NhZ2UsXG4gIE1lc3NhZ2VDYWxsLFxuICBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgTWVzc2FnZVBpbixcbiAgTWVzc2FnZVNuYXBzaG90LFxuICBOYW1lcGxhdGUsXG4gIE9wdGlvbmFsQXVkaXRFbnRyeUluZm8sXG4gIFBvbGwsXG4gIFBvbGxNZWRpYSxcbiAgUHJlc2VuY2VVcGRhdGUsXG4gIFJvbGUsXG4gIFJvbGVDb2xvcnMsXG4gIFNjaGVkdWxlZEV2ZW50LFxuICBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICBTZXNzaW9uU3RhcnRMaW1pdCxcbiAgU2hhcmVkQ2xpZW50VGhlbWUsXG4gIFNrdSxcbiAgU291bmRib2FyZFNvdW5kLFxuICBTdGFnZUluc3RhbmNlLFxuICBTdGlja2VyLFxuICBTdGlja2VyUGFjayxcbiAgU3Vic2NyaXB0aW9uLFxuICBUZWFtLFxuICBUZWFtTWVtYmVyLFxuICBUZW1wbGF0ZSxcbiAgVGhyZWFkTWVtYmVyLFxuICBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIFVzZXIsXG4gIFVzZXJQcmltYXJ5R3VpbGQsXG4gIFZvaWNlUmVnaW9uLFxuICBWb2ljZVN0YXRlLFxuICBXZWJob29rLFxuICBXZWxjb21lU2NyZWVuLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy90eXBlcy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsIHRyYW5zZm9ybU5hbWVwbGF0ZSwgdHJhbnNmb3JtVXNlciwgdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3VzZXIuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVm9pY2VSZWdpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy92b2ljZVJlZ2lvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Wb2ljZVN0YXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdm9pY2VTdGF0ZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XZWJob29rIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2ViaG9vay5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XZWxjb21lU2NyZWVuIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2VsY29tZVNjcmVlbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XaWRnZXQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXRTZXR0aW5ncy5qcyc7XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zID0ge1xuICBhY3Rpdml0eTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQWN0aXZpdHksIEFjdGl2aXR5LCB0cnVlPjtcbiAgYWN0aXZpdHlBc3NldHM6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFjdGl2aXR5QXNzZXRzLCBBY3Rpdml0eUFzc2V0cywgdHJ1ZT47XG4gIGFjdGl2aXR5RW1vamk6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFjdGl2aXR5RW1vamksIEFjdGl2aXR5RW1vamksIHRydWU+O1xuICBhY3Rpdml0eUluc3RhbmNlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLCBBY3Rpdml0eUluc3RhbmNlLCB0cnVlPjtcbiAgYWN0aXZpdHlMb2NhdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbiwgQWN0aXZpdHlMb2NhdGlvbiwgdHJ1ZT47XG4gIGFwcGxpY2F0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBcHBsaWNhdGlvbiwgQXBwbGljYXRpb24sIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgYXBwbGljYXRpb25Db21tYW5kOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsIEFwcGxpY2F0aW9uQ29tbWFuZCwgdHJ1ZT47XG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLCBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sIHRydWU+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSwgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLCB0cnVlPjtcbiAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLCBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucywgdHJ1ZT47XG4gIGF0dGFjaG1lbnQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF0dGFjaG1lbnQsIEF0dGFjaG1lbnQsIHRydWU+O1xuICBhdWRpdExvZ0VudHJ5OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdWRpdExvZ0VudHJ5LCBBdWRpdExvZ0VudHJ5LCB0cnVlPjtcbiAgYXV0b01vZGVyYXRpb25BY3Rpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uLCBBdXRvTW9kZXJhdGlvbkFjdGlvbiwgdHJ1ZT47XG4gIGF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbiwgQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sIHRydWU+O1xuICBhdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhLCBBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhLCB0cnVlPjtcbiAgYXV0b01vZGVyYXRpb25SdWxlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsIEF1dG9Nb2RlcmF0aW9uUnVsZSwgdHJ1ZT47XG4gIGF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhLCBBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEsIHRydWU+O1xuICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGEsIEF2YXRhckRlY29yYXRpb25EYXRhLCB0cnVlPjtcbiAgY2hhbm5lbDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQ2hhbm5lbCwgQ2hhbm5lbCwgdHJ1ZSwgeyBndWlsZElkPzogQmlnU3RyaW5nIH0+O1xuICBjb2xsZWN0aWJsZXM6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZENvbGxlY3RpYmxlcywgQ29sbGVjdGlibGVzLCB0cnVlPjtcbiAgY29tcG9uZW50OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLCBDb21wb25lbnQsIHRydWU+O1xuICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERlZmF1bHRSZWFjdGlvbkVtb2ppLCB0cnVlPjtcbiAgZW1iZWQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEVtYmVkLCBFbWJlZCwgdHJ1ZT47XG4gIGVtYmVkQXV0aG9yOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRFbWJlZEF1dGhvciwgRW1iZWRBdXRob3IsIHRydWU+O1xuICBlbWJlZEZvb3RlcjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW1iZWRGb290ZXIsIEVtYmVkRm9vdGVyLCB0cnVlPjtcbiAgZW1iZWRJbWFnZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW1iZWRJbWFnZSwgRW1iZWRJbWFnZSwgdHJ1ZT47XG4gIGVtYmVkVmlkZW86IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEVtYmVkVmlkZW8sIEVtYmVkVmlkZW8sIHRydWU+O1xuICBlbW9qaTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW1vamksIEVtb2ppLCB0cnVlPjtcbiAgZW50aXRsZW1lbnQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEVudGl0bGVtZW50LCBFbnRpdGxlbWVudCwgdHJ1ZT47XG4gIGZvcnVtVGFnOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRGb3J1bVRhZywgRm9ydW1UYWcsIHRydWU+O1xuICBnYXRld2F5Qm90OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHZXRHYXRld2F5Qm90LCBHZXRHYXRld2F5Qm90LCB0cnVlPjtcbiAgZ3VpbGQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkLCBHdWlsZCwgdHJ1ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBndWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLCBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLCB0cnVlPjtcbiAgZ3VpbGRPbmJvYXJkaW5nOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIEd1aWxkT25ib2FyZGluZywgdHJ1ZT47XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LCBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIHRydWU+O1xuICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiwgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLCB0cnVlPjtcbiAgaW5jaWRlbnRzRGF0YTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW5jaWRlbnRzRGF0YSwgSW5jaWRlbnRzRGF0YSwgdHJ1ZT47XG4gIGludGVncmF0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSwgSW50ZWdyYXRpb24sIHRydWU+O1xuICBpbnRlZ3JhdGlvbkFjY291bnQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVncmF0aW9uQWNjb3VudCwgSW50ZWdyYXRpb25BY2NvdW50LCB0cnVlPjtcbiAgaW50ZWdyYXRpb25BcHBsaWNhdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbiwgSW50ZWdyYXRpb25BcHBsaWNhdGlvbiwgdHJ1ZT47XG4gIGludGVyYWN0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlcmFjdGlvbiwgSW50ZXJhY3Rpb24sIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW50ZXJhY3Rpb25DYWxsYmFjazogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjaywgSW50ZXJhY3Rpb25DYWxsYmFjaywgdHJ1ZT47XG4gIGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLCBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW50ZXJhY3Rpb25EYXRhT3B0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sIEludGVyYWN0aW9uRGF0YU9wdGlvbiwgdHJ1ZT47XG4gIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPFxuICAgIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICB0cnVlLFxuICAgIHsgc2hhcmRJZD86IG51bWJlcjsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9XG4gID47XG4gIGludGVyYWN0aW9uUmVzb3VyY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsIEludGVyYWN0aW9uUmVzb3VyY2UsIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW52aXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnZpdGVNZXRhZGF0YSwgSW52aXRlLCB0cnVlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGludml0ZVN0YWdlSW5zdGFuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UsIEludml0ZVN0YWdlSW5zdGFuY2UsIHRydWUsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgbG9iYnk6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZExvYmJ5LCBMb2JieSwgdHJ1ZT47XG4gIGxvYmJ5TWVtYmVyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRMb2JieU1lbWJlciwgTG9iYnlNZW1iZXIsIHRydWU+O1xuICBsb2JieU1lc3NhZ2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZExvYmJ5TWVzc2FnZSwgTG9iYnlNZXNzYWdlLCB0cnVlPjtcbiAgbG9iYnlJbnZpdGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZExvYmJ5SW52aXRlLCBMb2JieUludml0ZSwgdHJ1ZT47XG4gIG1lZGlhR2FsbGVyeUl0ZW06IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sIE1lZGlhR2FsbGVyeUl0ZW0sIHRydWU+O1xuICBtZW1iZXI6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lbWJlciwgTWVtYmVyLCB0cnVlLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmc7IHVzZXJJZD86IEJpZ1N0cmluZyB9PjtcbiAgbWVzc2FnZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTWVzc2FnZSwgTWVzc2FnZSwgdHJ1ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBtZXNzYWdlQ2FsbDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTWVzc2FnZUNhbGwsIE1lc3NhZ2VDYWxsLCB0cnVlPjtcbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgdHJ1ZT47XG4gIG1lc3NhZ2VQaW46IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2VQaW4sIE1lc3NhZ2VQaW4sIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgbWVzc2FnZVNuYXBzaG90OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZXNzYWdlU25hcHNob3QsIE1lc3NhZ2VTbmFwc2hvdCwgdHJ1ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBuYW1lcGxhdGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE5hbWVwbGF0ZSwgTmFtZXBsYXRlLCB0cnVlPjtcbiAgb3B0aW9uYWxBdWRpdEVudHJ5SW5mbzogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mbywgT3B0aW9uYWxBdWRpdEVudHJ5SW5mbywgdHJ1ZT47XG4gIHBvbGw6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFBvbGwsIFBvbGwsIHRydWU+O1xuICBwb2xsTWVkaWE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFBvbGxNZWRpYSwgUG9sbE1lZGlhLCB0cnVlPjtcbiAgcHJlc2VuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFByZXNlbmNlVXBkYXRlLCBQcmVzZW5jZVVwZGF0ZSwgdHJ1ZT47XG4gIHJvbGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFJvbGUsIFJvbGUsIHRydWUsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgcm9sZUNvbG9yczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkUm9sZUNvbG9ycywgUm9sZUNvbG9ycywgdHJ1ZT47XG4gIHNjaGVkdWxlZEV2ZW50OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTY2hlZHVsZWRFdmVudCwgU2NoZWR1bGVkRXZlbnQsIHRydWU+O1xuICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLCBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLCB0cnVlPjtcbiAgc2Vzc2lvblN0YXJ0TGltaXQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFNlc3Npb25TdGFydExpbWl0LCBTZXNzaW9uU3RhcnRMaW1pdCwgdHJ1ZT47XG4gIHNoYXJlZENsaWVudFRoZW1lOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTaGFyZWRDbGllbnRUaGVtZSwgU2hhcmVkQ2xpZW50VGhlbWUsIHRydWU+O1xuICBza3U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFNrdSwgU2t1LCB0cnVlPjtcbiAgc291bmRib2FyZFNvdW5kOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTb3VuZGJvYXJkU291bmQsIFNvdW5kYm9hcmRTb3VuZCwgdHJ1ZT47XG4gIHN0YWdlSW5zdGFuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFN0YWdlSW5zdGFuY2UsIFN0YWdlSW5zdGFuY2UsIHRydWU+O1xuICBzdGlja2VyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTdGlja2VyLCBTdGlja2VyLCB0cnVlPjtcbiAgc3RpY2tlclBhY2s6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFN0aWNrZXJQYWNrLCBTdGlja2VyUGFjaywgdHJ1ZT47XG4gIHN1YnNjcmlwdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb24sIHRydWU+O1xuICB0ZWFtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUZWFtLCBUZWFtLCB0cnVlPjtcbiAgdGVhbU1lbWJlcjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVGVhbU1lbWJlciwgVGVhbU1lbWJlciwgdHJ1ZT47XG4gIHRlbXBsYXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUZW1wbGF0ZSwgVGVtcGxhdGUsIHRydWU+O1xuICB0aHJlYWRNZW1iZXI6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFRocmVhZE1lbWJlciwgVGhyZWFkTWVtYmVyLCB0cnVlLCBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhPjtcbiAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLCBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSwgdHJ1ZT47XG4gIHVuZnVybGVkTWVkaWFJdGVtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0sIHRydWU+O1xuICB1c2VyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRVc2VyLCBVc2VyLCB0cnVlPjtcbiAgdXNlclByaW1hcnlHdWlsZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVXNlclByaW1hcnlHdWlsZCwgVXNlclByaW1hcnlHdWlsZCwgdHJ1ZT47XG4gIHZvaWNlUmVnaW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRWb2ljZVJlZ2lvbiwgVm9pY2VSZWdpb24sIHRydWU+O1xuICB2b2ljZVN0YXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRWb2ljZVN0YXRlLCBWb2ljZVN0YXRlLCB0cnVlLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIHdlYmhvb2s6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFdlYmhvb2ssIFdlYmhvb2ssIHRydWU+O1xuICB3ZWxjb21lU2NyZWVuOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRXZWxjb21lU2NyZWVuLCBXZWxjb21lU2NyZWVuLCBmYWxzZT47XG4gIHdpZGdldDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRXaWRnZXQsIEd1aWxkV2lkZ2V0LCBmYWxzZT47XG4gIHdpZGdldFNldHRpbmdzOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLCBHdWlsZFdpZGdldFNldHRpbmdzLCBmYWxzZT47XG59O1xuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gVHJhbnNmb3JtZXJGdW5jdGlvbnM8XG4gIFRQcm9wcyxcbiAgVEJlaGF2aW9yXG4+ICYge1xuICBjdXN0b21pemVyczogVHJhbnNmb3JtZXJDdXN0b21pemVyczxUUHJvcHMsIFRCZWhhdmlvcj47XG4gIGRlc2lyZWRQcm9wZXJ0aWVzOiBUUHJvcHM7XG4gIHJldmVyc2U6IHtcbiAgICBhY3Rpdml0eTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWN0aXZpdHkpID0+IERpc2NvcmRBY3Rpdml0eTtcbiAgICBhY3Rpdml0eUFzc2V0czogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWN0aXZpdHlBc3NldHMpID0+IERpc2NvcmRBY3Rpdml0eUFzc2V0cztcbiAgICBhbGxvd2VkTWVudGlvbnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFsbG93ZWRNZW50aW9ucykgPT4gRGlzY29yZEFsbG93ZWRNZW50aW9ucztcbiAgICBhcHBsaWNhdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb24pID0+IERpc2NvcmRBcHBsaWNhdGlvbjtcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZDtcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbikgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjtcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTtcbiAgICBhdHRhY2htZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxBdHRhY2htZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRBdHRhY2htZW50O1xuICAgIGNvbGxlY3RpYmxlczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8Q29sbGVjdGlibGVzLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRDb2xsZWN0aWJsZXM7XG4gICAgY29tcG9uZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBDb21wb25lbnQpID0+IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlO1xuICAgIGVtYmVkOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBFbWJlZCkgPT4gRGlzY29yZEVtYmVkO1xuICAgIG1lZGlhR2FsbGVyeUl0ZW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pID0+IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtO1xuICAgIG1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRNZW1iZXI7XG4gICAgbmFtZXBsYXRlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxOYW1lcGxhdGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZE5hbWVwbGF0ZTtcbiAgICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gc3RyaW5nO1xuICAgIHRlYW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFRlYW0pID0+IERpc2NvcmRUZWFtO1xuICAgIHVuZnVybGVkTWVkaWFJdGVtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSkgPT4gRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtO1xuICAgIHVzZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZFVzZXI7XG4gIH07XG4gIHNub3dmbGFrZTogKHNub3dmbGFrZTogQmlnU3RyaW5nKSA9PiBiaWdpbnQ7XG59O1xuXG5jb25zdCBkZWZhdWx0Q3VzdG9taXplciA9IChfYm90OiB1bmtub3duLCBfcGF5bG9hZDogdW5rbm93biwgc3RydWN0dXJlOiB1bmtub3duKSA9PiBzdHJ1Y3R1cmU7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmFuc2Zvcm1lcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+KFxuICBvcHRpb25zOiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4+LFxuKTogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiB7XG4gIGNvbnN0IF9vcHRpb25zID0gb3B0aW9ucyBhcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+PjtcblxuICByZXR1cm4ge1xuICAgIGN1c3RvbWl6ZXJzOiB7XG4gICAgICBhY3Rpdml0eTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlBc3NldHM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUFzc2V0cyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5RW1vamk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5SW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhY3Rpdml0eUxvY2F0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYWN0aXZpdHlMb2NhdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXR0YWNobWVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmF0dGFjaG1lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdWRpdExvZ0VudHJ5OiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXVkaXRMb2dFbnRyeSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1dG9Nb2RlcmF0aW9uQWN0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXV0b01vZGVyYXRpb25BY3Rpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvTW9kZXJhdGlvblJ1bGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvTW9kZXJhdGlvblJ1bGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF2YXRhckRlY29yYXRpb25EYXRhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY2hhbm5lbDogX29wdGlvbnMuY3VzdG9taXplcnM/LmNoYW5uZWwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jb2xsZWN0aWJsZXMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb21wb25lbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jb21wb25lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogX29wdGlvbnMuY3VzdG9taXplcnM/LmRlZmF1bHRSZWFjdGlvbkVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1iZWQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5lbWJlZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtYmVkQXV0aG9yOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1iZWRBdXRob3IgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbWJlZEZvb3RlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtYmVkRm9vdGVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1iZWRJbWFnZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtYmVkSW1hZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbWJlZFZpZGVvOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1iZWRWaWRlbyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtb2ppOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1vamkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbnRpdGxlbWVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmVudGl0bGVtZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZm9ydW1UYWc6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5mb3J1bVRhZyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGdhdGV3YXlCb3Q6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5nYXRld2F5Qm90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW5jaWRlbnRzRGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmluY2lkZW50c0RhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlZ3JhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVncmF0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZWdyYXRpb25BY2NvdW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZWdyYXRpb25BY2NvdW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZWdyYXRpb25BcHBsaWNhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVncmF0aW9uQXBwbGljYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFjazogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkRhdGFPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uRGF0YVJlc29sdmVkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uUmVzb3VyY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnZpdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGVTdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW52aXRlU3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGxvYmJ5OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBsb2JieU1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LmxvYmJ5TWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlNZXNzYWdlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnlNZXNzYWdlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlJbnZpdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5sb2JieUludml0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZWRpYUdhbGxlcnlJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlQ2FsbDogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VDYWxsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VQaW46IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlUGluID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVNuYXBzaG90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbmFtZXBsYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubmFtZXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgb3B0aW9uYWxBdWRpdEVudHJ5SW5mbzogX29wdGlvbnMuY3VzdG9taXplcnM/Lm9wdGlvbmFsQXVkaXRFbnRyeUluZm8gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwb2xsOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucG9sbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHBvbGxNZWRpYTogX29wdGlvbnMuY3VzdG9taXplcnM/LnBvbGxNZWRpYSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHByZXNlbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucHJlc2VuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICByb2xlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucm9sZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHJvbGVDb2xvcnM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5yb2xlQ29sb3JzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2NoZWR1bGVkRXZlbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zY2hlZHVsZWRFdmVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2Vzc2lvblN0YXJ0TGltaXQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zZXNzaW9uU3RhcnRMaW1pdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNoYXJlZENsaWVudFRoZW1lOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2hhcmVkQ2xpZW50VGhlbWUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBza3U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5za3UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zb3VuZGJvYXJkU291bmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0aWNrZXI6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlclBhY2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyUGFjayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN1YnNjcmlwdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LnN1YnNjcmlwdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRlYW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZWFtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVhbU1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnRlYW1NZW1iZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0ZW1wbGF0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnRlbXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVuZnVybGVkTWVkaWFJdGVtOiBfb3B0aW9ucy5jdXN0b21pemVycz8udW5mdXJsZWRNZWRpYUl0ZW0gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyOiBfb3B0aW9ucy5jdXN0b21pemVycz8udXNlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy51c2VyUHJpbWFyeUd1aWxkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdm9pY2VSZWdpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVJlZ2lvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHZvaWNlU3RhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVN0YXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2ViaG9vazogX29wdGlvbnMuY3VzdG9taXplcnM/LndlYmhvb2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy5jdXN0b21pemVycz8ud2VsY29tZVNjcmVlbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdpZGdldDogX29wdGlvbnMuY3VzdG9taXplcnM/LndpZGdldCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy5jdXN0b21pemVycz8ud2lkZ2V0U2V0dGluZ3MgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgfSxcbiAgICBkZXNpcmVkUHJvcGVydGllczogY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QoX29wdGlvbnMuZGVzaXJlZFByb3BlcnRpZXMgPz8ge30pLFxuICAgIHJldmVyc2U6IHtcbiAgICAgIGFjdGl2aXR5OiBfb3B0aW9ucy5yZXZlcnNlPy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5LFxuICAgICAgYWN0aXZpdHlBc3NldHM6IF9vcHRpb25zLnJldmVyc2U/LmFjdGl2aXR5QXNzZXRzID8/IHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMsXG4gICAgICBhbGxvd2VkTWVudGlvbnM6IF9vcHRpb25zLnJldmVyc2U/LmFsbG93ZWRNZW50aW9ucyA/PyB0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gICAgICBhcHBsaWNhdGlvbjogX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTpcbiAgICAgICAgX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICAgIGF0dGFjaG1lbnQ6IF9vcHRpb25zLnJldmVyc2U/LmF0dGFjaG1lbnQgPz8gdHJhbnNmb3JtQXR0YWNobWVudFRvRGlzY29yZEF0dGFjaG1lbnQsXG4gICAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLnJldmVyc2U/LmNvbGxlY3RpYmxlcyA/PyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXNUb0Rpc2NvcmRDb2xsZWN0aWJsZXMsXG4gICAgICBjb21wb25lbnQ6IF9vcHRpb25zLnJldmVyc2U/LmNvbXBvbmVudCA/PyB0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQsXG4gICAgICBlbWJlZDogX29wdGlvbnMucmV2ZXJzZT8uZW1iZWQgPz8gdHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCxcbiAgICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLnJldmVyc2U/Lm1lZGlhR2FsbGVyeUl0ZW0gPz8gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gICAgICBtZW1iZXI6IF9vcHRpb25zLnJldmVyc2U/Lm1lbWJlciA/PyB0cmFuc2Zvcm1NZW1iZXJUb0Rpc2NvcmRNZW1iZXIsXG4gICAgICBuYW1lcGxhdGU6IF9vcHRpb25zLnJldmVyc2U/Lm5hbWVwbGF0ZSA/PyB0cmFuc2Zvcm1OYW1lcGxhdGVUb0Rpc2NvcmROYW1lcGxhdGUsXG4gICAgICBzbm93Zmxha2U6IF9vcHRpb25zLnJldmVyc2U/LnNub3dmbGFrZSA/PyBiaWdpbnRUb1Nub3dmbGFrZSxcbiAgICAgIHRlYW06IF9vcHRpb25zLnJldmVyc2U/LnRlYW0gPz8gdHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0sXG4gICAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMucmV2ZXJzZT8udW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgICAgIHVzZXI6IF9vcHRpb25zLnJldmVyc2U/LnVzZXIgPz8gdHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIsXG4gICAgfSxcbiAgICBhY3Rpdml0eTogX29wdGlvbnMuYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHksXG4gICAgYWN0aXZpdHlBc3NldHM6IF9vcHRpb25zLmFjdGl2aXR5QXNzZXRzID8/IHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzLFxuICAgIGFjdGl2aXR5RW1vamk6IF9vcHRpb25zLmFjdGl2aXR5RW1vamkgPz8gdHJhbnNmb3JtQWN0aXZpdHlFbW9qaSxcbiAgICBhY3Rpdml0eUluc3RhbmNlOiBfb3B0aW9ucy5hY3Rpdml0eUluc3RhbmNlID8/IHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuYWN0aXZpdHlMb2NhdGlvbiA/PyB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxuICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICAgYXR0YWNobWVudDogX29wdGlvbnMuYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50LFxuICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmF1ZGl0TG9nRW50cnkgPz8gdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgICBhdXRvTW9kZXJhdGlvbkFjdGlvbjogX29wdGlvbnMuYXV0b01vZGVyYXRpb25BY3Rpb24gPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb24sXG4gICAgYXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb246IF9vcHRpb25zLmF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgIGF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGE6IF9vcHRpb25zLmF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEgPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSxcbiAgICBhdXRvTW9kZXJhdGlvblJ1bGU6IF9vcHRpb25zLmF1dG9Nb2RlcmF0aW9uUnVsZSA/PyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUsXG4gICAgYXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhOiBfb3B0aW9ucy5hdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEgPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhLFxuICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBfb3B0aW9ucy5hdmF0YXJEZWNvcmF0aW9uRGF0YSA/PyB0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgICBjaGFubmVsOiBfb3B0aW9ucy5jaGFubmVsID8/IHRyYW5zZm9ybUNoYW5uZWwsXG4gICAgY29sbGVjdGlibGVzOiBfb3B0aW9ucy5jb2xsZWN0aWJsZXMgPz8gdHJhbnNmb3JtQ29sbGVjdGlibGVzLFxuICAgIGNvbXBvbmVudDogX29wdGlvbnMuY29tcG9uZW50ID8/IHRyYW5zZm9ybUNvbXBvbmVudCxcbiAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogX29wdGlvbnMuZGVmYXVsdFJlYWN0aW9uRW1vamkgPz8gdHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamksXG4gICAgZW1iZWQ6IF9vcHRpb25zLmVtYmVkID8/IHRyYW5zZm9ybUVtYmVkLFxuICAgIGVtYmVkQXV0aG9yOiBfb3B0aW9ucy5lbWJlZEF1dGhvciA/PyB0cmFuc2Zvcm1FbWJlZEF1dGhvcixcbiAgICBlbWJlZEZvb3RlcjogX29wdGlvbnMuZW1iZWRGb290ZXIgPz8gdHJhbnNmb3JtRW1iZWRGb290ZXIsXG4gICAgZW1iZWRJbWFnZTogX29wdGlvbnMuZW1iZWRJbWFnZSA/PyB0cmFuc2Zvcm1FbWJlZEltYWdlLFxuICAgIGVtYmVkVmlkZW86IF9vcHRpb25zLmVtYmVkVmlkZW8gPz8gdHJhbnNmb3JtRW1iZWRWaWRlbyxcbiAgICBlbW9qaTogX29wdGlvbnMuZW1vamkgPz8gdHJhbnNmb3JtRW1vamksXG4gICAgZW50aXRsZW1lbnQ6IF9vcHRpb25zLmVudGl0bGVtZW50ID8/IHRyYW5zZm9ybUVudGl0bGVtZW50LFxuICAgIGZvcnVtVGFnOiBfb3B0aW9ucy5mb3J1bVRhZyA/PyB0cmFuc2Zvcm1Gb3J1bVRhZyxcbiAgICBnYXRld2F5Qm90OiBfb3B0aW9ucy5nYXRld2F5Qm90ID8/IHRyYW5zZm9ybUdhdGV3YXlCb3QsXG4gICAgZ3VpbGQ6IF9vcHRpb25zLmd1aWxkID8/IHRyYW5zZm9ybUd1aWxkLFxuICAgIGd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IF9vcHRpb25zLmd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMgPz8gdHJhbnNmb3JtR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmd1aWxkT25ib2FyZGluZyA/PyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogX29wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5pbmNpZGVudHNEYXRhID8/IHRyYW5zZm9ybUluY2lkZW50c0RhdGEsXG4gICAgaW50ZWdyYXRpb246IF9vcHRpb25zLmludGVncmF0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uLFxuICAgIGludGVncmF0aW9uQWNjb3VudDogX29wdGlvbnMuaW50ZWdyYXRpb25BY2NvdW50ID8/IHRyYW5zZm9ybUludGVncmF0aW9uQWNjb3VudCxcbiAgICBpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uOiBfb3B0aW9ucy5pbnRlZ3JhdGlvbkFwcGxpY2F0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24sXG4gICAgaW50ZXJhY3Rpb246IF9vcHRpb25zLmludGVyYWN0aW9uID8/IHRyYW5zZm9ybUludGVyYWN0aW9uLFxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IF9vcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gICAgaW50ZXJhY3Rpb25EYXRhT3B0aW9uOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFPcHRpb24gPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvblJlc291cmNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgaW52aXRlOiBfb3B0aW9ucy5pbnZpdGUgPz8gdHJhbnNmb3JtSW52aXRlLFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmludml0ZVN0YWdlSW5zdGFuY2UgPz8gdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgICBsb2JieTogX29wdGlvbnMubG9iYnkgPz8gdHJhbnNmb3JtTG9iYnksXG4gICAgbG9iYnlNZW1iZXI6IF9vcHRpb25zLmxvYmJ5TWVtYmVyID8/IHRyYW5zZm9ybUxvYmJ5TWVtYmVyLFxuICAgIGxvYmJ5TWVzc2FnZTogX29wdGlvbnMubG9iYnlNZXNzYWdlID8/IHRyYW5zZm9ybUxvYmJ5TWVzc2FnZSxcbiAgICBsb2JieUludml0ZTogX29wdGlvbnMubG9iYnlJbnZpdGUgPz8gdHJhbnNmb3JtTG9iYnlJbnZpdGUsXG4gICAgbWVkaWFHYWxsZXJ5SXRlbTogX29wdGlvbnMubWVkaWFHYWxsZXJ5SXRlbSA/PyB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtLFxuICAgIG1lbWJlcjogX29wdGlvbnMubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlcixcbiAgICBtZXNzYWdlOiBfb3B0aW9ucy5tZXNzYWdlID8/IHRyYW5zZm9ybU1lc3NhZ2UsXG4gICAgbWVzc2FnZUNhbGw6IF9vcHRpb25zLm1lc3NhZ2VDYWxsID8/IHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBfb3B0aW9ucy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgICBtZXNzYWdlUGluOiBfb3B0aW9ucy5tZXNzYWdlUGluID8/IHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5tZXNzYWdlU25hcHNob3QgPz8gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxuICAgIG5hbWVwbGF0ZTogX29wdGlvbnMubmFtZXBsYXRlID8/IHRyYW5zZm9ybU5hbWVwbGF0ZSxcbiAgICBvcHRpb25hbEF1ZGl0RW50cnlJbmZvOiBfb3B0aW9ucy5vcHRpb25hbEF1ZGl0RW50cnlJbmZvID8/IHRyYW5zZm9ybU9wdGlvbmFsQXVkaXRFbnRyeUluZm8sXG4gICAgcG9sbDogX29wdGlvbnMucG9sbCA/PyB0cmFuc2Zvcm1Qb2xsLFxuICAgIHBvbGxNZWRpYTogX29wdGlvbnMucG9sbE1lZGlhID8/IHRyYW5zZm9ybVBvbGxNZWRpYSxcbiAgICBwcmVzZW5jZTogX29wdGlvbnMucHJlc2VuY2UgPz8gdHJhbnNmb3JtUHJlc2VuY2UsXG4gICAgcm9sZTogX29wdGlvbnMucm9sZSA/PyB0cmFuc2Zvcm1Sb2xlLFxuICAgIHJvbGVDb2xvcnM6IF9vcHRpb25zLnJvbGVDb2xvcnMgPz8gdHJhbnNmb3JtUm9sZUNvbG9ycyxcbiAgICBzY2hlZHVsZWRFdmVudDogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnQgPz8gdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsXG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgIHNlc3Npb25TdGFydExpbWl0OiBfb3B0aW9ucy5zZXNzaW9uU3RhcnRMaW1pdCA/PyB0cmFuc2Zvcm1TZXNzaW9uU3RhcnRMaW1pdCxcbiAgICBzaGFyZWRDbGllbnRUaGVtZTogX29wdGlvbnMuc2hhcmVkQ2xpZW50VGhlbWUgPz8gdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUsXG4gICAgc2t1OiBfb3B0aW9ucy5za3UgPz8gdHJhbnNmb3JtU2t1LFxuICAgIHNvdW5kYm9hcmRTb3VuZDogX29wdGlvbnMuc291bmRib2FyZFNvdW5kID8/IHRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCxcbiAgICBzbm93Zmxha2U6IF9vcHRpb25zLnNub3dmbGFrZSA/PyBzbm93Zmxha2VUb0JpZ2ludCxcbiAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5zdGFnZUluc3RhbmNlID8/IHRyYW5zZm9ybVN0YWdlSW5zdGFuY2UsXG4gICAgc3RpY2tlcjogX29wdGlvbnMuc3RpY2tlciA/PyB0cmFuc2Zvcm1TdGlja2VyLFxuICAgIHN0aWNrZXJQYWNrOiBfb3B0aW9ucy5zdGlja2VyUGFjayA/PyB0cmFuc2Zvcm1TdGlja2VyUGFjayxcbiAgICBzdWJzY3JpcHRpb246IF9vcHRpb25zLnN1YnNjcmlwdGlvbiA/PyB0cmFuc2Zvcm1TdWJzY3JpcHRpb24sXG4gICAgdGVhbTogX29wdGlvbnMudGVhbSA/PyB0cmFuc2Zvcm1UZWFtLFxuICAgIHRlYW1NZW1iZXI6IF9vcHRpb25zLnRlYW1NZW1iZXIgPz8gdHJhbnNmb3JtVGVhbU1lbWJlcixcbiAgICB0ZW1wbGF0ZTogX29wdGlvbnMudGVtcGxhdGUgPz8gdHJhbnNmb3JtVGVtcGxhdGUsXG4gICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy50aHJlYWRNZW1iZXIgPz8gdHJhbnNmb3JtVGhyZWFkTWVtYmVyLFxuICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMudW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgdXNlcjogX29wdGlvbnMudXNlciA/PyB0cmFuc2Zvcm1Vc2VyLFxuICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLnVzZXJQcmltYXJ5R3VpbGQgPz8gdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCxcbiAgICB2b2ljZVJlZ2lvbjogX29wdGlvbnMudm9pY2VSZWdpb24gPz8gdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gICAgdm9pY2VTdGF0ZTogX29wdGlvbnMudm9pY2VTdGF0ZSA/PyB0cmFuc2Zvcm1Wb2ljZVN0YXRlLFxuICAgIHdlYmhvb2s6IF9vcHRpb25zLndlYmhvb2sgPz8gdHJhbnNmb3JtV2ViaG9vayxcbiAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy53ZWxjb21lU2NyZWVuID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gICAgd2lkZ2V0OiBfb3B0aW9ucy53aWRnZXQgPz8gdHJhbnNmb3JtV2lkZ2V0LFxuICAgIHdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy53aWRnZXRTZXR0aW5ncyA/PyB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbiAgfSBzYXRpc2ZpZXMgVHJhbnNmb3JtZXJzPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT4gYXMgdW5rbm93biBhcyBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+O1xufVxuXG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IGEgdHJhbnNmb3JtZXIgaW5jbHVkaW5nIGl0cyBwYXlsb2FkIGFuZCB0cmFuc2Zvcm1lZCB0eXBlcy5cbiAqXG4gKiBAdGVtcGxhdGUgVFBheWxvYWQgLSBUaGUgdHlwZSBvZiB0aGUgcGF5bG9hZCByZWNlaXZlZCBmcm9tIERpc2NvcmQuXG4gKiBAdGVtcGxhdGUgVFRyYW5zZm9ybWVkIC0gVGhlIHR5cGUgb2YgdGhlIHRyYW5zZm9ybWVkIG9iamVjdCByZXR1cm5lZCBieSB0aGUgdHJhbnNmb3JtZXIuXG4gKiBAdGVtcGxhdGUgVFBhcnRpYWwgLSBJbmRpY2F0ZXMgaWYgdGhlIHRyYW5zZm9ybWVyIHN1cHBvcnRzIHBhcnRpYWwgcGF5bG9hZHMuXG4gKiBAdGVtcGxhdGUgVEV4dHJhIC0gQWRkaXRpb25hbCBleHRyYSBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IGJlIG5lZWRlZCBmb3IgdHJhbnNmb3JtYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVySW5mb3JtYXRpb248VFBheWxvYWQsIFRUcmFuc2Zvcm1lZCwgVFBhcnRpYWwgZXh0ZW5kcyBib29sZWFuLCBURXh0cmEgPSB7fT4gPSB7XG4gIHBheWxvYWQ6IFRQYXlsb2FkO1xuICB0cmFuc2Zvcm1lZDogVFRyYW5zZm9ybWVkO1xuICBleHRyYTogVEV4dHJhO1xuICBwYXJ0aWFsOiBUUGFydGlhbDtcbn07XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHRyYW5zZm9ybXMgYSBwYXlsb2FkIGZyb20gRGlzY29yZCBpbnRvIGEgZGVzaXJlZCBmb3JtYXQuXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBUQmVoYXZpb3IgLSBUaGUgYmVoYXZpb3IgZm9yIGhhbmRsaW5nIGRlc2lyZWQgcHJvcGVydGllcy5cbiAqIEB0ZW1wbGF0ZSBUUGF5bG9hZCAtIFRoZSB0eXBlIG9mIHRoZSBwYXlsb2FkIHJlY2VpdmVkIGZyb20gRGlzY29yZC5cbiAqIEB0ZW1wbGF0ZSBUVHJhbnNmb3JtZWQgLSBUaGUgdHlwZSBvZiB0aGUgdHJhbnNmb3JtZWQgb2JqZWN0IHJldHVybmVkIGJ5IHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBURXh0cmEgLSBBZGRpdGlvbmFsIGV4dHJhIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgYmUgbmVlZGVkIGZvciB0cmFuc2Zvcm1hdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUUGFydGlhbCAtIEluZGljYXRlcyBpZiB0aGUgdHJhbnNmb3JtZXIgc3VwcG9ydHMgcGFydGlhbCBwYXlsb2Fkcy5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJGdW5jdGlvbjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIFRQYXlsb2FkLFxuICBUVHJhbnNmb3JtZWQsXG4gIFRFeHRyYSA9IHt9LFxuICBUUGFydGlhbCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZSxcbj4gPSBUUGFydGlhbCBleHRlbmRzIHRydWVcbiAgPyAvLyBXZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggZm9yIGZ1bmN0aW9ucyAoLi4uUGFyYW1zKTogUmV0dXJuVHlwZSBpbnN0ZWFkIG9mIHRoZSBhcnJvdyBzeW50YXggYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gaGF2ZSBvdmVybG9hZHMgaW4gdGhlIHR5cGVcbiAgICB7XG4gICAgICAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUUGF5bG9hZCwgZXh0cmE/OiBURXh0cmEgJiB7IHBhcnRpYWw/OiBmYWxzZSB9KTogU2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj47XG4gICAgICAoXG4gICAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgcGF5bG9hZDogUGFydGlhbDxUUGF5bG9hZD4sXG4gICAgICAgIGV4dHJhOiBURXh0cmEgJiB7IHBhcnRpYWw6IHRydWUgfSxcbiAgICAgICk6IFBhcnRpYWw8U2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4+O1xuICAgIH1cbiAgOiAvLyBFdmVuIGlmIHdlIGRvbid0IG5lZWQgdG8gb3ZlcmxvYWQsIHNpbmNlIHRoZSAyIHN5bnRheGVzIGhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50IHNlbWFudGljcywgd2UgdXNlIHRoZSBtZXRob2Qgc3ludGF4IGluIGhlcmUgYXMgd2VsbFxuICAgIHsgKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVFBheWxvYWQsIGV4dHJhPzogVEV4dHJhKTogU2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4gfTtcblxuLyoqXG4gKiBBIGNvbGxlY3Rpb24gb2YgdHJhbnNmb3JtZXIgZnVuY3Rpb25zIGZvciB2YXJpb3VzIERpc2NvcmQgZW50aXRpZXMuXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lcnMuXG4gKiBAdGVtcGxhdGUgVEJlaGF2aW9yIC0gVGhlIGJlaGF2aW9yIGZvciBoYW5kbGluZyBkZXNpcmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyRnVuY3Rpb25zPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNdOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICAgIFRQcm9wcyxcbiAgICBUQmVoYXZpb3IsXG4gICAgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbS11bJ3BheWxvYWQnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsndHJhbnNmb3JtZWQnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsnZXh0cmEnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsncGFydGlhbCddXG4gID47XG59O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCBjdXN0b21pemVzIHRoZSB0cmFuc2Zvcm1lZCBvYmplY3QgYWZ0ZXIgdGhlIGluaXRpYWwgdHJhbnNmb3JtYXRpb24uXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBUQmVoYXZpb3IgLSBUaGUgYmVoYXZpb3IgZm9yIGhhbmRsaW5nIGRlc2lyZWQgcHJvcGVydGllcy5cbiAqIEB0ZW1wbGF0ZSBUUGF5bG9hZCAtIFRoZSB0eXBlIG9mIHRoZSBwYXlsb2FkIHJlY2VpdmVkIGZyb20gRGlzY29yZC5cbiAqIEB0ZW1wbGF0ZSBUVHJhbnNmb3JtZWQgLSBUaGUgdHlwZSBvZiB0aGUgdHJhbnNmb3JtZWQgb2JqZWN0IHJldHVybmVkIGJ5IHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBURXh0cmEgLSBBZGRpdGlvbmFsIGV4dHJhIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgYmUgbmVlZGVkIGZvciBjdXN0b21pemF0aW9uLlxuICogQHRlbXBsYXRlIFRQYXJ0aWFsIC0gSW5kaWNhdGVzIGlmIHRoZSB0cmFuc2Zvcm1lciBzdXBwb3J0cyBwYXJ0aWFsIHBheWxvYWRzLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckN1c3RvbWl6ZXJGdW5jdGlvbjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIFRQYXlsb2FkLFxuICBUVHJhbnNmb3JtZWQsXG4gIFRFeHRyYSA9IHt9LFxuICBUUGFydGlhbCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZSxcbj4gPSBUUGFydGlhbCBleHRlbmRzIHRydWVcbiAgPyAvLyBXZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggZm9yIGZ1bmN0aW9ucyAoLi4uUGFyYW1zKTogUmV0dXJuVHlwZSBpbnN0ZWFkIG9mIHRoZSBhcnJvdyBzeW50YXggYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gaGF2ZSBvdmVybG9hZHMgaW4gdGhlIHR5cGVcbiAgICB7XG4gICAgICAoXG4gICAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgcGF5bG9hZDogVFBheWxvYWQsXG4gICAgICAgIHRyYW5zZm9ybWVkOiBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgZXh0cmE6IFRFeHRyYSAmIHsgcGFydGlhbDogZmFsc2UgfSxcbiAgICAgICk6IGFueTtcbiAgICAgIChcbiAgICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICBwYXlsb2FkOiBQYXJ0aWFsPFRQYXlsb2FkPixcbiAgICAgICAgdHJhbnNmb3JtZWQ6IFBhcnRpYWw8U2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4+LFxuICAgICAgICBleHRyYTogVEV4dHJhICYgeyBwYXJ0aWFsOiB0cnVlIH0sXG4gICAgICApOiBhbnk7XG4gICAgfVxuICA6IC8vIEV2ZW4gaWYgd2UgZG9uJ3QgbmVlZCB0byBvdmVybG9hZCwgc2luY2UgdGhlIDIgc3ludGF4ZXMgaGF2ZSBzbGlnaHRseSBkaWZmZXJlbnQgc2VtYW50aWNzLCB3ZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggaW4gaGVyZSBhcyB3ZWxsXG4gICAge1xuICAgICAgKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVFBheWxvYWQsIHRyYW5zZm9ybWVkOiBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPiwgZXh0cmE/OiBURXh0cmEpOiBhbnk7XG4gICAgfTtcblxuLyoqXG4gKiBBIGNvbGxlY3Rpb24gb2YgdHJhbnNmb3JtZXIgY3VzdG9taXplciBmdW5jdGlvbnMgZm9yIHZhcmlvdXMgRGlzY29yZCBlbnRpdGllcy5cbiAqXG4gKiBAdGVtcGxhdGUgVFByb3BzIC0gVGhlIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhlIHRyYW5zZm9ybWVycy5cbiAqIEB0ZW1wbGF0ZSBUQmVoYXZpb3IgLSBUaGUgYmVoYXZpb3IgZm9yIGhhbmRsaW5nIGRlc2lyZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJDdXN0b21pemVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSB7XG4gIFtLIGluIGtleW9mIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zXTogVHJhbnNmb3JtZXJDdXN0b21pemVyRnVuY3Rpb248XG4gICAgVFByb3BzLFxuICAgIFRCZWhhdmlvcixcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsncGF5bG9hZCddLFxuICAgIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW0tdWyd0cmFuc2Zvcm1lZCddLFxuICAgIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbS11bJ2V4dHJhJ10+LFxuICAgIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW0tdWydwYXJ0aWFsJ11cbiAgPjtcbn07XG5cbi8qKlxuICogQ29udmVydGluZyBCaWdTdHJpbmcgcHJvcGVydGllcyBpbiBUIHRvIGJpZ2ludCwgbGVhdmluZyBvdGhlciBwcm9wZXJ0aWVzIHVuY2hhbmdlZC5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSBvYmplY3QgdHlwZSB0byB0cmFuc2Zvcm0uXG4gKi9cbmV4cG9ydCB0eXBlIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBCaWdTdHJpbmcgZXh0ZW5kcyBUW0tdID8gYmlnaW50IDogVFtLXTtcbn07XG5cbi8qKlxuICogQ2FsbHMgYSB0cmFuc2Zvcm1lciBjdXN0b21pemVyIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHRlbXBsYXRlIFRJbmZvIC0gVGhlIGtleSBvZiB0aGUgdHJhbnNmb3JtZXIgaW5mb3JtYXRpb24gdG8gdXNlLlxuICogQHBhcmFtIGN1c3RvbWl6ZXIgLSBUaGUga2V5IG9mIHRoZSB0cmFuc2Zvcm1lciBpbmZvcm1hdGlvbiB0byB1c2UuXG4gKiBAcGFyYW0gYm90IC0gVGhlIGJvdCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXlsb2FkIC0gVGhlIG9yaWdpbmFsIHBheWxvYWQgZnJvbSBEaXNjb3JkLlxuICogQHBhcmFtIHRyYW5zZm9ybWVkIC0gVGhlIHRyYW5zZm9ybWVkIG9iamVjdC5cbiAqIEBwYXJhbSBleHRyYSAtIEFkZGl0aW9uYWwgZXh0cmEgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXN0b21pemVyLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgY3VzdG9taXplciBmdW5jdGlvbi5cbiAqXG4gKiBAcmVtYXJrc1xuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJlY2F1c2UgaXQgaXMgaGFyZCB0byBkZWFsIHdpdGggdGhlIGN1c3RvbWl6ZXIgb3ZlcmxvYWRzIGRpcmVjdGx5IGluIHRoZSB0cmFuc2Zvcm1lcnMuXG4gKlxuICogU2luY2UgdGhlIG92ZXJsb2FkcyBhcmUgcHJlc2VudCBvbmx5IHdpdGggcGFydGlhbCB0cmFuc2Zvcm1lcnMsIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIHBhcnRpYWwgZXh0cmEsIGZvciBub24tcGFydGlhbCB0cmFuc2Zvcm1lcnMgdGhlIG5vcm1hbCBmdW5jdGlvbiBjYWxsIGNhbiBiZSB1c2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxsQ3VzdG9taXplcjxUSW5mbyBleHRlbmRzIGtleW9mIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zPihcbiAgY3VzdG9taXplcjogVEluZm8sXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tUSW5mb11bJ3BheWxvYWQnXSB8IFBhcnRpYWw8VHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbVEluZm9dWydwYXlsb2FkJ10+LFxuICB0cmFuc2Zvcm1lZDpcbiAgICB8IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsndHJhbnNmb3JtZWQnXSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG4gICAgfCBQYXJ0aWFsPFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsndHJhbnNmb3JtZWQnXSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+PixcbiAgZXh0cmE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsnZXh0cmEnXSAmIHsgcGFydGlhbDogYm9vbGVhbiB9LFxuKTogYW55IHtcbiAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbWl6ZXIgaXMgbm90IGdlbmVyYWxpemFibGUsIHNvIHdlIHVzZSB1bmtub3duLCBjYWxsQ3VzdG9taXplciBoYXMgdGhlIGNvcnJlY3QgdHlwZSBhbmQgd2UgY2FzdCBpdCBoZXJlXG4gIGNvbnN0IGN1c3RvbWl6ZXJGbiA9IGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnNbY3VzdG9taXplcl0gYXMgKGJvdDogQm90LCBwYXlsb2FkOiB1bmtub3duLCB0cmFuc2Zvcm1lZDogdW5rbm93biwgZXh0cmE6IHVua25vd24pID0+IGFueTtcblxuICByZXR1cm4gY3VzdG9taXplckZuKGJvdCwgcGF5bG9hZCwgdHJhbnNmb3JtZWQsIGV4dHJhKTtcbn1cbiJdLCJuYW1lcyI6WyJiaWdpbnRUb1Nub3dmbGFrZSIsInNub3dmbGFrZVRvQmlnaW50IiwiY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QiLCJ0cmFuc2Zvcm1BY3Rpdml0eSIsInRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzIiwidHJhbnNmb3JtQWN0aXZpdHlFbW9qaSIsInRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UiLCJ0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyIsInRyYW5zZm9ybUd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJ0cmFuc2Zvcm1BdHRhY2htZW50IiwidHJhbnNmb3JtQXVkaXRMb2dFbnRyeSIsInRyYW5zZm9ybU9wdGlvbmFsQXVkaXRFbnRyeUluZm8iLCJ0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbiIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSIsInRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhIiwidHJhbnNmb3JtQ2hhbm5lbCIsInRyYW5zZm9ybUZvcnVtVGFnIiwidHJhbnNmb3JtQ29tcG9uZW50IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtIiwidHJhbnNmb3JtRW1iZWQiLCJ0cmFuc2Zvcm1FbWJlZEF1dGhvciIsInRyYW5zZm9ybUVtYmVkRm9vdGVyIiwidHJhbnNmb3JtRW1iZWRJbWFnZSIsInRyYW5zZm9ybUVtYmVkVmlkZW8iLCJ0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSIsInRyYW5zZm9ybUVtb2ppIiwidHJhbnNmb3JtRW50aXRsZW1lbnQiLCJ0cmFuc2Zvcm1HYXRld2F5Qm90IiwidHJhbnNmb3JtU2Vzc2lvblN0YXJ0TGltaXQiLCJ0cmFuc2Zvcm1HdWlsZCIsInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsInRyYW5zZm9ybUludGVncmF0aW9uQWNjb3VudCIsInRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJ0cmFuc2Zvcm1JbnZpdGUiLCJ0cmFuc2Zvcm1Mb2JieSIsInRyYW5zZm9ybUxvYmJ5SW52aXRlIiwidHJhbnNmb3JtTG9iYnlNZW1iZXIiLCJ0cmFuc2Zvcm1Mb2JieU1lc3NhZ2UiLCJ0cmFuc2Zvcm1NZW1iZXIiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1TaGFyZWRDbGllbnRUaGVtZSIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiIsInRyYW5zZm9ybVBvbGwiLCJ0cmFuc2Zvcm1Qb2xsTWVkaWEiLCJ0cmFuc2Zvcm1QcmVzZW5jZSIsInRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMiLCJ0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5IiwidHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zIiwidHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCIsInRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciIsInRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyIiwidHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0iLCJ0cmFuc2Zvcm1Db2xsZWN0aWJsZXNUb0Rpc2NvcmRDb2xsZWN0aWJsZXMiLCJ0cmFuc2Zvcm1OYW1lcGxhdGVUb0Rpc2NvcmROYW1lcGxhdGUiLCJ0cmFuc2Zvcm1Sb2xlIiwidHJhbnNmb3JtUm9sZUNvbG9ycyIsInRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50IiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInRyYW5zZm9ybVNrdSIsInRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCIsInRyYW5zZm9ybVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlIiwidHJhbnNmb3JtU3RpY2tlciIsInRyYW5zZm9ybVN0aWNrZXJQYWNrIiwidHJhbnNmb3JtU3Vic2NyaXB0aW9uIiwidHJhbnNmb3JtVGVhbSIsInRyYW5zZm9ybVRlYW1NZW1iZXIiLCJ0cmFuc2Zvcm1UZW1wbGF0ZSIsInRyYW5zZm9ybVRocmVhZE1lbWJlciIsInRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIiwidHJhbnNmb3JtQ29sbGVjdGlibGVzIiwidHJhbnNmb3JtTmFtZXBsYXRlIiwidHJhbnNmb3JtVXNlciIsInRyYW5zZm9ybVVzZXJQcmltYXJ5R3VpbGQiLCJ0cmFuc2Zvcm1Wb2ljZVJlZ2lvbiIsInRyYW5zZm9ybVZvaWNlU3RhdGUiLCJ0cmFuc2Zvcm1XZWJob29rIiwidHJhbnNmb3JtV2VsY29tZVNjcmVlbiIsInRyYW5zZm9ybVdpZGdldCIsInRyYW5zZm9ybVdpZGdldFNldHRpbmdzIiwiZGVmYXVsdEN1c3RvbWl6ZXIiLCJfYm90IiwiX3BheWxvYWQiLCJzdHJ1Y3R1cmUiLCJjcmVhdGVUcmFuc2Zvcm1lcnMiLCJvcHRpb25zIiwiX29wdGlvbnMiLCJjdXN0b21pemVycyIsImFjdGl2aXR5IiwiYWN0aXZpdHlBc3NldHMiLCJhY3Rpdml0eUVtb2ppIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5TG9jYXRpb24iLCJhcHBsaWNhdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiYXR0YWNobWVudCIsImF1ZGl0TG9nRW50cnkiLCJhdXRvTW9kZXJhdGlvbkFjdGlvbiIsImF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwiYXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSIsImF1dG9Nb2RlcmF0aW9uUnVsZSIsImF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiY2hhbm5lbCIsImNvbGxlY3RpYmxlcyIsImNvbXBvbmVudCIsImRlZmF1bHRSZWFjdGlvbkVtb2ppIiwiZW1iZWQiLCJlbWJlZEF1dGhvciIsImVtYmVkRm9vdGVyIiwiZW1iZWRJbWFnZSIsImVtYmVkVmlkZW8iLCJlbW9qaSIsImVudGl0bGVtZW50IiwiZm9ydW1UYWciLCJnYXRld2F5Qm90IiwiZ3VpbGQiLCJndWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiaW5jaWRlbnRzRGF0YSIsImludGVncmF0aW9uIiwiaW50ZWdyYXRpb25BY2NvdW50IiwiaW50ZWdyYXRpb25BcHBsaWNhdGlvbiIsImludGVyYWN0aW9uIiwiaW50ZXJhY3Rpb25DYWxsYmFjayIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uRGF0YU9wdGlvbiIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsImludml0ZSIsImludml0ZVN0YWdlSW5zdGFuY2UiLCJsb2JieSIsImxvYmJ5TWVtYmVyIiwibG9iYnlNZXNzYWdlIiwibG9iYnlJbnZpdGUiLCJtZWRpYUdhbGxlcnlJdGVtIiwibWVtYmVyIiwibWVzc2FnZSIsIm1lc3NhZ2VDYWxsIiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXNzYWdlUGluIiwibWVzc2FnZVNuYXBzaG90IiwibmFtZXBsYXRlIiwib3B0aW9uYWxBdWRpdEVudHJ5SW5mbyIsInBvbGwiLCJwb2xsTWVkaWEiLCJwcmVzZW5jZSIsInJvbGUiLCJyb2xlQ29sb3JzIiwic2NoZWR1bGVkRXZlbnQiLCJzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwic2Vzc2lvblN0YXJ0TGltaXQiLCJzaGFyZWRDbGllbnRUaGVtZSIsInNrdSIsInNvdW5kYm9hcmRTb3VuZCIsInN0YWdlSW5zdGFuY2UiLCJzdGlja2VyIiwic3RpY2tlclBhY2siLCJzdWJzY3JpcHRpb24iLCJ0ZWFtIiwidGVhbU1lbWJlciIsInRlbXBsYXRlIiwidGhyZWFkTWVtYmVyIiwidGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsInVzZXIiLCJ1c2VyUHJpbWFyeUd1aWxkIiwidm9pY2VSZWdpb24iLCJ2b2ljZVN0YXRlIiwid2ViaG9vayIsIndlbGNvbWVTY3JlZW4iLCJ3aWRnZXQiLCJ3aWRnZXRTZXR0aW5ncyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicmV2ZXJzZSIsImFsbG93ZWRNZW50aW9ucyIsInNub3dmbGFrZSIsImNhbGxDdXN0b21pemVyIiwiY3VzdG9taXplciIsImJvdCIsInBheWxvYWQiLCJ0cmFuc2Zvcm1lZCIsImV4dHJhIiwiY3VzdG9taXplckZuIiwidHJhbnNmb3JtZXJzIl0sIm1hcHBpbmdzIjoiQUFpR0EsU0FBU0EsaUJBQWlCLEVBQUVDLGlCQUFpQixRQUFRLG9CQUFvQjtBQUV6RSxTQUNFQyw2QkFBNkIsUUFJeEIseUJBQXlCO0FBQ2hDLFNBQ0VDLGlCQUFpQixFQUNqQkMsdUJBQXVCLEVBQ3ZCQyxzQkFBc0IsRUFDdEJDLHlCQUF5QixFQUN6QkMseUJBQXlCLFFBQ3BCLDZCQUE2QjtBQUNwQyxTQUFTQyxvQkFBb0IsUUFBUSxnQ0FBZ0M7QUFDckUsU0FBU0MsMkJBQTJCLFFBQVEsdUNBQXVDO0FBQ25GLFNBQVNDLGlDQUFpQyxRQUFRLDZDQUE2QztBQUMvRixTQUFTQyx1Q0FBdUMsUUFBUSxtREFBbUQ7QUFDM0csU0FBU0Msc0NBQXNDLEVBQUVDLDJDQUEyQyxRQUFRLGlEQUFpRDtBQUNySixTQUFTQyxtQkFBbUIsUUFBUSwrQkFBK0I7QUFDbkUsU0FBU0Msc0JBQXNCLEVBQUVDLCtCQUErQixRQUFRLGtDQUFrQztBQUMxRyxTQUNFQyw2QkFBNkIsRUFDN0JDLHNDQUFzQyxFQUN0Q0MscUNBQXFDLFFBQ2hDLDJDQUEyQztBQUNsRCxTQUFTQywyQkFBMkIsRUFBRUMsMENBQTBDLFFBQVEsZ0NBQWdDO0FBQ3hILFNBQVNDLDZCQUE2QixRQUFRLHlDQUF5QztBQUN2RixTQUFTQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLFFBQVEsNEJBQTRCO0FBQ2hGLFNBQVNDLGtCQUFrQixFQUFFQyx5QkFBeUIsRUFBRUMsMEJBQTBCLFFBQVEsOEJBQThCO0FBQ3hILFNBQVNDLGNBQWMsRUFBRUMsb0JBQW9CLEVBQUVDLG9CQUFvQixFQUFFQyxtQkFBbUIsRUFBRUMsbUJBQW1CLFFBQVEsMEJBQTBCO0FBQy9JLFNBQVNDLDZCQUE2QixFQUFFQyxjQUFjLFFBQVEsMEJBQTBCO0FBQ3hGLFNBQVNDLG9CQUFvQixRQUFRLGdDQUFnQztBQUNyRSxTQUFTQyxtQkFBbUIsRUFBRUMsMEJBQTBCLFFBQVEsK0JBQStCO0FBQy9GLFNBQVNDLGNBQWMsUUFBUSwwQkFBMEI7QUFDekQsU0FBU0Msc0JBQXNCLFFBQVEsa0NBQWtDO0FBQ3pFLFNBQVNDLG9CQUFvQixFQUFFQywyQkFBMkIsRUFBRUMsK0JBQStCLFFBQVEsZ0NBQWdDO0FBQ25JLFNBQ0VDLG9CQUFvQixFQUNwQkMsNEJBQTRCLEVBQzVCQyxvQ0FBb0MsRUFDcENDLDhCQUE4QixFQUM5QkMsZ0NBQWdDLEVBQ2hDQyw0QkFBNEIsUUFDdkIsZ0NBQWdDO0FBQ3ZDLFNBQVNDLGVBQWUsUUFBUSwyQkFBMkI7QUFDM0QsU0FBU0MsY0FBYyxFQUFFQyxvQkFBb0IsRUFBRUMsb0JBQW9CLEVBQUVDLHFCQUFxQixRQUFRLDBCQUEwQjtBQUM1SCxTQUFTQyxlQUFlLFFBQVEsMkJBQTJCO0FBQzNELFNBQ0VDLGdCQUFnQixFQUNoQkMsb0JBQW9CLEVBQ3BCQyxtQ0FBbUMsRUFDbkNDLG1CQUFtQixFQUNuQkMsd0JBQXdCLEVBQ3hCQywwQkFBMEIsUUFDckIsNEJBQTRCO0FBQ25DLFNBQVNDLHdCQUF3QixFQUFFQyw4QkFBOEIsRUFBRUMsb0NBQW9DLFFBQVEsK0JBQStCO0FBQzlJLFNBQVNDLGFBQWEsRUFBRUMsa0JBQWtCLFFBQVEseUJBQXlCO0FBQzNFLFNBQVNDLGlCQUFpQixRQUFRLDZCQUE2QjtBQUMvRCxTQUFTQyw4Q0FBOEMsRUFBRUMsa0NBQWtDLFFBQVEscUNBQXFDO0FBQ3hJLFNBQVNDLGdEQUFnRCxRQUFRLDRDQUE0QztBQUM3RyxTQUFTQyx3Q0FBd0MsUUFBUSx3Q0FBd0M7QUFDakcsU0FBU0Msc0RBQXNELFFBQVEsK0NBQStDO0FBQ3RILFNBQVNDLGtFQUFrRSxRQUFRLHFEQUFxRDtBQUN4SSxTQUFTQyw4RUFBOEUsUUFBUSwyREFBMkQ7QUFDMUosU0FBU0Msc0NBQXNDLFFBQVEsdUNBQXVDO0FBQzlGLFNBQ0VDLG9DQUFvQyxFQUNwQ0Msa0RBQWtELEVBQ2xEQyxvREFBb0QsUUFDL0Msc0NBQXNDO0FBQzdDLFNBQVNDLDRCQUE0QixRQUFRLGtDQUFrQztBQUMvRSxTQUFTQyw4QkFBOEIsRUFBRUMsMEJBQTBCLFFBQVEsbUNBQW1DO0FBQzlHLFNBQVNDLDBCQUEwQixRQUFRLGlDQUFpQztBQUM1RSxTQUFTQywwQ0FBMEMsRUFBRUMsb0NBQW9DLFFBQVEsaUNBQWlDO0FBQ2xJLFNBQVNDLGFBQWEsRUFBRUMsbUJBQW1CLFFBQVEseUJBQXlCO0FBQzVFLFNBQVNDLHVCQUF1QixFQUFFQyxxQ0FBcUMsUUFBUSxtQ0FBbUM7QUFDbEgsU0FBU0MsWUFBWSxRQUFRLHdCQUF3QjtBQUNyRCxTQUFTQyx3QkFBd0IsUUFBUSxvQ0FBb0M7QUFDN0UsU0FBU0Msc0JBQXNCLFFBQVEsa0NBQWtDO0FBQ3pFLFNBQVNDLDRCQUE0QixRQUFRLHdDQUF3QztBQUNyRixTQUFTQyxnQkFBZ0IsRUFBRUMsb0JBQW9CLFFBQVEsNEJBQTRCO0FBQ25GLFNBQVNDLHFCQUFxQixRQUFRLGlDQUFpQztBQUN2RSxTQUFTQyxhQUFhLEVBQUVDLG1CQUFtQixRQUFRLHlCQUF5QjtBQUM1RSxTQUFTQyxpQkFBaUIsUUFBUSw2QkFBNkI7QUFDL0QsU0FBNENDLHFCQUFxQixFQUFFQyxnQ0FBZ0MsUUFBUSxpQ0FBaUM7QUE2RjVJLFNBQVNDLHFCQUFxQixFQUFFQyxrQkFBa0IsRUFBRUMsYUFBYSxFQUFFQyx5QkFBeUIsUUFBUSx5QkFBeUI7QUFDN0gsU0FBU0Msb0JBQW9CLFFBQVEsZ0NBQWdDO0FBQ3JFLFNBQVNDLG1CQUFtQixRQUFRLCtCQUErQjtBQUNuRSxTQUFTQyxnQkFBZ0IsUUFBUSw0QkFBNEI7QUFDN0QsU0FBU0Msc0JBQXNCLFFBQVEsa0NBQWtDO0FBQ3pFLFNBQVNDLGVBQWUsUUFBUSwyQkFBMkI7QUFDM0QsU0FBU0MsdUJBQXVCLFFBQVEsbUNBQW1DO0FBaUkzRSxNQUFNQyxvQkFBb0IsQ0FBQ0MsTUFBZUMsVUFBbUJDLFlBQXVCQTtBQUVwRixPQUFPLFNBQVNDLG1CQUNkQyxPQUEwRDtJQUUxRCxNQUFNQyxXQUFXRDtJQUVqQixPQUFPO1FBQ0xFLGFBQWE7WUFDWEMsVUFBVUYsU0FBU0MsV0FBVyxFQUFFQyxZQUFZUjtZQUM1Q1MsZ0JBQWdCSCxTQUFTQyxXQUFXLEVBQUVFLGtCQUFrQlQ7WUFDeERVLGVBQWVKLFNBQVNDLFdBQVcsRUFBRUcsaUJBQWlCVjtZQUN0RFcsa0JBQWtCTCxTQUFTQyxXQUFXLEVBQUVJLG9CQUFvQlg7WUFDNURZLGtCQUFrQk4sU0FBU0MsV0FBVyxFQUFFSyxvQkFBb0JaO1lBQzVEYSxhQUFhUCxTQUFTQyxXQUFXLEVBQUVNLGVBQWViO1lBQ2xEYyxvQkFBb0JSLFNBQVNDLFdBQVcsRUFBRU8sc0JBQXNCZDtZQUNoRWUsMEJBQTBCVCxTQUFTQyxXQUFXLEVBQUVRLDRCQUE0QmY7WUFDNUVnQixnQ0FBZ0NWLFNBQVNDLFdBQVcsRUFBRVMsa0NBQWtDaEI7WUFDeEZpQiwrQkFBK0JYLFNBQVNDLFdBQVcsRUFBRVUsaUNBQWlDakI7WUFDdEZrQixZQUFZWixTQUFTQyxXQUFXLEVBQUVXLGNBQWNsQjtZQUNoRG1CLGVBQWViLFNBQVNDLFdBQVcsRUFBRVksaUJBQWlCbkI7WUFDdERvQixzQkFBc0JkLFNBQVNDLFdBQVcsRUFBRWEsd0JBQXdCcEI7WUFDcEVxQiwrQkFBK0JmLFNBQVNDLFdBQVcsRUFBRWMsaUNBQWlDckI7WUFDdEZzQiw4QkFBOEJoQixTQUFTQyxXQUFXLEVBQUVlLGdDQUFnQ3RCO1lBQ3BGdUIsb0JBQW9CakIsU0FBU0MsV0FBVyxFQUFFZ0Isc0JBQXNCdkI7WUFDaEV3QixtQ0FBbUNsQixTQUFTQyxXQUFXLEVBQUVpQixxQ0FBcUN4QjtZQUM5RnlCLHNCQUFzQm5CLFNBQVNDLFdBQVcsRUFBRWtCLHdCQUF3QnpCO1lBQ3BFMEIsU0FBU3BCLFNBQVNDLFdBQVcsRUFBRW1CLFdBQVcxQjtZQUMxQzJCLGNBQWNyQixTQUFTQyxXQUFXLEVBQUVvQixnQkFBZ0IzQjtZQUNwRDRCLFdBQVd0QixTQUFTQyxXQUFXLEVBQUVxQixhQUFhNUI7WUFDOUM2QixzQkFBc0J2QixTQUFTQyxXQUFXLEVBQUVzQix3QkFBd0I3QjtZQUNwRThCLE9BQU94QixTQUFTQyxXQUFXLEVBQUV1QixTQUFTOUI7WUFDdEMrQixhQUFhekIsU0FBU0MsV0FBVyxFQUFFd0IsZUFBZS9CO1lBQ2xEZ0MsYUFBYTFCLFNBQVNDLFdBQVcsRUFBRXlCLGVBQWVoQztZQUNsRGlDLFlBQVkzQixTQUFTQyxXQUFXLEVBQUUwQixjQUFjakM7WUFDaERrQyxZQUFZNUIsU0FBU0MsV0FBVyxFQUFFMkIsY0FBY2xDO1lBQ2hEbUMsT0FBTzdCLFNBQVNDLFdBQVcsRUFBRTRCLFNBQVNuQztZQUN0Q29DLGFBQWE5QixTQUFTQyxXQUFXLEVBQUU2QixlQUFlcEM7WUFDbERxQyxVQUFVL0IsU0FBU0MsV0FBVyxFQUFFOEIsWUFBWXJDO1lBQzVDc0MsWUFBWWhDLFNBQVNDLFdBQVcsRUFBRStCLGNBQWN0QztZQUNoRHVDLE9BQU9qQyxTQUFTQyxXQUFXLEVBQUVnQyxTQUFTdkM7WUFDdEN3QyxvQ0FBb0NsQyxTQUFTQyxXQUFXLEVBQUVpQyxzQ0FBc0N4QztZQUNoR3lDLGlCQUFpQm5DLFNBQVNDLFdBQVcsRUFBRWtDLG1CQUFtQnpDO1lBQzFEMEMsdUJBQXVCcEMsU0FBU0MsV0FBVyxFQUFFbUMseUJBQXlCMUM7WUFDdEUyQyw2QkFBNkJyQyxTQUFTQyxXQUFXLEVBQUVvQywrQkFBK0IzQztZQUNsRjRDLGVBQWV0QyxTQUFTQyxXQUFXLEVBQUVxQyxpQkFBaUI1QztZQUN0RDZDLGFBQWF2QyxTQUFTQyxXQUFXLEVBQUVzQyxlQUFlN0M7WUFDbEQ4QyxvQkFBb0J4QyxTQUFTQyxXQUFXLEVBQUV1QyxzQkFBc0I5QztZQUNoRStDLHdCQUF3QnpDLFNBQVNDLFdBQVcsRUFBRXdDLDBCQUEwQi9DO1lBQ3hFZ0QsYUFBYTFDLFNBQVNDLFdBQVcsRUFBRXlDLGVBQWVoRDtZQUNsRGlELHFCQUFxQjNDLFNBQVNDLFdBQVcsRUFBRTBDLHVCQUF1QmpEO1lBQ2xFa0QsNkJBQTZCNUMsU0FBU0MsV0FBVyxFQUFFMkMsK0JBQStCbEQ7WUFDbEZtRCx1QkFBdUI3QyxTQUFTQyxXQUFXLEVBQUU0Qyx5QkFBeUJuRDtZQUN0RW9ELHlCQUF5QjlDLFNBQVNDLFdBQVcsRUFBRTZDLDJCQUEyQnBEO1lBQzFFcUQscUJBQXFCL0MsU0FBU0MsV0FBVyxFQUFFOEMsdUJBQXVCckQ7WUFDbEVzRCxRQUFRaEQsU0FBU0MsV0FBVyxFQUFFK0MsVUFBVXREO1lBQ3hDdUQscUJBQXFCakQsU0FBU0MsV0FBVyxFQUFFZ0QsdUJBQXVCdkQ7WUFDbEV3RCxPQUFPbEQsU0FBU0MsV0FBVyxFQUFFaUQsU0FBU3hEO1lBQ3RDeUQsYUFBYW5ELFNBQVNDLFdBQVcsRUFBRWtELGVBQWV6RDtZQUNsRDBELGNBQWNwRCxTQUFTQyxXQUFXLEVBQUVtRCxnQkFBZ0IxRDtZQUNwRDJELGFBQWFyRCxTQUFTQyxXQUFXLEVBQUVvRCxlQUFlM0Q7WUFDbEQ0RCxrQkFBa0J0RCxTQUFTQyxXQUFXLEVBQUVxRCxvQkFBb0I1RDtZQUM1RDZELFFBQVF2RCxTQUFTQyxXQUFXLEVBQUVzRCxVQUFVN0Q7WUFDeEM4RCxTQUFTeEQsU0FBU0MsV0FBVyxFQUFFdUQsV0FBVzlEO1lBQzFDK0QsYUFBYXpELFNBQVNDLFdBQVcsRUFBRXdELGVBQWUvRDtZQUNsRGdFLDRCQUE0QjFELFNBQVNDLFdBQVcsRUFBRXlELDhCQUE4QmhFO1lBQ2hGaUUsWUFBWTNELFNBQVNDLFdBQVcsRUFBRTBELGNBQWNqRTtZQUNoRGtFLGlCQUFpQjVELFNBQVNDLFdBQVcsRUFBRTJELG1CQUFtQmxFO1lBQzFEbUUsV0FBVzdELFNBQVNDLFdBQVcsRUFBRTRELGFBQWFuRTtZQUM5Q29FLHdCQUF3QjlELFNBQVNDLFdBQVcsRUFBRTZELDBCQUEwQnBFO1lBQ3hFcUUsTUFBTS9ELFNBQVNDLFdBQVcsRUFBRThELFFBQVFyRTtZQUNwQ3NFLFdBQVdoRSxTQUFTQyxXQUFXLEVBQUUrRCxhQUFhdEU7WUFDOUN1RSxVQUFVakUsU0FBU0MsV0FBVyxFQUFFZ0UsWUFBWXZFO1lBQzVDd0UsTUFBTWxFLFNBQVNDLFdBQVcsRUFBRWlFLFFBQVF4RTtZQUNwQ3lFLFlBQVluRSxTQUFTQyxXQUFXLEVBQUVrRSxjQUFjekU7WUFDaEQwRSxnQkFBZ0JwRSxTQUFTQyxXQUFXLEVBQUVtRSxrQkFBa0IxRTtZQUN4RDJFLDhCQUE4QnJFLFNBQVNDLFdBQVcsRUFBRW9FLGdDQUFnQzNFO1lBQ3BGNEUsbUJBQW1CdEUsU0FBU0MsV0FBVyxFQUFFcUUscUJBQXFCNUU7WUFDOUQ2RSxtQkFBbUJ2RSxTQUFTQyxXQUFXLEVBQUVzRSxxQkFBcUI3RTtZQUM5RDhFLEtBQUt4RSxTQUFTQyxXQUFXLEVBQUV1RSxPQUFPOUU7WUFDbEMrRSxpQkFBaUJ6RSxTQUFTQyxXQUFXLEVBQUV3RSxtQkFBbUIvRTtZQUMxRGdGLGVBQWUxRSxTQUFTQyxXQUFXLEVBQUV5RSxpQkFBaUJoRjtZQUN0RGlGLFNBQVMzRSxTQUFTQyxXQUFXLEVBQUUwRSxXQUFXakY7WUFDMUNrRixhQUFhNUUsU0FBU0MsV0FBVyxFQUFFMkUsZUFBZWxGO1lBQ2xEbUYsY0FBYzdFLFNBQVNDLFdBQVcsRUFBRTRFLGdCQUFnQm5GO1lBQ3BEb0YsTUFBTTlFLFNBQVNDLFdBQVcsRUFBRTZFLFFBQVFwRjtZQUNwQ3FGLFlBQVkvRSxTQUFTQyxXQUFXLEVBQUU4RSxjQUFjckY7WUFDaERzRixVQUFVaEYsU0FBU0MsV0FBVyxFQUFFK0UsWUFBWXRGO1lBQzVDdUYsY0FBY2pGLFNBQVNDLFdBQVcsRUFBRWdGLGdCQUFnQnZGO1lBQ3BEd0YseUJBQXlCbEYsU0FBU0MsV0FBVyxFQUFFaUYsMkJBQTJCeEY7WUFDMUV5RixtQkFBbUJuRixTQUFTQyxXQUFXLEVBQUVrRixxQkFBcUJ6RjtZQUM5RDBGLE1BQU1wRixTQUFTQyxXQUFXLEVBQUVtRixRQUFRMUY7WUFDcEMyRixrQkFBa0JyRixTQUFTQyxXQUFXLEVBQUVvRixvQkFBb0IzRjtZQUM1RDRGLGFBQWF0RixTQUFTQyxXQUFXLEVBQUVxRixlQUFlNUY7WUFDbEQ2RixZQUFZdkYsU0FBU0MsV0FBVyxFQUFFc0YsY0FBYzdGO1lBQ2hEOEYsU0FBU3hGLFNBQVNDLFdBQVcsRUFBRXVGLFdBQVc5RjtZQUMxQytGLGVBQWV6RixTQUFTQyxXQUFXLEVBQUV3RixpQkFBaUIvRjtZQUN0RGdHLFFBQVExRixTQUFTQyxXQUFXLEVBQUV5RixVQUFVaEc7WUFDeENpRyxnQkFBZ0IzRixTQUFTQyxXQUFXLEVBQUUwRixrQkFBa0JqRztRQUMxRDtRQUNBa0csbUJBQW1COU0sOEJBQThCa0gsU0FBUzRGLGlCQUFpQixJQUFJLENBQUM7UUFDaEZDLFNBQVM7WUFDUDNGLFVBQVVGLFNBQVM2RixPQUFPLEVBQUUzRixZQUFZbEQ7WUFDeENtRCxnQkFBZ0JILFNBQVM2RixPQUFPLEVBQUUxRixrQkFBa0JwRDtZQUNwRCtJLGlCQUFpQjlGLFNBQVM2RixPQUFPLEVBQUVDLG1CQUFtQjdJO1lBQ3REc0QsYUFBYVAsU0FBUzZGLE9BQU8sRUFBRXRGLGVBQWVyRDtZQUM5Q3NELG9CQUFvQlIsU0FBUzZGLE9BQU8sRUFBRXJGLHNCQUFzQnJEO1lBQzVEc0QsMEJBQTBCVCxTQUFTNkYsT0FBTyxFQUFFcEYsNEJBQTRCckQ7WUFDeEVzRCxnQ0FDRVYsU0FBUzZGLE9BQU8sRUFBRW5GLGtDQUFrQ3JEO1lBQ3REdUQsWUFBWVosU0FBUzZGLE9BQU8sRUFBRWpGLGNBQWN0RDtZQUM1QytELGNBQWNyQixTQUFTNkYsT0FBTyxFQUFFeEUsZ0JBQWdCdkQ7WUFDaER3RCxXQUFXdEIsU0FBUzZGLE9BQU8sRUFBRXZFLGFBQWEvRDtZQUMxQ2lFLE9BQU94QixTQUFTNkYsT0FBTyxFQUFFckUsU0FBUzlEO1lBQ2xDNEYsa0JBQWtCdEQsU0FBUzZGLE9BQU8sRUFBRXZDLG9CQUFvQjlGO1lBQ3hEK0YsUUFBUXZELFNBQVM2RixPQUFPLEVBQUV0QyxVQUFVNUY7WUFDcENrRyxXQUFXN0QsU0FBUzZGLE9BQU8sRUFBRWhDLGFBQWE5RjtZQUMxQ2dJLFdBQVcvRixTQUFTNkYsT0FBTyxFQUFFRSxhQUFhbk47WUFDMUNrTSxNQUFNOUUsU0FBUzZGLE9BQU8sRUFBRWYsUUFBUWpIO1lBQ2hDc0gsbUJBQW1CbkYsU0FBUzZGLE9BQU8sRUFBRVYscUJBQXFCMUg7WUFDMUQySCxNQUFNcEYsU0FBUzZGLE9BQU8sRUFBRVQsUUFBUXhIO1FBQ2xDO1FBQ0FzQyxVQUFVRixTQUFTRSxRQUFRLElBQUluSDtRQUMvQm9ILGdCQUFnQkgsU0FBU0csY0FBYyxJQUFJbkg7UUFDM0NvSCxlQUFlSixTQUFTSSxhQUFhLElBQUluSDtRQUN6Q29ILGtCQUFrQkwsU0FBU0ssZ0JBQWdCLElBQUluSDtRQUMvQ29ILGtCQUFrQk4sU0FBU00sZ0JBQWdCLElBQUluSDtRQUMvQ29ILGFBQWFQLFNBQVNPLFdBQVcsSUFBSW5IO1FBQ3JDb0gsb0JBQW9CUixTQUFTUSxrQkFBa0IsSUFBSW5IO1FBQ25Eb0gsMEJBQTBCVCxTQUFTUyx3QkFBd0IsSUFBSW5IO1FBQy9Eb0gsZ0NBQWdDVixTQUFTVSw4QkFBOEIsSUFBSW5IO1FBQzNFb0gsK0JBQStCWCxTQUFTVyw2QkFBNkIsSUFBSW5IO1FBQ3pFb0gsWUFBWVosU0FBU1ksVUFBVSxJQUFJbEg7UUFDbkNtSCxlQUFlYixTQUFTYSxhQUFhLElBQUlsSDtRQUN6Q21ILHNCQUFzQmQsU0FBU2Msb0JBQW9CLElBQUlqSDtRQUN2RGtILCtCQUErQmYsU0FBU2UsNkJBQTZCLElBQUlqSDtRQUN6RWtILDhCQUE4QmhCLFNBQVNnQiw0QkFBNEIsSUFBSWpIO1FBQ3ZFa0gsb0JBQW9CakIsU0FBU2lCLGtCQUFrQixJQUFJakg7UUFDbkRrSCxtQ0FBbUNsQixTQUFTa0IsaUNBQWlDLElBQUlqSDtRQUNqRmtILHNCQUFzQm5CLFNBQVNtQixvQkFBb0IsSUFBSWpIO1FBQ3ZEa0gsU0FBU3BCLFNBQVNvQixPQUFPLElBQUlqSDtRQUM3QmtILGNBQWNyQixTQUFTcUIsWUFBWSxJQUFJckM7UUFDdkNzQyxXQUFXdEIsU0FBU3NCLFNBQVMsSUFBSWpIO1FBQ2pDa0gsc0JBQXNCdkIsU0FBU3VCLG9CQUFvQixJQUFJMUc7UUFDdkQyRyxPQUFPeEIsU0FBU3dCLEtBQUssSUFBSWhIO1FBQ3pCaUgsYUFBYXpCLFNBQVN5QixXQUFXLElBQUloSDtRQUNyQ2lILGFBQWExQixTQUFTMEIsV0FBVyxJQUFJaEg7UUFDckNpSCxZQUFZM0IsU0FBUzJCLFVBQVUsSUFBSWhIO1FBQ25DaUgsWUFBWTVCLFNBQVM0QixVQUFVLElBQUloSDtRQUNuQ2lILE9BQU83QixTQUFTNkIsS0FBSyxJQUFJL0c7UUFDekJnSCxhQUFhOUIsU0FBUzhCLFdBQVcsSUFBSS9HO1FBQ3JDZ0gsVUFBVS9CLFNBQVMrQixRQUFRLElBQUkzSDtRQUMvQjRILFlBQVloQyxTQUFTZ0MsVUFBVSxJQUFJaEg7UUFDbkNpSCxPQUFPakMsU0FBU2lDLEtBQUssSUFBSS9HO1FBQ3pCZ0gsb0NBQW9DbEMsU0FBU2tDLGtDQUFrQyxJQUFJekk7UUFDbkYwSSxpQkFBaUJuQyxTQUFTbUMsZUFBZSxJQUFJMUY7UUFDN0MyRix1QkFBdUJwQyxTQUFTb0MscUJBQXFCLElBQUkxRjtRQUN6RDJGLDZCQUE2QnJDLFNBQVNxQywyQkFBMkIsSUFBSTFGO1FBQ3JFMkYsZUFBZXRDLFNBQVNzQyxhQUFhLElBQUluSDtRQUN6Q29ILGFBQWF2QyxTQUFTdUMsV0FBVyxJQUFJbkg7UUFDckNvSCxvQkFBb0J4QyxTQUFTd0Msa0JBQWtCLElBQUluSDtRQUNuRG9ILHdCQUF3QnpDLFNBQVN5QyxzQkFBc0IsSUFBSW5IO1FBQzNEb0gsYUFBYTFDLFNBQVMwQyxXQUFXLElBQUluSDtRQUNyQ29ILHFCQUFxQjNDLFNBQVMyQyxtQkFBbUIsSUFBSW5IO1FBQ3JEb0gsNkJBQTZCNUMsU0FBUzRDLDJCQUEyQixJQUFJbkg7UUFDckVvSCx1QkFBdUI3QyxTQUFTNkMscUJBQXFCLElBQUluSDtRQUN6RG9ILHlCQUF5QjlDLFNBQVM4Qyx1QkFBdUIsSUFBSW5IO1FBQzdEb0gscUJBQXFCL0MsU0FBUytDLG1CQUFtQixJQUFJbkg7UUFDckRvSCxRQUFRaEQsU0FBU2dELE1BQU0sSUFBSW5IO1FBQzNCb0gscUJBQXFCakQsU0FBU2lELG1CQUFtQixJQUFJMUU7UUFDckQyRSxPQUFPbEQsU0FBU2tELEtBQUssSUFBSXBIO1FBQ3pCcUgsYUFBYW5ELFNBQVNtRCxXQUFXLElBQUluSDtRQUNyQ29ILGNBQWNwRCxTQUFTb0QsWUFBWSxJQUFJbkg7UUFDdkNvSCxhQUFhckQsU0FBU3FELFdBQVcsSUFBSXRIO1FBQ3JDdUgsa0JBQWtCdEQsU0FBU3NELGdCQUFnQixJQUFJaEo7UUFDL0NpSixRQUFRdkQsU0FBU3VELE1BQU0sSUFBSXJIO1FBQzNCc0gsU0FBU3hELFNBQVN3RCxPQUFPLElBQUlySDtRQUM3QnNILGFBQWF6RCxTQUFTeUQsV0FBVyxJQUFJckg7UUFDckNzSCw0QkFBNEIxRCxTQUFTMEQsMEJBQTBCLElBQUlySDtRQUNuRXNILFlBQVkzRCxTQUFTMkQsVUFBVSxJQUFJckg7UUFDbkNzSCxpQkFBaUI1RCxTQUFTNEQsZUFBZSxJQUFJckg7UUFDN0NzSCxXQUFXN0QsU0FBUzZELFNBQVMsSUFBSTVFO1FBQ2pDNkUsd0JBQXdCOUQsU0FBUzhELHNCQUFzQixJQUFJbEs7UUFDM0RtSyxNQUFNL0QsU0FBUytELElBQUksSUFBSW5IO1FBQ3ZCb0gsV0FBV2hFLFNBQVNnRSxTQUFTLElBQUluSDtRQUNqQ29ILFVBQVVqRSxTQUFTaUUsUUFBUSxJQUFJbkg7UUFDL0JvSCxNQUFNbEUsU0FBU2tFLElBQUksSUFBSWxHO1FBQ3ZCbUcsWUFBWW5FLFNBQVNtRSxVQUFVLElBQUlsRztRQUNuQ21HLGdCQUFnQnBFLFNBQVNvRSxjQUFjLElBQUlsRztRQUMzQ21HLDhCQUE4QnJFLFNBQVNxRSw0QkFBNEIsSUFBSWxHO1FBQ3ZFbUcsbUJBQW1CdEUsU0FBU3NFLGlCQUFpQixJQUFJcko7UUFDakRzSixtQkFBbUJ2RSxTQUFTdUUsaUJBQWlCLElBQUkvSDtRQUNqRGdJLEtBQUt4RSxTQUFTd0UsR0FBRyxJQUFJcEc7UUFDckJxRyxpQkFBaUJ6RSxTQUFTeUUsZUFBZSxJQUFJcEc7UUFDN0MwSCxXQUFXL0YsU0FBUytGLFNBQVMsSUFBSWxOO1FBQ2pDNkwsZUFBZTFFLFNBQVMwRSxhQUFhLElBQUlwRztRQUN6Q3FHLFNBQVMzRSxTQUFTMkUsT0FBTyxJQUFJbkc7UUFDN0JvRyxhQUFhNUUsU0FBUzRFLFdBQVcsSUFBSW5HO1FBQ3JDb0csY0FBYzdFLFNBQVM2RSxZQUFZLElBQUluRztRQUN2Q29HLE1BQU05RSxTQUFTOEUsSUFBSSxJQUFJbkc7UUFDdkJvRyxZQUFZL0UsU0FBUytFLFVBQVUsSUFBSW5HO1FBQ25Db0csVUFBVWhGLFNBQVNnRixRQUFRLElBQUluRztRQUMvQm9HLGNBQWNqRixTQUFTaUYsWUFBWSxJQUFJbkc7UUFDdkNvRyx5QkFBeUJsRixTQUFTa0YsdUJBQXVCLElBQUluRztRQUM3RG9HLG1CQUFtQm5GLFNBQVNtRixpQkFBaUIsSUFBSTVLO1FBQ2pENkssTUFBTXBGLFNBQVNvRixJQUFJLElBQUlsRztRQUN2Qm1HLGtCQUFrQnJGLFNBQVNxRixnQkFBZ0IsSUFBSWxHO1FBQy9DbUcsYUFBYXRGLFNBQVNzRixXQUFXLElBQUlsRztRQUNyQ21HLFlBQVl2RixTQUFTdUYsVUFBVSxJQUFJbEc7UUFDbkNtRyxTQUFTeEYsU0FBU3dGLE9BQU8sSUFBSWxHO1FBQzdCbUcsZUFBZXpGLFNBQVN5RixhQUFhLElBQUlsRztRQUN6Q21HLFFBQVExRixTQUFTMEYsTUFBTSxJQUFJbEc7UUFDM0JtRyxnQkFBZ0IzRixTQUFTMkYsY0FBYyxJQUFJbEc7SUFDN0M7QUFDRjtBQWdJQTs7Ozs7Ozs7Ozs7Ozs7O0NBZUMsR0FDRCxPQUFPLFNBQVN1RyxlQUNkQyxVQUFpQixFQUNqQkMsR0FBUSxFQUNSQyxPQUF1RyxFQUN2R0MsV0FFdUksRUFDdklDLEtBQXFFO0lBRXJFLDhIQUE4SDtJQUM5SCxNQUFNQyxlQUFlSixJQUFJSyxZQUFZLENBQUN0RyxXQUFXLENBQUNnRyxXQUFXO0lBRTdELE9BQU9LLGFBQWFKLEtBQUtDLFNBQVNDLGFBQWFDO0FBQ2pEIn0=