@discordeno/types 19.0.0-next.a62f06c → 19.0.0-next.a7c5351

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.
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  AutoModerationTriggerTypes: function() {
19
19
  return AutoModerationTriggerTypes;
20
20
  },
21
+ DiscordApplicationIntegrationType: function() {
22
+ return DiscordApplicationIntegrationType;
23
+ },
21
24
  DiscordAutoModerationRuleTriggerMetadataPresets: function() {
22
25
  return DiscordAutoModerationRuleTriggerMetadataPresets;
23
26
  },
@@ -27,6 +30,33 @@ _export(exports, {
27
30
  DiscordConnectionVisibility: function() {
28
31
  return DiscordConnectionVisibility;
29
32
  },
33
+ DiscordEntitlementType: function() {
34
+ return DiscordEntitlementType;
35
+ },
36
+ DiscordGuildOnboardingMode: function() {
37
+ return DiscordGuildOnboardingMode;
38
+ },
39
+ DiscordGuildOnboardingPromptType: function() {
40
+ return DiscordGuildOnboardingPromptType;
41
+ },
42
+ DiscordInteractionContextType: function() {
43
+ return DiscordInteractionContextType;
44
+ },
45
+ DiscordMessageFlag: function() {
46
+ return DiscordMessageFlag;
47
+ },
48
+ DiscordPollLayoutType: function() {
49
+ return DiscordPollLayoutType;
50
+ },
51
+ DiscordSkuFlag: function() {
52
+ return DiscordSkuFlag;
53
+ },
54
+ DiscordSkuType: function() {
55
+ return DiscordSkuType;
56
+ },
57
+ DiscordTeamMemberRole: function() {
58
+ return DiscordTeamMemberRole;
59
+ },
30
60
  OAuth2Scope: function() {
31
61
  return OAuth2Scope;
32
62
  }
@@ -43,7 +73,7 @@ var OAuth2Scope;
43
73
  * Allows your app to update a user's activity
44
74
  *
45
75
  * @remarks
46
- * This scope requires Discord approval to be used
76
+ * This scope not currently available for apps.
47
77
  */ OAuth2Scope["ActivitiesWrite"] = "activities.write";
48
78
  /** Allows your app to read build data for a user's applications */ OAuth2Scope["ApplicationsBuildsRead"] = "applications.builds.read";
49
79
  /**
@@ -52,7 +82,7 @@ var OAuth2Scope;
52
82
  * @remarks
53
83
  * This scope requires Discord approval to be used
54
84
  */ OAuth2Scope["ApplicationsBuildsUpload"] = "applications.builds.upload";
55
- /** Allows your app to use Application Commands in a guild */ OAuth2Scope["ApplicationsCommands"] = "applications.commands";
85
+ /** Allows your app to add commands to a guild - included by default with the `bot` scope */ OAuth2Scope["ApplicationsCommands"] = "applications.commands";
56
86
  /**
57
87
  * Allows your app to update its Application Commands via this bearer token
58
88
  *
@@ -131,9 +161,16 @@ var OAuth2Scope;
131
161
  */ OAuth2Scope["Voice"] = "voice";
132
162
  /** Generate a webhook that is returned in the oauth token response for authorization code grants */ OAuth2Scope["WebhookIncoming"] = "webhook.incoming";
133
163
  })(OAuth2Scope || (OAuth2Scope = {}));
164
+ var DiscordApplicationIntegrationType;
165
+ (function(DiscordApplicationIntegrationType) {
166
+ /** App is installable to servers */ DiscordApplicationIntegrationType[DiscordApplicationIntegrationType["GuildInstall"] = 0] = "GuildInstall";
167
+ /** App is installable to users */ DiscordApplicationIntegrationType[DiscordApplicationIntegrationType["UserInstall"] = 1] = "UserInstall";
168
+ })(DiscordApplicationIntegrationType || (DiscordApplicationIntegrationType = {}));
134
169
  var DiscordConnectionServiceType;
135
170
  (function(DiscordConnectionServiceType) {
136
171
  DiscordConnectionServiceType["BattleNet"] = "battlenet";
172
+ DiscordConnectionServiceType["Bungie"] = "Bungie.net";
173
+ DiscordConnectionServiceType["Domain"] = "domain";
137
174
  DiscordConnectionServiceType["eBay"] = "ebay";
138
175
  DiscordConnectionServiceType["EpicGames"] = "epicgames";
139
176
  DiscordConnectionServiceType["Facebook"] = "facebook";
@@ -158,6 +195,10 @@ var DiscordConnectionVisibility;
158
195
  /** invisible to everyone except the user themselves */ DiscordConnectionVisibility[DiscordConnectionVisibility["None"] = 0] = "None";
159
196
  /** visible to everyone */ DiscordConnectionVisibility[DiscordConnectionVisibility["Everyone"] = 1] = "Everyone";
160
197
  })(DiscordConnectionVisibility || (DiscordConnectionVisibility = {}));
198
+ var DiscordPollLayoutType;
199
+ (function(DiscordPollLayoutType) {
200
+ /** The default layout */ DiscordPollLayoutType[DiscordPollLayoutType["Default"] = 1] = "Default";
201
+ })(DiscordPollLayoutType || (DiscordPollLayoutType = {}));
161
202
  var AutoModerationEventTypes;
162
203
  (function(AutoModerationEventTypes) {
163
204
  /** When a user sends a message */ AutoModerationEventTypes[AutoModerationEventTypes["MessageSend"] = 1] = "MessageSend";
@@ -182,5 +223,70 @@ var AutoModerationActionType;
182
223
  /** Logs user content to a specified channel */ AutoModerationActionType[AutoModerationActionType["SendAlertMessage"] = 2] = "SendAlertMessage";
183
224
  /** Times out user for specified duration */ AutoModerationActionType[AutoModerationActionType["Timeout"] = 3] = "Timeout";
184
225
  })(AutoModerationActionType || (AutoModerationActionType = {}));
226
+ var DiscordGuildOnboardingPromptType;
227
+ (function(DiscordGuildOnboardingPromptType) {
228
+ DiscordGuildOnboardingPromptType[DiscordGuildOnboardingPromptType["MultipleChoice"] = 0] = "MultipleChoice";
229
+ DiscordGuildOnboardingPromptType[DiscordGuildOnboardingPromptType["DropDown"] = 1] = "DropDown";
230
+ })(DiscordGuildOnboardingPromptType || (DiscordGuildOnboardingPromptType = {}));
231
+ var DiscordGuildOnboardingMode;
232
+ (function(DiscordGuildOnboardingMode) {
233
+ /** Counts only Default Channels towards constraints */ DiscordGuildOnboardingMode[DiscordGuildOnboardingMode["OnboardingDefault"] = 0] = "OnboardingDefault";
234
+ /** Counts Default Channels and Questions towards constraints */ DiscordGuildOnboardingMode[DiscordGuildOnboardingMode["OnboardingAdvanced"] = 1] = "OnboardingAdvanced";
235
+ })(DiscordGuildOnboardingMode || (DiscordGuildOnboardingMode = {}));
236
+ var DiscordTeamMemberRole;
237
+ (function(DiscordTeamMemberRole) {
238
+ /** Owners are the most permissiable role, and can take destructive, irreversible actions like deleting the team itself. Teams are limited to 1 owner. */ DiscordTeamMemberRole["Owner"] = "owner";
239
+ /** Admins have similar access as owners, except they cannot take destructive actions on the team or team-owned apps. */ DiscordTeamMemberRole["Admin"] = "admin";
240
+ /**
241
+ * Developers can access information about team-owned apps, like the client secret or public key.
242
+ * They can also take limited actions on team-owned apps, like configuring interaction endpoints or resetting the bot token.
243
+ * Members with the Developer role *cannot* manage the team or its members, or take destructive actions on team-owned apps.
244
+ */ DiscordTeamMemberRole["Developer"] = "developer";
245
+ /** Read-only members can access information about a team and any team-owned apps. Some examples include getting the IDs of applications and exporting payout records. */ DiscordTeamMemberRole["ReadOnly"] = "read_only";
246
+ })(DiscordTeamMemberRole || (DiscordTeamMemberRole = {}));
247
+ var DiscordEntitlementType;
248
+ (function(DiscordEntitlementType) {
249
+ /** Entitlement was purchased by user */ DiscordEntitlementType[DiscordEntitlementType["Purchase"] = 1] = "Purchase";
250
+ /** Entitlement for Discord Nitro subscription */ DiscordEntitlementType[DiscordEntitlementType["PremiumSubscription"] = 2] = "PremiumSubscription";
251
+ /** Entitlement was gifted by developer */ DiscordEntitlementType[DiscordEntitlementType["DeveloperGift"] = 3] = "DeveloperGift";
252
+ /** Entitlement was purchased by a dev in application test mode */ DiscordEntitlementType[DiscordEntitlementType["TestModePurchase"] = 4] = "TestModePurchase";
253
+ /** Entitlement was granted when the SKU was free */ DiscordEntitlementType[DiscordEntitlementType["FreePurchase"] = 5] = "FreePurchase";
254
+ /** Entitlement was gifted by another user */ DiscordEntitlementType[DiscordEntitlementType["UserGift"] = 6] = "UserGift";
255
+ /** Entitlement was claimed by user for free as a Nitro Subscriber */ DiscordEntitlementType[DiscordEntitlementType["PremiumPurchase"] = 7] = "PremiumPurchase";
256
+ /** Entitlement was purchased as an app subscription */ DiscordEntitlementType[DiscordEntitlementType["ApplicationSubscription"] = 8] = "ApplicationSubscription";
257
+ })(DiscordEntitlementType || (DiscordEntitlementType = {}));
258
+ var DiscordSkuType;
259
+ (function(DiscordSkuType) {
260
+ /** Durable one-time purchase */ DiscordSkuType[DiscordSkuType["Durable"] = 2] = "Durable";
261
+ /** Consumable one-time purchase */ DiscordSkuType[DiscordSkuType["Consumable"] = 3] = "Consumable";
262
+ /** Represents a recurring subscription */ DiscordSkuType[DiscordSkuType["Subscription"] = 5] = "Subscription";
263
+ /** System-generated group for each SUBSCRIPTION SKU created */ DiscordSkuType[DiscordSkuType["SubscriptionGroup"] = 6] = "SubscriptionGroup";
264
+ })(DiscordSkuType || (DiscordSkuType = {}));
265
+ var DiscordSkuFlag;
266
+ (function(DiscordSkuFlag) {
267
+ /** SKU is available for purchase */ DiscordSkuFlag[DiscordSkuFlag["Available"] = 4] = "Available";
268
+ /** Recurring SKU that can be purchased by a user and applied to a single server. Grants access to every user in that server. */ DiscordSkuFlag[DiscordSkuFlag["GuildSubscription"] = 128] = "GuildSubscription";
269
+ /** Recurring SKU purchased by a user for themselves. Grants access to the purchasing user in every server. */ DiscordSkuFlag[DiscordSkuFlag["UserSubscription"] = 256] = "UserSubscription";
270
+ })(DiscordSkuFlag || (DiscordSkuFlag = {}));
271
+ var DiscordMessageFlag;
272
+ (function(DiscordMessageFlag) {
273
+ /** This message has been published to subscribed channels (via Channel Following) */ DiscordMessageFlag[DiscordMessageFlag["Crossposted"] = 1] = "Crossposted";
274
+ /** This message originated from a message in another channel (via Channel Following) */ DiscordMessageFlag[DiscordMessageFlag["IsCrosspost"] = 2] = "IsCrosspost";
275
+ /** Do not include any embeds when serializing this message */ DiscordMessageFlag[DiscordMessageFlag["SuppressEmbeds"] = 4] = "SuppressEmbeds";
276
+ /** The source message for this crosspost has been deleted (via Channel Following) */ DiscordMessageFlag[DiscordMessageFlag["SourceMessageDeleted"] = 8] = "SourceMessageDeleted";
277
+ /** This message came from the urgent message system */ DiscordMessageFlag[DiscordMessageFlag["Urgent"] = 16] = "Urgent";
278
+ /** This message has an associated thread, with the same id as the message */ DiscordMessageFlag[DiscordMessageFlag["HasThread"] = 32] = "HasThread";
279
+ /** This message is only visible to the user who invoked the Interaction */ DiscordMessageFlag[DiscordMessageFlag["Ephemeral"] = 64] = "Ephemeral";
280
+ /** This message is an Interaction Response and the bot is "thinking" */ DiscordMessageFlag[DiscordMessageFlag["Loading"] = 128] = "Loading";
281
+ /** This message failed to mention some roles and add their members to the thread */ DiscordMessageFlag[DiscordMessageFlag["FailedToMentionSomeRolesInThread"] = 256] = "FailedToMentionSomeRolesInThread";
282
+ /** This message will not trigger push and desktop notifications */ DiscordMessageFlag[DiscordMessageFlag["SuppressNotifications"] = 4096] = "SuppressNotifications";
283
+ /** This message is a voice message */ DiscordMessageFlag[DiscordMessageFlag["IsVoiceMessage"] = 8192] = "IsVoiceMessage";
284
+ })(DiscordMessageFlag || (DiscordMessageFlag = {}));
285
+ var DiscordInteractionContextType;
286
+ (function(DiscordInteractionContextType) {
287
+ /** Interaction can be used within servers */ DiscordInteractionContextType[DiscordInteractionContextType["Guild"] = 0] = "Guild";
288
+ /** Interaction can be used within DMs with the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["BotDm"] = 1] = "BotDm";
289
+ /** Interaction can be used within Group DMs and DMs other than the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["PrivateChannel"] = 2] = "PrivateChannel";
290
+ })(DiscordInteractionContextType || (DiscordInteractionContextType = {}));
185
291
 
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWN0aXZpdHlUeXBlcyxcbiAgQWxsb3dlZE1lbnRpb25zVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICBBcHBsaWNhdGlvbkZsYWdzLFxuICBBdWRpdExvZ0V2ZW50cyxcbiAgQnV0dG9uU3R5bGVzLFxuICBDaGFubmVsRmxhZ3MsXG4gIENoYW5uZWxUeXBlcyxcbiAgRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHMsXG4gIEVtYmVkVHlwZXMsXG4gIEV4cGxpY2l0Q29udGVudEZpbHRlckxldmVscyxcbiAgRm9ydW1MYXlvdXQsXG4gIEdhdGV3YXlFdmVudE5hbWVzLFxuICBHdWlsZEZlYXR1cmVzLFxuICBHdWlsZE5zZndMZXZlbCxcbiAgSW50ZWdyYXRpb25FeHBpcmVCZWhhdmlvcnMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIExvY2FsaXphdGlvbixcbiAgTWVzc2FnZUFjdGl2aXR5VHlwZXMsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbiAgTWVzc2FnZVR5cGVzLFxuICBNZmFMZXZlbHMsXG4gIE92ZXJ3cml0ZVR5cGVzLFxuICBQaWNrUGFydGlhbCxcbiAgUHJlbWl1bVRpZXJzLFxuICBQcmVtaXVtVHlwZXMsXG4gIFNjaGVkdWxlZEV2ZW50RW50aXR5VHlwZSxcbiAgU2NoZWR1bGVkRXZlbnRQcml2YWN5TGV2ZWwsXG4gIFNjaGVkdWxlZEV2ZW50U3RhdHVzLFxuICBTb3J0T3JkZXJUeXBlcyxcbiAgU3RpY2tlckZvcm1hdFR5cGVzLFxuICBTdGlja2VyVHlwZXMsXG4gIFN5c3RlbUNoYW5uZWxGbGFncyxcbiAgVGFyZ2V0VHlwZXMsXG4gIFRlYW1NZW1iZXJzaGlwU3RhdGVzLFxuICBUZXh0U3R5bGVzLFxuICBWZXJpZmljYXRpb25MZXZlbHMsXG4gIFZpZGVvUXVhbGl0eU1vZGVzLFxuICBXZWJob29rVHlwZXMsXG59IGZyb20gJy4vc2hhcmVkLmpzJ1xuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjdXNlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVzZXIge1xuICAvKiogVGhlIHVzZXIncyB1c2VybmFtZSwgbm90IHVuaXF1ZSBhY3Jvc3MgdGhlIHBsYXRmb3JtICovXG4gIHVzZXJuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgZGlzcGxheSBuYW1lLCBpZiBpdCBpcyBzZXQuIEZvciBib3RzLCB0aGlzIGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lICovXG4gIGdsb2JhbF9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlcidzIGNob3NlbiBsYW5ndWFnZSBvcHRpb24gKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb24gYSB1c2VyJ3MgYWNjb3VudCAqL1xuICBmbGFncz86IG51bWJlclxuICAvKiogVGhlIHR5cGUgb2YgTml0cm8gc3Vic2NyaXB0aW9uIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgcHJlbWl1bV90eXBlPzogUHJlbWl1bVR5cGVzXG4gIC8qKiBUaGUgcHVibGljIGZsYWdzIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgcHVibGljX2ZsYWdzPzogbnVtYmVyXG4gIC8qKiB0aGUgdXNlcidzIGJhbm5lciBjb2xvciBlbmNvZGVkIGFzIGFuIGludGVnZXIgcmVwcmVzZW50YXRpb24gb2YgaGV4YWRlY2ltYWwgY29sb3IgY29kZSAqL1xuICBhY2NlbnRfY29sb3I/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyJ3MgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBkaXNjb3JkLXRhZyAqL1xuICBkaXNjcmltaW5hdG9yOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgYXZhdGFyIGhhc2ggKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGJlbG9uZ3MgdG8gYW4gT0F1dGgyIGFwcGxpY2F0aW9uICovXG4gIGJvdD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgYW4gT2ZmaWNpYWwgRGlzY29yZCBTeXN0ZW0gdXNlciAocGFydCBvZiB0aGUgdXJnZW50IG1lc3NhZ2Ugc3lzdGVtKSAqL1xuICBzeXN0ZW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyB0d28gZmFjdG9yIGVuYWJsZWQgb24gdGhlaXIgYWNjb3VudCAqL1xuICBtZmFfZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIGVtYWlsIG9uIHRoaXMgYWNjb3VudCBoYXMgYmVlbiB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZD86IGJvb2xlYW5cbiAgLyoqIFRoZSB1c2VyJ3MgZW1haWwgKi9cbiAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgdXNlcidzIGJhbm5lciwgb3IgbnVsbCBpZiB1bnNldCAqL1xuICBiYW5uZXI/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc2hhcmVkLXJlc291cmNlcy1vYXV0aDItc2NvcGVzICovXG5leHBvcnQgZW51bSBPQXV0aDJTY29wZSB7XG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gZmV0Y2ggZGF0YSBmcm9tIGEgdXNlcidzIFwiTm93IFBsYXlpbmcvUmVjZW50bHkgUGxheWVkXCIgbGlzdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzXG4gICAqL1xuICBBY3Rpdml0aWVzUmVhZCA9ICdhY3Rpdml0aWVzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBhY3Rpdml0eVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgQWN0aXZpdGllc1dyaXRlID0gJ2FjdGl2aXRpZXMud3JpdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHJlYWQgYnVpbGQgZGF0YSBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0J1aWxkc1JlYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byB1cGxvYWQvdXBkYXRlIGJ1aWxkcyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBBcHBsaWNhdGlvbnNCdWlsZHNVcGxvYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy51cGxvYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVzZSBBcHBsaWNhdGlvbiBDb21tYW5kcyBpbiBhIGd1aWxkICovXG4gIEFwcGxpY2F0aW9uc0NvbW1hbmRzID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcycsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGl0cyBBcHBsaWNhdGlvbiBDb21tYW5kcyB2aWEgdGhpcyBiZWFyZXIgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSBjYW4gb25seSBiZSB1c2VkIHdoZW4gdXNpbmcgYSBbQ2xpZW50IENyZWRlbnRpYWwgR3JhbnRdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50KVxuICAgKi9cbiAgQXBwbGljYXRpb25zQ29tbWFuZHNVcGRhdGUgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzLnVwZGF0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIHBlcm1pc3Npb25zIGZvciBpdHMgY29tbWFuZHMgaW4gYSBndWlsZCBhIHVzZXIgaGFzIHBlcm1pc3Npb25zIHRvICovXG4gIEFwcGxpY2F0aW9uQ29tbWFuZHNQZXJtaXNzaW9uc1VwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMucGVybWlzc2lvbnMudXBkYXRlJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGVudGl0bGVtZW50cyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0VudGl0bGVtZW50cyA9ICdhcHBsaWNhdGlvbnMuZW50aXRsZW1lbnRzJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGFuZCB1cGRhdGUgc3RvcmUgZGF0YSAoU0tVcywgc3RvcmUgbGlzdGluZ3MsIGFjaGlldmVtZW50cywgZXRjLikgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNTdG9yZVVwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuc3RvcmUudXBkYXRlJyxcbiAgLyoqIEZvciBvYXV0aDIgYm90cywgdGhpcyBwdXRzIHRoZSBib3QgaW4gdGhlIHVzZXIncyBzZWxlY3RlZCBndWlsZCBieSBkZWZhdWx0ICovXG4gIEJvdCA9ICdib3QnLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtdXNlci1jb25uZWN0aW9ucykgKi9cbiAgQ29ubmVjdGlvbnMgPSAnY29ubmVjdGlvbnMnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHNlZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcidzIERNcyBhbmQgZ3JvdXAgRE1zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBETUNoYW5uZWxzUmVhZCA9ICdkbV9jaGFubmVscy5yZWFkJyxcbiAgLyoqIEFkZHMgdGhlIGBlbWFpbGAgZmlsZWQgdG8gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpICovXG4gIEVtYWlsID0gJ2VtYWlsJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byBqb2luIHVzZXJzIHRvIGEgZ3JvdXAgZG0gKi9cbiAgR3JvdXBETUpvaW5zID0gJ2dkbS5qb2luJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9ndWlsZHNdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXItZ3VpbGRzKSAqL1xuICBHdWlsZHMgPSAnZ3VpbGRzJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL2d1aWxkcy97Z3VpbGQuaWR9L21lbWJlcnMve3VzZXIuaWR9XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYWRkLWd1aWxkLW1lbWJlcikgKi9cbiAgR3VpbGRzSm9pbiA9ICdndWlsZHMuam9pbicsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvZ3VpbGRzL3tndWlsZC5pZH0vbWVtYmVyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyLWd1aWxkLW1lbWJlcikgKi9cbiAgR3VpbGRzTWVtYmVyc1JlYWQgPSAnZ3VpbGRzLm1lbWJlcnMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoZSByZXR1cm4gb2JqZWN0IGZyb20gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpXG4gICAqIGRvZXMgTk9UIGNvbnRhaW4gdGhlIGBlbWFpbGAgZmllbGQgdW5sZXNzIHRoZSBzY29wZSBgZW1haWxgIGlzIGFsc28gdXNlZFxuICAgKi9cbiAgSWRlbnRpZnkgPSAnaWRlbnRpZnknLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYXBpIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlYWQgbWVzc2FnZXMgZnJvbSBhbGwgY2xpZW50IGNoYW5uZWxzXG4gICAqIChvdGhlcndpc2UgcmVzdHJpY3RlZCB0byBjaGFubmVscy9ndWlsZHMgeW91ciBhcHAgY3JlYXRlcylcbiAgICovXG4gIE1lc3NhZ2VzUmVhZCA9ICdtZXNzYWdlcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBrbm93IGEgdXNlcidzIGZyaWVuZHMgYW5kIGltcGxpY2l0IHJlbGF0aW9uc2hpcHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJlbGF0aW9uc2hpcHNSZWFkID0gJ3JlbGF0aW9uc2hpcHMucmVhZCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGEgdXNlcidzIGNvbm5lY3Rpb24gYW5kIG1ldGFkYXRhIGZvciB0aGUgYXBwICovXG4gIFJvbGVDb25uZWN0aW9uc1dyaXRlID0gJ3JvbGVfY29ubmVjdGlvbnMud3JpdGUnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gY29udHJvbCBhIHVzZXIncyBsb2NhbCBEaXNjb3JkIGNsaWVudFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDID0gJ3JwYycsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byB1cGRhdGUgYSB1c2VyJ3MgYWN0aXZpdHlcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ0FjdGl2aXRpZXNXcml0ZSA9ICdycGMuYWN0aXZpdGllcy53cml0ZScsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhcGkgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVjZWl2ZSBub3RpZmljYXRpb25zIHB1c2hlZCBvdXQgdG8gdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ05vdGlmaWNhdGlvbnNSZWFkID0gJ3JwYy5ub3RpZmljYXRpb25zLnJlYWQnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVhZCBhIHVzZXIncyB2b2ljZSBzZXR0aW5ncyBhbmQgbGlzdGVuIGZvciB2b2ljZSBldmVudHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ1ZvaWNlUmVhZCA9ICdycGMudm9pY2UucmVhZCcsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byB1cGRhdGUgYSB1c2VyJ3Mgdm9pY2Ugc2V0dGluZ3NcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ1ZvaWNlV3JpdGUgPSAncnBjLnZvaWNlLndyaXRlJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBjb25uZWN0IHRvIHZvaWNlIG9uIHVzZXIncyBiZWhhbGYgYW5kIHNlZSBhbGwgdGhlIHZvaWNlIG1lbWJlcnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFZvaWNlID0gJ3ZvaWNlJyxcbiAgLyoqIEdlbmVyYXRlIGEgd2ViaG9vayB0aGF0IGlzIHJldHVybmVkIGluIHRoZSBvYXV0aCB0b2tlbiByZXNwb25zZSBmb3IgYXV0aG9yaXphdGlvbiBjb2RlIGdyYW50cyAqL1xuICBXZWJob29rSW5jb21pbmcgPSAnd2ViaG9vay5pbmNvbWluZycsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tb2JqZWN0LWludGVncmF0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb24ge1xuICAvKiogSW50ZWdyYXRpb24gSWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSW50ZWdyYXRpb24gbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEludGVncmF0aW9uIHR5cGUgKHR3aXRjaCwgeW91dHViZSwgZGlzY29yZCwgb3IgZ3VpbGRfc3Vic2NyaXB0aW9uKS4gKi9cbiAgdHlwZTogJ3R3aXRjaCcgfCAneW91dHViZScgfCAnZGlzY29yZCdcbiAgLyoqIElzIHRoaXMgaW50ZWdyYXRpb24gZW5hYmxlZCAqL1xuICBlbmFibGVkPzogYm9vbGVhblxuICAvKiogSXMgdGhpcyBpbnRlZ3JhdGlvbiBzeW5jaW5nICovXG4gIHN5bmNpbmc/OiBib29sZWFuXG4gIC8qKiBSb2xlIElkIHRoYXQgdGhpcyBpbnRlZ3JhdGlvbiB1c2VzIGZvciBcInN1YnNjcmliZXJzXCIgKi9cbiAgcm9sZV9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciBlbW90aWNvbnMgc2hvdWxkIGJlIHN5bmNlZCBmb3IgdGhpcyBpbnRlZ3JhdGlvbiAodHdpdGNoIG9ubHkgY3VycmVudGx5KSAqL1xuICBlbmFibGVfZW1vdGljb25zPzogYm9vbGVhblxuICAvKiogVGhlIGJlaGF2aW9yIG9mIGV4cGlyaW5nIHN1YnNjcmliZXJzICovXG4gIGV4cGlyZV9iZWhhdmlvcj86IEludGVncmF0aW9uRXhwaXJlQmVoYXZpb3JzXG4gIC8qKiBUaGUgZ3JhY2UgcGVyaW9kIChpbiBkYXlzKSBiZWZvcmUgZXhwaXJpbmcgc3Vic2NyaWJlcnMgKi9cbiAgZXhwaXJlX2dyYWNlX3BlcmlvZD86IG51bWJlclxuICAvKiogV2hlbiB0aGlzIGludGVncmF0aW9uIHdhcyBsYXN0IHN5bmNlZCAqL1xuICBzeW5jZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIEhvdyBtYW55IHN1YnNjcmliZXJzIHRoaXMgaW50ZWdyYXRpb24gaGFzICovXG4gIHN1YnNjcmliZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIEhhcyB0aGlzIGludGVncmF0aW9uIGJlZW4gcmV2b2tlZCAqL1xuICByZXZva2VkPzogYm9vbGVhblxuICAvKiogVXNlciBmb3IgdGhpcyBpbnRlZ3JhdGlvbiAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEludGVncmF0aW9uIGFjY291bnQgaW5mb3JtYXRpb24gKi9cbiAgYWNjb3VudDogRGlzY29yZEludGVncmF0aW9uQWNjb3VudFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gZm9yIGRpc2NvcmQgaW50ZWdyYXRpb25zICovXG4gIGFwcGxpY2F0aW9uPzogRGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIGFwcGxpY2F0aW9uIGhhcyBiZWVuIGF1dGhvcml6ZWQgZm9yICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLWFjY291bnQtb2JqZWN0LWludGVncmF0aW9uLWFjY291bnQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnQge1xuICAvKiogSWQgb2YgdGhlIGFjY291bnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1hcHBsaWNhdGlvbi1vYmplY3QtaW50ZWdyYXRpb24tYXBwbGljYXRpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXBwICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgaWNvbiBoYXNoIG9mIHRoZSBhcHAgKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBhcHAgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogVGhlIGJvdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBhcHBsaWNhdGlvbiAqL1xuICBib3Q/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9naXRodWIuY29tL2Rpc2NvcmQvZGlzY29yZC1hcGktZG9jcy9ibG9iL21hc3Rlci9kb2NzL3RvcGljcy9HYXRld2F5Lm1kI2ludGVncmF0aW9uLWNyZWF0ZS1ldmVudC1hZGRpdGlvbmFsLWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUgZXh0ZW5kcyBEaXNjb3JkSW50ZWdyYXRpb24ge1xuICAvKiogSWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZ2l0aHViLmNvbS9kaXNjb3JkL2Rpc2NvcmQtYXBpLWRvY3MvYmxvYi9tYXN0ZXIvZG9jcy90b3BpY3MvR2F0ZXdheS5tZCNpbnRlZ3JhdGlvbi1kZWxldGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkRlbGV0ZSB7XG4gIC8qKiBJbnRlZ3JhdGlvbiBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gZm9yIHRoaXMgZGlzY29yZCBpbnRlZ3JhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtaW50ZWdyYXRpb25zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRJbnRlZ3JhdGlvbnNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHdob3NlIGludGVncmF0aW9ucyB3ZXJlIHVwZGF0ZWQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjdHlwaW5nLXN0YXJ0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUeXBpbmdTdGFydCB7XG4gIC8qKiBVbml4IHRpbWUgKGluIHNlY29uZHMpIG9mIHdoZW4gdGhlIHVzZXIgc3RhcnRlZCB0eXBpbmcgKi9cbiAgdGltZXN0YW1wOiBudW1iZXJcbiAgLyoqIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIHN0YXJ0ZWQgdHlwaW5nIGlmIHRoaXMgaGFwcGVuZWQgaW4gYSBndWlsZCAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtbWVtYmVyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVtYmVyIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogVGhlIHVzZXIgdGhpcyBndWlsZCBtZW1iZXIgcmVwcmVzZW50cyAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoaXMgdXNlcnMgZ3VpbGQgbmlja25hbWUgKi9cbiAgbmljaz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBtZW1iZXJzIGN1c3RvbSBhdmF0YXIgZm9yIHRoaXMgc2VydmVyLiAqL1xuICBhdmF0YXI/OiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIHJvbGUgb2JqZWN0IGlkcyAqL1xuICByb2xlczogc3RyaW5nW11cbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGVkIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtX3NpbmNlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHBlcm1pc3Npb25zIHRoaXMgbWVtYmVyIGhhcyBpbiB0aGUgZ3VpbGQuIE9ubHkgcHJlc2VudCBvbiBpbnRlcmFjdGlvbiBldmVudHMgYW5kIE9BdXRoMiBjdXJyZW50IG1lbWJlciBmZXRjaC4gKi9cbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdcbiAgLyoqIHdoZW4gdGhlIHVzZXIncyB0aW1lb3V0IHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluIChzZXQgbnVsbCB0byByZW1vdmUgdGltZW91dCksIG51bGwgb3IgYSB0aW1lIGluIHRoZSBwYXN0IGlmIHRoZSB1c2VyIGlzIG5vdCB0aW1lZCBvdXQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBBbiBhcnJheSBvZiBycGMgb3JpZ2luIHVybHMsIGlmIHJwYyBpcyBlbmFibGVkICovXG4gIHJwY19vcmlnaW5zPzogc3RyaW5nW11cbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHRlcm1zIG9mIHNlcnZpY2UgKi9cbiAgdGVybXNfb2Zfc2VydmljZV91cmw/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHByaXZhY3kgcG9saWN5ICovXG4gIHByaXZhY3lfcG9saWN5X3VybD86IHN0cmluZ1xuICAvKiogVGhlIGhleCBlbmNvZGVkIGtleSBmb3IgdmVyaWZpY2F0aW9uIGluIGludGVyYWN0aW9ucyBhbmQgdGhlIEdhbWVTREsncyBHZXRUaWNrZXQgKi9cbiAgdmVyaWZ5X2tleTogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgaWQgb2YgdGhlIFwiR2FtZSBTS1VcIiB0aGF0IGlzIGNyZWF0ZWQsIGlmIGV4aXN0cyAqL1xuICBwcmltYXJ5X3NrdV9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIFVSTCBzbHVnIHRoYXQgbGlua3MgdG8gdGhlIHN0b3JlIHBhZ2UgKi9cbiAgc2x1Zz86IHN0cmluZ1xuICAvKiogVGhlIGFwcGxpY2F0aW9uJ3MgcHVibGljIGZsYWdzICovXG4gIGZsYWdzPzogQXBwbGljYXRpb25GbGFnc1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gZmFsc2Ugb25seSBhcHAgb3duZXIgY2FuIGpvaW4gdGhlIGFwcCdzIGJvdCB0byBndWlsZHMgKi9cbiAgYm90X3B1YmxpYzogYm9vbGVhblxuICAvKiogV2hlbiB0cnVlIHRoZSBhcHAncyBib3Qgd2lsbCBvbmx5IGpvaW4gdXBvbiBjb21wbGV0aW9uIG9mIHRoZSBmdWxsIG9hdXRoMiBjb2RlIGdyYW50IGZsb3cgKi9cbiAgYm90X3JlcXVpcmVfY29kZV9ncmFudDogYm9vbGVhblxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBjb250YWluaW5nIGluZm8gb24gdGhlIG93bmVyIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBvd25lcj86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBJZiB0aGUgYXBwbGljYXRpb24gYmVsb25ncyB0byBhIHRlYW0sIHRoaXMgd2lsbCBiZSBhIGxpc3Qgb2YgdGhlIG1lbWJlcnMgb2YgdGhhdCB0ZWFtICovXG4gIHRlYW06IERpc2NvcmRUZWFtIHwgbnVsbFxuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIGd1aWxkIHRvIHdoaWNoIGl0IGhhcyBiZWVuIGxpbmtlZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIGhhc2ggb2YgdGhlIGltYWdlIG9uIHN0b3JlIGVtYmVkcyAqL1xuICBjb3Zlcl9pbWFnZT86IHN0cmluZ1xuICAvKiogdXAgdG8gNSB0YWdzIGRlc2NyaWJpbmcgdGhlIGNvbnRlbnQgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIHRhZ3M/OiBzdHJpbmdbXVxuICAvKiogc2V0dGluZ3MgZm9yIHRoZSBhcHBsaWNhdGlvbidzIGRlZmF1bHQgaW4tYXBwIGF1dGhvcml6YXRpb24gbGluaywgaWYgZW5hYmxlZCAqL1xuICBpbnN0YWxsX3BhcmFtcz86IERpc2NvcmRJbnN0YWxsUGFyYW1zXG4gIC8qKiB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGN1c3RvbSBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgY3VzdG9tX2luc3RhbGxfdXJsPzogc3RyaW5nXG4gIC8qKiB0aGUgYXBwbGljYXRpb24ncyByb2xlIGNvbm5lY3Rpb24gdmVyaWZpY2F0aW9uIGVudHJ5IHBvaW50LCB3aGljaCB3aGVuIGNvbmZpZ3VyZWQgd2lsbCByZW5kZXIgdGhlIGFwcCBhcyBhIHZlcmlmaWNhdGlvbiBtZXRob2QgaW4gdGhlIGd1aWxkIHJvbGUgdmVyaWZpY2F0aW9uIGNvbmZpZ3VyYXRpb24gKi9cbiAgcm9sZV9jb25uZWN0aW9uc192ZXJpZmljYXRpb25fdXJsPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRUb2tlbkV4Y2hhbmdlID0gRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB8IERpc2NvcmRUb2tlbkV4Y2hhbmdlUmVmcmVzaFRva2VuIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFsc1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQXV0aG9yaXphdGlvbkNvZGUge1xuICBncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJ1xuICAvKiogVGhlIGNvZGUgZm9yIHRoZSB0b2tlbiBleGNoYW5nZSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSByZWRpcmVjdF91cmkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXV0aG9yaXphdGlvbiAqL1xuICByZWRpcmVjdF91cmk6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4ge1xuICBncmFudF90eXBlOiAncmVmcmVzaF90b2tlbidcbiAgLyoqIHRoZSB1c2VyJ3MgcmVmcmVzaCB0b2tlbiAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQ2xpZW50Q3JlZGVudGlhbHMge1xuICBncmFudF90eXBlOiAnY2xpZW50X2NyZWRlbnRpYWxzJ1xuICAvKiogVGhlIHNjb3BlKHMpIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBPQXV0aDJTY29wZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2Uge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiBvZiB0aGUgdXNlciAqL1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgdG9rZW4gKi9cbiAgdG9rZW5fdHlwZTogc3RyaW5nXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgdGhhdCB0aGUgYWNjZXNzIHRva2VuIGlzIGV4cGlyZWQgKi9cbiAgZXhwaXJlc19pbjogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgcmVmcmVzaCB0b2tlbiB0byByZWZyZXNoIHRoZSBhY2Nlc3MgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiB0aGUgdG9rZW4gZXhjaGFuZ2UgaXMgYSBjbGllbnQgY3JlZGVudGlhbHMgdHlwZSBncmFudCB0aGlzIHZhbHVlIGlzIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBzdHJpbmdcbiAgLyoqIFRoZSB3ZWJob29rIHRoZSB1c2VyIGNyZWF0ZWQgZm9yIHRoZSBhcHBsaWNhdGlvbi4gUmVxdWlyZXMgdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZSAqL1xuICB3ZWJob29rPzogRGlzY29yZEluY29taW5nV2ViaG9va1xuICAvKiogVGhlIGd1aWxkIHRoZSBib3QgaGFzIGJlZW4gYWRkZWQuIFJlcXVpcmVzIHRoZSBgYm90YCBzY29wZSAqL1xuICBndWlsZD86IERpc2NvcmRHdWlsZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlblJldm9jYXRpb24ge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiB0byByZXZva2UgKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogT3B0aW9uYWwsIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcgZm9yIHRoZSByZXZvY2F0aW9uICovXG4gIHRva2VuX3R5cGVfaGludD86ICdhY2Nlc3NfdG9rZW4nIHwgJ3JlZnJlc2hfdG9rZW4nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2dldC1jdXJyZW50LWF1dGhvcml6YXRpb24taW5mb3JtYXRpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbiB7XG4gIGFwcGxpY2F0aW9uOiBEaXNjb3JkQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIHVzZXIgaGFzIGF1dGhvcml6ZWQgdGhlIGFwcGxpY2F0aW9uIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIHdoZW4gdGhlIGFjY2VzcyB0b2tlbiBleHBpcmVzICovXG4gIGV4cGlyZXM6IHN0cmluZ1xuICAvKiogdGhlIHVzZXIgd2hvIGhhcyBhdXRob3JpemVkLCBpZiB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB3aXRoIHRoZSBgaWRlbnRpZnlgIHNjb3BlICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtY29ubmVjdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENvbm5lY3Rpb24ge1xuICAvKiogaWQgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgdXNlcm5hbWUgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBzZXJ2aWNlIG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB0eXBlOiBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlXG4gIC8qKiB3aGV0aGVyIHRoZSBjb25uZWN0aW9uIGlzIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIGFuIGFycmF5IG9mIHBhcnRpYWwgc2VydmVyIGludGVncmF0aW9ucyAqL1xuICBpbnRlZ3JhdGlvbnM/OiBBcnJheTxQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbj4+XG4gIC8qKiB3aGV0aGVyIHRoZSBjb25uZWN0aW9uIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIGZyaWVuZCBzeW5jIGlzIGVuYWJsZWQgZm9yIHRoaXMgY29ubmVjdGlvbiAqL1xuICBmcmllbmRfc3luYzogYm9vbGVhblxuICAvKiogd2hldGhlciBhY3Rpdml0aWVzIHJlbGF0ZWQgdG8gdGhpcyBjb25uZWN0aW9uIHdpbGwgYmUgc2hvd24gaW4gcHJlc2VuY2UgdXBkYXRlcyAqL1xuICBzaG93X2FjdGl2aXR5OiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIHRoaXMgY29ubmVjdGlvbiBoYXMgYSBjb3JyZXNwb25kaW5nIHRoaXJkIHBhcnR5IE9BdXRoMiB0b2tlbiAqL1xuICB0d29fd2F5X2xpbms6IGJvb2xlYW5cbiAgLyoqIHZpc2liaWxpdHkgb2YgdGhpcyBjb25uZWN0aW9uICovXG4gIHZpc2liaWxpdHk6IERpc2NvcmRDb25uZWN0aW9uVmlzaWJpbGl0eVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3Qtc2VydmljZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGUge1xuICBCYXR0bGVOZXQgPSAnYmF0dGxlbmV0JyxcbiAgZUJheSA9ICdlYmF5JyxcbiAgRXBpY0dhbWVzID0gJ2VwaWNnYW1lcycsXG4gIEZhY2Vib29rID0gJ2ZhY2Vib29rJyxcbiAgR2l0SHViID0gJ2dpdGh1YicsXG4gIEluc3RhZ3JhbSA9ICdpbnN0YWdyYW0nLFxuICBMZWFndWVPZkxlZ2VuZHMgPSAnbGVhZ3Vlb2ZsZWdlbmRzJyxcbiAgUGF5UGFsID0gJ3BheXBhbCcsXG4gIFBsYXlTdGF0aW9uTmV0d29yayA9ICdwbGF5c3RhdGlvbicsXG4gIFJlZGRpdCA9ICdyZWRkaXQnLFxuICBSaW90R2FtZXMgPSAncmlvdGdhbWVzJyxcbiAgU3BvdGlmeSA9ICdzcG90aWZ5JyxcbiAgU2t5cGUgPSAnc2t5cGUnLFxuICBTdGVhbSA9ICdzdGVhbScsXG4gIFRpa1RvayA9ICd0aWt0b2snLFxuICBUd2l0Y2ggPSAndHdpdGNoJyxcbiAgVHdpdHRlciA9ICd0d2l0dGVyJyxcbiAgWGJveCA9ICd4Ym94JyxcbiAgWW91VHViZSA9ICd5b3V0dWJlJyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2Nvbm5lY3Rpb24tb2JqZWN0LXZpc2liaWxpdHktdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRDb25uZWN0aW9uVmlzaWJpbGl0eSB7XG4gIC8qKiBpbnZpc2libGUgdG8gZXZlcnlvbmUgZXhjZXB0IHRoZSB1c2VyIHRoZW1zZWx2ZXMgKi9cbiAgTm9uZSA9IDAsXG4gIC8qKiB2aXNpYmxlIHRvIGV2ZXJ5b25lICovXG4gIEV2ZXJ5b25lID0gMSxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2FwcGxpY2F0aW9uLXJvbGUtY29ubmVjdGlvbi1vYmplY3QtYXBwbGljYXRpb24tcm9sZS1jb25uZWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiB7XG4gIC8qKiB0aGUgdmFuaXR5IG5hbWUgb2YgdGhlIHBsYXRmb3JtIGEgYm90IGhhcyBjb25uZWN0ZWQgKG1heCA1MCBjaGFyYWN0ZXJzKSAqL1xuICBwbGF0Zm9ybV9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgdXNlcm5hbWUgb24gdGhlIHBsYXRmb3JtIGEgYm90IGhhcyBjb25uZWN0ZWQgKG1heCAxMDAgY2hhcmFjdGVycykgKi9cbiAgcGxhdGZvcm1fdXNlcm5hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIG9iamVjdCBtYXBwaW5nIGFwcGxpY2F0aW9uIHJvbGUgY29ubmVjdGlvbiBtZXRhZGF0YSBrZXlzIHRvIHRoZWlyIHN0cmluZ2lmaWVkIHZhbHVlIChtYXggMTAwIGNoYXJhY3RlcnMpIGZvciB0aGUgdXNlciBvbiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAqL1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3RlYW1zI2RhdGEtbW9kZWxzLXRlYW0tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUZWFtIHtcbiAgLyoqIEEgaGFzaCBvZiB0aGUgaW1hZ2Ugb2YgdGhlIHRlYW0ncyBpY29uICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1bmlxdWUgaWQgb2YgdGhlIHRlYW0gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlcnMgb2YgdGhlIHRlYW0gKi9cbiAgbWVtYmVyczogRGlzY29yZFRlYW1NZW1iZXJbXVxuICAvKiogVGhlIHVzZXIgaWQgb2YgdGhlIGN1cnJlbnQgdGVhbSBvd25lciAqL1xuICBvd25lcl91c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0ZWFtICovXG4gIG5hbWU6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3RlYW1zI2RhdGEtbW9kZWxzLXRlYW0tbWVtYmVycy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlYW1NZW1iZXIge1xuICAvKiogVGhlIHVzZXIncyBtZW1iZXJzaGlwIHN0YXRlIG9uIHRoZSB0ZWFtICovXG4gIG1lbWJlcnNoaXBfc3RhdGU6IFRlYW1NZW1iZXJzaGlwU3RhdGVzXG4gIC8qKiBXaWxsIGFsd2F5cyBiZSBgW1wiKlwiXWAgKi9cbiAgcGVybWlzc2lvbnM6IEFycmF5PCcqJz5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFyZW50IHRlYW0gb2Ygd2hpY2ggdGhleSBhcmUgYSBtZW1iZXIgKi9cbiAgdGVhbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYXZhdGFyLCBkaXNjcmltaW5hdG9yLCBpZCwgdXNlcm5hbWUsIGFuZCBnbG9iYWxfbmFtZSBvZiB0aGUgdXNlciAqL1xuICB1c2VyOiBQYXJ0aWFsPERpc2NvcmRVc2VyPiAmIFBpY2s8RGlzY29yZFVzZXIsICdhdmF0YXInIHwgJ2Rpc2NyaW1pbmF0b3InIHwgJ2lkJyB8ICd1c2VybmFtZScgfCAnZ2xvYmFsX25hbWUnPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjd2ViaG9va3MtdXBkYXRlLXdlYmhvb2stdXBkYXRlLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2ViaG9va1VwZGF0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNhbGxvd2VkLW1lbnRpb25zLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWxsb3dlZE1lbnRpb25zIHtcbiAgLyoqIEFuIGFycmF5IG9mIGFsbG93ZWQgbWVudGlvbiB0eXBlcyB0byBwYXJzZSBmcm9tIHRoZSBjb250ZW50LiAqL1xuICBwYXJzZT86IEFsbG93ZWRNZW50aW9uc1R5cGVzW11cbiAgLyoqIEZvciByZXBsaWVzLCB3aGV0aGVyIHRvIG1lbnRpb24gdGhlIGF1dGhvciBvZiB0aGUgbWVzc2FnZSBiZWluZyByZXBsaWVkIHRvIChkZWZhdWx0IGZhbHNlKSAqL1xuICByZXBsaWVkX3VzZXI/OiBib29sZWFuXG4gIC8qKiBBcnJheSBvZiByb2xlX2lkcyB0byBtZW50aW9uIChNYXggc2l6ZSBvZiAxMDApICovXG4gIHJvbGVzPzogc3RyaW5nW11cbiAgLyoqIEFycmF5IG9mIHVzZXJfaWRzIHRvIG1lbnRpb24gKE1heCBzaXplIG9mIDEwMCkgKi9cbiAgdXNlcnM/OiBzdHJpbmdbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZCB7XG4gIC8qKiBUaXRsZSBvZiBlbWJlZCAqL1xuICB0aXRsZT86IHN0cmluZ1xuICAvKiogVHlwZSBvZiBlbWJlZCAoYWx3YXlzIFwicmljaFwiIGZvciB3ZWJob29rIGVtYmVkcykgKi9cbiAgdHlwZT86IEVtYmVkVHlwZXNcbiAgLyoqIERlc2NyaXB0aW9uIG9mIGVtYmVkICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgZW1iZWQgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBDb2xvciBjb2RlIG9mIHRoZSBlbWJlZCAqL1xuICBjb2xvcj86IG51bWJlclxuICAvKiogVGltZXN0YW1wIG9mIGVtYmVkIGNvbnRlbnQgKi9cbiAgdGltZXN0YW1wPzogc3RyaW5nXG4gIC8qKiBGb290ZXIgaW5mb3JtYXRpb24gKi9cbiAgZm9vdGVyPzogRGlzY29yZEVtYmVkRm9vdGVyXG4gIC8qKiBJbWFnZSBpbmZvcm1hdGlvbiAqL1xuICBpbWFnZT86IERpc2NvcmRFbWJlZEltYWdlXG4gIC8qKiBUaHVtYm5haWwgaW5mb3JtYXRpb24gKi9cbiAgdGh1bWJuYWlsPzogRGlzY29yZEVtYmVkVGh1bWJuYWlsXG4gIC8qKiBWaWRlbyBpbmZvcm1hdGlvbiAqL1xuICB2aWRlbz86IERpc2NvcmRFbWJlZFZpZGVvXG4gIC8qKiBQcm92aWRlciBpbmZvcm1hdGlvbiAqL1xuICBwcm92aWRlcj86IERpc2NvcmRFbWJlZFByb3ZpZGVyXG4gIC8qKiBBdXRob3IgaW5mb3JtYXRpb24gKi9cbiAgYXV0aG9yPzogRGlzY29yZEVtYmVkQXV0aG9yXG4gIC8qKiBGaWVsZHMgaW5mb3JtYXRpb24gKi9cbiAgZmllbGRzPzogRGlzY29yZEVtYmVkRmllbGRbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWF1dGhvci1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkQXV0aG9yIHtcbiAgLyoqIE5hbWUgb2YgYXV0aG9yICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVXJsIG9mIGF1dGhvciAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBhdXRob3IgaWNvbiAob25seSBzdXBwb3J0cyBodHRwKHMpIGFuZCBhdHRhY2htZW50cykgKi9cbiAgaWNvbl91cmw/OiBzdHJpbmdcbiAgLyoqIEEgcHJveGllZCB1cmwgb2YgYXV0aG9yIGljb24gKi9cbiAgcHJveHlfaWNvbl91cmw/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdC1lbWJlZC1maWVsZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkRmllbGQge1xuICAvKiogTmFtZSBvZiB0aGUgZmllbGQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBWYWx1ZSBvZiB0aGUgZmllbGQgKi9cbiAgdmFsdWU6IHN0cmluZ1xuICAvKiogV2hldGhlciBvciBub3QgdGhpcyBmaWVsZCBzaG91bGQgZGlzcGxheSBpbmxpbmUgKi9cbiAgaW5saW5lPzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWZvb3Rlci1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkRm9vdGVyIHtcbiAgLyoqIEZvb3RlciB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZ1xuICAvKiogVXJsIG9mIGZvb3RlciBpY29uIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICBpY29uX3VybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBmb290ZXIgaWNvbiAqL1xuICBwcm94eV9pY29uX3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWltYWdlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRJbWFnZSB7XG4gIC8qKiBTb3VyY2UgdXJsIG9mIGltYWdlIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiB0aGUgaW1hZ2UgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgaW1hZ2UgKi9cbiAgaGVpZ2h0PzogbnVtYmVyXG4gIC8qKiBXaWR0aCBvZiBpbWFnZSAqL1xuICB3aWR0aD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFByb3ZpZGVyIHtcbiAgLyoqIE5hbWUgb2YgcHJvdmlkZXIgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogVXJsIG9mIHByb3ZpZGVyICovXG4gIHVybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLXRodW1ibmFpbC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkVGh1bWJuYWlsIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgdGh1bWJuYWlsIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiB0aGUgdGh1bWJuYWlsICovXG4gIHByb3h5X3VybD86IHN0cmluZ1xuICAvKiogSGVpZ2h0IG9mIHRodW1ibmFpbCAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIHRodW1ibmFpbCAqL1xuICB3aWR0aD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLXZpZGVvLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRWaWRlbyB7XG4gIC8qKiBTb3VyY2UgdXJsIG9mIHZpZGVvICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiB0aGUgdmlkZW8gKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgdmlkZW8gKi9cbiAgaGVpZ2h0PzogbnVtYmVyXG4gIC8qKiBXaWR0aCBvZiB2aWRlbyAqL1xuICB3aWR0aD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjYXR0YWNobWVudC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF0dGFjaG1lbnQge1xuICAvKiogTmFtZSBvZiBmaWxlIGF0dGFjaGVkICovXG4gIGZpbGVuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBhdHRhY2htZW50J3MgW21lZGlhIHR5cGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01lZGlhX3R5cGUpICovXG4gIGNvbnRlbnRfdHlwZT86IHN0cmluZ1xuICAvKiogU2l6ZSBvZiBmaWxlIGluIGJ5dGVzICovXG4gIHNpemU6IG51bWJlclxuICAvKiogU291cmNlIHVybCBvZiBmaWxlICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZpbGUgKi9cbiAgcHJveHlfdXJsOiBzdHJpbmdcbiAgLyoqIEF0dGFjaG1lbnQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogZGVzY3JpcHRpb24gZm9yIHRoZSBmaWxlIChtYXggMTAyNCBjaGFyYWN0ZXJzKSAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogSGVpZ2h0IG9mIGZpbGUgKGlmIGltYWdlKSAqL1xuICBoZWlnaHQ/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBXaWR0aCBvZiBmaWxlIChpZiBpbWFnZSkgKi9cbiAgd2lkdGg/OiBudW1iZXIgfCBudWxsXG4gIC8qKiB3aGV0aGVyIHRoaXMgYXR0YWNobWVudCBpcyBlcGhlbWVyYWwuIEVwaGVtZXJhbCBhdHRhY2htZW50cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVtb3ZlZCBhZnRlciBhIHNldCBwZXJpb2Qgb2YgdGltZS4gRXBoZW1lcmFsIGF0dGFjaG1lbnRzIG9uIG1lc3NhZ2VzIGFyZSBndWFyYW50ZWVkIHRvIGJlIGF2YWlsYWJsZSBhcyBsb25nIGFzIHRoZSBtZXNzYWdlIGl0c2VsZiBleGlzdHMuICovXG4gIGVwaGVtZXJhbD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy93ZWJob29rI3dlYmhvb2stb2JqZWN0LXdlYmhvb2stc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkV2ViaG9vayA9IERpc2NvcmRJbmNvbWluZ1dlYmhvb2sgfCBEaXNjb3JkQXBwbGljYXRpb25XZWJob29rXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEluY29taW5nV2ViaG9vayB7XG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgd2ViaG9vayAqL1xuICB0eXBlOiBXZWJob29rVHlwZXNcbiAgLyoqIFRoZSBzZWN1cmUgdG9rZW4gb2YgdGhlIHdlYmhvb2sgKHJldHVybmVkIGZvciBJbmNvbWluZyBXZWJob29rcykgKi9cbiAgdG9rZW4/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgdXNlZCBmb3IgZXhlY3V0aW5nIHRoZSB3ZWJob29rIChyZXR1cm5lZCBieSB0aGUgd2ViaG9va3MgT0F1dGgyIGZsb3cpICovXG4gIHVybD86IHN0cmluZ1xuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHdlYmhvb2sgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGlzIHdlYmhvb2sgd2FzIGNyZWF0ZWQgYnkgKG5vdCByZXR1cm5lZCB3aGVuIGdldHRpbmcgYSB3ZWJob29rIHdpdGggaXRzIHRva2VuKSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlZmF1bHQgdXNlciBhdmF0YXIgaGFzaCBvZiB0aGUgd2ViaG9vayAqL1xuICBhdmF0YXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIHRoYXQgY3JlYXRlZCB0aGlzIHdlYmhvb2sgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgY2hhbm5lbCB0aGF0IHRoaXMgd2ViaG9vayBpcyBmb2xsb3dpbmcgKHJldHVybmVkIGZvciBDaGFubmVsIEZvbGxvd2VyIFdlYmhvb2tzKSAqL1xuICBzb3VyY2VfZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpICovXG4gIHNvdXJjZV9jaGFubmVsPzogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25XZWJob29rIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSB3ZWJob29rICovXG4gIHR5cGU6IFdlYmhvb2tUeXBlcy5BcHBsaWNhdGlvblxuICAvKiogVGhlIHNlY3VyZSB0b2tlbiBvZiB0aGUgd2ViaG9vayAocmV0dXJuZWQgZm9yIEluY29taW5nIFdlYmhvb2tzKSAqL1xuICB0b2tlbj86IHN0cmluZ1xuICAvKiogVGhlIHVybCB1c2VkIGZvciBleGVjdXRpbmcgdGhlIHdlYmhvb2sgKHJldHVybmVkIGJ5IHRoZSB3ZWJob29rcyBPQXV0aDIgZmxvdykgKi9cbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgd2ViaG9vayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIHRoaXMgd2ViaG9vayB3YXMgY3JlYXRlZCBieSAobm90IHJldHVybmVkIHdoZW4gZ2V0dGluZyBhIHdlYmhvb2sgd2l0aCBpdHMgdG9rZW4pICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgd2ViaG9vayAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVmYXVsdCB1c2VyIGF2YXRhciBoYXNoIG9mIHRoZSB3ZWJob29rICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgd2ViaG9vayAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpLCBmaWVsZCB3aWxsIGJlIGFic2VudCBpZiB0aGUgd2ViaG9vayBjcmVhdG9yIGhhcyBzaW5jZSBsb3N0IGFjY2VzcyB0byB0aGUgZ3VpbGQgd2hlcmUgdGhlIGZvbGxvd2VkIGNoYW5uZWwgcmVzaWRlcyAqL1xuICBzb3VyY2VfZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpLCBmaWVsZCB3aWxsIGJlIGFic2VudCBpZiB0aGUgd2ViaG9vayBjcmVhdG9yIGhhcyBzaW5jZSBsb3N0IGFjY2VzcyB0byB0aGUgZ3VpbGQgd2hlcmUgdGhlIGZvbGxvd2VkIGNoYW5uZWwgcmVzaWRlcyAqL1xuICBzb3VyY2VfY2hhbm5lbD86IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZCB7XG4gIC8qKiBHdWlsZCBuYW1lICgyLTEwMCBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgdHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZSkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUcnVlIGlmIHRoZSB1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI/OiBib29sZWFuXG4gIC8qKiBBZmsgdGltZW91dCBpbiBzZWNvbmRzICovXG4gIGFma190aW1lb3V0OiBudW1iZXJcbiAgLyoqIFRydWUgaWYgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICB3aWRnZXRfZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFZlcmlmaWNhdGlvbiBsZXZlbCByZXF1aXJlZCBmb3IgdGhlIGd1aWxkICovXG4gIHZlcmlmaWNhdGlvbl9sZXZlbDogVmVyaWZpY2F0aW9uTGV2ZWxzXG4gIC8qKiBEZWZhdWx0IG1lc3NhZ2Ugbm90aWZpY2F0aW9ucyBsZXZlbCAqL1xuICBkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9uczogRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHNcbiAgLyoqIEV4cGxpY2l0IGNvbnRlbnQgZmlsdGVyIGxldmVsICovXG4gIGV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyOiBFeHBsaWNpdENvbnRlbnRGaWx0ZXJMZXZlbHNcbiAgLyoqIEVuYWJsZWQgZ3VpbGQgZmVhdHVyZXMgKi9cbiAgZmVhdHVyZXM6IEd1aWxkRmVhdHVyZXNbXVxuICAvKiogUmVxdWlyZWQgTUZBIGxldmVsIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWZhX2xldmVsOiBNZmFMZXZlbHNcbiAgLyoqIFN5c3RlbSBjaGFubmVsIGZsYWdzICovXG4gIHN5c3RlbV9jaGFubmVsX2ZsYWdzOiBTeXN0ZW1DaGFubmVsRmxhZ3NcbiAgLyoqIFRydWUgaWYgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgbGFyZ2U/OiBib29sZWFuXG4gIC8qKiBUcnVlIGlmIHRoaXMgZ3VpbGQgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGFuIG91dGFnZSAqL1xuICB1bmF2YWlsYWJsZT86IGJvb2xlYW5cbiAgLyoqIFRvdGFsIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQgKi9cbiAgbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJlc2VuY2VzIGZvciB0aGUgZ3VpbGQgKHRoZSBkZWZhdWx0IHZhbHVlLCBjdXJyZW50bHkgMjUwMDAsIGlzIGluIGVmZmVjdCB3aGVuIG51bGwgaXMgcmV0dXJuZWQpICovXG4gIG1heF9wcmVzZW5jZXM/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWVtYmVycyBmb3IgdGhlIGd1aWxkICovXG4gIG1heF9tZW1iZXJzPzogbnVtYmVyXG4gIC8qKiBUaGUgdmFuaXR5IHVybCBjb2RlIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmFuaXR5X3VybF9jb2RlOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgYSBndWlsZCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogUHJlbWl1bSB0aWVyIChTZXJ2ZXIgQm9vc3QgbGV2ZWwpICovXG4gIHByZW1pdW1fdGllcjogUHJlbWl1bVRpZXJzXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGJvb3N0cyB0aGlzIGd1aWxkIGN1cnJlbnRseSBoYXMgKi9cbiAgcHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB1c2VycyBpbiBhIHZpZGVvIGNoYW5uZWwgKi9cbiAgbWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnM/OiBudW1iZXJcbiAgLyoqIE1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgc3RhZ2UgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2Vycz86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCwgcmV0dXJuZWQgZnJvbSB0aGUgR0VUIC9ndWlsZHMvaWQgZW5kcG9pbnQgd2hlbiB3aXRoX2NvdW50cyBpcyB0cnVlICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudD86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgbnVtYmVyIG9mIG5vbi1vZmZsaW5lIG1lbWJlcnMgaW4gdGhpcyBndWlsZCwgcmV0dXJuZWQgZnJvbSB0aGUgR0VUIC9ndWlsZHMvaWQgZW5kcG9pbnQgd2hlbiB3aXRoX2NvdW50cyBpcyB0cnVlICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50PzogbnVtYmVyXG4gIC8qKiBHdWlsZCBOU0ZXIGxldmVsICovXG4gIG5zZndfbGV2ZWw6IEd1aWxkTnNmd0xldmVsXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIHByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQ6IGJvb2xlYW5cbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEljb24gaGFzaCAqL1xuICBpY29uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBJY29uIGhhc2gsIHJldHVybmVkIHdoZW4gaW4gdGhlIHRlbXBsYXRlIG9iamVjdCAqL1xuICBpY29uX2hhc2g/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBTcGxhc2ggaGFzaCAqL1xuICBzcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIERpc2NvdmVyeSBzcGxhc2ggaGFzaDsgb25seSBwcmVzZW50IGZvciBndWlsZHMgd2l0aCB0aGUgXCJESVNDT1ZFUkFCTEVcIiBmZWF0dXJlICovXG4gIGRpc2NvdmVyeV9zcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIElkIG9mIHRoZSBvd25lciAqL1xuICBvd25lcl9pZDogc3RyaW5nXG4gIC8qKiBUb3RhbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHVzZXIgaW4gdGhlIGd1aWxkIChleGNsdWRlcyBvdmVyd3JpdGVzKSAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogSWQgb2YgYWZrIGNoYW5uZWwgKi9cbiAgYWZrX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoYXQgdGhlIHdpZGdldCB3aWxsIGdlbmVyYXRlIGFuIGludml0ZSB0bywgb3IgbnVsbCBpZiBzZXQgdG8gbm8gaW52aXRlICovXG4gIHdpZGdldF9jaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogUm9sZXMgaW4gdGhlIGd1aWxkICovXG4gIHJvbGVzOiBEaXNjb3JkUm9sZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgZ3VpbGQgbm90aWNlcyBzdWNoIGFzIHdlbGNvbWUgbWVzc2FnZXMgYW5kIGJvb3N0IGV2ZW50cyBhcmUgcG9zdGVkICovXG4gIHN5c3RlbV9jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGVuIHRoaXMgZ3VpbGQgd2FzIGpvaW5lZCBhdCAqL1xuICBqb2luZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZV9zdGF0ZXM/OiBBcnJheTxPbWl0PERpc2NvcmRWb2ljZVN0YXRlLCAnZ3VpbGRJZCc+PlxuICAvKiogVXNlcnMgaW4gdGhlIGd1aWxkICovXG4gIG1lbWJlcnM/OiBEaXNjb3JkTWVtYmVyW11cbiAgLyoqIENoYW5uZWxzIGluIHRoZSBndWlsZCAqL1xuICBjaGFubmVscz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ3VpbGQgdGhhdCB0aGUgY3VycmVudCB1c2VyIGhhcyBwZXJtaXNzaW9uIHRvIHZpZXcgKi9cbiAgdGhyZWFkcz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIFByZXNlbmNlcyBvZiB0aGUgbWVtYmVycyBpbiB0aGUgZ3VpbGQsIHdpbGwgb25seSBpbmNsdWRlIG5vbi1vZmZsaW5lIG1lbWJlcnMgaWYgdGhlIHNpemUgaXMgZ3JlYXRlciB0aGFuIGxhcmdlIHRocmVzaG9sZCAqL1xuICBwcmVzZW5jZXM/OiBBcnJheTxQYXJ0aWFsPERpc2NvcmRQcmVzZW5jZVVwZGF0ZT4+XG4gIC8qKiBCYW5uZXIgaGFzaCAqL1xuICBiYW5uZXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBwcmVmZXJyZWQgbG9jYWxlIG9mIGEgQ29tbXVuaXR5IGd1aWxkOyB1c2VkIGluIHNlcnZlciBkaXNjb3ZlcnkgYW5kIG5vdGljZXMgZnJvbSBEaXNjb3JkOyBkZWZhdWx0cyB0byBcImVuLVVTXCIgKi9cbiAgcHJlZmVycmVkX2xvY2FsZTogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgYWRtaW5zIGFuZCBtb2RlcmF0b3JzIG9mIENvbW11bml0eSBndWlsZHMgcmVjZWl2ZSBub3RpY2VzIGZyb20gRGlzY29yZCAqL1xuICBwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgd2VsY29tZSBzY3JlZW4gb2YgYSBDb21tdW5pdHkgZ3VpbGQsIHNob3duIHRvIG5ldyBtZW1iZXJzLCByZXR1cm5lZCBpbiBhbiBJbnZpdGUncyBndWlsZCBvYmplY3QgKi9cbiAgd2VsY29tZV9zY3JlZW4/OiBEaXNjb3JkV2VsY29tZVNjcmVlblxuICAvKiogU3RhZ2UgaW5zdGFuY2VzIGluIHRoZSBndWlsZCAqL1xuICBzdGFnZV9pbnN0YW5jZXM/OiBEaXNjb3JkU3RhZ2VJbnN0YW5jZVtdXG4gIC8qKiBjdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBhcnRpYWxHdWlsZCB7XG4gIC8qKiBHdWlsZCBuYW1lICgyLTEwMCBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgdHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZSkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBHdWlsZCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogdHJ1ZSBpZiB0aGUgdXNlciBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIG93bmVyOiBib29sZWFuXG4gIC8qKiB0b3RhbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHVzZXIgaW4gdGhlIGd1aWxkIChleGNsdWRlcyBvdmVyd3JpdGVzIGFuZCBpbXBsaWNpdCBwZXJtaXNzaW9ucykgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUm9sZSB7XG4gIC8qKiBSb2xlIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElmIHRoaXMgcm9sZSBpcyBzaG93ZWQgc2VwYXJhdGVseSBpbiB0aGUgdXNlciBsaXN0aW5nICovXG4gIGhvaXN0OiBib29sZWFuXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgbWFuYWdlZCBieSBhbiBpbnRlZ3JhdGlvbiAqL1xuICBtYW5hZ2VkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtZW50aW9uYWJsZSAqL1xuICBtZW50aW9uYWJsZTogYm9vbGVhblxuICAvKiogVGhlIHRhZ3MgdGhpcyByb2xlIGhhcyAqL1xuICB0YWdzPzogRGlzY29yZFJvbGVUYWdzXG4gIC8qKiB0aGUgcm9sZSBlbW9qaSBoYXNoICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIFJvbGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEludGVnZXIgcmVwcmVzZW50YXRpb24gb2YgaGV4YWRlY2ltYWwgY29sb3IgY29kZSAqL1xuICBjb2xvcjogbnVtYmVyXG4gIC8qKiBQb3NpdGlvbiBvZiB0aGlzIHJvbGUgKi9cbiAgcG9zaXRpb246IG51bWJlclxuICAvKiogcm9sZSB1bmljb2RlIGVtb2ppICovXG4gIHVuaWNvZGVfZW1vamk/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXRhZ3Mtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlVGFncyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdCB0aGlzIHJvbGUgYmVsb25ncyB0byAqL1xuICBib3RfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgaW50ZWdyYXRpb24gdGhpcyByb2xlIGJlbG9uZ3MgdG8gKi9cbiAgaW50ZWdyYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyB0aGUgZ3VpbGQncyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBwcmVtaXVtX3N1YnNjcmliZXI/OiBudWxsXG4gIC8qKiBJZCBvZiB0aGlzIHJvbGUncyBzdWJzY3JpcHRpb24gc2t1IGFuZCBsaXN0aW5nLiAqL1xuICBzdWJzY3JpcHRpb25fbGlzdGluZ19pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZS4gKi9cbiAgYXZhaWxhYmxlX2Zvcl9wdXJjaGFzZT86IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGd1aWxkJ3MgbGlua2VkIHJvbGUgKi9cbiAgZ3VpbGRfY29ubmVjdGlvbnM/OiBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjZW1vamktb2JqZWN0LWVtb2ppLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1vamkge1xuICAvKiogRW1vamkgbmFtZSAoY2FuIG9ubHkgYmUgbnVsbCBpbiByZWFjdGlvbiBlbW9qaSBvYmplY3RzKSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBFbW9qaSBpZCAqL1xuICBpZD86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG4gIC8qKiBVc2VyIHRoYXQgY3JlYXRlZCB0aGlzIGVtb2ppICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIG11c3QgYmUgd3JhcHBlZCBpbiBjb2xvbnMgKi9cbiAgcmVxdWlyZV9jb2xvbnM/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGNhbiBiZSB1c2VkLCBtYXkgYmUgZmFsc2UgZHVlIHRvIGxvc3Mgb2YgU2VydmVyIEJvb3N0cyAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdm9pY2Ujdm9pY2Utc3RhdGUtb2JqZWN0LXZvaWNlLXN0YXRlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VTdGF0ZSB7XG4gIC8qKiBUaGUgc2Vzc2lvbiBpZCBmb3IgdGhpcyB2b2ljZSBzdGF0ZSAqL1xuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB1c2VyIGlzIGNvbm5lY3RlZCB0byAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlciBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBtZW1iZXIgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBkZWFmZW5lZCBieSB0aGUgc2VydmVyICovXG4gIGRlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBzZXJ2ZXIgKi9cbiAgbXV0ZTogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgbG9jYWxseSBkZWFmZW5lZCAqL1xuICBzZWxmX2RlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIGxvY2FsbHkgbXV0ZWQgKi9cbiAgc2VsZl9tdXRlOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBzdHJlYW1pbmcgdXNpbmcgXCJHbyBMaXZlXCIgKi9cbiAgc2VsZl9zdHJlYW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlcidzIGNhbWVyYSBpcyBlbmFibGVkICovXG4gIHNlbGZfdmlkZW86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgc3VwcHJlc3M6IGJvb2xlYW5cbiAgLyoqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSB1c2VyIHJlcXVlc3RlZCB0byBzcGVhayAqL1xuICByZXF1ZXN0X3RvX3NwZWFrX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjY2hhbm5lbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZTogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBFeHBsaWNpdCBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgZm9yIG1lbWJlcnMgYW5kIHJvbGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKDEtMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIHRvcGljICgwLTQwOTYgY2hhcmFjdGVycyBmb3IgR1VJTERfRk9SVU0gY2hhbm5lbHMsIDAtMTAyNCBjaGFyYWN0ZXJzIGZvciBhbGwgb3RoZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBsYXN0IG1lc3NhZ2Ugc2VudCBpbiB0aGlzIGNoYW5uZWwgKG1heSBub3QgcG9pbnQgdG8gYW4gZXhpc3Rpbmcgb3IgdmFsaWQgbWVzc2FnZSkgKi9cbiAgbGFzdF9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXJcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIHJlY2lwaWVudHMgb2YgdGhlIERNICovXG4gIHJlY2lwaWVudHM/OiBEaXNjb3JkVXNlcltdXG4gIC8qKiBpY29uIGhhc2ggb2YgdGhlIGdyb3VwIERNICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBjcmVhdG9yIG9mIHRoZSB0aHJlYWQgKi9cbiAgb3duZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBncm91cCBETSBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZ3JvdXAgRE0gY2hhbm5lbHM6IHdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbWFuYWdlZCBieSBhbiBhcHBsaWNhdGlvbiB2aWEgdGhlIGBnZG0uam9pbmAgT0F1dGgyIHNjb3BlLiAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogRm9yIGd1aWxkIGNoYW5uZWxzOiBJZCBvZiB0aGUgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKGVhY2ggcGFyZW50IGNhdGVnb3J5IGNhbiBjb250YWluIHVwIHRvIDUwIGNoYW5uZWxzKSwgZm9yIHRocmVhZHM6IGlkIG9mIHRoZSB0ZXh0IGNoYW5uZWwgdGhpcyB0aHJlYWQgd2FzIGNyZWF0ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiB0aGUgbGFzdCBwaW5uZWQgbWVzc2FnZSB3YXMgcGlubmVkLiBUaGlzIG1heSBiZSBudWxsIGluIGV2ZW50cyBzdWNoIGFzIEdVSUxEX0NSRUFURSB3aGVuIGEgbWVzc2FnZSBpcyBub3QgcGlubmVkLiAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwsIDEgd2hlbiBub3QgcHJlc2VudCAqL1xuICB2aWRlb19xdWFsaXR5X21vZGU/OiBWaWRlb1F1YWxpdHlNb2Rlc1xuICAvKiogQW4gYXBwcm94aW1hdGUgY291bnQgb2YgbWVzc2FnZXMgaW4gYSB0aHJlYWQsIHN0b3BzIGNvdW50aW5nIGF0IDUwICovXG4gIG1lc3NhZ2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHVzZXJzIGluIGEgdGhyZWFkLCBzdG9wcyBjb3VudGluZyBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRocmVhZC1zcGVjaWZpYyBmaWVsZHMgbm90IG5lZWRlZCBieSBvdGhlciBjaGFubmVscyAqL1xuICB0aHJlYWRfbWV0YWRhdGE/OiBEaXNjb3JkVGhyZWFkTWV0YWRhdGFcbiAgLyoqIFRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciB0aGUgY3VycmVudCB1c2VyLCBpZiB0aGV5IGhhdmUgam9pbmVkIHRoZSB0aHJlYWQsIG9ubHkgaW5jbHVkZWQgb24gY2VydGFpbiBBUEkgZW5kcG9pbnRzICovXG4gIG1lbWJlcj86IERpc2NvcmRUaHJlYWRNZW1iZXJcbiAgLyoqIERlZmF1bHQgZHVyYXRpb24gZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcywgaW4gbWludXRlcywgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciB0aGUgaW52b2tpbmcgdXNlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIG9ubHkgaW5jbHVkZWQgd2hlbiBwYXJ0IG9mIHRoZSByZXNvbHZlZCBkYXRhIHJlY2VpdmVkIG9uIGEgYXBwbGljYXRpb24gY29tbWFuZCBpbnRlcmFjdGlvbiAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIG9mIHRoZSBjaGFubmVsICovXG4gIGZsYWdzPzogQ2hhbm5lbEZsYWdzXG4gIC8qKiBudW1iZXIgb2YgbWVzc2FnZXMgZXZlciBzZW50IGluIGEgdGhyZWFkLCBpdCdzIHNpbWlsYXIgdG8gYG1lc3NhZ2VfY291bnRgIG9uIG1lc3NhZ2UgY3JlYXRpb24sIGJ1dCB3aWxsIG5vdCBkZWNyZW1lbnQgdGhlIG51bWJlciB3aGVuIGEgbWVzc2FnZSBpcyBkZWxldGVkICovXG4gIHRvdGFsX21lc3NhZ2Vfc2VudD86IG51bWJlclxuICAvKiogVGhlIHNldCBvZiB0YWdzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGF2YWlsYWJsZV90YWdzPzogRGlzY29yZEZvcnVtVGFnW11cbiAgLyoqIFRoZSBJRHMgb2YgdGhlIHNldCBvZiB0YWdzIHRoYXQgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGFwcGxpZWRfdGFnczogc3RyaW5nW11cbiAgLyoqIHRoZSBlbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppIHwgbnVsbFxuICAvKiogdGhlIGluaXRpYWwgcmF0ZV9saW1pdF9wZXJfdXNlciB0byBzZXQgb24gbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIGEgY2hhbm5lbC4gdGhpcyBmaWVsZCBpcyBjb3BpZWQgdG8gdGhlIHRocmVhZCBhdCBjcmVhdGlvbiB0aW1lIGFuZCBkb2VzIG5vdCBsaXZlIHVwZGF0ZS4gKi9cbiAgZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcjogbnVtYmVyXG4gIC8qKiB0aGUgZGVmYXVsdCBzb3J0IG9yZGVyIHR5cGUgdXNlZCB0byBvcmRlciBwb3N0cyBpbiBHVUlMRF9GT1JVTSBjaGFubmVscy4gRGVmYXVsdHMgdG8gbnVsbCwgd2hpY2ggaW5kaWNhdGVzIGEgcHJlZmVycmVkIHNvcnQgb3JkZXIgaGFzbid0IGJlZW4gc2V0IGJ5IGEgY2hhbm5lbCBhZG1pbiAqL1xuICBkZWZhdWx0X3NvcnRfb3JkZXI/OiBTb3J0T3JkZXJUeXBlcyB8IG51bGxcbiAgLyoqIHRoZSBkZWZhdWx0IGZvcnVtIGxheW91dCB2aWV3IHVzZWQgdG8gZGlzcGxheSBwb3N0cyBpbiBgR1VJTERfRk9SVU1gIGNoYW5uZWxzLiBEZWZhdWx0cyB0byBgMGAsIHdoaWNoIGluZGljYXRlcyBhIGxheW91dCB2aWV3IGhhcyBub3QgYmVlbiBzZXQgYnkgYSBjaGFubmVsIGFkbWluICovXG4gIGRlZmF1bHRfZm9ydW1fbGF5b3V0PzogRm9ydW1MYXlvdXRcbiAgLyoqIFdoZW4gYSB0aHJlYWQgaXMgY3JlYXRlZCB0aGlzIHdpbGwgYmUgdHJ1ZSBvbiB0aGF0IGNoYW5uZWwgcGF5bG9hZCBmb3IgdGhlIHRocmVhZC4gKi9cbiAgbmV3bHlfY3JlYXRlZD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3ByZXNlbmNlLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUge1xuICAvKiogRWl0aGVyIFwiaWRsZVwiLCBcImRuZFwiLCBcIm9ubGluZVwiLCBvciBcIm9mZmxpbmVcIiAqL1xuICBzdGF0dXM6ICdpZGxlJyB8ICdkbmQnIHwgJ29ubGluZScgfCAnb2ZmbGluZSdcbiAgLyoqIFRoZSB1c2VyIHByZXNlbmNlIGlzIGJlaW5nIHVwZGF0ZWQgZm9yICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVXNlcidzIGN1cnJlbnQgYWN0aXZpdGllcyAqL1xuICBhY3Rpdml0aWVzOiBEaXNjb3JkQWN0aXZpdHlbXVxuICAvKiogVXNlcidzIHBsYXRmb3JtLWRlcGVuZGVudCBzdGF0dXMgKi9cbiAgY2xpZW50X3N0YXR1czogRGlzY29yZENsaWVudFN0YXR1c1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI3dlbGNvbWUtc2NyZWVuLW9iamVjdC13ZWxjb21lLXNjcmVlbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFdlbGNvbWVTY3JlZW4ge1xuICAvKiogVGhlIHNlcnZlciBkZXNjcmlwdGlvbiBzaG93biBpbiB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVscyBzaG93biBpbiB0aGUgd2VsY29tZSBzY3JlZW4sIHVwIHRvIDUgKi9cbiAgd2VsY29tZV9jaGFubmVsczogRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCN3ZWxjb21lLXNjcmVlbi1vYmplY3Qtd2VsY29tZS1zY3JlZW4tY2hhbm5lbC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsIHtcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBzaG93biBmb3IgdGhlIGNoYW5uZWwgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwncyBpZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBlbW9qaSBpZCwgaWYgdGhlIGVtb2ppIGlzIGN1c3RvbSAqL1xuICBlbW9qaV9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGVtb2ppIG5hbWUgaWYgY3VzdG9tLCB0aGUgdW5pY29kZSBjaGFyYWN0ZXIgaWYgc3RhbmRhcmQsIG9yIGBudWxsYCBpZiBubyBlbW9qaSBpcyBzZXQgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0YWdlLWluc3RhbmNlI2F1dG8tY2xvc2luZy1zdGFnZS1pbnN0YW5jZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0YWdlSW5zdGFuY2Uge1xuICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgdG9waWM6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCBmb3IgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWV0YWRhdGEge1xuICAvKiogV2hldGhlciB0aGUgdGhyZWFkIGlzIGFyY2hpdmVkICovXG4gIGFyY2hpdmVkOiBib29sZWFuXG4gIC8qKiBEdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb246IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBsb2NrZWQsIG9ubHkgdXNlcnMgd2l0aCBgTUFOQUdFX1RIUkVBRFNgIGNhbiB1bmFyY2hpdmUgaXQgKi9cbiAgbG9ja2VkOiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIG5vbi1tb2RlcmF0b3JzIGNhbiBhZGQgb3RoZXIgbm9uLW1vZGVyYXRvcnMgdG8gYSB0aHJlYWQ7IG9ubHkgYXZhaWxhYmxlIG9uIHByaXZhdGUgdGhyZWFkcyAqL1xuICBpbnZpdGFibGU/OiBib29sZWFuXG4gIC8qKiBUaW1lc3RhbXAgd2hlbiB0aGUgdGhyZWFkJ3MgYXJjaGl2ZSBzdGF0dXMgd2FzIGxhc3QgY2hhbmdlZCwgdXNlZCBmb3IgY2FsY3VsYXRpbmcgcmVjZW50IGFjdGl2aXR5ICovXG4gIGFyY2hpdmVfdGltZXN0YW1wOiBzdHJpbmdcbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoZSB0aHJlYWQgd2FzIGNyZWF0ZWQ7IG9ubHkgcG9wdWxhdGVkIGZvciB0aHJlYWRzIGNyZWF0ZWQgYWZ0ZXIgMjAyMi0wMS0wOSAqL1xuICBjcmVhdGVfdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZW1iZXIge1xuICAvKiogQW55IHVzZXItdGhyZWFkIHNldHRpbmdzLCBjdXJyZW50bHkgb25seSB1c2VkIGZvciBub3RpZmljYXRpb25zICovXG4gIGZsYWdzOiBudW1iZXJcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0aW1lIHRoZSBjdXJyZW50IHVzZXIgbGFzdCBqb2luZWQgdGhlIHRocmVhZCAqL1xuICBqb2luX3RpbWVzdGFtcDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjYWN0aXZpdHktb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eSB7XG4gIC8qKiBUaGUgYWN0aXZpdHkncyBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogQWN0aXZpdHkgdHlwZSAqL1xuICB0eXBlOiBBY3Rpdml0eVR5cGVzXG4gIC8qKiBTdHJlYW0gdXJsLCBpcyB2YWxpZGF0ZWQgd2hlbiB0eXBlIGlzIDEgKi9cbiAgdXJsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVW5peCB0aW1lc3RhbXAgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgd2FzIGFkZGVkIHRvIHRoZSB1c2VyJ3Mgc2Vzc2lvbiAqL1xuICBjcmVhdGVkX2F0OiBudW1iZXJcbiAgLyoqIFdoYXQgdGhlIHBsYXllciBpcyBjdXJyZW50bHkgZG9pbmcgKi9cbiAgZGV0YWlscz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1c2VyJ3MgY3VycmVudCBwYXJ0eSBzdGF0dXMgKi9cbiAgc3RhdGU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgYWN0aXZpdHkgaXMgYW4gaW5zdGFuY2VkIGdhbWUgc2Vzc2lvbiAqL1xuICBpbnN0YW5jZT86IGJvb2xlYW5cbiAgLyoqIEFjdGl2aXR5IGZsYWdzIGBPUmBkIHRvZ2V0aGVyLCBkZXNjcmliZXMgd2hhdCB0aGUgcGF5bG9hZCBpbmNsdWRlcyAqL1xuICBmbGFncz86IG51bWJlclxuICAvKiogVW5peCB0aW1lc3RhbXBzIGZvciBzdGFydCBhbmQvb3IgZW5kIG9mIHRoZSBnYW1lICovXG4gIHRpbWVzdGFtcHM/OiBEaXNjb3JkQWN0aXZpdHlUaW1lc3RhbXBzXG4gIC8qKiBBcHBsaWNhdGlvbiBpZCBmb3IgdGhlIGdhbWUgKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBlbW9qaSB1c2VkIGZvciBhIGN1c3RvbSBzdGF0dXMgKi9cbiAgZW1vamk/OiBEaXNjb3JkQWN0aXZpdHlFbW9qaSB8IG51bGxcbiAgLyoqIEluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBwYXJ0eSBvZiB0aGUgcGxheWVyICovXG4gIHBhcnR5PzogRGlzY29yZEFjdGl2aXR5UGFydHlcbiAgLyoqIEltYWdlcyBmb3IgdGhlIHByZXNlbmNlIGFuZCB0aGVpciBob3ZlciB0ZXh0cyAqL1xuICBhc3NldHM/OiBEaXNjb3JkQWN0aXZpdHlBc3NldHNcbiAgLyoqIFNlY3JldHMgZm9yIFJpY2ggUHJlc2VuY2Ugam9pbmluZyBhbmQgc3BlY3RhdGluZyAqL1xuICBzZWNyZXRzPzogRGlzY29yZEFjdGl2aXR5U2VjcmV0c1xuICAvKiogVGhlIGN1c3RvbSBidXR0b25zIHNob3duIGluIHRoZSBSaWNoIFByZXNlbmNlIChtYXggMikgKi9cbiAgYnV0dG9ucz86IERpc2NvcmRBY3Rpdml0eUJ1dHRvbltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNjbGllbnQtc3RhdHVzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2xpZW50U3RhdHVzIHtcbiAgLyoqIFRoZSB1c2VyJ3Mgc3RhdHVzIHNldCBmb3IgYW4gYWN0aXZlIGRlc2t0b3AgKFdpbmRvd3MsIExpbnV4LCBNYWMpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgZGVza3RvcD86IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBzdGF0dXMgc2V0IGZvciBhbiBhY3RpdmUgbW9iaWxlIChpT1MsIEFuZHJvaWQpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgbW9iaWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIHN0YXR1cyBzZXQgZm9yIGFuIGFjdGl2ZSB3ZWIgKGJyb3dzZXIsIGJvdCBhY2NvdW50KSBhcHBsaWNhdGlvbiBzZXNzaW9uICovXG4gIHdlYj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LXRpbWVzdGFtcHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5VGltZXN0YW1wcyB7XG4gIC8qKiBVbml4IHRpbWUgKGluIG1pbGxpc2Vjb25kcykgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgc3RhcnRlZCAqL1xuICBzdGFydD86IG51bWJlclxuICAvKiogVW5peCB0aW1lIChpbiBtaWxsaXNlY29uZHMpIG9mIHdoZW4gdGhlIGFjdGl2aXR5IGVuZHMgKi9cbiAgZW5kPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktZW1vamkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5RW1vamkge1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBlbW9qaSAqL1xuICBpZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LXBhcnR5ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eVBhcnR5IHtcbiAgLyoqIFVzZWQgdG8gc2hvdyB0aGUgcGFydHkncyBjdXJyZW50IGFuZCBtYXhpbXVtIHNpemUgKi9cbiAgc2l6ZT86IFtjdXJyZW50U2l6ZTogbnVtYmVyLCBtYXhTaXplOiBudW1iZXJdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHBhcnR5ICovXG4gIGlkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktYXNzZXRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUFzc2V0cyB7XG4gIC8qKiBUZXh0IGRpc3BsYXllZCB3aGVuIGhvdmVyaW5nIG92ZXIgdGhlIGxhcmdlIGltYWdlIG9mIHRoZSBhY3Rpdml0eSAqL1xuICBsYXJnZV90ZXh0Pzogc3RyaW5nXG4gIC8qKiBUZXh0IGRpc3BsYXllZCB3aGVuIGhvdmVyaW5nIG92ZXIgdGhlIHNtYWxsIGltYWdlIG9mIHRoZSBhY3Rpdml0eSAqL1xuICBzbWFsbF90ZXh0Pzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgZm9yIGEgbGFyZ2UgYXNzZXQgb2YgdGhlIGFjdGl2aXR5LCB1c3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGxhcmdlX2ltYWdlPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgZm9yIGEgc21hbGwgYXNzZXQgb2YgdGhlIGFjdGl2aXR5LCB1c3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIHNtYWxsX2ltYWdlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktc2VjcmV0cyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlTZWNyZXRzIHtcbiAgLyoqIFRoZSBzZWNyZXQgZm9yIGpvaW5pbmcgYSBwYXJ0eSAqL1xuICBqb2luPzogc3RyaW5nXG4gIC8qKiBUaGUgc2VjcmV0IGZvciBzcGVjdGF0aW5nIGEgZ2FtZSAqL1xuICBzcGVjdGF0ZT86IHN0cmluZ1xuICAvKiogVGhlIHNlY3JldCBmb3IgYSBzcGVjaWZpYyBpbnN0YW5jZWQgbWF0Y2ggKi9cbiAgbWF0Y2g/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1idXR0b25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUJ1dHRvbiB7XG4gIC8qKiBUaGUgdGV4dCBzaG93biBvbiB0aGUgYnV0dG9uICgxLTMyIGNoYXJhY3RlcnMpICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb3BlbmVkIHdoZW4gY2xpY2tpbmcgdGhlIGJ1dHRvbiAoMS01MTIgY2hhcmFjdGVycykgKi9cbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkT3ZlcndyaXRlIHtcbiAgLyoqIEVpdGhlciAwIChyb2xlKSBvciAxIChtZW1iZXIpICovXG4gIHR5cGU6IE92ZXJ3cml0ZVR5cGVzXG4gIC8qKiBSb2xlIG9yIHVzZXIgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGFsbG93Pzogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgZGVueT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZW1iZXJXaXRoVXNlciBleHRlbmRzIERpc2NvcmRNZW1iZXIge1xuICAvKiogVGhlIHVzZXIgb2JqZWN0IGZvciB0aGlzIG1lbWJlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2Uge1xuICAvKiogaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGNoYW5uZWwgdGhlIG1lc3NhZ2Ugd2FzIHNlbnQgaW4gKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBpZCBvZiB0aGUgZ3VpbGQgdGhlIG1lc3NhZ2Ugd2FzIHNlbnQgaW5cbiAgICogTm90ZTogRm9yIE1FU1NBR0VfQ1JFQVRFIGFuZCBNRVNTQUdFX1VQREFURSBldmVudHMsIHRoZSBtZXNzYWdlIG9iamVjdCBtYXkgbm90IGNvbnRhaW4gYSBndWlsZF9pZCBvciBtZW1iZXIgZmllbGQgc2luY2UgdGhlIGV2ZW50cyBhcmUgc2VudCBkaXJlY3RseSB0byB0aGUgcmVjZWl2aW5nIHVzZXIgYW5kIHRoZSBib3Qgd2hvIHNlbnQgdGhlIG1lc3NhZ2UsIHJhdGhlciB0aGFuIGJlaW5nIHNlbnQgdGhyb3VnaCB0aGUgZ3VpbGQgbGlrZSBub24tZXBoZW1lcmFsIG1lc3NhZ2VzLlxuICAgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBhdXRob3Igb2YgdGhpcyBtZXNzYWdlIChub3QgZ3VhcmFudGVlZCB0byBiZSBhIHZhbGlkIHVzZXIpXG4gICAqIE5vdGU6IFRoZSBhdXRob3Igb2JqZWN0IGZvbGxvd3MgdGhlIHN0cnVjdHVyZSBvZiB0aGUgdXNlciBvYmplY3QsIGJ1dCBpcyBvbmx5IGEgdmFsaWQgdXNlciBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB1c2VyIG9yIGJvdCB1c2VyLiBJZiB0aGUgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB3ZWJob29rLCB0aGUgYXV0aG9yIG9iamVjdCBjb3JyZXNwb25kcyB0byB0aGUgd2ViaG9vaydzIGlkLCB1c2VybmFtZSwgYW5kIGF2YXRhci4gWW91IGNhbiB0ZWxsIGlmIGEgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB3ZWJob29rIGJ5IGNoZWNraW5nIGZvciB0aGUgd2ViaG9va19pZCBvbiB0aGUgbWVzc2FnZSBvYmplY3QuXG4gICAqL1xuICBhdXRob3I6IERpc2NvcmRVc2VyXG4gIC8qKlxuICAgKiBNZW1iZXIgcHJvcGVydGllcyBmb3IgdGhpcyBtZXNzYWdlJ3MgYXV0aG9yXG4gICAqIE5vdGU6IFRoZSBtZW1iZXIgb2JqZWN0IGV4aXN0cyBpbiBgTUVTU0FHRV9DUkVBVEVgIGFuZCBgTUVTU0FHRV9VUERBVEVgIGV2ZW50cyBmcm9tIHRleHQtYmFzZWQgZ3VpbGQgY2hhbm5lbHMuIFRoaXMgYWxsb3dzIGJvdHMgdG8gb2J0YWluIHJlYWwtdGltZSBtZW1iZXIgZGF0YSB3aXRob3V0IHJlcXVpcmluZyBib3RzIHRvIHN0b3JlIG1lbWJlciBzdGF0ZSBpbiBtZW1vcnkuXG4gICAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyXG4gIC8qKiBDb250ZW50cyBvZiB0aGUgbWVzc2FnZSAqL1xuICBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgbWVzc2FnZSB3YXMgc2VudCAqL1xuICB0aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogV2hlbiB0aGlzIG1lc3NhZ2Ugd2FzIGVkaXRlZCAob3IgbnVsbCBpZiBuZXZlcikgKi9cbiAgZWRpdGVkX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGlzIHdhcyBhIFRUUyBtZXNzYWdlICovXG4gIHR0czogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgbWVudGlvbnMgZXZlcnlvbmUgKi9cbiAgbWVudGlvbl9ldmVyeW9uZTogYm9vbGVhblxuICAvKipcbiAgICogVXNlcnMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGUgbWVzc2FnZVxuICAgKiBOb3RlOiBUaGUgdXNlciBvYmplY3RzIGluIHRoZSBtZW50aW9ucyBhcnJheSB3aWxsIG9ubHkgaGF2ZSB0aGUgcGFydGlhbCBtZW1iZXIgZmllbGQgcHJlc2VudCBpbiBgTUVTU0FHRV9DUkVBVEVgIGFuZCBgTUVTU0FHRV9VUERBVEVgIGV2ZW50cyBmcm9tIHRleHQtYmFzZWQgZ3VpbGQgY2hhbm5lbHMuXG4gICAqL1xuICBtZW50aW9uczogQXJyYXk8RGlzY29yZFVzZXIgJiB7IG1lbWJlcj86IFBhcnRpYWw8RGlzY29yZE1lbWJlcj4gfT5cbiAgLyoqIFJvbGVzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgaW4gdGhpcyBtZXNzYWdlICovXG4gIG1lbnRpb25fcm9sZXM/OiBzdHJpbmdbXVxuICAvKipcbiAgICogQ2hhbm5lbHMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2VcbiAgICogTm90ZTogTm90IGFsbCBjaGFubmVsIG1lbnRpb25zIGluIGEgbWVzc2FnZSB3aWxsIGFwcGVhciBpbiBgbWVudGlvbl9jaGFubmVsc2AuIE9ubHkgdGV4dHVhbCBjaGFubmVscyB0aGF0IGFyZSB2aXNpYmxlIHRvIGV2ZXJ5b25lIGluIGEgZGlzY292ZXJhYmxlIGd1aWxkIHdpbGwgZXZlciBiZSBpbmNsdWRlZC4gT25seSBjcm9zc3Bvc3RlZCBtZXNzYWdlcyAodmlhIENoYW5uZWwgRm9sbG93aW5nKSBjdXJyZW50bHkgaW5jbHVkZSBgbWVudGlvbl9jaGFubmVsc2AgYXQgYWxsLiBJZiBubyBtZW50aW9ucyBpbiB0aGUgbWVzc2FnZSBtZWV0IHRoZXNlIHJlcXVpcmVtZW50cywgdGhpcyBmaWVsZCB3aWxsIG5vdCBiZSBzZW50LlxuICAgKi9cbiAgbWVudGlvbl9jaGFubmVscz86IERpc2NvcmRDaGFubmVsTWVudGlvbltdXG4gIC8qKiBBbnkgYXR0YWNoZWQgZmlsZXMgKi9cbiAgYXR0YWNobWVudHM6IERpc2NvcmRBdHRhY2htZW50W11cbiAgLyoqIEFueSBlbWJlZGRlZCBjb250ZW50ICovXG4gIGVtYmVkczogRGlzY29yZEVtYmVkW11cbiAgLyoqIFJlYWN0aW9ucyB0byB0aGUgbWVzc2FnZSAqL1xuICByZWFjdGlvbnM/OiBEaXNjb3JkUmVhY3Rpb25bXVxuICAvKiogVXNlZCBmb3IgdmFsaWRhdGluZyBhIG1lc3NhZ2Ugd2FzIHNlbnQgKi9cbiAgbm9uY2U/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIGlzIHBpbm5lZCAqL1xuICBwaW5uZWQ6IGJvb2xlYW5cbiAgLyoqIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoaXMgaXMgdGhlIHdlYmhvb2sncyBpZCAqL1xuICB3ZWJob29rX2lkPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIG1lc3NhZ2UgKi9cbiAgdHlwZTogTWVzc2FnZVR5cGVzXG4gIC8qKiBTZW50IHdpdGggUmljaCBQcmVzZW5jZS1yZWxhdGVkIGNoYXQgZW1iZWRzICovXG4gIGFjdGl2aXR5PzogRGlzY29yZE1lc3NhZ2VBY3Rpdml0eVxuICAvKiogU2VudCB3aXRoIFJpY2ggUHJlc2VuY2UtcmVsYXRlZCBjaGF0IGVtYmVkcyAqL1xuICBhcHBsaWNhdGlvbj86IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPlxuICAvKiogaWYgdGhlIG1lc3NhZ2UgaXMgYW4gSW50ZXJhY3Rpb24gb3IgYXBwbGljYXRpb24tb3duZWQgd2ViaG9vaywgdGhpcyBpcyB0aGUgaWQgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBEYXRhIHNob3dpbmcgdGhlIHNvdXJjZSBvZiBhIGNyb3NzcG9zdGVkIGNoYW5uZWwgZm9sbG93IGFkZCwgcGluIG9yIHJlcGx5IG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9yZWZlcmVuY2U/OiBPbWl0PERpc2NvcmRNZXNzYWdlUmVmZXJlbmNlLCAnZmFpbElmTm90RXhpc3RzJz5cbiAgLyoqIE1lc3NhZ2UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IG51bWJlclxuICAvKipcbiAgICogVGhlIHN0aWNrZXJzIHNlbnQgd2l0aCB0aGUgbWVzc2FnZSAoYm90cyBjdXJyZW50bHkgY2FuIG9ubHkgcmVjZWl2ZSBtZXNzYWdlcyB3aXRoIHN0aWNrZXJzLCBub3Qgc2VuZClcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHN0aWNrZXJzPzogRGlzY29yZFN0aWNrZXJbXVxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBgbWVzc2FnZV9yZWZlcmVuY2VgXG4gICAqIE5vdGU6IFRoaXMgZmllbGQgaXMgb25seSByZXR1cm5lZCBmb3IgbWVzc2FnZXMgd2l0aCBhIGB0eXBlYCBvZiBgMTlgIChSRVBMWSkuIElmIHRoZSBtZXNzYWdlIGlzIGEgcmVwbHkgYnV0IHRoZSBgcmVmZXJlbmNlZF9tZXNzYWdlYCBmaWVsZCBpcyBub3QgcHJlc2VudCwgdGhlIGJhY2tlbmQgZGlkIG5vdCBhdHRlbXB0IHRvIGZldGNoIHRoZSBtZXNzYWdlIHRoYXQgd2FzIGJlaW5nIHJlcGxpZWQgdG8sIHNvIGl0cyBzdGF0ZSBpcyB1bmtub3duLiBJZiB0aGUgZmllbGQgZXhpc3RzIGJ1dCBpcyBudWxsLCB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIHdhcyBkZWxldGVkLlxuICAgKi9cbiAgcmVmZXJlbmNlZF9tZXNzYWdlPzogRGlzY29yZE1lc3NhZ2VcbiAgLyoqIFNlbnQgaWYgdGhlIG1lc3NhZ2UgaXMgYSByZXNwb25zZSB0byBhbiBJbnRlcmFjdGlvbiAqL1xuICBpbnRlcmFjdGlvbj86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25cbiAgLyoqIFRoZSB0aHJlYWQgdGhhdCB3YXMgc3RhcnRlZCBmcm9tIHRoaXMgbWVzc2FnZSwgaW5jbHVkZXMgdGhyZWFkIG1lbWJlciBvYmplY3QgKi9cbiAgdGhyZWFkPzogT21pdDxEaXNjb3JkQ2hhbm5lbCwgJ21lbWJlcic+ICYgeyBtZW1iZXI6IERpc2NvcmRUaHJlYWRNZW1iZXIgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogU2VudCBpZiB0aGUgbWVzc2FnZSBjb250YWlucyBzdGlja2VycyAqL1xuICBzdGlja2VyX2l0ZW1zPzogRGlzY29yZFN0aWNrZXJJdGVtW11cbiAgLyoqIEEgZ2VuZXJhbGx5IGluY3JlYXNpbmcgaW50ZWdlciAodGhlcmUgbWF5IGJlIGdhcHMgb3IgZHVwbGljYXRlcykgdGhhdCByZXByZXNlbnRzIHRoZSBhcHByb3hpbWF0ZSBwb3NpdGlvbiBvZiB0aGUgbWVzc2FnZSBpbiBhIHRocmVhZCwgaXQgY2FuIGJlIHVzZWQgdG8gZXN0aW1hdGUgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIGluIGEgdGhyZWFkIGluIGNvbXBhbnkgd2l0aCBgdG90YWxfbWVzc2FnZV9zZW50YCBvbiBwYXJlbnQgdGhyZWFkICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNjaGFubmVsLW1lbnRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsTWVudGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgY29udGFpbmluZyB0aGUgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU6IG51bWJlclxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNyZWFjdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uIHtcbiAgLyoqIFRpbWVzIHRoaXMgZW1vamkgaGFzIGJlZW4gdXNlZCB0byByZWFjdCAqL1xuICBjb3VudDogbnVtYmVyXG4gIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgcmVhY3RlZCB1c2luZyB0aGlzIGVtb2ppICovXG4gIG1lOiBib29sZWFuXG4gIC8qKiBFbW9qaSBpbmZvcm1hdGlvbiAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdC1tZXNzYWdlLWFjdGl2aXR5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUFjdGl2aXR5IHtcbiAgLyoqIFR5cGUgb2YgbWVzc2FnZSBhY3Rpdml0eSAqL1xuICB0eXBlOiBNZXNzYWdlQWN0aXZpdHlUeXBlc1xuICAvKiogYHBhcnR5X2lkYCBmcm9tIGEgUmljaCBQcmVzZW5jZSBldmVudCAqL1xuICBwYXJ0eV9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QtbWVzc2FnZS1yZWZlcmVuY2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVmZXJlbmNlIHtcbiAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgY2hhbm5lbFxuICAgKiBOb3RlOiBgY2hhbm5lbF9pZGAgaXMgb3B0aW9uYWwgd2hlbiBjcmVhdGluZyBhIHJlcGx5LCBidXQgd2lsbCBhbHdheXMgYmUgcHJlc2VudCB3aGVuIHJlY2VpdmluZyBhbiBldmVudC9yZXNwb25zZSB0aGF0IGluY2x1ZGVzIHRoaXMgZGF0YSBtb2RlbC5cbiAgICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZW4gc2VuZGluZywgd2hldGhlciB0byBlcnJvciBpZiB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIGRvZXNuJ3QgZXhpc3QgaW5zdGVhZCBvZiBzZW5kaW5nIGFzIGEgbm9ybWFsIChub24tcmVwbHkpIG1lc3NhZ2UsIGRlZmF1bHQgdHJ1ZSAqL1xuICBmYWlsX2lmX25vdF9leGlzdHM6IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VyIHtcbiAgLyoqIFtJZCBvZiB0aGUgc3RpY2tlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBwYWNrIHRoZSBzdGlja2VyIGlzIGZyb20gKi9cbiAgcGFja19pZD86IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgc3RpY2tlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBzdGlja2VyICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIGEgdW5pY29kZSBlbW9qaSByZXByZXNlbnRpbmcgdGhlIHN0aWNrZXIncyBleHByZXNzaW9uICovXG4gIHRhZ3M6IHN0cmluZ1xuICAvKiogW3R5cGUgb2Ygc3RpY2tlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci10eXBlcykgKi9cbiAgdHlwZTogU3RpY2tlclR5cGVzXG4gIC8qKiBbVHlwZSBvZiBzdGlja2VyIGZvcm1hdF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1mb3JtYXQtdHlwZXMpICovXG4gIGZvcm1hdF90eXBlOiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgLyoqICBXaGV0aGVyIG9yIG5vdCB0aGUgc3RpY2tlciBpcyBhdmFpbGFibGUgKi9cbiAgYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogSWQgb2YgdGhlIGd1aWxkIHRoYXQgb3ducyB0aGlzIHN0aWNrZXIgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoYXQgdXBsb2FkZWQgdGhlIHN0aWNrZXIgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBBIHN0aWNrZXIncyBzb3J0IG9yZGVyIHdpdGhpbiBhIHBhY2sgKi9cbiAgc29ydF92YWx1ZT86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3JlY2VpdmluZy1hbmQtcmVzcG9uZGluZyNtZXNzYWdlLWludGVyYWN0aW9uLW9iamVjdC1tZXNzYWdlLWludGVyYWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25Db21tYW5kIGluY2x1ZGluZyB0aGUgbmFtZSBvZiB0aGUgc3ViY29tbWFuZC9zdWJjb21tYW5kIGdyb3VwICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgd2hvIGludm9rZWQgdGhlIGludGVyYWN0aW9uICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgbWVtYmVyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiBpbiB0aGUgZ3VpbGQgKi9cbiAgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPlxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHMgPSBEaXNjb3JkQWN0aW9uUm93W11cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjYWN0aW9ucm93ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpb25Sb3cge1xuICAvKiogQWN0aW9uIHJvd3MgYXJlIGEgZ3JvdXAgb2YgYnV0dG9ucy4gKi9cbiAgdHlwZTogMVxuICAvKiogVGhlIGNvbXBvbmVudHMgaW4gdGhpcyByb3cgKi9cbiAgY29tcG9uZW50czogQXJyYXk8RGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHwgRGlzY29yZElucHV0VGV4dENvbXBvbmVudD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnVcbiAgLyoqIEEgY3VzdG9tIGlkZW50aWZpZXIgZm9yIHRoaXMgY29tcG9uZW50LiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZ1xuICAvKiogQSBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkLiBNYXhpbXVtIDE1MCBjaGFyYWN0ZXJzLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbXVzdCBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIExpc3Qgb2YgY2hhbm5lbCB0eXBlcyB0byBpbmNsdWRlIGluIGEgY2hhbm5lbCBzZWxlY3QgbWVudSBvcHRpb25zIGxpc3QgKi9cbiAgY2hhbm5lbFR5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqIFRoZSBjaG9pY2VzISBNYXhpbXVtIG9mIDI1IGl0ZW1zLiAqL1xuICBvcHRpb25zOiBEaXNjb3JkU2VsZWN0T3B0aW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0T3B0aW9uIHtcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBuYW1lIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMjUgY2hhcmFjdGVycy4gKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIGRldi1kZWZpbmVkIHZhbHVlIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIHZhbHVlOiBzdHJpbmdcbiAgLyoqIEFuIGFkZGl0aW9uYWwgZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi4gTWF4aW11bSA1MCBjaGFyYWN0ZXJzLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogVGhlIGlkLCBuYW1lLCBhbmQgYW5pbWF0ZWQgcHJvcGVydGllcyBvZiBhbiBlbW9qaS4gKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqIFdpbGwgcmVuZGVyIHRoaXMgb3B0aW9uIGFzIGFscmVhZHktc2VsZWN0ZWQgYnkgZGVmYXVsdC4gKi9cbiAgZGVmYXVsdD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0LXNlbGVjdC1kZWZhdWx0LXZhbHVlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudURlZmF1bHRWYWx1ZSB7XG4gIC8qKiBJRCBvZiBhIHVzZXIsIHJvbGUsIG9yIGNoYW5uZWwgKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVHlwZSBvZiB2YWx1ZSB0aGF0IGlkIHJlcHJlc2VudHMuICovXG4gIHR5cGU6ICd1c2VyJyB8ICdyb2xlJyB8ICdjaGFubmVsJ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNidXR0b25zLWJ1dHRvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBBbGwgYnV0dG9uIGNvbXBvbmVudHMgaGF2ZSB0eXBlIDIgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvblxuICAvKiogZm9yIHdoYXQgdGhlIGJ1dHRvbiBzYXlzIChtYXggODAgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw/OiBzdHJpbmdcbiAgLyoqIGEgZGV2LWRlZmluZWQgdW5pcXVlIHN0cmluZyBzZW50IG9uIGNsaWNrIChtYXggMTAwIGNoYXJhY3RlcnMpLiB0eXBlIDUgTGluayBidXR0b25zIGNhbiBub3QgaGF2ZSBhIGN1c3RvbV9pZCAqL1xuICBjdXN0b21faWQ/OiBzdHJpbmdcbiAgLyoqIEZvciBkaWZmZXJlbnQgc3R5bGVzL2NvbG9ycyBvZiB0aGUgYnV0dG9ucyAqL1xuICBzdHlsZTogQnV0dG9uU3R5bGVzXG4gIC8qKiBFbW9qaSBvYmplY3QgdGhhdCBpbmNsdWRlcyBmaWVsZHMgb2YgbmFtZSwgaWQsIGFuZCBhbmltYXRlZCBzdXBwb3J0aW5nIHVuaWNvZGUgYW5kIGN1c3RvbSBlbW9qaXMuICovXG4gIGVtb2ppPzoge1xuICAgIC8qKiBFbW9qaSBpZCAqL1xuICAgIGlkPzogc3RyaW5nXG4gICAgLyoqIEVtb2ppIG5hbWUgKi9cbiAgICBuYW1lPzogc3RyaW5nXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBpcyBhbmltYXRlZCAqL1xuICAgIGFuaW1hdGVkPzogYm9vbGVhblxuICB9XG4gIC8qKiBvcHRpb25hbCB1cmwgZm9yIGxpbmstc3R5bGUgYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIHdlYi4gT25seSB0eXBlIDUgTGluayBidXR0b25zIGNhbiBoYXZlIGEgdXJsICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogV2hldGhlciBvciBub3QgdGhpcyBidXR0b24gaXMgZGlzYWJsZWQgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvbWVzc2FnZS1jb21wb25lbnRzI3RleHQtaW5wdXRzLXRleHQtaW5wdXQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnB1dFRleHRDb21wb25lbnQge1xuICAvKiogSW5wdXRUZXh0IENvbXBvbmVudCBpcyBvZiB0eXBlIDMgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLklucHV0VGV4dFxuICAvKiogVGhlIHN0eWxlIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgc3R5bGU6IFRleHRTdHlsZXNcbiAgLyoqIHdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkLCBkZWZhdWx0IHRydWUgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgY3VzdG9tSWQgb2YgdGhlIElucHV0VGV4dCAqL1xuICBjdXN0b21faWQ6IHN0cmluZ1xuICAvKiogVGhlIGxhYmVsIG9mIHRoZSBJbnB1dFRleHQgKG1heCA0NSBjaGFyYWN0ZXJzKSAqL1xuICBsYWJlbDogc3RyaW5nXG4gIC8qKiBUaGUgcGxhY2Vob2xkZXIgb2YgdGhlIElucHV0VGV4dCAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogVGhlIG1pbmltdW0gbGVuZ3RoIG9mIHRoZSB0ZXh0IHRoZSB1c2VyIGhhcyB0byBwcm92aWRlICovXG4gIG1pbl9sZW5ndGg/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtYXhfbGVuZ3RoPzogbnVtYmVyXG4gIC8qKiBQcmUtZmlsbGVkIHZhbHVlIGZvciBpbnB1dCB0ZXh0LiAqL1xuICB2YWx1ZT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1pdGVtLW9iamVjdC1zdGlja2VyLWl0ZW0tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VySXRlbSB7XG4gIC8qKiBJZCBvZiB0aGUgc3RpY2tlciAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSBzdGlja2VyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogW1R5cGUgb2Ygc3RpY2tlciBmb3JtYXRdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItZm9ybWF0LXR5cGVzKSAqL1xuICBmb3JtYXRfdHlwZTogU3RpY2tlckZvcm1hdFR5cGVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLXBhY2stb2JqZWN0LXN0aWNrZXItcGFjay1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0aWNrZXJQYWNrIHtcbiAgLyoqIGlkIG9mIHRoZSBzdGlja2VyIHBhY2sgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdGhlIHN0aWNrZXJzIGluIHRoZSBwYWNrICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKiBuYW1lIG9mIHRoZSBzdGlja2VyIHBhY2sgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgcGFjaydzIFNLVSAqL1xuICBza3VfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgYSBzdGlja2VyIGluIHRoZSBwYWNrIHdoaWNoIGlzIHNob3duIGFzIHRoZSBwYWNrJ3MgaWNvbiAqL1xuICBjb3Zlcl9zdGlja2VyX2lkPzogc3RyaW5nXG4gIC8qKiBkZXNjcmlwdGlvbiBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBzdGlja2VyIHBhY2sncyBbYmFubmVyIGltYWdlXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgYmFubmVyX2Fzc2V0X2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgYXBwbGljYXRpb24gdGhpcyBpbnRlcmFjdGlvbiBpcyBmb3IgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVGhlIGd1aWxkIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogRGlzY29yZEludGVyYWN0aW9uTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEEgY29udGludWF0aW9uIHRva2VuIGZvciByZXNwb25kaW5nIHRvIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBSZWFkLW9ubHkgcHJvcGVydHksIGFsd2F5cyBgMWAgKi9cbiAgdmVyc2lvbjogMVxuICAvKiogRm9yIHRoZSBtZXNzYWdlIHRoZSBidXR0b24gd2FzIGF0dGFjaGVkIHRvICovXG4gIG1lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhXG4gIC8qKiBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2Ugb2YgdGhlIGludm9raW5nIHVzZXIgKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQncyBwcmVmZXJyZWQgbG9jYWxlLCBpZiBpbnZva2VkIGluIGEgZ3VpbGQgKi9cbiAgZ3VpbGRfbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBfcGVybWlzc2lvbnM6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW1lbWJlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uTWVtYmVyIGV4dGVuZHMgRGlzY29yZE1lbWJlcldpdGhVc2VyIHtcbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIG9mIHRoZSBtZW1iZXIgaW4gdGhlIGNoYW5uZWwsIGluY2x1ZGluZyBvdmVyd3JpdGVzLCByZXR1cm5lZCB3aGVuIGluIHRoZSBpbnRlcmFjdGlvbiBvYmplY3QgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGEge1xuICAvKiogVGhlIHR5cGUgb2YgY29tcG9uZW50ICovXG4gIGNvbXBvbmVudF90eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzXG4gIC8qKiBUaGUgY3VzdG9tIGlkIHByb3ZpZGVkIGZvciB0aGlzIGNvbXBvbmVudC4gKi9cbiAgY3VzdG9tX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcG9uZW50cyBpZiBpdHMgYSBNb2RhbCBTdWJtaXQgaW50ZXJhY3Rpb24uICovXG4gIGNvbXBvbmVudHM/OiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHNcbiAgLyoqIFRoZSB2YWx1ZXMgY2hvc2VuIGJ5IHRoZSB1c2VyLiAqL1xuICB2YWx1ZXM/OiBzdHJpbmdbXVxuICAvKiogVGhlIElkIG9mIHRoZSBpbnZva2VkIGNvbW1hbmQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSB0eXBlIG9mIHRoZSBpbnZva2VkIGNvbW1hbmQgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgLyoqIENvbnZlcnRlZCB1c2VycyArIHJvbGVzICsgY2hhbm5lbHMgKyBhdHRhY2htZW50cyAqL1xuICByZXNvbHZlZD86IHtcbiAgICAvKiogVGhlIElkcyBhbmQgTWVzc2FnZSBvYmplY3RzICovXG4gICAgbWVzc2FnZXM/OiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkTWVzc2FnZT5cbiAgICAvKiogVGhlIElkcyBhbmQgVXNlciBvYmplY3RzICovXG4gICAgdXNlcnM/OiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkVXNlcj5cbiAgICAvKiogVGhlIElkcyBhbmQgcGFydGlhbCBNZW1iZXIgb2JqZWN0cyAqL1xuICAgIG1lbWJlcnM/OiBSZWNvcmQ8c3RyaW5nLCBPbWl0PERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlciwgJ3VzZXInIHwgJ2RlYWYnIHwgJ211dGUnPj5cbiAgICAvKiogVGhlIElkcyBhbmQgUm9sZSBvYmplY3RzICovXG4gICAgcm9sZXM/OiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkUm9sZT5cbiAgICAvKiogVGhlIElkcyBhbmQgcGFydGlhbCBDaGFubmVsIG9iamVjdHMgKi9cbiAgICBjaGFubmVscz86IFJlY29yZDxzdHJpbmcsIFBpY2s8RGlzY29yZENoYW5uZWwsICdpZCcgfCAnbmFtZScgfCAndHlwZScgfCAncGVybWlzc2lvbnMnPj5cbiAgICAvKiogVGhlIGlkcyBhbmQgYXR0YWNobWVudCBvYmplY3RzICovXG4gICAgYXR0YWNobWVudHM6IFJlY29yZDxzdHJpbmcsIERpc2NvcmRBdHRhY2htZW50PlxuICB9XG4gIC8qKiBUaGUgcGFyYW1zICsgdmFsdWVzIGZyb20gdGhlIHVzZXIgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICAvKiogVGhlIHRhcmdldCBpZCBpZiB0aGlzIGlzIGEgY29udGV4dCBtZW51IGNvbW1hbmQuICovXG4gIHRhcmdldF9pZD86IHN0cmluZ1xuICAvKiogdGhlIGlkIG9mIHRoZSBndWlsZCB0aGUgY29tbWFuZCBpcyByZWdpc3RlcmVkIHRvICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbiB7XG4gIC8qKiBOYW1lIG9mIHRoZSBwYXJhbWV0ZXIgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBWYWx1ZSBvZiBhcHBsaWNhdGlvbiBjb21tYW5kIG9wdGlvbiB0eXBlICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIC8qKiBWYWx1ZSBvZiB0aGUgb3B0aW9uIHJlc3VsdGluZyBmcm9tIHVzZXIgaW5wdXQgKi9cbiAgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyXG4gIC8qKiBQcmVzZW50IGlmIHRoaXMgb3B0aW9uIGlzIGEgZ3JvdXAgb3Igc3ViY29tbWFuZCAqL1xuICBvcHRpb25zPzogRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gIC8qKiBgdHJ1ZWAgaWYgdGhpcyBvcHRpb24gaXMgdGhlIGN1cnJlbnRseSBmb2N1c2VkIG9wdGlvbiBmb3IgYXV0b2NvbXBsZXRlICovXG4gIGZvY3VzZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZExpc3RBY3RpdmVUaHJlYWRzIHtcbiAgLyoqIFRoZSBhY3RpdmUgdGhyZWFkcyAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBIHRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciBlYWNoIHJldHVybmVkIHRocmVhZCB0aGUgY3VycmVudCB1c2VyIGhhcyBqb2luZWQgKi9cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZExpc3RBcmNoaXZlZFRocmVhZHMgZXh0ZW5kcyBEaXNjb3JkTGlzdEFjdGl2ZVRocmVhZHMge1xuICAvKiogV2hldGhlciB0aGVyZSBhcmUgcG90ZW50aWFsbHkgYWRkaXRpb25hbCB0aHJlYWRzIHRoYXQgY291bGQgYmUgcmV0dXJuZWQgb24gYSBzdWJzZXF1ZW50IGNhbGwgKi9cbiAgaGFzX21vcmU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTGlzdFN5bmMge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgcGFyZW50IGNoYW5uZWwgaWRzIHdob3NlIHRocmVhZHMgYXJlIGJlaW5nIHN5bmNlZC4gSWYgb21pdHRlZCwgdGhlbiB0aHJlYWRzIHdlcmUgc3luY2VkIGZvciB0aGUgZW50aXJlIGd1aWxkLiBUaGlzIGFycmF5IG1heSBjb250YWluIGNoYW5uZWxJZHMgdGhhdCBoYXZlIG5vIGFjdGl2ZSB0aHJlYWRzIGFzIHdlbGwsIHNvIHlvdSBrbm93IHRvIGNsZWFyIHRoYXQgZGF0YSAqL1xuICBjaGFubmVsX2lkcz86IHN0cmluZ1tdXG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGdpdmVuIGNoYW5uZWxzIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBjYW4gYWNjZXNzICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEFsbCB0aHJlYWQgbWVtYmVyIG9iamVjdHMgZnJvbSB0aGUgc3luY2VkIHRocmVhZHMgZm9yIHRoZSBjdXJyZW50IHVzZXIsIGluZGljYXRpbmcgd2hpY2ggdGhyZWFkcyB0aGUgY3VycmVudCB1c2VyIGhhcyBiZWVuIGFkZGVkIHRvICovXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdWRpdExvZyB7XG4gIC8qKiBMaXN0IG9mIHdlYmhvb2tzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgd2ViaG9va3M6IERpc2NvcmRXZWJob29rW11cbiAgLyoqIExpc3Qgb2YgdXNlcnMgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICB1c2VyczogRGlzY29yZFVzZXJbXVxuICAvKiogTGlzdCBvZiBhdWRpdCBsb2cgZW50cmllcywgc29ydGVkIGZyb20gbW9zdCB0byBsZWFzdCByZWNlbnQgKi9cbiAgYXVkaXRfbG9nX2VudHJpZXM6IERpc2NvcmRBdWRpdExvZ0VudHJ5W11cbiAgLyoqIExpc3Qgb2YgcGFydGlhbCBpbnRlZ3JhdGlvbiBvYmplY3RzICovXG4gIGludGVncmF0aW9uczogQXJyYXk8UGFydGlhbDxEaXNjb3JkSW50ZWdyYXRpb24+PlxuICAvKipcbiAgICogTGlzdCBvZiB0aHJlYWRzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cuXG4gICAqIFRocmVhZHMgcmVmZXJlbmNlZCBpbiBgVEhSRUFEX0NSRUFURWAgYW5kIGBUSFJFQURfVVBEQVRFYCBldmVudHMgYXJlIGluY2x1ZGVkIGluIHRoZSB0aHJlYWRzIG1hcCBzaW5jZSBhcmNoaXZlZCB0aHJlYWRzIG1pZ2h0IG5vdCBiZSBrZXB0IGluIG1lbW9yeSBieSBjbGllbnRzLlxuICAgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogTGlzdCBvZiBndWlsZCBzY2hlZHVsZWQgZXZlbnRzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50cz86IERpc2NvcmRTY2hlZHVsZWRFdmVudFtdXG4gIC8qKiBMaXN0IG9mIGF1dG8gbW9kZXJhdGlvbiBydWxlcyByZWZlcmVuY2VkIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVzPzogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVtdXG4gIC8qKiBMaXN0IG9mIGFwcGxpY2F0aW9uIGNvbW1hbmRzIHJlZmVyZW5jZWQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICBhcHBsaWNhdGlvbl9jb21tYW5kczogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXV0by1tb2RlcmF0aW9uI2F1dG8tbW9kZXJhdGlvbi1ydWxlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGlzIHJ1bGUgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBydWxlICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBydWxlICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyIHdobyBjcmVhdGVkIHRoaXMgcnVsZS4gKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBJbmRpY2F0ZXMgaW4gd2hhdCBldmVudCBjb250ZXh0IGEgcnVsZSBzaG91bGQgYmUgY2hlY2tlZC4gKi9cbiAgZXZlbnRfdHlwZTogQXV0b01vZGVyYXRpb25FdmVudFR5cGVzXG4gIC8qKiBUaGUgdHlwZSBvZiB0cmlnZ2VyIGZvciB0aGlzIHJ1bGUgKi9cbiAgdHJpZ2dlcl90eXBlOiBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlc1xuICAvKiogVGhlIG1ldGFkYXRhIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBydWxlIHNob3VsZCBiZSB0cmlnZ2VyZWQuICovXG4gIHRyaWdnZXJfbWV0YWRhdGE6IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFcbiAgLyoqIEFjdGlvbnMgd2hpY2ggd2lsbCBleGVjdXRlIHdoZW5ldmVyIGEgcnVsZSBpcyB0cmlnZ2VyZWQuICovXG4gIGFjdGlvbnM6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbltdXG4gIC8qKiBXaGV0aGVyIHRoZSBydWxlIGlzIGVuYWJsZWQuICovXG4gIGVuYWJsZWQ6IGJvb2xlYW5cbiAgLyoqIFRoZSByb2xlIGlkcyB0aGF0IGFyZSB3aGl0ZWxpc3RlZC4gTWF4IDIwLiAqL1xuICBleGVtcHRfcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgY2hhbm5lbCBpZHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQuIE1heCA1MC4gKi9cbiAgZXhlbXB0X2NoYW5uZWxzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvbkV2ZW50VHlwZXMge1xuICAvKiogV2hlbiBhIHVzZXIgc2VuZHMgYSBtZXNzYWdlICovXG4gIE1lc3NhZ2VTZW5kID0gMSxcbn1cblxuZXhwb3J0IGVudW0gQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMge1xuICBLZXl3b3JkID0gMSxcbiAgSGFybWZ1bExpbmssXG4gIFNwYW0sXG4gIEtleXdvcmRQcmVzZXQsXG4gIE1lbnRpb25TcGFtLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEge1xuICAvKiogVGhlIGtleXdvcmRzIG5lZWRlZCB0byBtYXRjaC4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuS2V5d29yZCAqL1xuICBrZXl3b3JkX2ZpbHRlcj86IHN0cmluZ1tdXG4gIC8qKiBSZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybnMgd2hpY2ggd2lsbCBiZSBtYXRjaGVkIGFnYWluc3QgY29udGVudC4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuS2V5d29yZCAqL1xuICByZWdleF9wYXR0ZXJuczogc3RyaW5nW11cbiAgLyoqIFRoZSBwcmUtZGVmaW5lZCBsaXN0cyBvZiB3b3JkcyB0byBtYXRjaCBmcm9tLiBPbmx5IHByZXNlbnQgd2hlbiBUcmlnZ2VyVHlwZS5LZXl3b3JkUHJlc2V0ICovXG4gIHByZXNldHM/OiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0c1tdXG4gIC8qKiBUaGUgc3Vic3RyaW5ncyB3aGljaCB3aWxsIGV4ZW1wdCBmcm9tIHRyaWdnZXJpbmcgdGhlIHByZXNldCB0cmlnZ2VyIHR5cGUuIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLktleXdvcmRQcmVzZXQgKi9cbiAgYWxsb3dfbGlzdD86IHN0cmluZ1tdXG4gIC8qKiBUb3RhbCBudW1iZXIgb2YgbWVudGlvbnMgKHJvbGUgJiB1c2VyKSBhbGxvd2VkIHBlciBtZXNzYWdlIChNYXhpbXVtIG9mIDUwKSAqL1xuICBtZW50aW9uX3RvdGFsX2xpbWl0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFQcmVzZXRzIHtcbiAgLyoqIFdvcmRzIHRoYXQgbWF5IGJlIGNvbnNpZGVyZWQgZm9ybXMgb2Ygc3dlYXJpbmcgb3IgY3Vyc2luZyAqL1xuICBQcm9mYW5pdHkgPSAxLFxuICAvKiogV29yZHMgdGhhdCByZWZlciB0byBzZXh1YWxseSBleHBsaWNpdCBiZWhhdmlvciBvciBhY3Rpdml0eSAqL1xuICBTZXh1YWxDb250ZW50LFxuICAvKiogUGVyc29uYWwgaW5zdWx0cyBvciB3b3JkcyB0aGF0IG1heSBiZSBjb25zaWRlcmVkIGhhdGUgc3BlZWNoICovXG4gIFNsdXJzLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbiB7XG4gIC8qKiBUaGUgdHlwZSBvZiBhY3Rpb24gdG8gdGFrZSB3aGVuIGEgcnVsZSBpcyB0cmlnZ2VyZWQgKi9cbiAgdHlwZTogQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlXG4gIC8qKiBhZGRpdGlvbmFsIG1ldGFkYXRhIG5lZWRlZCBkdXJpbmcgZXhlY3V0aW9uIGZvciB0aGlzIHNwZWNpZmljIGFjdGlvbiB0eXBlICovXG4gIG1ldGFkYXRhOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YVxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUge1xuICAvKiogQmxvY2tzIHRoZSBjb250ZW50IG9mIGEgbWVzc2FnZSBhY2NvcmRpbmcgdG8gdGhlIHJ1bGUgKi9cbiAgQmxvY2tNZXNzYWdlID0gMSxcbiAgLyoqIExvZ3MgdXNlciBjb250ZW50IHRvIGEgc3BlY2lmaWVkIGNoYW5uZWwgKi9cbiAgU2VuZEFsZXJ0TWVzc2FnZSxcbiAgLyoqIFRpbWVzIG91dCB1c2VyIGZvciBzcGVjaWZpZWQgZHVyYXRpb24gKi9cbiAgVGltZW91dCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBUaGUgaWQgb2YgY2hhbm5lbCB0byB3aGljaCB1c2VyIGNvbnRlbnQgc2hvdWxkIGJlIGxvZ2dlZC4gT25seSBpbiBBY3Rpb25UeXBlLlNlbmRBbGVydE1lc3NhZ2UgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogQWRkaXRpb25hbCBleHBsYW5hdGlvbiB0aGF0IHdpbGwgYmUgc2hvd24gdG8gbWVtYmVycyB3aGVuZXZlciB0aGVpciBtZXNzYWdlIGlzIGJsb2NrZWQuIE1heGltdW0gb2YgMTUwIGNoYXJhY3RlcnMuIE9ubHkgc3VwcG9ydGVkIGZvciBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUuQmxvY2tNZXNzYWdlICovXG4gIGN1c3RvbV9tZXNzYWdlPzogc3RyaW5nXG4gIC8qKiBUaW1lb3V0IGR1cmF0aW9uIGluIHNlY29uZHMgbWF4aW11bSBvZiAyNDE5MjAwIHNlY29uZHMgKDQgd2Vla3MpLiBPbmx5IHN1cHBvcnRlZCBmb3IgVHJpZ2dlclR5cGUuS2V5d29yZCAmJiBPbmx5IGluIEFjdGlvblR5cGUuVGltZW91dCAqL1xuICBkdXJhdGlvbl9zZWNvbmRzPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjYXV0by1tb2RlcmF0aW9uLWFjdGlvbi1leGVjdXRpb24tYXV0by1tb2RlcmF0aW9uLWFjdGlvbi1leGVjdXRpb24tZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcnVsZSB0aGF0IHdhcyBleGVjdXRlZCAqL1xuICBydWxlX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciB3aGljaCBnZW5lcmF0ZWQgdGhlIGNvbnRlbnQgd2hpY2ggdHJpZ2dlcmVkIHRoZSBydWxlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGNvbnRlbnQgZnJvbSB0aGUgdXNlciAqL1xuICBjb250ZW50OiBzdHJpbmdcbiAgLyoqIEFjdGlvbiB3aGljaCB3YXMgZXhlY3V0ZWQgKi9cbiAgYWN0aW9uOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25cbiAgLyoqIFRoZSB0cmlnZ2VyIHR5cGUgb2YgdGhlIHJ1bGUgdGhhdCB3YXMgZXhlY3V0ZWQuICovXG4gIHJ1bGVfdHJpZ2dlcl90eXBlOiBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlc1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIGluIHdoaWNoIHVzZXIgY29udGVudCB3YXMgcG9zdGVkICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UuIFdpbGwgbm90IGV4aXN0IGlmIG1lc3NhZ2Ugd2FzIGJsb2NrZWQgYnkgYXV0b21vZCBvciBjb250ZW50IHdhcyBub3QgcGFydCBvZiBhbnkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIGFueSBzeXN0ZW0gYXV0byBtb2RlcmF0aW9uIG1lc3NhZ2VzIHBvc3RlZCBhcyBhIHJlc3VsdCBvZiB0aGlzIGFjdGlvbiAqL1xuICBhbGVydF9zeXN0ZW1fbWVzc2FnZV9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB3b3JkIG9yIHBocmFzZSB0aGF0IHRyaWdnZXJyZWQgdGhlIHJ1bGUuICovXG4gIG1hdGNoZWRfa2V5d29yZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHN1YnN0cmluZyBpbiBjb250ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBydWxlICovXG4gIG1hdGNoZWRfY29udGVudDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctZW50cnktb2JqZWN0LWF1ZGl0LWxvZy1lbnRyeS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1ZGl0TG9nRW50cnkge1xuICAvKiogSUQgb2YgdGhlIGFmZmVjdGVkIGVudGl0eSAod2ViaG9vaywgdXNlciwgcm9sZSwgZXRjLikgKi9cbiAgdGFyZ2V0X2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBDaGFuZ2VzIG1hZGUgdG8gdGhlIGB0YXJnZXRfaWRgICovXG4gIGNoYW5nZXM/OiBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VbXVxuICAvKiogVXNlciBvciBhcHAgdGhhdCBtYWRlIHRoZSBjaGFuZ2VzICovXG4gIHVzZXJfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIElEIG9mIHRoZSBlbnRyeSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGFjdGlvbiB0aGF0IG9jY3VycmVkICovXG4gIGFjdGlvbl90eXBlOiBBdWRpdExvZ0V2ZW50c1xuICAvKiogQWRkaXRpb25hbCBpbmZvIGZvciBjZXJ0YWluIGV2ZW50IHR5cGVzICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mb1xuICAvKiogUmVhc29uIGZvciB0aGUgY2hhbmdlICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICByZWFzb24/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLWNoYW5nZS1vYmplY3QtYXVkaXQtbG9nLWNoYW5nZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZSA9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBzdHJpbmdcbiAgICAgIG9sZF92YWx1ZTogc3RyaW5nXG4gICAgICBrZXk6XG4gICAgICAgIHwgJ25hbWUnXG4gICAgICAgIHwgJ2Rlc2NyaXB0aW9uJ1xuICAgICAgICB8ICdkaXNjb3Zlcnlfc3BsYXNoX2hhc2gnXG4gICAgICAgIHwgJ2Jhbm5lcl9oYXNoJ1xuICAgICAgICB8ICdwcmVmZXJyZWRfbG9jYWxlJ1xuICAgICAgICB8ICdydWxlc19jaGFubmVsX2lkJ1xuICAgICAgICB8ICdwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkJ1xuICAgICAgICB8ICdpY29uX2hhc2gnXG4gICAgICAgIHwgJ2ltYWdlX2hhc2gnXG4gICAgICAgIHwgJ3NwbGFzaF9oYXNoJ1xuICAgICAgICB8ICdvd25lcl9pZCdcbiAgICAgICAgfCAncmVnaW9uJ1xuICAgICAgICB8ICdhZmtfY2hhbm5lbF9pZCdcbiAgICAgICAgfCAndmFuaXR5X3VybF9jb2RlJ1xuICAgICAgICB8ICd3aWRnZXRfY2hhbm5lbF9pZCdcbiAgICAgICAgfCAnc3lzdGVtX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ3RvcGljJ1xuICAgICAgICB8ICdhcHBsaWNhdGlvbl9pZCdcbiAgICAgICAgfCAncGVybWlzc2lvbnMnXG4gICAgICAgIHwgJ2FsbG93J1xuICAgICAgICB8ICdkZW55J1xuICAgICAgICB8ICdjb2RlJ1xuICAgICAgICB8ICdjaGFubmVsX2lkJ1xuICAgICAgICB8ICdpbnZpdGVyX2lkJ1xuICAgICAgICB8ICduaWNrJ1xuICAgICAgICB8ICdhdmF0YXJfaGFzaCdcbiAgICAgICAgfCAnaWQnXG4gICAgICAgIHwgJ2xvY2F0aW9uJ1xuICAgICAgICB8ICdjb21tYW5kX2lkJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IG51bWJlclxuICAgICAgb2xkX3ZhbHVlOiBudW1iZXJcbiAgICAgIGtleTpcbiAgICAgICAgfCAnYWZrX3RpbWVvdXQnXG4gICAgICAgIHwgJ21mYV9sZXZlbCdcbiAgICAgICAgfCAndmVyaWZpY2F0aW9uX2xldmVsJ1xuICAgICAgICB8ICdleHBsaWNpdF9jb250ZW50X2ZpbHRlcidcbiAgICAgICAgfCAnZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnMnXG4gICAgICAgIHwgJ3BydW5lX2RlbGV0ZV9kYXlzJ1xuICAgICAgICB8ICdwb3NpdGlvbidcbiAgICAgICAgfCAnYml0cmF0ZSdcbiAgICAgICAgfCAncmF0ZV9saW1pdF9wZXJfdXNlcidcbiAgICAgICAgfCAnY29sb3InXG4gICAgICAgIHwgJ21heF91c2VzJ1xuICAgICAgICB8ICd1c2VzJ1xuICAgICAgICB8ICdtYXhfYWdlJ1xuICAgICAgICB8ICdleHBpcmVfYmVoYXZpb3InXG4gICAgICAgIHwgJ2V4cGlyZV9ncmFjZV9wZXJpb2QnXG4gICAgICAgIHwgJ3VzZXJfbGltaXQnXG4gICAgICAgIHwgJ3ByaXZhY3lfbGV2ZWwnXG4gICAgICAgIHwgJ2F1dG9fYXJjaGl2ZV9kdXJhdGlvbidcbiAgICAgICAgfCAnZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24nXG4gICAgICAgIHwgJ2VudGl0eV90eXBlJ1xuICAgICAgICB8ICdzdGF0dXMnXG4gICAgICAgIHwgJ2NvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogQXJyYXk8UGFydGlhbDxEaXNjb3JkUm9sZT4+XG4gICAgICBvbGRfdmFsdWU/OiBBcnJheTxQYXJ0aWFsPERpc2NvcmRSb2xlPj5cbiAgICAgIGtleTogJyRhZGQnIHwgJyRyZW1vdmUnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogYm9vbGVhblxuICAgICAgb2xkX3ZhbHVlOiBib29sZWFuXG4gICAgICBrZXk6XG4gICAgICAgIHwgJ3dpZGdldF9lbmFibGVkJ1xuICAgICAgICB8ICduc2Z3J1xuICAgICAgICB8ICdob2lzdCdcbiAgICAgICAgfCAnbWVudGlvbmFibGUnXG4gICAgICAgIHwgJ3RlbXBvcmFyeSdcbiAgICAgICAgfCAnZGVhZidcbiAgICAgICAgfCAnbXV0ZSdcbiAgICAgICAgfCAnZW5hYmxlX2Vtb3RpY29ucydcbiAgICAgICAgfCAnYXJjaGl2ZWQnXG4gICAgICAgIHwgJ2xvY2tlZCdcbiAgICAgICAgfCAnaW52aXRhYmxlJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IERpc2NvcmRPdmVyd3JpdGVbXVxuICAgICAgb2xkX3ZhbHVlOiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgICAgIGtleTogJ3Blcm1pc3Npb25fb3ZlcndyaXRlcydcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBzdHJpbmcgfCBudW1iZXJcbiAgICAgIG9sZF92YWx1ZTogc3RyaW5nIHwgbnVtYmVyXG4gICAgICBrZXk6ICd0eXBlJ1xuICAgIH1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLWVudHJ5LW9iamVjdC1vcHRpb25hbC1hdWRpdC1lbnRyeS1pbmZvICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvIHtcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBhcHAgd2hvc2UgcGVybWlzc2lvbnMgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBBUFBMSUNBVElPTl9DT01NQU5EX1BFUk1JU1NJT05fVVBEQVRFYFxuICAgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgQXV0byBNb2RlcmF0aW9uIHJ1bGUgdGhhdCB3YXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFVVE9fTU9ERVJBVElPTl9CTE9DS19NRVNTQUdFYCwgYEFVVE9fTU9ERVJBVElPTl9GTEFHX1RPX0NIQU5ORUxgLCBgQVVUT19NT0RFUkFUSU9OX1VTRVJfQ09NTVVOSUNBVElPTl9ESVNBQkxFRGBcbiAgICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlX25hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHJpZ2dlciB0eXBlIG9mIHRoZSBBdXRvIE1vZGVyYXRpb24gcnVsZSB0aGF0IHdhcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVVUT19NT0RFUkFUSU9OX0JMT0NLX01FU1NBR0VgLCBgQVVUT19NT0RFUkFUSU9OX0ZMQUdfVE9fQ0hBTk5FTGAsIGBBVVRPX01PREVSQVRJT05fVVNFUl9DT01NVU5JQ0FUSU9OX0RJU0FCTEVEYFxuICAgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVfdHJpZ2dlcl90eXBlOiBzdHJpbmdcbiAgLyoqXG4gICAqIENoYW5uZWwgaW4gd2hpY2ggdGhlIGVudGl0aWVzIHdlcmUgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX01PVkVgLCBgTUVTU0FHRV9QSU5gLCBgTUVTU0FHRV9VTlBJTmAsIGBNRVNTQUdFX0RFTEVURWAsIGBTVEFHRV9JTlNUQU5DRV9DUkVBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfVVBEQVRFYCwgYFNUQUdFX0lOU1RBTkNFX0RFTEVURWBcbiAgICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzIHRoYXQgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRVNTQUdFX0RFTEVURWAsIGBNRVNTQUdFX0JVTEtfREVMRVRFYCwgYE1FTUJFUl9ESVNDT05ORUNUYCwgYE1FTUJFUl9NT1ZFYFxuICAgKi9cbiAgY291bnQ6IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIGRheXMgYWZ0ZXIgd2hpY2ggaW5hY3RpdmUgbWVtYmVycyB3ZXJlIGtpY2tlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfUFJVTkVgXG4gICAqL1xuICBkZWxldGVfbWVtYmVyX2RheXM6IHN0cmluZ1xuICAvKipcbiAgICogSUQgb2YgdGhlIG92ZXJ3cml0dGVuIGVudGl0eS5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIE51bWJlciBvZiBtZW1iZXJzIHJlbW92ZWQgYnkgdGhlIHBydW5lLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9QUlVORWBcbiAgICovXG4gIG1lbWJlcnNfcmVtb3ZlZDogc3RyaW5nXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgbWVzc2FnZSB0aGF0IHdhcyB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRVNTQUdFX1BJTmAsIGBNRVNTQUdFX1VOUElOYCwgYFNUQUdFX0lOU1RBTkNFX0NSRUFURWAsIGBTVEFHRV9JTlNUQU5DRV9VUERBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfREVMRVRFYFxuICAgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSByb2xlIGlmIHR5cGUgaXMgXCIwXCIgKG5vdCBwcmVzZW50IGlmIHR5cGUgaXMgXCIxXCIpLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYENIQU5ORUxfT1ZFUldSSVRFX0NSRUFURWAsIGBDSEFOTkVMX09WRVJXUklURV9VUERBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfREVMRVRFYFxuICAgKi9cbiAgcm9sZV9uYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFR5cGUgb2Ygb3ZlcndyaXR0ZW4gZW50aXR5IC0gXCIwXCIsIGZvciBcInJvbGVcIiwgb3IgXCIxXCIgZm9yIFwibWVtYmVyXCIuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICB0eXBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnQge1xuICAvKiogdGhlIGlkIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdGhlIGd1aWxkIGlkIHdoaWNoIHRoZSBzY2hlZHVsZWQgZXZlbnQgYmVsb25ncyB0byAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiB0aGUgY2hhbm5lbCBpZCBpbiB3aGljaCB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgYmUgaG9zdGVkIGlmIHNwZWNpZmllZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgaWQgb2YgdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcl9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBuYW1lIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogdGhlIHRpbWUgdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIHN0YXJ0ICovXG4gIHNjaGVkdWxlZF9zdGFydF90aW1lOiBzdHJpbmdcbiAgLyoqIHRoZSB0aW1lIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBlbmQgaWYgaXQgZG9lcyBlbmQuICovXG4gIHNjaGVkdWxlZF9lbmRfdGltZTogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHByaXZhY3kgbGV2ZWwgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBwcml2YWN5X2xldmVsOiBTY2hlZHVsZWRFdmVudFByaXZhY3lMZXZlbFxuICAvKiogdGhlIHN0YXR1cyBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHN0YXR1czogU2NoZWR1bGVkRXZlbnRTdGF0dXNcbiAgLyoqIHRoZSB0eXBlIG9mIGhvc3RpbmcgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCBhIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfdHlwZTogU2NoZWR1bGVkRXZlbnRFbnRpdHlUeXBlXG4gIC8qKiBhbnkgYWRkaXRpb25hbCBpZCBvZiB0aGUgaG9zdGluZyBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIGV2ZW50ICovXG4gIGVudGl0eV9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIGVudGl0eSBtZXRhZGF0YSBmb3IgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfbWV0YWRhdGE6IERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHwgbnVsbFxuICAvKiogdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcj86IERpc2NvcmRVc2VyXG4gIC8qKiB0aGUgbnVtYmVyIG9mIHVzZXJzIHN1YnNjcmliZWQgdG8gdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICB1c2VyX2NvdW50PzogbnVtYmVyXG4gIC8qKiB0aGUgY292ZXIgaW1hZ2UgaGFzaCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGltYWdlPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHtcbiAgLyoqIGxvY2F0aW9uIG9mIHRoZSBldmVudCAqL1xuICBsb2NhdGlvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ2V0LWdhdGV3YXktYm90ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHZXRHYXRld2F5Qm90IHtcbiAgLyoqIFRoZSBXU1MgVVJMIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIGdhdGV3YXkgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2Ygc2hhcmRzIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgKi9cbiAgc2hhcmRzOiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IHNlc3Npb24gc3RhcnQgbGltaXQgKi9cbiAgc2Vzc2lvbl9zdGFydF9saW1pdDogRGlzY29yZFNlc3Npb25TdGFydExpbWl0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNzZXNzaW9uLXN0YXJ0LWxpbWl0LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXQge1xuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9uIHN0YXJ0cyB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgKi9cbiAgdG90YWw6IG51bWJlclxuICAvKiogVGhlIHJlbWFpbmluZyBudW1iZXIgb2Ygc2Vzc2lvbiBzdGFydHMgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkICovXG4gIHJlbWFpbmluZzogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgbGltaXQgcmVzZXRzICovXG4gIHJlc2V0X2FmdGVyOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgaWRlbnRpZnkgcmVxdWVzdHMgYWxsb3dlZCBwZXIgNSBzZWNvbmRzICovXG4gIG1heF9jb25jdXJyZW5jeTogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvaW52aXRlI2ludml0ZS1tZXRhZGF0YS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZU1ldGFkYXRhIGV4dGVuZHMgRGlzY29yZEludml0ZSB7XG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgaGFzIGJlZW4gdXNlZCAqL1xuICB1c2VzOiBudW1iZXJcbiAgLyoqIE1heCBudW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4X3VzZXM6IG51bWJlclxuICAvKiogRHVyYXRpb24gKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSBpbnZpdGUgZXhwaXJlcyAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyBpbnZpdGUgb25seSBncmFudHMgdGVtcG9yYXJ5IG1lbWJlcnNoaXAgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBXaGVuIHRoaXMgaW52aXRlIHdhcyBjcmVhdGVkICovXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2ludml0ZSNpbnZpdGUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGUge1xuICAvKiogVGhlIGludml0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWw6IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+IHwgbnVsbFxuICAvKiogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZT86IFRhcmdldFR5cGVzXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldF91c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldF9hcHBsaWNhdGlvbj86IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPlxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2Ygb25saW5lIG1lbWJlcnMgKG9ubHkgcHJlc2VudCB3aGVuIHRhcmdldF91c2VyIGlzIHNldCkgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIGNvdW50IG9mIHRvdGFsIG1lbWJlcnMgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBgR0VUIC9pbnZpdGVzLzxjb2RlPmAgZW5kcG9pbnQgd2hlbiBgd2l0aF9leHBpcmF0aW9uYCBpcyBgdHJ1ZWAgKi9cbiAgZXhwaXJlc19hdD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlX2luc3RhbmNlPzogRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2VcbiAgLyoqIGd1aWxkIHNjaGVkdWxlZCBldmVudCBkYXRhICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudD86IERpc2NvcmRTY2hlZHVsZWRFdmVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlIHtcbiAgLyoqIFRoZSBtZW1iZXJzIHNwZWFraW5nIGluIHRoZSBTdGFnZSAqL1xuICBtZW1iZXJzOiBBcnJheTxQYXJ0aWFsPERpc2NvcmRNZW1iZXI+PlxuICAvKiogVGhlIG51bWJlciBvZiB1c2VycyBpbiB0aGUgU3RhZ2UgKi9cbiAgcGFydGljaXBhbnRfY291bnQ6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiB1c2VycyBzcGVha2luZyBpbiB0aGUgU3RhZ2UgKi9cbiAgc3BlYWtlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvYXBwbGljYXRpb24tY29tbWFuZHMjYXBwbGljYXRpb24tY29tbWFuZC1vYmplY3QtYXBwbGljYXRpb24tY29tbWFuZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCBleHRlbmRzIERpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQge1xuICAvKiogVW5pcXVlIElEIG9mIGNvbW1hbmQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBHdWlsZCBpZCBvZiB0aGUgY29tbWFuZCwgaWYgbm90IGdsb2JhbCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQge1xuICAvKiogVHlwZSBvZiBjb21tYW5kLCBkZWZhdWx0cyB0byBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCAqL1xuICB0eXBlPzogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgLyoqXG4gICAqIE5hbWUgb2YgY29tbWFuZCwgMS0zMiBjaGFyYWN0ZXJzLlxuICAgKiBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCBjb21tYW5kIG5hbWVzIG11c3QgbWF0Y2ggdGhlIGZvbGxvd2luZyByZWdleCBgXlstX1xccHtMfVxccHtOfVxccHtzYz1EZXZhfVxccHtzYz1UaGFpfV17MSwzMn0kYCB3aXRoIHRoZSB1bmljb2RlIGZsYWcgc2V0LlxuICAgKiBJZiB0aGVyZSBpcyBhIGxvd2VyY2FzZSB2YXJpYW50IG9mIGFueSBsZXR0ZXJzIHVzZWQsIHlvdSBtdXN0IHVzZSB0aG9zZS5cbiAgICogQ2hhcmFjdGVycyB3aXRoIG5vIGxvd2VyY2FzZSB2YXJpYW50cyBhbmQvb3IgdW5jYXNlZCBsZXR0ZXJzIGFyZSBzdGlsbCBhbGxvd2VkLlxuICAgKiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5Vc2VyYCBhbmQgYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLk1lc3NhZ2VgIGNvbW1hbmRzIG1heSBiZSBtaXhlZCBjYXNlIGFuZCBjYW4gaW5jbHVkZSBzcGFjZXMuXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIERlc2NyaXB0aW9uIGZvciBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCBjb21tYW5kcywgMS0xMDAgY2hhcmFjdGVycy4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIGBkZXNjcmlwdGlvbmAgZmllbGQuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzIGBkZXNjcmlwdGlvbmAgKi9cbiAgZGVzY3JpcHRpb25fbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFBhcmFtZXRlcnMgZm9yIHRoZSBjb21tYW5kLCBtYXggb2YgMjUgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25bXVxuICAvKiogU2V0IG9mIHBlcm1pc3Npb25zIHJlcHJlc2VudGVkIGFzIGEgYml0IHNldCAqL1xuICBkZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucz86IHN0cmluZyB8IG51bGxcbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIGF2YWlsYWJsZSBpbiBETXMgd2l0aCB0aGUgYXBwLCBvbmx5IGZvciBnbG9iYWxseS1zY29wZWQgY29tbWFuZHMuIEJ5IGRlZmF1bHQsIGNvbW1hbmRzIGFyZSB2aXNpYmxlLiAqL1xuICBkbV9wZXJtaXNzaW9uPzogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgYWdlLXJlc3RyaWN0ZWQsIGRlZmF1bHRzIHRvIGZhbHNlICovXG4gIG5zZnc/OiBib29sZWFuXG4gIC8qKiBBdXRvIGluY3JlbWVudGluZyB2ZXJzaW9uIGlkZW50aWZpZXIgdXBkYXRlZCBkdXJpbmcgc3Vic3RhbnRpYWwgcmVjb3JkIGNoYW5nZXMgKi9cbiAgdmVyc2lvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcbiAgLyoqIFR5cGUgb2Ygb3B0aW9uICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICogYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICogQXBwbGljYXRpb25Db21tYW5kVHlwZXMuVXNlcmAgYW5kIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlYCBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogMS0xMDAgY2hhcmFjdGVyIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIHRoZSBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBJZiB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIG9yIG9wdGlvbmFsLS1kZWZhdWx0IGBmYWxzZWAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIC8qKiBDaG9pY2VzIGZvciB0aGUgb3B0aW9uIHR5cGVzIGBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdHJpbmdgLCBgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlcmAsIGFuZCBgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyYCwgZnJvbSB3aGljaCB0aGUgdXNlciBjYW4gY2hvb3NlLCBtYXggMjUgKi9cbiAgY2hvaWNlcz86IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VbXVxuICAvKiogSWYgdGhlIG9wdGlvbiBpcyBhIHN1YmNvbW1hbmQgb3Igc3ViY29tbWFuZCBncm91cCB0eXBlLCB0aGVzZSBuZXN0ZWQgb3B0aW9ucyB3aWxsIGJlIHRoZSBwYXJhbWV0ZXJzICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqXG4gICAqIElmIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbnMgYXJlIGVuYWJsZWQgZm9yIHRoaXMgb3B0aW9uLlxuICAgKlxuICAgKiBPbmx5IGF2YWlsYWJsZSBmb3IgYEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZ2AsIGBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyYCBhbmQgYEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlcmAgb3B0aW9uIHR5cGVzXG4gICAqL1xuICBhdXRvY29tcGxldGU/OiBib29sZWFuXG4gIC8qKiBJZiB0aGUgb3B0aW9uIGlzIGEgY2hhbm5lbCB0eXBlLCB0aGUgY2hhbm5lbHMgc2hvd24gd2lsbCBiZSByZXN0cmljdGVkIHRvIHRoZXNlIHR5cGVzICovXG4gIGNoYW5uZWxfdHlwZXM/OiBDaGFubmVsVHlwZXNbXVxuICAvKiogSWYgdGhlIG9wdGlvbiB0eXBlIGlzIGBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyYCBvciBgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyYCwgdGhlIG1pbmltdW0gcGVybWl0dGVkIHZhbHVlICovXG4gIG1pbl92YWx1ZT86IG51bWJlclxuICAvKiogSWYgdGhlIG9wdGlvbiB0eXBlIGlzIGBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyYCBvciBgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyYCwgdGhlIG1heGltdW0gcGVybWl0dGVkIHZhbHVlICovXG4gIG1heF92YWx1ZT86IG51bWJlclxuICAvKiogSWYgdGhlIG9wdGlvbiB0eXBlIGlzIGBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdHJpbmdgLCB0aGUgbWluaW11bSBwZXJtaXR0ZWQgbGVuZ3RoICovXG4gIG1pbl9sZW5ndGg/OiBudW1iZXJcbiAgLyoqIElmIHRoZSBvcHRpb24gdHlwZSBpcyBgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nYCwgdGhlIG1heGltdW0gcGVybWl0dGVkIGxlbmd0aCAgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtcGVybWlzc2lvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2Uge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNob2ljZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFZhbHVlIGZvciB0aGUgY2hvaWNlLCB1cCB0byAxMDAgY2hhcmFjdGVycyBpZiBzdHJpbmcgKi9cbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2d1aWxkYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMge1xuICAvKiogSUQgb2YgdGhlIGNvbW1hbmQgb3IgdGhlIGFwcGxpY2F0aW9uIElELiBXaGVuIHRoZSBgaWRgIGZpZWxkIGlzIHRoZSBhcHBsaWNhdGlvbiBJRCBpbnN0ZWFkIG9mIGEgY29tbWFuZCBJRCwgdGhlIHBlcm1pc3Npb25zIGFwcGx5IHRvIGFsbCBjb21tYW5kcyB0aGF0IGRvIG5vdCBjb250YWluIGV4cGxpY2l0IG92ZXJ3cml0ZXMuICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGUgY29tbWFuZCBiZWxvbmdzIHRvICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9ucyBmb3IgdGhlIGNvbW1hbmQgaW4gdGhlIGd1aWxkLCBtYXggb2YgMTAwICovXG4gIHBlcm1pc3Npb25zOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2FwcGxpY2F0aW9uY29tbWFuZHBlcm1pc3Npb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgcm9sZSwgdXNlciwgb3IgY2hhbm5lbC4gSXQgY2FuIGFsc28gYmUgYSBwZXJtaXNzaW9uIGNvbnN0YW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Sb2xlLCBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuVXNlciwgb3IgQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLkNoYW5uZWwgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzXG4gIC8qKiBgdHJ1ZWAgdG8gYWxsb3csIGBmYWxzZWAsIHRvIGRpc2FsbG93ICovXG4gIHBlcm1pc3Npb246IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNnZXQtZ3VpbGQtd2lkZ2V0LWV4YW1wbGUtZ2V0LWd1aWxkLXdpZGdldCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRXaWRnZXQge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBpbnN0YW50X2ludml0ZTogc3RyaW5nXG4gIGNoYW5uZWxzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHBvc2l0aW9uOiBudW1iZXJcbiAgfT5cbiAgbWVtYmVyczogQXJyYXk8e1xuICAgIGlkOiBzdHJpbmdcbiAgICB1c2VybmFtZTogc3RyaW5nXG4gICAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gICAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbFxuICAgIHN0YXR1czogc3RyaW5nXG4gICAgYXZhdGFyX3VybDogc3RyaW5nXG4gIH0+XG4gIHByZXNlbmNlX2NvdW50OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1wcmV2aWV3LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRQcmV2aWV3IHtcbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoICovXG4gIGRpc2NvdmVyeV9zcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIEN1c3RvbSBndWlsZCBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygb25saW5lIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBndWlsZCwgaWYgdGhlIGd1aWxkIGlzIGRpc2NvdmVyYWJsZSAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIHN0aWNrZXJzICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNmb2xsb3dlZC1jaGFubmVsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRm9sbG93ZWRDaGFubmVsIHtcbiAgLyoqIFNvdXJjZSBtZXNzYWdlIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogQ3JlYXRlZCB0YXJnZXQgd2ViaG9vayBpZCAqL1xuICB3ZWJob29rX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3BheWxvYWRzLWdhdGV3YXktcGF5bG9hZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdhdGV3YXlQYXlsb2FkIHtcbiAgLyoqIG9wY29kZSBmb3IgdGhlIHBheWxvYWQgKi9cbiAgb3A6IG51bWJlclxuICAvKiogRXZlbnQgZGF0YSAqL1xuICBkOiB1bmtub3duIHwgbnVsbFxuICAvKiogU2VxdWVuY2UgbnVtYmVyLCB1c2VkIGZvciByZXN1bWluZyBzZXNzaW9ucyBhbmQgaGVhcnRiZWF0cyAqL1xuICBzOiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgZXZlbnQgbmFtZSBmb3IgdGhpcyBwYXlsb2FkICovXG4gIHQ6IEdhdGV3YXlFdmVudE5hbWVzIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVycy1jaHVuayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJzQ2h1bmsge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBTZXQgb2YgZ3VpbGQgbWVtYmVycyAqL1xuICBtZW1iZXJzOiBEaXNjb3JkTWVtYmVyV2l0aFVzZXJbXVxuICAvKiogVGhlIGNodW5rIGluZGV4IGluIHRoZSBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKDAgPD0gY2h1bmtfaW5kZXggPCBjaHVua19jb3VudCkgKi9cbiAgY2h1bmtfaW5kZXg6IG51bWJlclxuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKi9cbiAgY2h1bmtfY291bnQ6IG51bWJlclxuICAvKiogSWYgcGFzc2luZyBhbiBpbnZhbGlkIGlkIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBpdCB3aWxsIGJlIHJldHVybmVkIGhlcmUgKi9cbiAgbm90X2ZvdW5kPzogc3RyaW5nW11cbiAgLyoqIElmIHBhc3NpbmcgdHJ1ZSB0byBgUkVRVUVTVF9HVUlMRF9NRU1CRVJTYCwgcHJlc2VuY2VzIG9mIHRoZSByZXR1cm5lZCBtZW1iZXJzIHdpbGwgYmUgaGVyZSAqL1xuICBwcmVzZW5jZXM/OiBEaXNjb3JkUHJlc2VuY2VVcGRhdGVbXVxuICAvKiogVGhlIG5vbmNlIHVzZWQgaW4gdGhlIEd1aWxkIE1lbWJlcnMgUmVxdWVzdCAqL1xuICBub25jZT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjY2hhbm5lbC1waW5zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hhbm5lbFBpbnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIG1vc3QgcmVjZW50IHBpbm5lZCBtZXNzYWdlIHdhcyBwaW5uZWQgKi9cbiAgbGFzdF9waW5fdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtcm9sZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZURlbGV0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHJvbGUgKi9cbiAgcm9sZV9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1iYW4tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEJhbkFkZFJlbW92ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGJhbm5lZCB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlIGV4dGVuZHMgT21pdDxEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkLCAnbWVtYmVyJz4ge31cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQge1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlciB3aG8gcmVhY3RlZCBpZiB0aGlzIGhhcHBlbmVkIGluIGEgZ3VpbGQgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBUaGUgZW1vamkgdXNlZCB0byByZWFjdCAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9hdXRob3JfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3ZvaWNlLXNlcnZlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlU2VydmVyVXBkYXRlIHtcbiAgLyoqIFZvaWNlIGNvbm5lY3Rpb24gdG9rZW4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgdm9pY2Ugc2VydmVyIHVwZGF0ZSBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHZvaWNlIHNlcnZlciBob3N0ICovXG4gIGVuZHBvaW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNpbnZpdGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVDcmVhdGUge1xuICAvKiogVGhlIGNoYW5uZWwgdGhlIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZTogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgaW52aXRlIGlzIHRlbXBvcmFyeSAoaW52aXRlZCB1c2VycyB3aWxsIGJlIGtpY2tlZCBvbiBkaXNjb25uZWN0IHVubGVzcyB0aGV5J3JlIGFzc2lnbmVkIGEgcm9sZSkgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBIb3cgbWFueSB0aW1lcyB0aGUgaW52aXRlIGhhcyBiZWVuIHVzZWQgKGFsd2F5cyB3aWxsIGJlIDApICovXG4gIHVzZXM6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaGVsbG8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEhlbGxvIHtcbiAgLyoqIFRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSB0aGUgY2xpZW50IHNob3VsZCBoZWFydGJlYXQgd2l0aCAqL1xuICBoZWFydGJlYXRfaW50ZXJ2YWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcmVhZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWR5IHtcbiAgLyoqIEdhdGV3YXkgdmVyc2lvbiAqL1xuICB2OiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIGluY2x1ZGluZyBlbWFpbCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGd1aWxkcyB0aGUgdXNlciBpcyBpbiAqL1xuICBndWlsZHM6IERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkW11cbiAgLyoqIFVzZWQgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICAvKiogR2F0ZXdheSB1cmwgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHJlc3VtZV9nYXRld2F5X3VybDogc3RyaW5nXG4gIC8qKiBUaGUgc2hhcmQgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2Vzc2lvbiwgaWYgc2VudCB3aGVuIGlkZW50aWZ5aW5nICovXG4gIHNoYXJkPzogW251bWJlciwgbnVtYmVyXVxuICAvKiogQ29udGFpbnMgaWQgYW5kIGZsYWdzICovXG4gIGFwcGxpY2F0aW9uOiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj4gJiBQaWNrPERpc2NvcmRBcHBsaWNhdGlvbiwgJ2lkJyB8ICdmbGFncyc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjdW5hdmFpbGFibGUtZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkIGV4dGVuZHMgUGljazxEaXNjb3JkR3VpbGQsICdpZCcgfCAndW5hdmFpbGFibGUnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUtYnVsayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZUJ1bGsge1xuICAvKiogVGhlIGlkcyBvZiB0aGUgbWVzc2FnZXMgKi9cbiAgaWRzOiBzdHJpbmdbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3RlbXBsYXRlI3RlbXBsYXRlLW9iamVjdC10ZW1wbGF0ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlbXBsYXRlIHtcbiAgLyoqIFRoZSB0ZW1wbGF0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGVtcGxhdGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHRlbXBsYXRlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyB0ZW1wbGF0ZSBoYXMgYmVlbiB1c2VkICovXG4gIHVzYWdlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBJZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcjogRGlzY29yZFVzZXJcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgbGFzdCBzeW5jZWQgdG8gdGhlIHNvdXJjZSBndWlsZCAqL1xuICB1cGRhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBJZCBvZiB0aGUgZ3VpbGQgdGhpcyB0ZW1wbGF0ZSBpcyBiYXNlZCBvbiAqL1xuICBzb3VyY2VfZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHNuYXBzaG90IHRoaXMgdGVtcGxhdGUgY29udGFpbnMgKi9cbiAgc2VyaWFsaXplZF9zb3VyY2VfZ3VpbGQ6IE9taXQ8XG4gICAgUGlja1BhcnRpYWw8XG4gICAgICBEaXNjb3JkR3VpbGQsXG4gICAgICB8ICduYW1lJ1xuICAgICAgfCAnZGVzY3JpcHRpb24nXG4gICAgICB8ICd2ZXJpZmljYXRpb25fbGV2ZWwnXG4gICAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgICAgfCAncHJlZmVycmVkX2xvY2FsZSdcbiAgICAgIHwgJ2Fma190aW1lb3V0J1xuICAgICAgfCAnY2hhbm5lbHMnXG4gICAgICB8ICdhZmtfY2hhbm5lbF9pZCdcbiAgICAgIHwgJ3N5c3RlbV9jaGFubmVsX2lkJ1xuICAgICAgfCAnc3lzdGVtX2NoYW5uZWxfZmxhZ3MnXG4gICAgPixcbiAgICAncm9sZXMnXG4gID4gJiB7XG4gICAgcm9sZXM6IEFycmF5PFxuICAgICAgT21pdDxQaWNrUGFydGlhbDxEaXNjb3JkUm9sZSwgJ25hbWUnIHwgJ2NvbG9yJyB8ICdob2lzdCcgfCAnbWVudGlvbmFibGUnIHwgJ3Blcm1pc3Npb25zJyB8ICdpY29uJyB8ICd1bmljb2RlX2Vtb2ppJz4sICdpZCc+ICYgeyBpZDogbnVtYmVyIH1cbiAgICA+XG4gIH1cbiAgLyoqIFdoZXRoZXIgdGhlIHRlbXBsYXRlIGhhcyB1bi1zeW5jZWQgY2hhbmdlcyAqL1xuICBpc19kaXJ0eTogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLW1lbWJlci1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkTWVtYmVyQWRkIGV4dGVuZHMgRGlzY29yZE1lbWJlcldpdGhVc2VyIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjdGhyZWFkLW1lbWJlcnMtdXBkYXRlLXRocmVhZC1tZW1iZXJzLXVwZGF0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlcnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcnMgd2hvIHdlcmUgYWRkZWQgdG8gdGhlIHRocmVhZCAqL1xuICBhZGRlZF9tZW1iZXJzPzogRGlzY29yZFRocmVhZE1lbWJlcltdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXJzIHdobyB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgdGhyZWFkICovXG4gIHJlbW92ZWRfbWVtYmVyX2lkcz86IHN0cmluZ1tdXG4gIC8qKiB0aGUgYXBwcm94aW1hdGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhlIHRocmVhZCwgY2FwcGVkIGF0IDUwICovXG4gIG1lbWJlcl9jb3VudDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN0aHJlYWQtbWVtYmVyLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBib3Qgam9pbmVkIHRoaXMgdGhyZWFkLiAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIHRoaXMgdXNlciBoYXMgZm9yIHRoaXMgdGhyZWFkLiBOb3QgdXNlZnVsIGZvciBib3RzLiAqL1xuICBmbGFnczogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLWNyZWF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlQ3JlYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgY3JlYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtZW1vamlzLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRFbW9qaXNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjZ3VpbGQtc3RpY2tlcnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFN0aWNrZXJzVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiBzdGlja2VyICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXItdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlclVwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFVzZXIgcm9sZSBpZHMgKi9cbiAgcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogTmlja25hbWUgb2YgdGhlIHVzZXIgaW4gdGhlIGd1aWxkICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgbWVtYmVyJ3MgW2d1aWxkIGF2YXRhciBoYXNoXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgYXZhdGFyOiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGluZyBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogd2hlbiB0aGUgdXNlcidzIFt0aW1lb3V0XShodHRwczovL3N1cHBvcnQuZGlzY29yZC5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvNDQxMzMwNTIzOTE5MS1UaW1lLU91dC1GQVEpIHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0LiBXaWxsIHRocm93IGEgNDAzIGVycm9yIGlmIHRoZSB1c2VyIGhhcyB0aGUgQURNSU5JU1RSQVRPUiBwZXJtaXNzaW9uIG9yIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1yZW1vdmUtYWxsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmVBbGwgZXh0ZW5kcyBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdtZXNzYWdlX2lkJyB8ICdndWlsZF9pZCc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgdXBkYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJBZGQge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSB1c2VyICAgICAgICAgICAgICAgICAgICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlLWVtb2ppICovXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlRW1vamkgPSBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdndWlsZF9pZCcgfCAnbWVzc2FnZV9pZCcgfCAnZW1vamknPlxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJSZW1vdmUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gd2FzIHJlbW92ZWQgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNiYW4tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCYW4ge1xuICAvKiogVGhlIHJlYXNvbiBmb3IgdGhlIGJhbiAqL1xuICByZWFzb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBiYW5uZWQgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJSZW1vdmUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaW52aXRlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlRGVsZXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIG9mIHRoZSBpbnZpdGUgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGludml0ZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVuaXF1ZSBpbnZpdGUgY29kZSAqL1xuICBjb2RlOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy92b2ljZSN2b2ljZS1yZWdpb24tb2JqZWN0LXZvaWNlLXJlZ2lvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlUmVnaW9uIHtcbiAgLyoqIFVuaXF1ZSBJZCBmb3IgdGhlIHJlZ2lvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSByZWdpb24gKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0cnVlIGZvciBhIHNpbmdsZSBzZXJ2ZXIgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBjdXJyZW50IHVzZXIncyBjbGllbnQgKi9cbiAgb3B0aW1hbDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZGVwcmVjYXRlZCB2b2ljZSByZWdpb24gKGF2b2lkIHN3aXRjaGluZyB0byB0aGVzZSkgKi9cbiAgZGVwcmVjYXRlZDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgY3VzdG9tIHZvaWNlIHJlZ2lvbiAodXNlZCBmb3IgZXZlbnRzL2V0YykgKi9cbiAgY3VzdG9tOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3Mge1xuICAvKiogd2hldGhlciB0aGUgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogdGhlIHdpZGdldCBjaGFubmVsIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5zdGFsbFBhcmFtcyB7XG4gIC8qKiB0aGUgc2NvcGVzIHRvIGFkZCB0aGUgYXBwbGljYXRpb24gdG8gdGhlIHNlcnZlciB3aXRoICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxuICAvKiogdGhlIHBlcm1pc3Npb25zIHRvIHJlcXVlc3QgZm9yIHRoZSBib3Qgcm9sZSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZvcnVtVGFnIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgbW9kZXJhdGVkOiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSBBdCBtb3N0IG9uZSBvZiBlbW9qaV9pZCBhbmQgZW1vamlfbmFtZSBtYXkgYmUgc2V0LiAqL1xuICBlbW9qaV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkge1xuICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgZW1vamlfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUNoYW5uZWwge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNoYW5uZWwgbmFtZSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsOyBvbmx5IGNvbnZlcnNpb24gYmV0d2VlbiB0ZXh0IGFuZCBuZXdzIGlzIHN1cHBvcnRlZCBhbmQgb25seSBpbiBndWlsZHMgd2l0aCB0aGUgXCJORVdTXCIgZmVhdHVyZSAqL1xuICB0eXBlPzogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgaW4gdGhlIGxlZnQtaGFuZCBsaXN0aW5nICovXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbFxuICAvKiogMC0xMDI0IGNoYXJhY3RlciBjaGFubmVsIHRvcGljICovXG4gIHRvcGljPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBuc2Z3ICovXG4gIG5zZnc/OiBib29sZWFuIHwgbnVsbFxuICAvKiogQW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCk7IGJvdHMsIGFzIHdlbGwgYXMgdXNlcnMgd2l0aCB0aGUgcGVybWlzc2lvbiBgbWFuYWdlX21lc3NhZ2VzYCBvciBgbWFuYWdlX2NoYW5uZWxgLCBhcmUgdW5hZmZlY3RlZCAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBjaGFubmVsOyA4MDAwIHRvIDk2MDAwICgxMjgwMDAgZm9yIFZJUCBzZXJ2ZXJzKSAqL1xuICBiaXRyYXRlPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgbGltaXQgb2YgdGhlIHZvaWNlIGNoYW5uZWw7IDAgcmVmZXJzIHRvIG5vIGxpbWl0LCAxIHRvIDk5IHJlZmVycyB0byBhIHVzZXIgbGltaXQgKi9cbiAgdXNlcl9saW1pdD86IG51bWJlciB8IG51bGxcbiAgLyoqIENoYW5uZWwgb3IgY2F0ZWdvcnktc3BlY2lmaWMgcGVybWlzc2lvbnMgKi9cbiAgcGVybWlzc2lvbl9vdmVyd3JpdGVzPzogRGlzY29yZE92ZXJ3cml0ZVtdIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG5ldyBwYXJlbnQgY2F0ZWdvcnkgZm9yIGEgY2hhbm5lbCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKi9cbiAgdmlkZW9fcXVhbGl0eV9tb2RlPzogVmlkZW9RdWFsaXR5TW9kZXNcbiAgLyoqIFdoZXRoZXIgdGhlIHRocmVhZCBpcyBhcmNoaXZlZCAqL1xuICBhcmNoaXZlZD86IGJvb2xlYW5cbiAgLyoqIER1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5ICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBsb2NrZWQsIG9ubHkgdXNlcnMgd2l0aCBgTUFOQUdFX1RIUkVBRFNgIGNhbiB1bmFyY2hpdmUgaXQgKi9cbiAgbG9ja2VkPzogYm9vbGVhblxuICAvKiogd2hldGhlciBub24tbW9kZXJhdG9ycyBjYW4gYWRkIG90aGVyIG5vbi1tb2RlcmF0b3JzIHRvIGEgdGhyZWFkOyBvbmx5IGF2YWlsYWJsZSBvbiBwcml2YXRlIHRocmVhZHMgKi9cbiAgaW52aXRhYmxlPzogYm9vbGVhblxuICAvKiogVGhlIHNldCBvZiB0YWdzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGF2YWlsYWJsZV90YWdzPzogQXJyYXk8e1xuICAgIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICAgIGlkOiBzdHJpbmdcbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHRhZyAoMC0yMCBjaGFyYWN0ZXJzKSAqL1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgICBtb2RlcmF0ZWQ6IGJvb2xlYW5cbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgQXQgbW9zdCBvbmUgb2YgZW1vamlfaWQgYW5kIGVtb2ppX25hbWUgbWF5IGJlIHNldC4gKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lOiBzdHJpbmdcbiAgfT5cbiAgLyoqIFRoZSBJRHMgb2YgdGhlIHNldCBvZiB0YWdzIHRoYXQgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsOyBsaW1pdGVkIHRvIDUgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbiAgLyoqIHRoZSBlbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzoge1xuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbiAgfVxuICAvKiogdGhlIGluaXRpYWwgcmF0ZV9saW1pdF9wZXJfdXNlciB0byBzZXQgb24gbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIGEgY2hhbm5lbC4gdGhpcyBmaWVsZCBpcyBjb3BpZWQgdG8gdGhlIHRocmVhZCBhdCBjcmVhdGlvbiB0aW1lIGFuZCBkb2VzIG5vdCBsaXZlIHVwZGF0ZS4gKi9cbiAgZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gZm9ydW0gY2hhbm5lbHMgKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG4gIC8qKiB0aGUgZGVmYXVsdCBmb3J1bSBsYXlvdXQgdmlldyB1c2VkIHRvIGRpc3BsYXkgcG9zdHMgaW4gYEdVSUxEX0ZPUlVNYCBjaGFubmVscy4gRGVmYXVsdHMgdG8gYDBgLCB3aGljaCBpbmRpY2F0ZXMgYSBsYXlvdXQgdmlldyBoYXMgbm90IGJlZW4gc2V0IGJ5IGEgY2hhbm5lbCBhZG1pbiAqL1xuICBkZWZhdWx0X2ZvcnVtX2xheW91dD86IEZvcnVtTGF5b3V0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjY3JlYXRlLWd1aWxkLWVtb2ppICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVHdWlsZEVtb2ppIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIDEyOHgxMjggZW1vamkgaW1hZ2UuIEVtb2ppcyBhbmQgYW5pbWF0ZWQgZW1vamlzIGhhdmUgYSBtYXhpbXVtIGZpbGUgc2l6ZSBvZiAyNTZrYi4gQXR0ZW1wdGluZyB0byB1cGxvYWQgYW4gZW1vamkgbGFyZ2VyIHRoYW4gdGhpcyBsaW1pdCB3aWxsIGZhaWwgYW5kIHJldHVybiA0MDAgQmFkIFJlcXVlc3QgYW5kIGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCBub3QgYSBKU09OIHN0YXR1cyBjb2RlLiBJZiBhIFVSTCBpcyBwcm92aWRlZCB0byB0aGUgaW1hZ2UgcGFyYW1ldGVyLCBEaXNjb3JkZW5vIHdpbGwgYXV0b21hdGljYWxseSBjb252ZXJ0IGl0IHRvIGEgYmFzZTY0IHN0cmluZyBpbnRlcm5hbGx5LiAqL1xuICBpbWFnZTogc3RyaW5nXG4gIC8qKiBSb2xlcyBhbGxvd2VkIHRvIHVzZSB0aGlzIGVtb2ppICovXG4gIHJvbGVzPzogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9lbW9qaSNtb2RpZnktZ3VpbGQtZW1vamkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkRW1vamkge1xuICAvKiogTmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVHdWlsZENoYW5uZWwge1xuICAvKiogQ2hhbm5lbCBuYW1lICgxLTEwMCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZT86IENoYW5uZWxUeXBlc1xuICAvKiogQ2hhbm5lbCB0b3BpYyAoMC0xMDI0IGNoYXJhY3RlcnMpICovXG4gIHRvcGljPzogc3RyaW5nXG4gIC8qKiBUaGUgYml0cmF0ZSAoaW4gYml0cykgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKHZvaWNlIG9ubHkpICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBjaGFubmVsICh2b2ljZSBvbmx5KSAqL1xuICB1c2VyX2xpbWl0PzogbnVtYmVyXG4gIC8qKiBBbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKTsgYm90cywgYXMgd2VsbCBhcyB1c2VycyB3aXRoIHRoZSBwZXJtaXNzaW9uIGBtYW5hZ2VfbWVzc2FnZXNgIG9yIGBtYW5hZ2VfY2hhbm5lbGAsIGFyZSB1bmFmZmVjdGVkICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIFNvcnRpbmcgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgKi9cbiAgcG9zaXRpb24/OiBudW1iZXJcbiAgLyoqIFRoZSBjaGFubmVsJ3MgcGVybWlzc2lvbiBvdmVyd3JpdGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogSWQgb2YgdGhlIHBhcmVudCBjYXRlZ29yeSBmb3IgYSBjaGFubmVsICovXG4gIHBhcmVudF9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBuc2Z3ICovXG4gIG5zZnc/OiBib29sZWFuXG4gIC8qKiBEZWZhdWx0IGR1cmF0aW9uIChpbiBtaW51dGVzKSB0aGF0IGNsaWVudHMgKG5vdCB0aGUgQVBJKSB1c2UgZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcyBpbiB0aGlzIGNoYW5uZWwsIHRvIGRldGVybWluZSB3aGVuIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHRoZSBsYXN0IGFjdGl2aXR5ICovXG4gIGRlZmF1bHRfYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogbnVtYmVyXG4gIC8qKiBFbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgZm9ydW0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzoge1xuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaS4gRXhhY3RseSBvbmUgb2YgYGVtb2ppSWRgIGFuZCBgZW1vamlOYW1lYCBtdXN0IGJlIHNldC4gKi9cbiAgICBlbW9qaV9pZD86IHN0cmluZyB8IG51bGxcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaS4gRXhhY3RseSBvbmUgb2YgYGVtb2ppSWRgIGFuZCBgZW1vamlOYW1lYCBtdXN0IGJlIHNldC4gKi9cbiAgICBlbW9qaV9uYW1lPzogc3RyaW5nIHwgbnVsbFxuICB9XG4gIC8qKiBTZXQgb2YgdGFncyB0aGF0IGNhbiBiZSB1c2VkIGluIGEgZm9ydW0gY2hhbm5lbCAqL1xuICBhdmFpbGFibGVfdGFncz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgICBpZDogc3RyaW5nXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogd2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gICAgbW9kZXJhdGVkOiBib29sZWFuXG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZT86IHN0cmluZ1xuICB9PlxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gZm9ydW0gY2hhbm5lbHMgKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZU1lc3NhZ2Uge1xuICAvKiogVGhlIG1lc3NhZ2UgY29udGVudHMgKHVwIHRvIDIwMDAgY2hhcmFjdGVycykgKi9cbiAgY29udGVudD86IHN0cmluZ1xuICAvKiogQ2FuIGJlIHVzZWQgdG8gdmVyaWZ5IGEgbWVzc2FnZSB3YXMgc2VudCAodXAgdG8gMjUgY2hhcmFjdGVycykuIFZhbHVlIHdpbGwgYXBwZWFyIGluIHRoZSBNZXNzYWdlIENyZWF0ZSBldmVudC4gKi9cbiAgbm9uY2U/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqIHRydWUgaWYgdGhpcyBpcyBhIFRUUyBtZXNzYWdlICovXG4gIHR0cz86IGJvb2xlYW5cbiAgLyoqIEVtYmVkZGVkIGByaWNoYCBjb250ZW50ICh1cCB0byA2MDAwIGNoYXJhY3RlcnMpICovXG4gIGVtYmVkcz86IERpc2NvcmRFbWJlZFtdXG4gIC8qKiBBbGxvd2VkIG1lbnRpb25zIGZvciB0aGUgbWVzc2FnZSAqL1xuICBhbGxvd2VkX21lbnRpb25zPzogRGlzY29yZEFsbG93ZWRNZW50aW9uc1xuICAvKiogSW5jbHVkZSB0byBtYWtlIHlvdXIgbWVzc2FnZSBhIHJlcGx5ICovXG4gIG1lc3NhZ2VfcmVmZXJlbmNlPzoge1xuICAgIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSAqL1xuICAgIG1lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGNoYW5uZWxcbiAgICAgKiBOb3RlOiBgY2hhbm5lbF9pZGAgaXMgb3B0aW9uYWwgd2hlbiBjcmVhdGluZyBhIHJlcGx5LCBidXQgd2lsbCBhbHdheXMgYmUgcHJlc2VudCB3aGVuIHJlY2VpdmluZyBhbiBldmVudC9yZXNwb25zZSB0aGF0IGluY2x1ZGVzIHRoaXMgZGF0YSBtb2RlbC5cbiAgICAgKi9cbiAgICBjaGFubmVsX2lkPzogc3RyaW5nXG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgICBndWlsZF9pZD86IHN0cmluZ1xuICAgIC8qKiBXaGVuIHNlbmRpbmcsIHdoZXRoZXIgdG8gZXJyb3IgaWYgdGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBkb2Vzbid0IGV4aXN0IGluc3RlYWQgb2Ygc2VuZGluZyBhcyBhIG5vcm1hbCAobm9uLXJlcGx5KSBtZXNzYWdlLCBkZWZhdWx0IHRydWUgKi9cbiAgICBmYWlsX2lmX25vdF9leGlzdHM6IGJvb2xlYW5cbiAgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgeW91IHdvdWxkIGxpa2UgdG8gaGF2ZSBzZW50IGluIHRoaXMgbWVzc2FnZSAqL1xuICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzXG4gIC8qKiBJRHMgb2YgdXAgdG8gMyBzdGlja2VycyBpbiB0aGUgc2VydmVyIHRvIHNlbmQgaW4gdGhlIG1lc3NhZ2UgKi9cbiAgc3RpY2tlcklkcz86IFtzdHJpbmddIHwgW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21vZGlmeS1ndWlsZC13ZWxjb21lLXNjcmVlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHdlbGNvbWUgc2NyZWVuIGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBDaGFubmVscyBsaW5rZWQgaW4gdGhlIHdlbGNvbWUgc2NyZWVuIGFuZCB0aGVpciBkaXNwbGF5IG9wdGlvbnMgKi9cbiAgd2VsY29tZV9zY3JlZW4/OiBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWxbXSB8IG51bGxcbiAgLyoqIFRoZSBzZXJ2ZXIgZGVzY3JpcHRpb24gdG8gc2hvdyBpbiB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZvbGxvd0Fubm91bmNlbWVudENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHRvIHNlbmQgYW5ub3VuY2VtZW50cyB0by4gKi9cbiAgd2ViaG9va19jaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucyB7XG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c6IHN0cmluZ1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGRlbnk6IHN0cmluZ1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtb2RpZnktZ3VpbGQtY2hhbm5lbC1wb3NpdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkQ2hhbm5lbFBvc2l0aW9ucyB7XG4gIC8qKiBDaGFubmVsIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFNvcnRpbmcgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgKi9cbiAgcG9zaXRpb246IG51bWJlciB8IG51bGxcbiAgLyoqIFN5bmNzIHRoZSBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgd2l0aCB0aGUgbmV3IHBhcmVudCwgaWYgbW92aW5nIHRvIGEgbmV3IGNhdGVnb3J5ICovXG4gIGxvY2tfcG9zaXRpb25zPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIFRoZSBuZXcgcGFyZW50IElEIGZvciB0aGUgY2hhbm5lbCB0aGF0IGlzIG1vdmVkICovXG4gIHBhcmVudF9pZD86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlV2ViaG9vayB7XG4gIC8qKiBOYW1lIG9mIHRoZSB3ZWJob29rICgxLTgwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW1hZ2UgdXJsIGZvciB0aGUgZGVmYXVsdCB3ZWJob29rIGF2YXRhciAqL1xuICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNzdGFydC10aHJlYWQtaW4tZm9ydW0tY2hhbm5lbCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlRm9ydW1Qb3N0V2l0aE1lc3NhZ2Uge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNoYW5uZWwgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIGR1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogNjAgfCAxNDQwIHwgNDMyMCB8IDEwMDgwXG4gIC8qKiBhbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKSAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyXG4gIC8qKiBjb250ZW50cyBvZiB0aGUgZmlyc3QgbWVzc2FnZSBpbiB0aGUgZm9ydW0gdGhyZWFkICovXG4gIG1lc3NhZ2U6IHtcbiAgICAvKiogTWVzc2FnZSBjb250ZW50cyAodXAgdG8gMjAwMCBjaGFyYWN0ZXJzKSAqL1xuICAgIGNvbnRlbnQ/OiBzdHJpbmdcbiAgICAvKiogRW1iZWRkZWQgcmljaCBjb250ZW50ICh1cCB0byA2MDAwIGNoYXJhY3RlcnMpICovXG4gICAgZW1iZWRzPzogRGlzY29yZEVtYmVkW11cbiAgICAvKiogQWxsb3dlZCBtZW50aW9ucyBmb3IgdGhlIG1lc3NhZ2UgKi9cbiAgICBhbGxvd2VkX21lbnRpb25zPzogRGlzY29yZEFsbG93ZWRNZW50aW9uc1tdXG4gICAgLyoqIENvbXBvbmVudHMgdG8gaW5jbHVkZSB3aXRoIHRoZSBtZXNzYWdlICovXG4gICAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1tdXG4gICAgLyoqIElEcyBvZiB1cCB0byAzIHN0aWNrZXJzIGluIHRoZSBzZXJ2ZXIgdG8gc2VuZCBpbiB0aGUgbWVzc2FnZSAqL1xuICAgIHN0aWNrZXJfaWRzPzogc3RyaW5nW11cbiAgICAvKiogSlNPTi1lbmNvZGVkIGJvZHkgb2Ygbm9uLWZpbGUgcGFyYW1zLCBvbmx5IGZvciBtdWx0aXBhcnQvZm9ybS1kYXRhIHJlcXVlc3RzLiBTZWUge0BsaW5rIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSN1cGxvYWRpbmctZmlsZXMgVXBsb2FkaW5nIEZpbGVzfSAqL1xuICAgIHBheWxvYWRfanNvbj86IHN0cmluZ1xuICAgIC8qKiBBdHRhY2htZW50IG9iamVjdHMgd2l0aCBmaWxlbmFtZSBhbmQgZGVzY3JpcHRpb24uIFNlZSB7QGxpbmsgaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI3VwbG9hZGluZy1maWxlcyBVcGxvYWRpbmcgRmlsZXN9ICovXG4gICAgYXR0YWNobWVudHM/OiBEaXNjb3JkQXR0YWNobWVudFtdXG4gICAgLyoqIE1lc3NhZ2UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAob25seSBTVVBQUkVTU19FTUJFRFMgY2FuIGJlIHNldCkgKi9cbiAgICBmbGFncz86IG51bWJlclxuICB9XG4gIC8qKiB0aGUgSURzIG9mIHRoZSBzZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBhcHBsaWVkX3RhZ3M/OiBzdHJpbmdbXVxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzID0gRGlzY29yZEFjdGl2ZVRocmVhZHMgJiB7XG4gIGhhc01vcmU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZlVGhyZWFkcyB7XG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZhbml0eVVybCB7XG4gIGNvZGU6IHN0cmluZyB8IG51bGxcbiAgdXNlczogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBydW5lZENvdW50IHtcbiAgcHJ1bmVkOiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJPQXV0aDJTY29wZSIsIkRpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGUiLCJEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHkiLCJBdXRvTW9kZXJhdGlvbkV2ZW50VHlwZXMiLCJBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcyIsIkRpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFQcmVzZXRzIiwiQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBaUZZQTtJQUNWOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxpRUFBaUU7SUFFakU7Ozs7O0dBS0M7SUFFRCwyREFBMkQ7SUFFM0Q7Ozs7O0dBS0M7SUFFRCxnR0FBZ0c7SUFFaEcsbUVBQW1FO0lBRW5FLHVIQUF1SDtJQUV2SCwrRUFBK0U7SUFFL0UseUhBQXlIO0lBRXpIOzs7OztHQUtDO0lBRUQsZ0hBQWdIO0lBRWhILGdEQUFnRDtJQUVoRCx1SEFBdUg7SUFFdkgsb0lBQW9JO0lBRXBJLCtJQUErSTtJQUUvSTs7Ozs7O0dBTUM7SUFFRDs7O0dBR0M7SUFFRDs7Ozs7R0FLQztJQUVELDJFQUEyRTtJQUUzRTs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxrR0FBa0c7R0E1SHhGQSxnQkFBQUE7O1VBK1hBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FBQUEsaUNBQUFBOztVQXVCQUM7SUFDVixxREFBcUQ7SUFFckQsd0JBQXdCO0dBSGRBLGdDQUFBQTs7VUE4cUNBQztJQUNWLGdDQUFnQztHQUR0QkEsNkJBQUFBOztVQUtBQzs7Ozs7O0dBQUFBLCtCQUFBQTs7VUFxQkFDO0lBQ1YsOERBQThEO0lBRTlELCtEQUErRDtJQUUvRCxpRUFBaUU7R0FMdkRBLG9EQUFBQTs7VUFnQkFDO0lBQ1YsMERBQTBEO0lBRTFELDZDQUE2QztJQUU3QywwQ0FBMEM7R0FMaENBLDZCQUFBQSJ9
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWN0aXZpdHlUeXBlcyxcbiAgQWxsb3dlZE1lbnRpb25zVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICBBcHBsaWNhdGlvbkZsYWdzLFxuICBBdHRhY2htZW50RmxhZ3MsXG4gIEF1ZGl0TG9nRXZlbnRzLFxuICBCdXR0b25TdHlsZXMsXG4gIENoYW5uZWxGbGFncyxcbiAgQ2hhbm5lbFR5cGVzLFxuICBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVscyxcbiAgRW1iZWRUeXBlcyxcbiAgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICBGb3J1bUxheW91dCxcbiAgR2F0ZXdheUV2ZW50TmFtZXMsXG4gIEd1aWxkRmVhdHVyZXMsXG4gIEd1aWxkTnNmd0xldmVsLFxuICBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9ycyxcbiAgSW50ZXJhY3Rpb25UeXBlcyxcbiAgTG9jYWxpemF0aW9uLFxuICBNZXNzYWdlQWN0aXZpdHlUeXBlcyxcbiAgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxuICBNZXNzYWdlVHlwZXMsXG4gIE1mYUxldmVscyxcbiAgT3ZlcndyaXRlVHlwZXMsXG4gIFBpY2tQYXJ0aWFsLFxuICBQcmVtaXVtVGllcnMsXG4gIFByZW1pdW1UeXBlcyxcbiAgUm9sZUZsYWdzLFxuICBTY2hlZHVsZWRFdmVudEVudGl0eVR5cGUsXG4gIFNjaGVkdWxlZEV2ZW50UHJpdmFjeUxldmVsLFxuICBTY2hlZHVsZWRFdmVudFN0YXR1cyxcbiAgU29ydE9yZGVyVHlwZXMsXG4gIFN0aWNrZXJGb3JtYXRUeXBlcyxcbiAgU3RpY2tlclR5cGVzLFxuICBTeXN0ZW1DaGFubmVsRmxhZ3MsXG4gIFRhcmdldFR5cGVzLFxuICBUZWFtTWVtYmVyc2hpcFN0YXRlcyxcbiAgVGV4dFN0eWxlcyxcbiAgVmVyaWZpY2F0aW9uTGV2ZWxzLFxuICBWaWRlb1F1YWxpdHlNb2RlcyxcbiAgV2ViaG9va1R5cGVzLFxufSBmcm9tICcuL3NoYXJlZC5qcydcblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI3VzZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVc2VyIHtcbiAgLyoqIFRoZSB1c2VyJ3MgdXNlcm5hbWUsIG5vdCB1bmlxdWUgYWNyb3NzIHRoZSBwbGF0Zm9ybSAqL1xuICB1c2VybmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGRpc3BsYXkgbmFtZSwgaWYgaXQgaXMgc2V0LiBGb3IgYm90cywgdGhpcyBpcyB0aGUgYXBwbGljYXRpb24gbmFtZSAqL1xuICBnbG9iYWxfbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIncyBjaG9zZW4gbGFuZ3VhZ2Ugb3B0aW9uICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgZmxhZ3M/OiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIE5pdHJvIHN1YnNjcmlwdGlvbiBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIHByZW1pdW1fdHlwZT86IFByZW1pdW1UeXBlc1xuICAvKiogVGhlIHB1YmxpYyBmbGFncyBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIHB1YmxpY19mbGFncz86IG51bWJlclxuICAvKiogdGhlIHVzZXIncyBiYW5uZXIgY29sb3IgZW5jb2RlZCBhcyBhbiBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uIG9mIGhleGFkZWNpbWFsIGNvbG9yIGNvZGUgKi9cbiAgYWNjZW50X2NvbG9yPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlcidzIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgZGlzY29yZC10YWcgKi9cbiAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGF2YXRhciBoYXNoICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGUgdXNlciBiZWxvbmdzIHRvIGFuIE9BdXRoMiBhcHBsaWNhdGlvbiAqL1xuICBib3Q/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGFuIE9mZmljaWFsIERpc2NvcmQgU3lzdGVtIHVzZXIgKHBhcnQgb2YgdGhlIHVyZ2VudCBtZXNzYWdlIHN5c3RlbSkgKi9cbiAgc3lzdGVtPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgdHdvIGZhY3RvciBlbmFibGVkIG9uIHRoZWlyIGFjY291bnQgKi9cbiAgbWZhX2VuYWJsZWQ/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSBlbWFpbCBvbiB0aGlzIGFjY291bnQgaGFzIGJlZW4gdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgdXNlcidzIGVtYWlsICovXG4gIGVtYWlsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHVzZXIncyBiYW5uZXIsIG9yIG51bGwgaWYgdW5zZXQgKi9cbiAgYmFubmVyPzogc3RyaW5nXG4gIC8qKiBkYXRhIGZvciB0aGUgdXNlcidzIGF2YXRhciBkZWNvcmF0aW9uICovXG4gIGF2YXRhcl9kZWNvcmF0aW9uX2RhdGE/OiBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGFcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc2hhcmVkLXJlc291cmNlcy1vYXV0aDItc2NvcGVzICovXG5leHBvcnQgZW51bSBPQXV0aDJTY29wZSB7XG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gZmV0Y2ggZGF0YSBmcm9tIGEgdXNlcidzIFwiTm93IFBsYXlpbmcvUmVjZW50bHkgUGxheWVkXCIgbGlzdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzXG4gICAqL1xuICBBY3Rpdml0aWVzUmVhZCA9ICdhY3Rpdml0aWVzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBhY3Rpdml0eVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzLlxuICAgKi9cbiAgQWN0aXZpdGllc1dyaXRlID0gJ2FjdGl2aXRpZXMud3JpdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHJlYWQgYnVpbGQgZGF0YSBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0J1aWxkc1JlYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byB1cGxvYWQvdXBkYXRlIGJ1aWxkcyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBBcHBsaWNhdGlvbnNCdWlsZHNVcGxvYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy51cGxvYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIGFkZCBjb21tYW5kcyB0byBhIGd1aWxkIC0gaW5jbHVkZWQgYnkgZGVmYXVsdCB3aXRoIHRoZSBgYm90YCBzY29wZSAqL1xuICBBcHBsaWNhdGlvbnNDb21tYW5kcyA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBpdHMgQXBwbGljYXRpb24gQ29tbWFuZHMgdmlhIHRoaXMgYmVhcmVyIHRva2VuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgY2FuIG9ubHkgYmUgdXNlZCB3aGVuIHVzaW5nIGEgW0NsaWVudCBDcmVkZW50aWFsIEdyYW50XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2NsaWVudC1jcmVkZW50aWFscy1ncmFudClcbiAgICovXG4gIEFwcGxpY2F0aW9uc0NvbW1hbmRzVXBkYXRlID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcy51cGRhdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBwZXJtaXNzaW9ucyBmb3IgaXRzIGNvbW1hbmRzIGluIGEgZ3VpbGQgYSB1c2VyIGhhcyBwZXJtaXNzaW9ucyB0byAqL1xuICBBcHBsaWNhdGlvbkNvbW1hbmRzUGVybWlzc2lvbnNVcGRhdGUgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzLnBlcm1pc3Npb25zLnVwZGF0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBlbnRpdGxlbWVudHMgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNFbnRpdGxlbWVudHMgPSAnYXBwbGljYXRpb25zLmVudGl0bGVtZW50cycsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBhbmQgdXBkYXRlIHN0b3JlIGRhdGEgKFNLVXMsIHN0b3JlIGxpc3RpbmdzLCBhY2hpZXZlbWVudHMsIGV0Yy4pIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnMgKi9cbiAgQXBwbGljYXRpb25zU3RvcmVVcGRhdGUgPSAnYXBwbGljYXRpb25zLnN0b3JlLnVwZGF0ZScsXG4gIC8qKiBGb3Igb2F1dGgyIGJvdHMsIHRoaXMgcHV0cyB0aGUgYm90IGluIHRoZSB1c2VyJ3Mgc2VsZWN0ZWQgZ3VpbGQgYnkgZGVmYXVsdCAqL1xuICBCb3QgPSAnYm90JyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9jb25uZWN0aW9uc10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LXVzZXItY29ubmVjdGlvbnMpICovXG4gIENvbm5lY3Rpb25zID0gJ2Nvbm5lY3Rpb25zJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBzZWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIncyBETXMgYW5kIGdyb3VwIERNc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgRE1DaGFubmVsc1JlYWQgPSAnZG1fY2hhbm5lbHMucmVhZCcsXG4gIC8qKiBBZGRzIHRoZSBgZW1haWxgIGZpbGVkIHRvIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKSAqL1xuICBFbWFpbCA9ICdlbWFpbCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gam9pbiB1c2VycyB0byBhIGdyb3VwIGRtICovXG4gIEdyb3VwRE1Kb2lucyA9ICdnZG0uam9pbicsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvZ3VpbGRzXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyLWd1aWxkcykgKi9cbiAgR3VpbGRzID0gJ2d1aWxkcycsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy9ndWlsZHMve2d1aWxkLmlkfS9tZW1iZXJzL3t1c2VyLmlkfV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2FkZC1ndWlsZC1tZW1iZXIpICovXG4gIEd1aWxkc0pvaW4gPSAnZ3VpbGRzLmpvaW4nLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2d1aWxkcy97Z3VpbGQuaWR9L21lbWJlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlci1ndWlsZC1tZW1iZXIpICovXG4gIEd1aWxkc01lbWJlcnNSZWFkID0gJ2d1aWxkcy5tZW1iZXJzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGUgcmV0dXJuIG9iamVjdCBmcm9tIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKVxuICAgKiBkb2VzIE5PVCBjb250YWluIHRoZSBgZW1haWxgIGZpZWxkIHVubGVzcyB0aGUgc2NvcGUgYGVtYWlsYCBpcyBhbHNvIHVzZWRcbiAgICovXG4gIElkZW50aWZ5ID0gJ2lkZW50aWZ5JyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFwaSBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byByZWFkIG1lc3NhZ2VzIGZyb20gYWxsIGNsaWVudCBjaGFubmVsc1xuICAgKiAob3RoZXJ3aXNlIHJlc3RyaWN0ZWQgdG8gY2hhbm5lbHMvZ3VpbGRzIHlvdXIgYXBwIGNyZWF0ZXMpXG4gICAqL1xuICBNZXNzYWdlc1JlYWQgPSAnbWVzc2FnZXMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8ga25vdyBhIHVzZXIncyBmcmllbmRzIGFuZCBpbXBsaWNpdCByZWxhdGlvbnNoaXBzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSZWxhdGlvbnNoaXBzUmVhZCA9ICdyZWxhdGlvbnNoaXBzLnJlYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBjb25uZWN0aW9uIGFuZCBtZXRhZGF0YSBmb3IgdGhlIGFwcCAqL1xuICBSb2xlQ29ubmVjdGlvbnNXcml0ZSA9ICdyb2xlX2Nvbm5lY3Rpb25zLndyaXRlJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIGNvbnRyb2wgYSB1c2VyJ3MgbG9jYWwgRGlzY29yZCBjbGllbnRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQyA9ICdycGMnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gdXBkYXRlIGEgdXNlcidzIGFjdGl2aXR5XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENBY3Rpdml0aWVzV3JpdGUgPSAncnBjLmFjdGl2aXRpZXMud3JpdGUnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYXBpIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlY2VpdmUgbm90aWZpY2F0aW9ucyBwdXNoZWQgb3V0IHRvIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENOb3RpZmljYXRpb25zUmVhZCA9ICdycGMubm90aWZpY2F0aW9ucy5yZWFkJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlYWQgYSB1c2VyJ3Mgdm9pY2Ugc2V0dGluZ3MgYW5kIGxpc3RlbiBmb3Igdm9pY2UgZXZlbnRzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENWb2ljZVJlYWQgPSAncnBjLnZvaWNlLnJlYWQnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gdXBkYXRlIGEgdXNlcidzIHZvaWNlIHNldHRpbmdzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENWb2ljZVdyaXRlID0gJ3JwYy52b2ljZS53cml0ZScsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gY29ubmVjdCB0byB2b2ljZSBvbiB1c2VyJ3MgYmVoYWxmIGFuZCBzZWUgYWxsIHRoZSB2b2ljZSBtZW1iZXJzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBWb2ljZSA9ICd2b2ljZScsXG4gIC8qKiBHZW5lcmF0ZSBhIHdlYmhvb2sgdGhhdCBpcyByZXR1cm5lZCBpbiB0aGUgb2F1dGggdG9rZW4gcmVzcG9uc2UgZm9yIGF1dGhvcml6YXRpb24gY29kZSBncmFudHMgKi9cbiAgV2ViaG9va0luY29taW5nID0gJ3dlYmhvb2suaW5jb21pbmcnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLW9iamVjdC1pbnRlZ3JhdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIEludGVncmF0aW9uIElkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEludGVncmF0aW9uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJbnRlZ3JhdGlvbiB0eXBlICh0d2l0Y2gsIHlvdXR1YmUsIGRpc2NvcmQsIG9yIGd1aWxkX3N1YnNjcmlwdGlvbikuICovXG4gIHR5cGU6ICd0d2l0Y2gnIHwgJ3lvdXR1YmUnIHwgJ2Rpc2NvcmQnXG4gIC8qKiBJcyB0aGlzIGludGVncmF0aW9uIGVuYWJsZWQgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIElzIHRoaXMgaW50ZWdyYXRpb24gc3luY2luZyAqL1xuICBzeW5jaW5nPzogYm9vbGVhblxuICAvKiogUm9sZSBJZCB0aGF0IHRoaXMgaW50ZWdyYXRpb24gdXNlcyBmb3IgXCJzdWJzY3JpYmVyc1wiICovXG4gIHJvbGVfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgZW1vdGljb25zIHNob3VsZCBiZSBzeW5jZWQgZm9yIHRoaXMgaW50ZWdyYXRpb24gKHR3aXRjaCBvbmx5IGN1cnJlbnRseSkgKi9cbiAgZW5hYmxlX2Vtb3RpY29ucz86IGJvb2xlYW5cbiAgLyoqIFRoZSBiZWhhdmlvciBvZiBleHBpcmluZyBzdWJzY3JpYmVycyAqL1xuICBleHBpcmVfYmVoYXZpb3I/OiBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9yc1xuICAvKiogVGhlIGdyYWNlIHBlcmlvZCAoaW4gZGF5cykgYmVmb3JlIGV4cGlyaW5nIHN1YnNjcmliZXJzICovXG4gIGV4cGlyZV9ncmFjZV9wZXJpb2Q/OiBudW1iZXJcbiAgLyoqIFdoZW4gdGhpcyBpbnRlZ3JhdGlvbiB3YXMgbGFzdCBzeW5jZWQgKi9cbiAgc3luY2VkX2F0Pzogc3RyaW5nXG4gIC8qKiBIb3cgbWFueSBzdWJzY3JpYmVycyB0aGlzIGludGVncmF0aW9uIGhhcyAqL1xuICBzdWJzY3JpYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBIYXMgdGhpcyBpbnRlZ3JhdGlvbiBiZWVuIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIFVzZXIgZm9yIHRoaXMgaW50ZWdyYXRpb24gKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBJbnRlZ3JhdGlvbiBhY2NvdW50IGluZm9ybWF0aW9uICovXG4gIGFjY291bnQ6IERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnRcbiAgLyoqIFRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIGZvciBkaXNjb3JkIGludGVncmF0aW9ucyAqL1xuICBhcHBsaWNhdGlvbj86IERpc2NvcmRJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uXG4gIC8qKiB0aGUgc2NvcGVzIHRoZSBhcHBsaWNhdGlvbiBoYXMgYmVlbiBhdXRob3JpemVkIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1hY2NvdW50LW9iamVjdC1pbnRlZ3JhdGlvbi1hY2NvdW50LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25BY2NvdW50IHtcbiAgLyoqIElkIG9mIHRoZSBhY2NvdW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIGFjY291bnQgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tYXBwbGljYXRpb24tb2JqZWN0LWludGVncmF0aW9uLWFwcGxpY2F0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgYXBwICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXBwICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIFRoZSBib3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXBwbGljYXRpb24gKi9cbiAgYm90PzogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZ2l0aHViLmNvbS9kaXNjb3JkL2Rpc2NvcmQtYXBpLWRvY3MvYmxvYi9tYXN0ZXIvZG9jcy90b3BpY3MvR2F0ZXdheS5tZCNpbnRlZ3JhdGlvbi1jcmVhdGUtZXZlbnQtYWRkaXRpb25hbC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIGV4dGVuZHMgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2dpdGh1Yi5jb20vZGlzY29yZC9kaXNjb3JkLWFwaS1kb2NzL2Jsb2IvbWFzdGVyL2RvY3MvdG9waWNzL0dhdGV3YXkubWQjaW50ZWdyYXRpb24tZGVsZXRlLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25EZWxldGUge1xuICAvKiogSW50ZWdyYXRpb24gaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIGZvciB0aGlzIGRpc2NvcmQgaW50ZWdyYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLWludGVncmF0aW9ucy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkSW50ZWdyYXRpb25zVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCB3aG9zZSBpbnRlZ3JhdGlvbnMgd2VyZSB1cGRhdGVkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3R5cGluZy1zdGFydCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVHlwaW5nU3RhcnQge1xuICAvKiogVW5peCB0aW1lIChpbiBzZWNvbmRzKSBvZiB3aGVuIHRoZSB1c2VyIHN0YXJ0ZWQgdHlwaW5nICovXG4gIHRpbWVzdGFtcDogbnVtYmVyXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVyIHdobyBzdGFydGVkIHR5cGluZyBpZiB0aGlzIGhhcHBlbmVkIGluIGEgZ3VpbGQgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW1lbWJlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGRlYWZlbmVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIGRlYWY/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZz86IGJvb2xlYW5cbiAgLyoqIFRoZSB1c2VyIHRoaXMgZ3VpbGQgbWVtYmVyIHJlcHJlc2VudHMgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGlzIHVzZXJzIGd1aWxkIG5pY2tuYW1lICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbWVtYmVycyBjdXN0b20gYXZhdGFyIGZvciB0aGlzIHNlcnZlci4gKi9cbiAgYXZhdGFyPzogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiByb2xlIG9iamVjdCBpZHMgKi9cbiAgcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGpvaW5lZCB0aGUgZ3VpbGQgKi9cbiAgam9pbmVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgc3RhcnRlZCBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBwZXJtaXNzaW9ucyB0aGlzIG1lbWJlciBoYXMgaW4gdGhlIGd1aWxkLiBPbmx5IHByZXNlbnQgb24gaW50ZXJhY3Rpb24gZXZlbnRzIGFuZCBPQXV0aDIgY3VycmVudCBtZW1iZXIgZmV0Y2guICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgdGltZW91dCB3aWxsIGV4cGlyZSBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNvbW11bmljYXRlIGluIHRoZSBndWlsZCBhZ2FpbiAoc2V0IG51bGwgdG8gcmVtb3ZlIHRpbWVvdXQpLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0ICovXG4gIGNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBkYXRhIGZvciB0aGUgbWVtYmVyJ3MgZ3VpbGQgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2F2YXRhci1kZWNvcmF0aW9uLWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB7XG4gIC8qKiB0aGUgYXZhdGFyIGRlY29yYXRpb24gaGFzaCAqL1xuICBhc3NldDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgYXZhdGFyIGRlY29yYXRpb24ncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBBbiBhcnJheSBvZiBycGMgb3JpZ2luIHVybHMsIGlmIHJwYyBpcyBlbmFibGVkICovXG4gIHJwY19vcmlnaW5zPzogc3RyaW5nW11cbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHRlcm1zIG9mIHNlcnZpY2UgKi9cbiAgdGVybXNfb2Zfc2VydmljZV91cmw/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHByaXZhY3kgcG9saWN5ICovXG4gIHByaXZhY3lfcG9saWN5X3VybD86IHN0cmluZ1xuICAvKiogVGhlIGhleCBlbmNvZGVkIGtleSBmb3IgdmVyaWZpY2F0aW9uIGluIGludGVyYWN0aW9ucyBhbmQgdGhlIEdhbWVTREsncyBHZXRUaWNrZXQgKi9cbiAgdmVyaWZ5X2tleTogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgaWQgb2YgdGhlIFwiR2FtZSBTS1VcIiB0aGF0IGlzIGNyZWF0ZWQsIGlmIGV4aXN0cyAqL1xuICBwcmltYXJ5X3NrdV9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIFVSTCBzbHVnIHRoYXQgbGlua3MgdG8gdGhlIHN0b3JlIHBhZ2UgKi9cbiAgc2x1Zz86IHN0cmluZ1xuICAvKiogVGhlIGFwcGxpY2F0aW9uJ3MgcHVibGljIGZsYWdzICovXG4gIGZsYWdzPzogQXBwbGljYXRpb25GbGFnc1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gZmFsc2Ugb25seSBhcHAgb3duZXIgY2FuIGpvaW4gdGhlIGFwcCdzIGJvdCB0byBndWlsZHMgKi9cbiAgYm90X3B1YmxpYzogYm9vbGVhblxuICAvKiogV2hlbiB0cnVlIHRoZSBhcHAncyBib3Qgd2lsbCBvbmx5IGpvaW4gdXBvbiBjb21wbGV0aW9uIG9mIHRoZSBmdWxsIG9hdXRoMiBjb2RlIGdyYW50IGZsb3cgKi9cbiAgYm90X3JlcXVpcmVfY29kZV9ncmFudDogYm9vbGVhblxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBjb250YWluaW5nIGluZm8gb24gdGhlIG93bmVyIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBvd25lcj86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBJZiB0aGUgYXBwbGljYXRpb24gYmVsb25ncyB0byBhIHRlYW0sIHRoaXMgd2lsbCBiZSBhIGxpc3Qgb2YgdGhlIG1lbWJlcnMgb2YgdGhhdCB0ZWFtICovXG4gIHRlYW06IERpc2NvcmRUZWFtIHwgbnVsbFxuICAvKiogR3VpbGQgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHAuIEZvciBleGFtcGxlLCBhIGRldmVsb3BlciBzdXBwb3J0IHNlcnZlci4gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIEEgcGFydGlhbCBvYmplY3Qgb2YgdGhlIGFzc29jaWF0ZWQgZ3VpbGQgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIElmIHRoaXMgYXBwbGljYXRpb24gaXMgYSBnYW1lIHNvbGQgb24gRGlzY29yZCwgdGhpcyBmaWVsZCB3aWxsIGJlIHRoZSBoYXNoIG9mIHRoZSBpbWFnZSBvbiBzdG9yZSBlbWJlZHMgKi9cbiAgY292ZXJfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIHVwIHRvIDUgdGFncyBkZXNjcmliaW5nIHRoZSBjb250ZW50IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICB0YWdzPzogc3RyaW5nW11cbiAgLyoqIHNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGluLWFwcCBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xuICAvKipcbiAgICogRGVmYXVsdCBzY29wZXMgYW5kIHBlcm1pc3Npb25zIGZvciBlYWNoIHN1cHBvcnRlZCBpbnN0YWxsYXRpb24gY29udGV4dC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgaW4gcHJldmlldy5cbiAgICovXG4gIGludGVncmF0aW9uX3R5cGVzX2NvbmZpZz86IFBhcnRpYWw8UmVjb3JkPGAke0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZX1gLCBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVDb25maWd1cmF0aW9uPj5cbiAgLyoqIHRoZSBhcHBsaWNhdGlvbidzIGRlZmF1bHQgY3VzdG9tIGF1dGhvcml6YXRpb24gbGluaywgaWYgZW5hYmxlZCAqL1xuICBjdXN0b21faW5zdGFsbF91cmw/OiBzdHJpbmdcbiAgLyoqIHRoZSBhcHBsaWNhdGlvbidzIHJvbGUgY29ubmVjdGlvbiB2ZXJpZmljYXRpb24gZW50cnkgcG9pbnQsIHdoaWNoIHdoZW4gY29uZmlndXJlZCB3aWxsIHJlbmRlciB0aGUgYXBwIGFzIGEgdmVyaWZpY2F0aW9uIG1ldGhvZCBpbiB0aGUgZ3VpbGQgcm9sZSB2ZXJpZmljYXRpb24gY29uZmlndXJhdGlvbiAqL1xuICByb2xlX2Nvbm5lY3Rpb25zX3ZlcmlmaWNhdGlvbl91cmw/OiBzdHJpbmdcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHRoZSBhcHAncyBndWlsZCBtZW1iZXJzaGlwLiAqL1xuICBhcHByb3hpbWF0ZV9ndWlsZF9jb3VudD86IG51bWJlclxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBmb3IgdGhlIGJvdCB1c2VyIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXBwICovXG4gIGJvdD86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBBcnJheSBvZiByZWRpcmVjdCBVUklzIGZvciB0aGUgYXBwICovXG4gIHJlZGlyZWN0X3VyaXM/OiBzdHJpbmdbXVxuICAvKiogSW50ZXJhY3Rpb25zIGVuZHBvaW50IFVSTCBmb3IgdGhlIGFwcCAqL1xuICBpbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jYXBwbGljYXRpb24tb2JqZWN0LWFwcGxpY2F0aW9uLWludGVncmF0aW9uLXR5cGUtY29uZmlndXJhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBJbnN0YWxsIHBhcmFtcyBmb3IgZWFjaCBpbnN0YWxsYXRpb24gY29udGV4dCdzIGRlZmF1bHQgaW4tYXBwIGF1dGhvcml6YXRpb24gbGlua1xuICAgKlxuICAgKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jaW5zdGFsbC1wYXJhbXMtb2JqZWN0LWluc3RhbGwtcGFyYW1zLXN0cnVjdHVyZVxuICAgKi9cbiAgb2F1dGgyX2luc3RhbGxfcGFyYW1zPzoge1xuICAgIC8qKiBTY29wZXMgdG8gYWRkIHRoZSBhcHBsaWNhdGlvbiB0byB0aGUgc2VydmVyIHdpdGggKi9cbiAgICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgICAvKiogUGVybWlzc2lvbnMgdG8gcmVxdWVzdCBmb3IgdGhlIGJvdCByb2xlICovXG4gICAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSB7XG4gIC8qKiBBcHAgaXMgaW5zdGFsbGFibGUgdG8gc2VydmVycyAqL1xuICBHdWlsZEluc3RhbGwgPSAwLFxuICAvKiogQXBwIGlzIGluc3RhbGxhYmxlIHRvIHVzZXJzICovXG4gIFVzZXJJbnN0YWxsID0gMSxcbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZFRva2VuRXhjaGFuZ2UgPSBEaXNjb3JkVG9rZW5FeGNoYW5nZUF1dGhvcml6YXRpb25Db2RlIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4gfCBEaXNjb3JkVG9rZW5FeGNoYW5nZUNsaWVudENyZWRlbnRpYWxzXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB7XG4gIGdyYW50X3R5cGU6ICdhdXRob3JpemF0aW9uX2NvZGUnXG4gIC8qKiBUaGUgY29kZSBmb3IgdGhlIHRva2VuIGV4Y2hhbmdlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHJlZGlyZWN0X3VyaSBhc3NvY2lhdGVkIHdpdGggdGhpcyBhdXRob3JpemF0aW9uICovXG4gIHJlZGlyZWN0X3VyaTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2NsaWVudC1jcmVkZW50aWFscy1ncmFudCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVG9rZW5FeGNoYW5nZVJlZnJlc2hUb2tlbiB7XG4gIGdyYW50X3R5cGU6ICdyZWZyZXNoX3Rva2VuJ1xuICAvKiogdGhlIHVzZXIncyByZWZyZXNoIHRva2VuICovXG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFscyB7XG4gIGdyYW50X3R5cGU6ICdjbGllbnRfY3JlZGVudGlhbHMnXG4gIC8qKiBUaGUgc2NvcGUocykgZm9yIHRoZSBhY2Nlc3MgdG9rZW4gKi9cbiAgc2NvcGU6IE9BdXRoMlNjb3BlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWNjZXNzVG9rZW5SZXNwb25zZSB7XG4gIC8qKiBUaGUgYWNjZXNzIHRva2VuIG9mIHRoZSB1c2VyICovXG4gIGFjY2Vzc190b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiB0b2tlbiAqL1xuICB0b2tlbl90eXBlOiBzdHJpbmdcbiAgLyoqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB0aGF0IHRoZSBhY2Nlc3MgdG9rZW4gaXMgZXhwaXJlZCAqL1xuICBleHBpcmVzX2luOiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSByZWZyZXNoIHRva2VuIHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIHRoZSB0b2tlbiBleGNoYW5nZSBpcyBhIGNsaWVudCBjcmVkZW50aWFscyB0eXBlIGdyYW50IHRoaXMgdmFsdWUgaXMgbm90IGRlZmluZWQuXG4gICAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhY2Nlc3MgdG9rZW4gKi9cbiAgc2NvcGU6IHN0cmluZ1xuICAvKiogVGhlIHdlYmhvb2sgdGhlIHVzZXIgY3JlYXRlZCBmb3IgdGhlIGFwcGxpY2F0aW9uLiBSZXF1aXJlcyB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlICovXG4gIHdlYmhvb2s/OiBEaXNjb3JkSW5jb21pbmdXZWJob29rXG4gIC8qKiBUaGUgZ3VpbGQgdGhlIGJvdCBoYXMgYmVlbiBhZGRlZC4gUmVxdWlyZXMgdGhlIGBib3RgIHNjb3BlICovXG4gIGd1aWxkPzogRGlzY29yZEd1aWxkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuUmV2b2NhdGlvbiB7XG4gIC8qKiBUaGUgYWNjZXNzIHRva2VuIHRvIHJldm9rZSAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBPcHRpb25hbCwgdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZyBmb3IgdGhlIHJldm9jYXRpb24gKi9cbiAgdG9rZW5fdHlwZV9oaW50PzogJ2FjY2Vzc190b2tlbicgfCAncmVmcmVzaF90b2tlbidcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjZ2V0LWN1cnJlbnQtYXV0aG9yaXphdGlvbi1pbmZvcm1hdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uIHtcbiAgYXBwbGljYXRpb246IERpc2NvcmRBcHBsaWNhdGlvblxuICAvKiogdGhlIHNjb3BlcyB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB0aGUgYXBwbGljYXRpb24gZm9yICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxuICAvKiogd2hlbiB0aGUgYWNjZXNzIHRva2VuIGV4cGlyZXMgKi9cbiAgZXhwaXJlczogc3RyaW5nXG4gIC8qKiB0aGUgdXNlciB3aG8gaGFzIGF1dGhvcml6ZWQsIGlmIHRoZSB1c2VyIGhhcyBhdXRob3JpemVkIHdpdGggdGhlIGBpZGVudGlmeWAgc2NvcGUgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC1jb25uZWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ29ubmVjdGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY29ubmVjdGlvbiBhY2NvdW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSB1c2VybmFtZSBvZiB0aGUgY29ubmVjdGlvbiBhY2NvdW50ICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIHNlcnZpY2Ugb2YgdGhpcyBjb25uZWN0aW9uICovXG4gIHR5cGU6IERpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGVcbiAgLyoqIHdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgcmV2b2tlZCAqL1xuICByZXZva2VkPzogYm9vbGVhblxuICAvKiogYW4gYXJyYXkgb2YgcGFydGlhbCBzZXJ2ZXIgaW50ZWdyYXRpb25zICovXG4gIGludGVncmF0aW9ucz86IEFycmF5PFBhcnRpYWw8RGlzY29yZEludGVncmF0aW9uPj5cbiAgLyoqIHdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgZnJpZW5kIHN5bmMgaXMgZW5hYmxlZCBmb3IgdGhpcyBjb25uZWN0aW9uICovXG4gIGZyaWVuZF9zeW5jOiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIGFjdGl2aXRpZXMgcmVsYXRlZCB0byB0aGlzIGNvbm5lY3Rpb24gd2lsbCBiZSBzaG93biBpbiBwcmVzZW5jZSB1cGRhdGVzICovXG4gIHNob3dfYWN0aXZpdHk6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhpcyBjb25uZWN0aW9uIGhhcyBhIGNvcnJlc3BvbmRpbmcgdGhpcmQgcGFydHkgT0F1dGgyIHRva2VuICovXG4gIHR3b193YXlfbGluazogYm9vbGVhblxuICAvKiogdmlzaWJpbGl0eSBvZiB0aGlzIGNvbm5lY3Rpb24gKi9cbiAgdmlzaWJpbGl0eTogRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC1zZXJ2aWNlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25TZXJ2aWNlVHlwZSB7XG4gIEJhdHRsZU5ldCA9ICdiYXR0bGVuZXQnLFxuICBCdW5naWUgPSAnQnVuZ2llLm5ldCcsXG4gIERvbWFpbiA9ICdkb21haW4nLFxuICBlQmF5ID0gJ2ViYXknLFxuICBFcGljR2FtZXMgPSAnZXBpY2dhbWVzJyxcbiAgRmFjZWJvb2sgPSAnZmFjZWJvb2snLFxuICBHaXRIdWIgPSAnZ2l0aHViJyxcbiAgSW5zdGFncmFtID0gJ2luc3RhZ3JhbScsXG4gIExlYWd1ZU9mTGVnZW5kcyA9ICdsZWFndWVvZmxlZ2VuZHMnLFxuICBQYXlQYWwgPSAncGF5cGFsJyxcbiAgUGxheVN0YXRpb25OZXR3b3JrID0gJ3BsYXlzdGF0aW9uJyxcbiAgUmVkZGl0ID0gJ3JlZGRpdCcsXG4gIFJpb3RHYW1lcyA9ICdyaW90Z2FtZXMnLFxuICBTcG90aWZ5ID0gJ3Nwb3RpZnknLFxuICBTa3lwZSA9ICdza3lwZScsXG4gIFN0ZWFtID0gJ3N0ZWFtJyxcbiAgVGlrVG9rID0gJ3Rpa3RvaycsXG4gIFR3aXRjaCA9ICd0d2l0Y2gnLFxuICBUd2l0dGVyID0gJ3R3aXR0ZXInLFxuICBYYm94ID0gJ3hib3gnLFxuICBZb3VUdWJlID0gJ3lvdXR1YmUnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtdmlzaWJpbGl0eS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5IHtcbiAgLyoqIGludmlzaWJsZSB0byBldmVyeW9uZSBleGNlcHQgdGhlIHVzZXIgdGhlbXNlbHZlcyAqL1xuICBOb25lID0gMCxcbiAgLyoqIHZpc2libGUgdG8gZXZlcnlvbmUgKi9cbiAgRXZlcnlvbmUgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjYXBwbGljYXRpb24tcm9sZS1jb25uZWN0aW9uLW9iamVjdC1hcHBsaWNhdGlvbi1yb2xlLWNvbm5lY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uIHtcbiAgLyoqIHRoZSB2YW5pdHkgbmFtZSBvZiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDUwIGNoYXJhY3RlcnMpICovXG4gIHBsYXRmb3JtX25hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSB1c2VybmFtZSBvbiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDEwMCBjaGFyYWN0ZXJzKSAqL1xuICBwbGF0Zm9ybV91c2VybmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogb2JqZWN0IG1hcHBpbmcgYXBwbGljYXRpb24gcm9sZSBjb25uZWN0aW9uIG1ldGFkYXRhIGtleXMgdG8gdGhlaXIgc3RyaW5naWZpZWQgdmFsdWUgKG1heCAxMDAgY2hhcmFjdGVycykgZm9yIHRoZSB1c2VyIG9uIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlYW0ge1xuICAvKiogSGFzaCBvZiB0aGUgaW1hZ2Ugb2YgdGhlIHRlYW0ncyBpY29uICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFVuaXF1ZSBJRCBvZiB0aGUgdGVhbSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBNZW1iZXJzIG9mIHRoZSB0ZWFtICovXG4gIG1lbWJlcnM6IERpc2NvcmRUZWFtTWVtYmVyW11cbiAgLyoqIFVzZXIgSUQgb2YgdGhlIGN1cnJlbnQgdGVhbSBvd25lciAqL1xuICBvd25lcl91c2VyX2lkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHRlYW0gKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1tZW1iZXJzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVhbU1lbWJlciB7XG4gIC8qKiBUaGUgdXNlcidzIG1lbWJlcnNoaXAgc3RhdGUgb24gdGhlIHRlYW0gKi9cbiAgbWVtYmVyc2hpcF9zdGF0ZTogVGVhbU1lbWJlcnNoaXBTdGF0ZXNcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFyZW50IHRlYW0gb2Ygd2hpY2ggdGhleSBhcmUgYSBtZW1iZXIgKi9cbiAgdGVhbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYXZhdGFyLCBkaXNjcmltaW5hdG9yLCBpZCwgdXNlcm5hbWUsIGFuZCBnbG9iYWxfbmFtZSBvZiB0aGUgdXNlciAqL1xuICB1c2VyOiBQYXJ0aWFsPERpc2NvcmRVc2VyPiAmIFBpY2s8RGlzY29yZFVzZXIsICdhdmF0YXInIHwgJ2Rpc2NyaW1pbmF0b3InIHwgJ2lkJyB8ICd1c2VybmFtZScgfCAnZ2xvYmFsX25hbWUnPlxuICAvKiogUm9sZSBvZiB0aGUgdGVhbSBtZW1iZXIgKi9cbiAgcm9sZTogRGlzY29yZFRlYW1NZW1iZXJSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN3ZWJob29rcy11cGRhdGUtd2ViaG9vay11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWJob29rVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2FsbG93ZWQtbWVudGlvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBbGxvd2VkTWVudGlvbnMge1xuICAvKiogQW4gYXJyYXkgb2YgYWxsb3dlZCBtZW50aW9uIHR5cGVzIHRvIHBhcnNlIGZyb20gdGhlIGNvbnRlbnQuICovXG4gIHBhcnNlPzogQWxsb3dlZE1lbnRpb25zVHlwZXNbXVxuICAvKiogRm9yIHJlcGxpZXMsIHdoZXRoZXIgdG8gbWVudGlvbiB0aGUgYXV0aG9yIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHJlcGxpZWQgdG8gKGRlZmF1bHQgZmFsc2UpICovXG4gIHJlcGxpZWRfdXNlcj86IGJvb2xlYW5cbiAgLyoqIEFycmF5IG9mIHJvbGVfaWRzIHRvIG1lbnRpb24gKE1heCBzaXplIG9mIDEwMCkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxuICAvKiogQXJyYXkgb2YgdXNlcl9pZHMgdG8gbWVudGlvbiAoTWF4IHNpemUgb2YgMTAwKSAqL1xuICB1c2Vycz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkIHtcbiAgLyoqIFRpdGxlIG9mIGVtYmVkICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVtYmVkIChhbHdheXMgXCJyaWNoXCIgZm9yIHdlYmhvb2sgZW1iZWRzKSAqL1xuICB0eXBlPzogRW1iZWRUeXBlc1xuICAvKiogRGVzY3JpcHRpb24gb2YgZW1iZWQgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBlbWJlZCAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIENvbG9yIGNvZGUgb2YgdGhlIGVtYmVkICovXG4gIGNvbG9yPzogbnVtYmVyXG4gIC8qKiBUaW1lc3RhbXAgb2YgZW1iZWQgY29udGVudCAqL1xuICB0aW1lc3RhbXA/OiBzdHJpbmdcbiAgLyoqIEZvb3RlciBpbmZvcm1hdGlvbiAqL1xuICBmb290ZXI/OiBEaXNjb3JkRW1iZWRGb290ZXJcbiAgLyoqIEltYWdlIGluZm9ybWF0aW9uICovXG4gIGltYWdlPzogRGlzY29yZEVtYmVkSW1hZ2VcbiAgLyoqIFRodW1ibmFpbCBpbmZvcm1hdGlvbiAqL1xuICB0aHVtYm5haWw/OiBEaXNjb3JkRW1iZWRUaHVtYm5haWxcbiAgLyoqIFZpZGVvIGluZm9ybWF0aW9uICovXG4gIHZpZGVvPzogRGlzY29yZEVtYmVkVmlkZW9cbiAgLyoqIFByb3ZpZGVyIGluZm9ybWF0aW9uICovXG4gIHByb3ZpZGVyPzogRGlzY29yZEVtYmVkUHJvdmlkZXJcbiAgLyoqIEF1dGhvciBpbmZvcm1hdGlvbiAqL1xuICBhdXRob3I/OiBEaXNjb3JkRW1iZWRBdXRob3JcbiAgLyoqIEZpZWxkcyBpbmZvcm1hdGlvbiAqL1xuICBmaWVsZHM/OiBEaXNjb3JkRW1iZWRGaWVsZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtYXV0aG9yLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRBdXRob3Ige1xuICAvKiogTmFtZSBvZiBhdXRob3IgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBVcmwgb2YgYXV0aG9yICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogVXJsIG9mIGF1dGhvciBpY29uIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICBpY29uX3VybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBhdXRob3IgaWNvbiAqL1xuICBwcm94eV9pY29uX3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWZpZWxkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGaWVsZCB7XG4gIC8qKiBOYW1lIG9mIHRoZSBmaWVsZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIHRoZSBmaWVsZCAqL1xuICB2YWx1ZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGZpZWxkIHNob3VsZCBkaXNwbGF5IGlubGluZSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtZm9vdGVyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGb290ZXIge1xuICAvKiogRm9vdGVyIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nXG4gIC8qKiBVcmwgb2YgZm9vdGVyIGljb24gKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIGljb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZvb3RlciBpY29uICovXG4gIHByb3h5X2ljb25fdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtaW1hZ2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEltYWdlIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgaW1hZ2UgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSBpbWFnZSAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBpbWFnZSAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIGltYWdlICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkUHJvdmlkZXIge1xuICAvKiogTmFtZSBvZiBwcm92aWRlciAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgcHJvdmlkZXIgKi9cbiAgdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdGh1bWJuYWlsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRUaHVtYm5haWwge1xuICAvKiogU291cmNlIHVybCBvZiB0aHVtYm5haWwgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB0aHVtYm5haWwgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgdGh1bWJuYWlsICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgdGh1bWJuYWlsICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdmlkZW8tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFZpZGVvIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgdmlkZW8gKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB2aWRlbyAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiB2aWRlbyAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIHZpZGVvICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNhdHRhY2htZW50LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXR0YWNobWVudCB7XG4gIC8qKiBOYW1lIG9mIGZpbGUgYXR0YWNoZWQgKi9cbiAgZmlsZW5hbWU6IHN0cmluZ1xuICAvKiogVGhlIGF0dGFjaG1lbnQncyBbbWVkaWEgdHlwZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWVkaWFfdHlwZSkgKi9cbiAgY29udGVudF90eXBlPzogc3RyaW5nXG4gIC8qKiBTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKi9cbiAgc2l6ZTogbnVtYmVyXG4gIC8qKiBTb3VyY2UgdXJsIG9mIGZpbGUgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIEEgcHJveGllZCB1cmwgb2YgZmlsZSAqL1xuICBwcm94eV91cmw6IHN0cmluZ1xuICAvKiogQXR0YWNobWVudCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBkZXNjcmlwdGlvbiBmb3IgdGhlIGZpbGUgKG1heCAxMDI0IGNoYXJhY3RlcnMpICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgZmlsZSAoaWYgaW1hZ2UpICovXG4gIGhlaWdodD86IG51bWJlciB8IG51bGxcbiAgLyoqIFdpZHRoIG9mIGZpbGUgKGlmIGltYWdlKSAqL1xuICB3aWR0aD86IG51bWJlciB8IG51bGxcbiAgLyoqIHdoZXRoZXIgdGhpcyBhdHRhY2htZW50IGlzIGVwaGVtZXJhbC4gRXBoZW1lcmFsIGF0dGFjaG1lbnRzIHdpbGwgYXV0b21hdGljYWxseSBiZSByZW1vdmVkIGFmdGVyIGEgc2V0IHBlcmlvZCBvZiB0aW1lLiBFcGhlbWVyYWwgYXR0YWNobWVudHMgb24gbWVzc2FnZXMgYXJlIGd1YXJhbnRlZWQgdG8gYmUgYXZhaWxhYmxlIGFzIGxvbmcgYXMgdGhlIG1lc3NhZ2UgaXRzZWxmIGV4aXN0cy4gKi9cbiAgZXBoZW1lcmFsPzogYm9vbGVhblxuICAvKiogVGhlIGR1cmF0aW9uIG9mIHRoZSBhdWRpbyBmaWxlIGZvciBhIHZvaWNlIG1lc3NhZ2UgKi9cbiAgZHVyYXRpb25fc2Vjcz86IG51bWJlclxuICAvKiogQSBiYXNlNjQgZW5jb2RlZCBieXRlYXJyYXkgcmVwcmVzZW50aW5nIGEgc2FtcGxlZCB3YXZlZm9ybSBmb3IgYSB2b2ljZSBtZXNzYWdlICovXG4gIHdhdmVmb3JtPzogc3RyaW5nXG4gIC8qKiBBdHRhY2htZW50IGZsYWdzIGNvbWJpbmVkIGFzIGEgYml0ZmllbGQgKi9cbiAgZmxhZ3M/OiBBdHRhY2htZW50RmxhZ3Ncbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy93ZWJob29rI3dlYmhvb2stb2JqZWN0LXdlYmhvb2stc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkV2ViaG9vayA9IERpc2NvcmRJbmNvbWluZ1dlYmhvb2sgfCBEaXNjb3JkQXBwbGljYXRpb25XZWJob29rXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEluY29taW5nV2ViaG9vayB7XG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgd2ViaG9vayAqL1xuICB0eXBlOiBXZWJob29rVHlwZXNcbiAgLyoqIFRoZSBzZWN1cmUgdG9rZW4gb2YgdGhlIHdlYmhvb2sgKHJldHVybmVkIGZvciBJbmNvbWluZyBXZWJob29rcykgKi9cbiAgdG9rZW4/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgdXNlZCBmb3IgZXhlY3V0aW5nIHRoZSB3ZWJob29rIChyZXR1cm5lZCBieSB0aGUgd2ViaG9va3MgT0F1dGgyIGZsb3cpICovXG4gIHVybD86IHN0cmluZ1xuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHdlYmhvb2sgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGlzIHdlYmhvb2sgd2FzIGNyZWF0ZWQgYnkgKG5vdCByZXR1cm5lZCB3aGVuIGdldHRpbmcgYSB3ZWJob29rIHdpdGggaXRzIHRva2VuKSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlZmF1bHQgdXNlciBhdmF0YXIgaGFzaCBvZiB0aGUgd2ViaG9vayAqL1xuICBhdmF0YXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIHRoYXQgY3JlYXRlZCB0aGlzIHdlYmhvb2sgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgY2hhbm5lbCB0aGF0IHRoaXMgd2ViaG9vayBpcyBmb2xsb3dpbmcgKHJldHVybmVkIGZvciBDaGFubmVsIEZvbGxvd2VyIFdlYmhvb2tzKSAqL1xuICBzb3VyY2VfZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpICovXG4gIHNvdXJjZV9jaGFubmVsPzogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25XZWJob29rIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSB3ZWJob29rICovXG4gIHR5cGU6IFdlYmhvb2tUeXBlcy5BcHBsaWNhdGlvblxuICAvKiogVGhlIHNlY3VyZSB0b2tlbiBvZiB0aGUgd2ViaG9vayAocmV0dXJuZWQgZm9yIEluY29taW5nIFdlYmhvb2tzKSAqL1xuICB0b2tlbj86IHN0cmluZ1xuICAvKiogVGhlIHVybCB1c2VkIGZvciBleGVjdXRpbmcgdGhlIHdlYmhvb2sgKHJldHVybmVkIGJ5IHRoZSB3ZWJob29rcyBPQXV0aDIgZmxvdykgKi9cbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgd2ViaG9vayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIHRoaXMgd2ViaG9vayB3YXMgY3JlYXRlZCBieSAobm90IHJldHVybmVkIHdoZW4gZ2V0dGluZyBhIHdlYmhvb2sgd2l0aCBpdHMgdG9rZW4pICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgd2ViaG9vayAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVmYXVsdCB1c2VyIGF2YXRhciBoYXNoIG9mIHRoZSB3ZWJob29rICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgd2ViaG9vayAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpLCBmaWVsZCB3aWxsIGJlIGFic2VudCBpZiB0aGUgd2ViaG9vayBjcmVhdG9yIGhhcyBzaW5jZSBsb3N0IGFjY2VzcyB0byB0aGUgZ3VpbGQgd2hlcmUgdGhlIGZvbGxvd2VkIGNoYW5uZWwgcmVzaWRlcyAqL1xuICBzb3VyY2VfZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpLCBmaWVsZCB3aWxsIGJlIGFic2VudCBpZiB0aGUgd2ViaG9vayBjcmVhdG9yIGhhcyBzaW5jZSBsb3N0IGFjY2VzcyB0byB0aGUgZ3VpbGQgd2hlcmUgdGhlIGZvbGxvd2VkIGNoYW5uZWwgcmVzaWRlcyAqL1xuICBzb3VyY2VfY2hhbm5lbD86IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZCB7XG4gIC8qKiBHdWlsZCBuYW1lICgyLTEwMCBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgdHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZSkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUcnVlIGlmIHRoZSB1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI/OiBib29sZWFuXG4gIC8qKiBBZmsgdGltZW91dCBpbiBzZWNvbmRzICovXG4gIGFma190aW1lb3V0OiBudW1iZXJcbiAgLyoqIFRydWUgaWYgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICB3aWRnZXRfZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFZlcmlmaWNhdGlvbiBsZXZlbCByZXF1aXJlZCBmb3IgdGhlIGd1aWxkICovXG4gIHZlcmlmaWNhdGlvbl9sZXZlbDogVmVyaWZpY2F0aW9uTGV2ZWxzXG4gIC8qKiBEZWZhdWx0IG1lc3NhZ2Ugbm90aWZpY2F0aW9ucyBsZXZlbCAqL1xuICBkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9uczogRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHNcbiAgLyoqIEV4cGxpY2l0IGNvbnRlbnQgZmlsdGVyIGxldmVsICovXG4gIGV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyOiBFeHBsaWNpdENvbnRlbnRGaWx0ZXJMZXZlbHNcbiAgLyoqIEVuYWJsZWQgZ3VpbGQgZmVhdHVyZXMgKi9cbiAgZmVhdHVyZXM6IEd1aWxkRmVhdHVyZXNbXVxuICAvKiogUmVxdWlyZWQgTUZBIGxldmVsIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWZhX2xldmVsOiBNZmFMZXZlbHNcbiAgLyoqIFN5c3RlbSBjaGFubmVsIGZsYWdzICovXG4gIHN5c3RlbV9jaGFubmVsX2ZsYWdzOiBTeXN0ZW1DaGFubmVsRmxhZ3NcbiAgLyoqIFRydWUgaWYgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgbGFyZ2U/OiBib29sZWFuXG4gIC8qKiBUcnVlIGlmIHRoaXMgZ3VpbGQgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGFuIG91dGFnZSAqL1xuICB1bmF2YWlsYWJsZT86IGJvb2xlYW5cbiAgLyoqIFRvdGFsIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQgKi9cbiAgbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJlc2VuY2VzIGZvciB0aGUgZ3VpbGQgKHRoZSBkZWZhdWx0IHZhbHVlLCBjdXJyZW50bHkgMjUwMDAsIGlzIGluIGVmZmVjdCB3aGVuIG51bGwgaXMgcmV0dXJuZWQpICovXG4gIG1heF9wcmVzZW5jZXM/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWVtYmVycyBmb3IgdGhlIGd1aWxkICovXG4gIG1heF9tZW1iZXJzPzogbnVtYmVyXG4gIC8qKiBUaGUgdmFuaXR5IHVybCBjb2RlIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmFuaXR5X3VybF9jb2RlOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgYSBndWlsZCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogUHJlbWl1bSB0aWVyIChTZXJ2ZXIgQm9vc3QgbGV2ZWwpICovXG4gIHByZW1pdW1fdGllcjogUHJlbWl1bVRpZXJzXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGJvb3N0cyB0aGlzIGd1aWxkIGN1cnJlbnRseSBoYXMgKi9cbiAgcHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB1c2VycyBpbiBhIHZpZGVvIGNoYW5uZWwgKi9cbiAgbWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnM/OiBudW1iZXJcbiAgLyoqIE1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgc3RhZ2UgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2Vycz86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCwgcmV0dXJuZWQgZnJvbSB0aGUgR0VUIC9ndWlsZHMvaWQgZW5kcG9pbnQgd2hlbiB3aXRoX2NvdW50cyBpcyB0cnVlICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudD86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgbnVtYmVyIG9mIG5vbi1vZmZsaW5lIG1lbWJlcnMgaW4gdGhpcyBndWlsZCwgcmV0dXJuZWQgZnJvbSB0aGUgR0VUIC9ndWlsZHMvaWQgZW5kcG9pbnQgd2hlbiB3aXRoX2NvdW50cyBpcyB0cnVlICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50PzogbnVtYmVyXG4gIC8qKiBHdWlsZCBOU0ZXIGxldmVsICovXG4gIG5zZndfbGV2ZWw6IEd1aWxkTnNmd0xldmVsXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIHByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQ6IGJvb2xlYW5cbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEljb24gaGFzaCAqL1xuICBpY29uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBJY29uIGhhc2gsIHJldHVybmVkIHdoZW4gaW4gdGhlIHRlbXBsYXRlIG9iamVjdCAqL1xuICBpY29uX2hhc2g/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBTcGxhc2ggaGFzaCAqL1xuICBzcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIERpc2NvdmVyeSBzcGxhc2ggaGFzaDsgb25seSBwcmVzZW50IGZvciBndWlsZHMgd2l0aCB0aGUgXCJESVNDT1ZFUkFCTEVcIiBmZWF0dXJlICovXG4gIGRpc2NvdmVyeV9zcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIElkIG9mIHRoZSBvd25lciAqL1xuICBvd25lcl9pZDogc3RyaW5nXG4gIC8qKiBUb3RhbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHVzZXIgaW4gdGhlIGd1aWxkIChleGNsdWRlcyBvdmVyd3JpdGVzIGFuZCBpbXBsaWNpdCBwZXJtaXNzaW9ucykgKi9cbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdcbiAgLyoqIElkIG9mIGFmayBjaGFubmVsICovXG4gIGFma19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgY2hhbm5lbCBpZCB0aGF0IHRoZSB3aWRnZXQgd2lsbCBnZW5lcmF0ZSBhbiBpbnZpdGUgdG8sIG9yIG51bGwgaWYgc2V0IHRvIG5vIGludml0ZSAqL1xuICB3aWRnZXRfY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFJvbGVzIGluIHRoZSBndWlsZCAqL1xuICByb2xlczogRGlzY29yZFJvbGVbXVxuICAvKiogQ3VzdG9tIGd1aWxkIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG4gIC8qKiBBcHBsaWNhdGlvbiBpZCBvZiB0aGUgZ3VpbGQgY3JlYXRvciBpZiBpdCBpcyBib3QtY3JlYXRlZCAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGd1aWxkIG5vdGljZXMgc3VjaCBhcyB3ZWxjb21lIG1lc3NhZ2VzIGFuZCBib29zdCBldmVudHMgYXJlIHBvc3RlZCAqL1xuICBzeXN0ZW1fY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGNvbW11bml0eSBndWlsZHMgY2FuIGRpc3BsYXkgcnVsZXMgYW5kL29yIGd1aWRlbGluZXMgKi9cbiAgcnVsZXNfY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiB0aGlzIGd1aWxkIHdhcyBqb2luZWQgYXQgKi9cbiAgam9pbmVkX2F0Pzogc3RyaW5nXG4gIC8qKiBTdGF0ZXMgb2YgbWVtYmVycyBjdXJyZW50bHkgaW4gdm9pY2UgY2hhbm5lbHM7IGxhY2tzIHRoZSBndWlsZF9pZCBrZXkgKi9cbiAgdm9pY2Vfc3RhdGVzPzogQXJyYXk8T21pdDxEaXNjb3JkVm9pY2VTdGF0ZSwgJ2d1aWxkSWQnPj5cbiAgLyoqIFVzZXJzIGluIHRoZSBndWlsZCAqL1xuICBtZW1iZXJzPzogRGlzY29yZE1lbWJlcltdXG4gIC8qKiBDaGFubmVscyBpbiB0aGUgZ3VpbGQgKi9cbiAgY2hhbm5lbHM/OiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGd1aWxkIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBoYXMgcGVybWlzc2lvbiB0byB2aWV3ICovXG4gIHRocmVhZHM/OiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBQcmVzZW5jZXMgb2YgdGhlIG1lbWJlcnMgaW4gdGhlIGd1aWxkLCB3aWxsIG9ubHkgaW5jbHVkZSBub24tb2ZmbGluZSBtZW1iZXJzIGlmIHRoZSBzaXplIGlzIGdyZWF0ZXIgdGhhbiBsYXJnZSB0aHJlc2hvbGQgKi9cbiAgcHJlc2VuY2VzPzogQXJyYXk8UGFydGlhbDxEaXNjb3JkUHJlc2VuY2VVcGRhdGU+PlxuICAvKiogQmFubmVyIGhhc2ggKi9cbiAgYmFubmVyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgcHJlZmVycmVkIGxvY2FsZSBvZiBhIENvbW11bml0eSBndWlsZDsgdXNlZCBpbiBzZXJ2ZXIgZGlzY292ZXJ5IGFuZCBub3RpY2VzIGZyb20gRGlzY29yZDsgZGVmYXVsdHMgdG8gXCJlbi1VU1wiICovXG4gIHByZWZlcnJlZF9sb2NhbGU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgbm90aWNlcyBmcm9tIERpc2NvcmQgKi9cbiAgcHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHdlbGNvbWUgc2NyZWVuIG9mIGEgQ29tbXVuaXR5IGd1aWxkLCBzaG93biB0byBuZXcgbWVtYmVycywgcmV0dXJuZWQgaW4gYW4gSW52aXRlJ3MgZ3VpbGQgb2JqZWN0ICovXG4gIHdlbGNvbWVfc2NyZWVuPzogRGlzY29yZFdlbGNvbWVTY3JlZW5cbiAgLyoqIFN0YWdlIGluc3RhbmNlcyBpbiB0aGUgZ3VpbGQgKi9cbiAgc3RhZ2VfaW5zdGFuY2VzPzogRGlzY29yZFN0YWdlSW5zdGFuY2VbXVxuICAvKiogQ3VzdG9tIGd1aWxkIHN0aWNrZXJzICovXG4gIHN0aWNrZXJzPzogRGlzY29yZFN0aWNrZXJbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgc2FmZXR5IGFsZXJ0cyBmcm9tIERpc2NvcmQgKi9cbiAgc2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBhcnRpYWxHdWlsZCB7XG4gIC8qKiBHdWlsZCBuYW1lICgyLTEwMCBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgdHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZSkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBHdWlsZCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogdHJ1ZSBpZiB0aGUgdXNlciBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIG93bmVyOiBib29sZWFuXG4gIC8qKiBUb3RhbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHVzZXIgaW4gdGhlIGd1aWxkIChleGNsdWRlcyBvdmVyd3JpdGVzIGFuZCBpbXBsaWNpdCBwZXJtaXNzaW9ucykgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUm9sZSB7XG4gIC8qKiBSb2xlIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElmIHRoaXMgcm9sZSBpcyBzaG93ZWQgc2VwYXJhdGVseSBpbiB0aGUgdXNlciBsaXN0aW5nICovXG4gIGhvaXN0OiBib29sZWFuXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgbWFuYWdlZCBieSBhbiBpbnRlZ3JhdGlvbiAqL1xuICBtYW5hZ2VkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtZW50aW9uYWJsZSAqL1xuICBtZW50aW9uYWJsZTogYm9vbGVhblxuICAvKiogVGhlIHRhZ3MgdGhpcyByb2xlIGhhcyAqL1xuICB0YWdzPzogRGlzY29yZFJvbGVUYWdzXG4gIC8qKiB0aGUgcm9sZSBlbW9qaSBoYXNoICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIFJvbGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEludGVnZXIgcmVwcmVzZW50YXRpb24gb2YgaGV4YWRlY2ltYWwgY29sb3IgY29kZSAqL1xuICBjb2xvcjogbnVtYmVyXG4gIC8qKiBQb3NpdGlvbiBvZiB0aGlzIHJvbGUgKi9cbiAgcG9zaXRpb246IG51bWJlclxuICAvKiogcm9sZSB1bmljb2RlIGVtb2ppICovXG4gIHVuaWNvZGVfZW1vamk/OiBzdHJpbmdcbiAgLyoqIFJvbGUgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFnczogUm9sZUZsYWdzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvcGVybWlzc2lvbnMjcm9sZS1vYmplY3Qtcm9sZS10YWdzLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUm9sZVRhZ3Mge1xuICAvKiogVGhlIGlkIG9mIHRoZSBib3QgdGhpcyByb2xlIGJlbG9uZ3MgdG8gKi9cbiAgYm90X2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGludGVncmF0aW9uIHRoaXMgcm9sZSBiZWxvbmdzIHRvICovXG4gIGludGVncmF0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGd1aWxkJ3MgcHJlbWl1bSBzdWJzY3JpYmVyIHJvbGUgKi9cbiAgcHJlbWl1bV9zdWJzY3JpYmVyPzogbnVsbFxuICAvKiogSWQgb2YgdGhpcyByb2xlJ3Mgc3Vic2NyaXB0aW9uIHNrdSBhbmQgbGlzdGluZy4gKi9cbiAgc3Vic2NyaXB0aW9uX2xpc3RpbmdfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UuICovXG4gIGF2YWlsYWJsZV9mb3JfcHVyY2hhc2U/OiBudWxsXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgYSBndWlsZCdzIGxpbmtlZCByb2xlICovXG4gIGd1aWxkX2Nvbm5lY3Rpb25zPzogbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2Vtb2ppI2Vtb2ppLW9iamVjdC1lbW9qaS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtb2ppIHtcbiAgLyoqIEVtb2ppIG5hbWUgKGNhbiBvbmx5IGJlIG51bGwgaW4gcmVhY3Rpb24gZW1vamkgb2JqZWN0cykgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogRW1vamkgaWQgKi9cbiAgaWQ/OiBzdHJpbmdcbiAgLyoqIFJvbGVzIGFsbG93ZWQgdG8gdXNlIHRoaXMgZW1vamkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxuICAvKiogVXNlciB0aGF0IGNyZWF0ZWQgdGhpcyBlbW9qaSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBtdXN0IGJlIHdyYXBwZWQgaW4gY29sb25zICovXG4gIHJlcXVpcmVfY29sb25zPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIG1hbmFnZWQgKi9cbiAgbWFuYWdlZD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBpcyBhbmltYXRlZCAqL1xuICBhbmltYXRlZD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBjYW4gYmUgdXNlZCwgbWF5IGJlIGZhbHNlIGR1ZSB0byBsb3NzIG9mIFNlcnZlciBCb29zdHMgKi9cbiAgYXZhaWxhYmxlPzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3ZvaWNlI3ZvaWNlLXN0YXRlLW9iamVjdC12b2ljZS1zdGF0ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlU3RhdGUge1xuICAvKiogVGhlIHNlc3Npb24gaWQgZm9yIHRoaXMgdm9pY2Ugc3RhdGUgKi9cbiAgc2Vzc2lvbl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoaXMgdXNlciBpcyBjb25uZWN0ZWQgdG8gKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgaWQgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgbWVtYmVyIHRoaXMgdm9pY2Ugc3RhdGUgaXMgZm9yICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJXaXRoVXNlclxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgZGVhZmVuZWQgYnkgdGhlIHNlcnZlciAqL1xuICBkZWFmOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBtdXRlZCBieSB0aGUgc2VydmVyICovXG4gIG11dGU6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIGxvY2FsbHkgZGVhZmVuZWQgKi9cbiAgc2VsZl9kZWFmOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBsb2NhbGx5IG11dGVkICovXG4gIHNlbGZfbXV0ZTogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgc3RyZWFtaW5nIHVzaW5nIFwiR28gTGl2ZVwiICovXG4gIHNlbGZfc3RyZWFtPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIncyBjYW1lcmEgaXMgZW5hYmxlZCAqL1xuICBzZWxmX3ZpZGVvOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBtdXRlZCBieSB0aGUgY3VycmVudCB1c2VyICovXG4gIHN1cHByZXNzOiBib29sZWFuXG4gIC8qKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgdXNlciByZXF1ZXN0ZWQgdG8gc3BlYWsgKi9cbiAgcmVxdWVzdF90b19zcGVha190aW1lc3RhbXA6IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2NoYW5uZWwtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU6IENoYW5uZWxUeXBlc1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogU29ydGluZyBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbCAqL1xuICBwb3NpdGlvbj86IG51bWJlclxuICAvKiogRXhwbGljaXQgcGVybWlzc2lvbiBvdmVyd3JpdGVzIGZvciBtZW1iZXJzIGFuZCByb2xlcyAqL1xuICBwZXJtaXNzaW9uX292ZXJ3cml0ZXM/OiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBjaGFubmVsICgxLTEwMCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCB0b3BpYyAoMC00MDk2IGNoYXJhY3RlcnMgZm9yIEdVSUxEX0ZPUlVNIGNoYW5uZWxzLCAwLTEwMjQgY2hhcmFjdGVycyBmb3IgYWxsIG90aGVycykgKi9cbiAgdG9waWM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGFubmVsIGlzIG5zZncgKi9cbiAgbnNmdz86IGJvb2xlYW5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgbGFzdCBtZXNzYWdlIHNlbnQgaW4gdGhpcyBjaGFubmVsIChtYXkgbm90IHBvaW50IHRvIGFuIGV4aXN0aW5nIG9yIHZhbGlkIG1lc3NhZ2UpICovXG4gIGxhc3RfbWVzc2FnZV9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBiaXRyYXRlIChpbiBiaXRzKSBvZiB0aGUgdm9pY2Ugb3Igc3RhZ2UgY2hhbm5lbCAqL1xuICBiaXRyYXRlPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlciBsaW1pdCBvZiB0aGUgdm9pY2Ugb3Igc3RhZ2UgY2hhbm5lbCAqL1xuICB1c2VyX2xpbWl0PzogbnVtYmVyXG4gIC8qKiBBbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKTsgYm90cywgYXMgd2VsbCBhcyB1c2VycyB3aXRoIHRoZSBwZXJtaXNzaW9uIGBtYW5hZ2VfbWVzc2FnZXNgIG9yIGBtYW5hZ2VfY2hhbm5lbGAsIGFyZSB1bmFmZmVjdGVkICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIHRoZSByZWNpcGllbnRzIG9mIHRoZSBETSAqL1xuICByZWNpcGllbnRzPzogRGlzY29yZFVzZXJbXVxuICAvKiogaWNvbiBoYXNoIG9mIHRoZSBncm91cCBETSAqL1xuICBpY29uPzogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgY3JlYXRvciBvZiB0aGUgdGhyZWFkICovXG4gIG93bmVyX2lkPzogc3RyaW5nXG4gIC8qKiBBcHBsaWNhdGlvbiBpZCBvZiB0aGUgZ3JvdXAgRE0gY3JlYXRvciBpZiBpdCBpcyBib3QtY3JlYXRlZCAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xuICAvKiogRm9yIGdyb3VwIERNIGNoYW5uZWxzOiB3aGV0aGVyIHRoZSBjaGFubmVsIGlzIG1hbmFnZWQgYnkgYW4gYXBwbGljYXRpb24gdmlhIHRoZSBgZ2RtLmpvaW5gIE9BdXRoMiBzY29wZS4gKi9cbiAgbWFuYWdlZD86IGJvb2xlYW5cbiAgLyoqIEZvciBndWlsZCBjaGFubmVsczogSWQgb2YgdGhlIHBhcmVudCBjYXRlZ29yeSBmb3IgYSBjaGFubmVsIChlYWNoIHBhcmVudCBjYXRlZ29yeSBjYW4gY29udGFpbiB1cCB0byA1MCBjaGFubmVscyksIGZvciB0aHJlYWRzOiBpZCBvZiB0aGUgdGV4dCBjaGFubmVsIHRoaXMgdGhyZWFkIHdhcyBjcmVhdGVkICovXG4gIHBhcmVudF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gdGhlIGxhc3QgcGlubmVkIG1lc3NhZ2Ugd2FzIHBpbm5lZC4gVGhpcyBtYXkgYmUgbnVsbCBpbiBldmVudHMgc3VjaCBhcyBHVUlMRF9DUkVBVEUgd2hlbiBhIG1lc3NhZ2UgaXMgbm90IHBpbm5lZC4gKi9cbiAgbGFzdF9waW5fdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVm9pY2UgcmVnaW9uIGlkIGZvciB0aGUgdm9pY2Ugb3Igc3RhZ2UgY2hhbm5lbCwgYXV0b21hdGljIHdoZW4gc2V0IHRvIG51bGwgKi9cbiAgcnRjX3JlZ2lvbj86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjYW1lcmEgdmlkZW8gcXVhbGl0eSBtb2RlIG9mIHRoZSB2b2ljZSBjaGFubmVsLCAxIHdoZW4gbm90IHByZXNlbnQgKi9cbiAgdmlkZW9fcXVhbGl0eV9tb2RlPzogVmlkZW9RdWFsaXR5TW9kZXNcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIG1lc3NhZ2VzIGluIGEgdGhyZWFkLCBzdG9wcyBjb3VudGluZyBhdCA1MCAqL1xuICBtZXNzYWdlX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBbiBhcHByb3hpbWF0ZSBjb3VudCBvZiB1c2VycyBpbiBhIHRocmVhZCwgc3RvcHMgY291bnRpbmcgYXQgNTAgKi9cbiAgbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaHJlYWQtc3BlY2lmaWMgZmllbGRzIG5vdCBuZWVkZWQgYnkgb3RoZXIgY2hhbm5lbHMgKi9cbiAgdGhyZWFkX21ldGFkYXRhPzogRGlzY29yZFRocmVhZE1ldGFkYXRhXG4gIC8qKiBUaHJlYWQgbWVtYmVyIG9iamVjdCBmb3IgdGhlIGN1cnJlbnQgdXNlciwgaWYgdGhleSBoYXZlIGpvaW5lZCB0aGUgdGhyZWFkLCBvbmx5IGluY2x1ZGVkIG9uIGNlcnRhaW4gQVBJIGVuZHBvaW50cyAqL1xuICBtZW1iZXI/OiBEaXNjb3JkVGhyZWFkTWVtYmVyXG4gIC8qKiBEZWZhdWx0IGR1cmF0aW9uIGZvciBuZXdseSBjcmVhdGVkIHRocmVhZHMsIGluIG1pbnV0ZXMsIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSwgY2FuIGJlIHNldCB0bzogNjAsIDE0NDAsIDQzMjAsIDEwMDgwICovXG4gIGRlZmF1bHRfYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogbnVtYmVyXG4gIC8qKiBjb21wdXRlZCBwZXJtaXNzaW9ucyBmb3IgdGhlIGludm9raW5nIHVzZXIgaW4gdGhlIGNoYW5uZWwsIGluY2x1ZGluZyBvdmVyd3JpdGVzLCBvbmx5IGluY2x1ZGVkIHdoZW4gcGFydCBvZiB0aGUgcmVzb2x2ZWQgZGF0YSByZWNlaXZlZCBvbiBhIHNsYXNoIGNvbW1hbmQgaW50ZXJhY3Rpb24uIFRoaXMgZG9lcyBub3QgaW5jbHVkZSBpbXBsaWNpdCBwZXJtaXNzaW9ucywgd2hpY2ggbWF5IG5lZWQgdG8gYmUgY2hlY2tlZCBzZXBhcmF0ZWx5LiAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIG9mIHRoZSBjaGFubmVsICovXG4gIGZsYWdzPzogQ2hhbm5lbEZsYWdzXG4gIC8qKiBudW1iZXIgb2YgbWVzc2FnZXMgZXZlciBzZW50IGluIGEgdGhyZWFkLCBpdCdzIHNpbWlsYXIgdG8gYG1lc3NhZ2VfY291bnRgIG9uIG1lc3NhZ2UgY3JlYXRpb24sIGJ1dCB3aWxsIG5vdCBkZWNyZW1lbnQgdGhlIG51bWJlciB3aGVuIGEgbWVzc2FnZSBpcyBkZWxldGVkICovXG4gIHRvdGFsX21lc3NhZ2Vfc2VudD86IG51bWJlclxuICAvKiogVGhlIHNldCBvZiB0YWdzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGF2YWlsYWJsZV90YWdzPzogRGlzY29yZEZvcnVtVGFnW11cbiAgLyoqIFRoZSBJRHMgb2YgdGhlIHNldCBvZiB0YWdzIHRoYXQgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGFwcGxpZWRfdGFnczogc3RyaW5nW11cbiAgLyoqIHRoZSBlbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppIHwgbnVsbFxuICAvKiogdGhlIGluaXRpYWwgcmF0ZV9saW1pdF9wZXJfdXNlciB0byBzZXQgb24gbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIGEgY2hhbm5lbC4gdGhpcyBmaWVsZCBpcyBjb3BpZWQgdG8gdGhlIHRocmVhZCBhdCBjcmVhdGlvbiB0aW1lIGFuZCBkb2VzIG5vdCBsaXZlIHVwZGF0ZS4gKi9cbiAgZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcjogbnVtYmVyXG4gIC8qKiB0aGUgZGVmYXVsdCBzb3J0IG9yZGVyIHR5cGUgdXNlZCB0byBvcmRlciBwb3N0cyBpbiBHVUlMRF9GT1JVTSBjaGFubmVscy4gRGVmYXVsdHMgdG8gbnVsbCwgd2hpY2ggaW5kaWNhdGVzIGEgcHJlZmVycmVkIHNvcnQgb3JkZXIgaGFzbid0IGJlZW4gc2V0IGJ5IGEgY2hhbm5lbCBhZG1pbiAqL1xuICBkZWZhdWx0X3NvcnRfb3JkZXI/OiBTb3J0T3JkZXJUeXBlcyB8IG51bGxcbiAgLyoqIHRoZSBkZWZhdWx0IGZvcnVtIGxheW91dCB2aWV3IHVzZWQgdG8gZGlzcGxheSBwb3N0cyBpbiBgR1VJTERfRk9SVU1gIGNoYW5uZWxzLiBEZWZhdWx0cyB0byBgMGAsIHdoaWNoIGluZGljYXRlcyBhIGxheW91dCB2aWV3IGhhcyBub3QgYmVlbiBzZXQgYnkgYSBjaGFubmVsIGFkbWluICovXG4gIGRlZmF1bHRfZm9ydW1fbGF5b3V0PzogRm9ydW1MYXlvdXRcbiAgLyoqIFdoZW4gYSB0aHJlYWQgaXMgY3JlYXRlZCB0aGlzIHdpbGwgYmUgdHJ1ZSBvbiB0aGF0IGNoYW5uZWwgcGF5bG9hZCBmb3IgdGhlIHRocmVhZC4gKi9cbiAgbmV3bHlfY3JlYXRlZD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3ByZXNlbmNlLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUge1xuICAvKiogRWl0aGVyIFwiaWRsZVwiLCBcImRuZFwiLCBcIm9ubGluZVwiLCBvciBcIm9mZmxpbmVcIiAqL1xuICBzdGF0dXM6ICdpZGxlJyB8ICdkbmQnIHwgJ29ubGluZScgfCAnb2ZmbGluZSdcbiAgLyoqIFRoZSB1c2VyIHByZXNlbmNlIGlzIGJlaW5nIHVwZGF0ZWQgZm9yICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVXNlcidzIGN1cnJlbnQgYWN0aXZpdGllcyAqL1xuICBhY3Rpdml0aWVzOiBEaXNjb3JkQWN0aXZpdHlbXVxuICAvKiogVXNlcidzIHBsYXRmb3JtLWRlcGVuZGVudCBzdGF0dXMgKi9cbiAgY2xpZW50X3N0YXR1czogRGlzY29yZENsaWVudFN0YXR1c1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI3dlbGNvbWUtc2NyZWVuLW9iamVjdC13ZWxjb21lLXNjcmVlbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFdlbGNvbWVTY3JlZW4ge1xuICAvKiogVGhlIHNlcnZlciBkZXNjcmlwdGlvbiBzaG93biBpbiB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVscyBzaG93biBpbiB0aGUgd2VsY29tZSBzY3JlZW4sIHVwIHRvIDUgKi9cbiAgd2VsY29tZV9jaGFubmVsczogRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCN3ZWxjb21lLXNjcmVlbi1vYmplY3Qtd2VsY29tZS1zY3JlZW4tY2hhbm5lbC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsIHtcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBzaG93biBmb3IgdGhlIGNoYW5uZWwgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwncyBpZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBlbW9qaSBpZCwgaWYgdGhlIGVtb2ppIGlzIGN1c3RvbSAqL1xuICBlbW9qaV9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGVtb2ppIG5hbWUgaWYgY3VzdG9tLCB0aGUgdW5pY29kZSBjaGFyYWN0ZXIgaWYgc3RhbmRhcmQsIG9yIGBudWxsYCBpZiBubyBlbW9qaSBpcyBzZXQgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0YWdlLWluc3RhbmNlI2F1dG8tY2xvc2luZy1zdGFnZS1pbnN0YW5jZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0YWdlSW5zdGFuY2Uge1xuICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgdG9waWM6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCBmb3IgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWV0YWRhdGEge1xuICAvKiogV2hldGhlciB0aGUgdGhyZWFkIGlzIGFyY2hpdmVkICovXG4gIGFyY2hpdmVkOiBib29sZWFuXG4gIC8qKiBEdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb246IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBsb2NrZWQsIG9ubHkgdXNlcnMgd2l0aCBgTUFOQUdFX1RIUkVBRFNgIGNhbiB1bmFyY2hpdmUgaXQgKi9cbiAgbG9ja2VkOiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIG5vbi1tb2RlcmF0b3JzIGNhbiBhZGQgb3RoZXIgbm9uLW1vZGVyYXRvcnMgdG8gYSB0aHJlYWQ7IG9ubHkgYXZhaWxhYmxlIG9uIHByaXZhdGUgdGhyZWFkcyAqL1xuICBpbnZpdGFibGU/OiBib29sZWFuXG4gIC8qKiBUaW1lc3RhbXAgd2hlbiB0aGUgdGhyZWFkJ3MgYXJjaGl2ZSBzdGF0dXMgd2FzIGxhc3QgY2hhbmdlZCwgdXNlZCBmb3IgY2FsY3VsYXRpbmcgcmVjZW50IGFjdGl2aXR5ICovXG4gIGFyY2hpdmVfdGltZXN0YW1wOiBzdHJpbmdcbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoZSB0aHJlYWQgd2FzIGNyZWF0ZWQ7IG9ubHkgcG9wdWxhdGVkIGZvciB0aHJlYWRzIGNyZWF0ZWQgYWZ0ZXIgMjAyMi0wMS0wOSAqL1xuICBjcmVhdGVfdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZW1iZXIge1xuICAvKiogQW55IHVzZXItdGhyZWFkIHNldHRpbmdzLCBjdXJyZW50bHkgb25seSB1c2VkIGZvciBub3RpZmljYXRpb25zICovXG4gIGZsYWdzOiBudW1iZXJcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0aW1lIHRoZSBjdXJyZW50IHVzZXIgbGFzdCBqb2luZWQgdGhlIHRocmVhZCAqL1xuICBqb2luX3RpbWVzdGFtcDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjYWN0aXZpdHktb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eSB7XG4gIC8qKiBUaGUgYWN0aXZpdHkncyBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogQWN0aXZpdHkgdHlwZSAqL1xuICB0eXBlOiBBY3Rpdml0eVR5cGVzXG4gIC8qKiBTdHJlYW0gdXJsLCBpcyB2YWxpZGF0ZWQgd2hlbiB0eXBlIGlzIDEgKi9cbiAgdXJsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVW5peCB0aW1lc3RhbXAgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgd2FzIGFkZGVkIHRvIHRoZSB1c2VyJ3Mgc2Vzc2lvbiAqL1xuICBjcmVhdGVkX2F0OiBudW1iZXJcbiAgLyoqIFdoYXQgdGhlIHBsYXllciBpcyBjdXJyZW50bHkgZG9pbmcgKi9cbiAgZGV0YWlscz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1c2VyJ3MgY3VycmVudCBwYXJ0eSBzdGF0dXMgKi9cbiAgc3RhdGU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgYWN0aXZpdHkgaXMgYW4gaW5zdGFuY2VkIGdhbWUgc2Vzc2lvbiAqL1xuICBpbnN0YW5jZT86IGJvb2xlYW5cbiAgLyoqIEFjdGl2aXR5IGZsYWdzIGBPUmBkIHRvZ2V0aGVyLCBkZXNjcmliZXMgd2hhdCB0aGUgcGF5bG9hZCBpbmNsdWRlcyAqL1xuICBmbGFncz86IG51bWJlclxuICAvKiogVW5peCB0aW1lc3RhbXBzIGZvciBzdGFydCBhbmQvb3IgZW5kIG9mIHRoZSBnYW1lICovXG4gIHRpbWVzdGFtcHM/OiBEaXNjb3JkQWN0aXZpdHlUaW1lc3RhbXBzXG4gIC8qKiBBcHBsaWNhdGlvbiBpZCBmb3IgdGhlIGdhbWUgKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBlbW9qaSB1c2VkIGZvciBhIGN1c3RvbSBzdGF0dXMgKi9cbiAgZW1vamk/OiBEaXNjb3JkQWN0aXZpdHlFbW9qaSB8IG51bGxcbiAgLyoqIEluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBwYXJ0eSBvZiB0aGUgcGxheWVyICovXG4gIHBhcnR5PzogRGlzY29yZEFjdGl2aXR5UGFydHlcbiAgLyoqIEltYWdlcyBmb3IgdGhlIHByZXNlbmNlIGFuZCB0aGVpciBob3ZlciB0ZXh0cyAqL1xuICBhc3NldHM/OiBEaXNjb3JkQWN0aXZpdHlBc3NldHNcbiAgLyoqIFNlY3JldHMgZm9yIFJpY2ggUHJlc2VuY2Ugam9pbmluZyBhbmQgc3BlY3RhdGluZyAqL1xuICBzZWNyZXRzPzogRGlzY29yZEFjdGl2aXR5U2VjcmV0c1xuICAvKiogVGhlIGN1c3RvbSBidXR0b25zIHNob3duIGluIHRoZSBSaWNoIFByZXNlbmNlIChtYXggMikgKi9cbiAgYnV0dG9ucz86IERpc2NvcmRBY3Rpdml0eUJ1dHRvbltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNjbGllbnQtc3RhdHVzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2xpZW50U3RhdHVzIHtcbiAgLyoqIFRoZSB1c2VyJ3Mgc3RhdHVzIHNldCBmb3IgYW4gYWN0aXZlIGRlc2t0b3AgKFdpbmRvd3MsIExpbnV4LCBNYWMpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgZGVza3RvcD86IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBzdGF0dXMgc2V0IGZvciBhbiBhY3RpdmUgbW9iaWxlIChpT1MsIEFuZHJvaWQpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgbW9iaWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIHN0YXR1cyBzZXQgZm9yIGFuIGFjdGl2ZSB3ZWIgKGJyb3dzZXIsIGJvdCBhY2NvdW50KSBhcHBsaWNhdGlvbiBzZXNzaW9uICovXG4gIHdlYj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LXRpbWVzdGFtcHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5VGltZXN0YW1wcyB7XG4gIC8qKiBVbml4IHRpbWUgKGluIG1pbGxpc2Vjb25kcykgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgc3RhcnRlZCAqL1xuICBzdGFydD86IG51bWJlclxuICAvKiogVW5peCB0aW1lIChpbiBtaWxsaXNlY29uZHMpIG9mIHdoZW4gdGhlIGFjdGl2aXR5IGVuZHMgKi9cbiAgZW5kPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktZW1vamkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5RW1vamkge1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBlbW9qaSAqL1xuICBpZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LXBhcnR5ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eVBhcnR5IHtcbiAgLyoqIFVzZWQgdG8gc2hvdyB0aGUgcGFydHkncyBjdXJyZW50IGFuZCBtYXhpbXVtIHNpemUgKi9cbiAgc2l6ZT86IFtjdXJyZW50U2l6ZTogbnVtYmVyLCBtYXhTaXplOiBudW1iZXJdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHBhcnR5ICovXG4gIGlkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktYXNzZXRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUFzc2V0cyB7XG4gIC8qKiBUZXh0IGRpc3BsYXllZCB3aGVuIGhvdmVyaW5nIG92ZXIgdGhlIGxhcmdlIGltYWdlIG9mIHRoZSBhY3Rpdml0eSAqL1xuICBsYXJnZV90ZXh0Pzogc3RyaW5nXG4gIC8qKiBUZXh0IGRpc3BsYXllZCB3aGVuIGhvdmVyaW5nIG92ZXIgdGhlIHNtYWxsIGltYWdlIG9mIHRoZSBhY3Rpdml0eSAqL1xuICBzbWFsbF90ZXh0Pzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgZm9yIGEgbGFyZ2UgYXNzZXQgb2YgdGhlIGFjdGl2aXR5LCB1c3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGxhcmdlX2ltYWdlPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgZm9yIGEgc21hbGwgYXNzZXQgb2YgdGhlIGFjdGl2aXR5LCB1c3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIHNtYWxsX2ltYWdlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktc2VjcmV0cyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlTZWNyZXRzIHtcbiAgLyoqIFRoZSBzZWNyZXQgZm9yIGpvaW5pbmcgYSBwYXJ0eSAqL1xuICBqb2luPzogc3RyaW5nXG4gIC8qKiBUaGUgc2VjcmV0IGZvciBzcGVjdGF0aW5nIGEgZ2FtZSAqL1xuICBzcGVjdGF0ZT86IHN0cmluZ1xuICAvKiogVGhlIHNlY3JldCBmb3IgYSBzcGVjaWZpYyBpbnN0YW5jZWQgbWF0Y2ggKi9cbiAgbWF0Y2g/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1idXR0b25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUJ1dHRvbiB7XG4gIC8qKiBUaGUgdGV4dCBzaG93biBvbiB0aGUgYnV0dG9uICgxLTMyIGNoYXJhY3RlcnMpICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb3BlbmVkIHdoZW4gY2xpY2tpbmcgdGhlIGJ1dHRvbiAoMS01MTIgY2hhcmFjdGVycykgKi9cbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkT3ZlcndyaXRlIHtcbiAgLyoqIEVpdGhlciAwIChyb2xlKSBvciAxIChtZW1iZXIpICovXG4gIHR5cGU6IE92ZXJ3cml0ZVR5cGVzXG4gIC8qKiBSb2xlIG9yIHVzZXIgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGFsbG93Pzogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgZGVueT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZW1iZXJXaXRoVXNlciBleHRlbmRzIERpc2NvcmRNZW1iZXIge1xuICAvKiogVGhlIHVzZXIgb2JqZWN0IGZvciB0aGlzIG1lbWJlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2Uge1xuICAvKiogaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGNoYW5uZWwgdGhlIG1lc3NhZ2Ugd2FzIHNlbnQgaW4gKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBpZCBvZiB0aGUgZ3VpbGQgdGhlIG1lc3NhZ2Ugd2FzIHNlbnQgaW5cbiAgICogTm90ZTogRm9yIE1FU1NBR0VfQ1JFQVRFIGFuZCBNRVNTQUdFX1VQREFURSBldmVudHMsIHRoZSBtZXNzYWdlIG9iamVjdCBtYXkgbm90IGNvbnRhaW4gYSBndWlsZF9pZCBvciBtZW1iZXIgZmllbGQgc2luY2UgdGhlIGV2ZW50cyBhcmUgc2VudCBkaXJlY3RseSB0byB0aGUgcmVjZWl2aW5nIHVzZXIgYW5kIHRoZSBib3Qgd2hvIHNlbnQgdGhlIG1lc3NhZ2UsIHJhdGhlciB0aGFuIGJlaW5nIHNlbnQgdGhyb3VnaCB0aGUgZ3VpbGQgbGlrZSBub24tZXBoZW1lcmFsIG1lc3NhZ2VzLlxuICAgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBhdXRob3Igb2YgdGhpcyBtZXNzYWdlIChub3QgZ3VhcmFudGVlZCB0byBiZSBhIHZhbGlkIHVzZXIpXG4gICAqIE5vdGU6IFRoZSBhdXRob3Igb2JqZWN0IGZvbGxvd3MgdGhlIHN0cnVjdHVyZSBvZiB0aGUgdXNlciBvYmplY3QsIGJ1dCBpcyBvbmx5IGEgdmFsaWQgdXNlciBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB1c2VyIG9yIGJvdCB1c2VyLiBJZiB0aGUgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB3ZWJob29rLCB0aGUgYXV0aG9yIG9iamVjdCBjb3JyZXNwb25kcyB0byB0aGUgd2ViaG9vaydzIGlkLCB1c2VybmFtZSwgYW5kIGF2YXRhci4gWW91IGNhbiB0ZWxsIGlmIGEgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB3ZWJob29rIGJ5IGNoZWNraW5nIGZvciB0aGUgd2ViaG9va19pZCBvbiB0aGUgbWVzc2FnZSBvYmplY3QuXG4gICAqL1xuICBhdXRob3I6IERpc2NvcmRVc2VyXG4gIC8qKlxuICAgKiBNZW1iZXIgcHJvcGVydGllcyBmb3IgdGhpcyBtZXNzYWdlJ3MgYXV0aG9yXG4gICAqIE5vdGU6IFRoZSBtZW1iZXIgb2JqZWN0IGV4aXN0cyBpbiBgTUVTU0FHRV9DUkVBVEVgIGFuZCBgTUVTU0FHRV9VUERBVEVgIGV2ZW50cyBmcm9tIHRleHQtYmFzZWQgZ3VpbGQgY2hhbm5lbHMuIFRoaXMgYWxsb3dzIGJvdHMgdG8gb2J0YWluIHJlYWwtdGltZSBtZW1iZXIgZGF0YSB3aXRob3V0IHJlcXVpcmluZyBib3RzIHRvIHN0b3JlIG1lbWJlciBzdGF0ZSBpbiBtZW1vcnkuXG4gICAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyXG4gIC8qKiBDb250ZW50cyBvZiB0aGUgbWVzc2FnZSAqL1xuICBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgbWVzc2FnZSB3YXMgc2VudCAqL1xuICB0aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogV2hlbiB0aGlzIG1lc3NhZ2Ugd2FzIGVkaXRlZCAob3IgbnVsbCBpZiBuZXZlcikgKi9cbiAgZWRpdGVkX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGlzIHdhcyBhIFRUUyBtZXNzYWdlICovXG4gIHR0czogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgbWVudGlvbnMgZXZlcnlvbmUgKi9cbiAgbWVudGlvbl9ldmVyeW9uZTogYm9vbGVhblxuICAvKipcbiAgICogVXNlcnMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGUgbWVzc2FnZVxuICAgKiBOb3RlOiBUaGUgdXNlciBvYmplY3RzIGluIHRoZSBtZW50aW9ucyBhcnJheSB3aWxsIG9ubHkgaGF2ZSB0aGUgcGFydGlhbCBtZW1iZXIgZmllbGQgcHJlc2VudCBpbiBgTUVTU0FHRV9DUkVBVEVgIGFuZCBgTUVTU0FHRV9VUERBVEVgIGV2ZW50cyBmcm9tIHRleHQtYmFzZWQgZ3VpbGQgY2hhbm5lbHMuXG4gICAqL1xuICBtZW50aW9uczogQXJyYXk8RGlzY29yZFVzZXIgJiB7IG1lbWJlcj86IFBhcnRpYWw8RGlzY29yZE1lbWJlcj4gfT5cbiAgLyoqIFJvbGVzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgaW4gdGhpcyBtZXNzYWdlICovXG4gIG1lbnRpb25fcm9sZXM/OiBzdHJpbmdbXVxuICAvKipcbiAgICogQ2hhbm5lbHMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2VcbiAgICogTm90ZTogTm90IGFsbCBjaGFubmVsIG1lbnRpb25zIGluIGEgbWVzc2FnZSB3aWxsIGFwcGVhciBpbiBgbWVudGlvbl9jaGFubmVsc2AuIE9ubHkgdGV4dHVhbCBjaGFubmVscyB0aGF0IGFyZSB2aXNpYmxlIHRvIGV2ZXJ5b25lIGluIGEgZGlzY292ZXJhYmxlIGd1aWxkIHdpbGwgZXZlciBiZSBpbmNsdWRlZC4gT25seSBjcm9zc3Bvc3RlZCBtZXNzYWdlcyAodmlhIENoYW5uZWwgRm9sbG93aW5nKSBjdXJyZW50bHkgaW5jbHVkZSBgbWVudGlvbl9jaGFubmVsc2AgYXQgYWxsLiBJZiBubyBtZW50aW9ucyBpbiB0aGUgbWVzc2FnZSBtZWV0IHRoZXNlIHJlcXVpcmVtZW50cywgdGhpcyBmaWVsZCB3aWxsIG5vdCBiZSBzZW50LlxuICAgKi9cbiAgbWVudGlvbl9jaGFubmVscz86IERpc2NvcmRDaGFubmVsTWVudGlvbltdXG4gIC8qKiBBbnkgYXR0YWNoZWQgZmlsZXMgKi9cbiAgYXR0YWNobWVudHM6IERpc2NvcmRBdHRhY2htZW50W11cbiAgLyoqIEFueSBlbWJlZGRlZCBjb250ZW50ICovXG4gIGVtYmVkczogRGlzY29yZEVtYmVkW11cbiAgLyoqIFJlYWN0aW9ucyB0byB0aGUgbWVzc2FnZSAqL1xuICByZWFjdGlvbnM/OiBEaXNjb3JkUmVhY3Rpb25bXVxuICAvKiogVXNlZCBmb3IgdmFsaWRhdGluZyBhIG1lc3NhZ2Ugd2FzIHNlbnQgKi9cbiAgbm9uY2U/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIGlzIHBpbm5lZCAqL1xuICBwaW5uZWQ6IGJvb2xlYW5cbiAgLyoqIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoaXMgaXMgdGhlIHdlYmhvb2sncyBpZCAqL1xuICB3ZWJob29rX2lkPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIG1lc3NhZ2UgKi9cbiAgdHlwZTogTWVzc2FnZVR5cGVzXG4gIC8qKiBTZW50IHdpdGggUmljaCBQcmVzZW5jZS1yZWxhdGVkIGNoYXQgZW1iZWRzICovXG4gIGFjdGl2aXR5PzogRGlzY29yZE1lc3NhZ2VBY3Rpdml0eVxuICAvKiogU2VudCB3aXRoIFJpY2ggUHJlc2VuY2UtcmVsYXRlZCBjaGF0IGVtYmVkcyAqL1xuICBhcHBsaWNhdGlvbj86IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPlxuICAvKiogaWYgdGhlIG1lc3NhZ2UgaXMgYW4gSW50ZXJhY3Rpb24gb3IgYXBwbGljYXRpb24tb3duZWQgd2ViaG9vaywgdGhpcyBpcyB0aGUgaWQgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBEYXRhIHNob3dpbmcgdGhlIHNvdXJjZSBvZiBhIGNyb3NzcG9zdGVkIGNoYW5uZWwgZm9sbG93IGFkZCwgcGluIG9yIHJlcGx5IG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9yZWZlcmVuY2U/OiBPbWl0PERpc2NvcmRNZXNzYWdlUmVmZXJlbmNlLCAnZmFpbElmTm90RXhpc3RzJz5cbiAgLyoqIE1lc3NhZ2UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IERpc2NvcmRNZXNzYWdlRmxhZ1xuICAvKipcbiAgICogVGhlIHN0aWNrZXJzIHNlbnQgd2l0aCB0aGUgbWVzc2FnZSAoYm90cyBjdXJyZW50bHkgY2FuIG9ubHkgcmVjZWl2ZSBtZXNzYWdlcyB3aXRoIHN0aWNrZXJzLCBub3Qgc2VuZClcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHN0aWNrZXJzPzogRGlzY29yZFN0aWNrZXJbXVxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBgbWVzc2FnZV9yZWZlcmVuY2VgXG4gICAqIE5vdGU6IFRoaXMgZmllbGQgaXMgb25seSByZXR1cm5lZCBmb3IgbWVzc2FnZXMgd2l0aCBhIGB0eXBlYCBvZiBgMTlgIChSRVBMWSkuIElmIHRoZSBtZXNzYWdlIGlzIGEgcmVwbHkgYnV0IHRoZSBgcmVmZXJlbmNlZF9tZXNzYWdlYCBmaWVsZCBpcyBub3QgcHJlc2VudCwgdGhlIGJhY2tlbmQgZGlkIG5vdCBhdHRlbXB0IHRvIGZldGNoIHRoZSBtZXNzYWdlIHRoYXQgd2FzIGJlaW5nIHJlcGxpZWQgdG8sIHNvIGl0cyBzdGF0ZSBpcyB1bmtub3duLiBJZiB0aGUgZmllbGQgZXhpc3RzIGJ1dCBpcyBudWxsLCB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIHdhcyBkZWxldGVkLlxuICAgKi9cbiAgcmVmZXJlbmNlZF9tZXNzYWdlPzogRGlzY29yZE1lc3NhZ2VcbiAgLyoqIHNlbnQgaWYgdGhlIG1lc3NhZ2UgaXMgc2VudCBhcyBhIHJlc3VsdCBvZiBhbiBpbnRlcmFjdGlvbiAqL1xuICBpbnRlcmFjdGlvbl9tZXRhZGF0YT86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxuICAvKipcbiAgICogU2VudCBpZiB0aGUgbWVzc2FnZSBpcyBhIHJlc3BvbnNlIHRvIGFuIEludGVyYWN0aW9uXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgaW4gZmF2b3Igb2Yge0BsaW5rIGludGVyYWN0aW9uX21ldGFkYXRhfVxuICAgKi9cbiAgaW50ZXJhY3Rpb24/OiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uXG4gIC8qKiBUaGUgdGhyZWFkIHRoYXQgd2FzIHN0YXJ0ZWQgZnJvbSB0aGlzIG1lc3NhZ2UsIGluY2x1ZGVzIHRocmVhZCBtZW1iZXIgb2JqZWN0ICovXG4gIHRocmVhZD86IE9taXQ8RGlzY29yZENoYW5uZWwsICdtZW1iZXInPiAmIHsgbWVtYmVyOiBEaXNjb3JkVGhyZWFkTWVtYmVyIH1cbiAgLyoqIFRoZSBjb21wb25lbnRzIHJlbGF0ZWQgdG8gdGhpcyBtZXNzYWdlICovXG4gIGNvbXBvbmVudHM/OiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHNcbiAgLyoqIFNlbnQgaWYgdGhlIG1lc3NhZ2UgY29udGFpbnMgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcl9pdGVtcz86IERpc2NvcmRTdGlja2VySXRlbVtdXG4gIC8qKiBBIGdlbmVyYWxseSBpbmNyZWFzaW5nIGludGVnZXIgKHRoZXJlIG1heSBiZSBnYXBzIG9yIGR1cGxpY2F0ZXMpIHRoYXQgcmVwcmVzZW50cyB0aGUgYXBwcm94aW1hdGUgcG9zaXRpb24gb2YgdGhlIG1lc3NhZ2UgaW4gYSB0aHJlYWQsIGl0IGNhbiBiZSB1c2VkIHRvIGVzdGltYXRlIHRoZSByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgbWVzc2FnZSBpbiBhIHRocmVhZCBpbiBjb21wYW55IHdpdGggYHRvdGFsX21lc3NhZ2Vfc2VudGAgb24gcGFyZW50IHRocmVhZCAqL1xuICBwb3NpdGlvbj86IG51bWJlclxuICAvKiogVGhlIHBvbGwgb2JqZWN0ICovXG4gIHBvbGw/OiBEaXNjb3JkUG9sbFxuICAvKiogVGhlIGNhbGwgYXNzb2NpYXRlZCB3aXRoIHRoZSBtZXNzYWdlICovXG4gIGNhbGw/OiBEaXNjb3JkTWVzc2FnZUNhbGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2UtY2FsbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VDYWxsIHtcbiAgLyoqIEFycmF5IG9mIHVzZXIgb2JqZWN0IGlkcyB0aGF0IHBhcnRpY2lwYXRlZCBpbiB0aGUgY2FsbCAqL1xuICBwYXJ0aWNpcGFudHM6IHN0cmluZ1tdXG4gIC8qKiBUaW1lIHdoZW4gY2FsbCBlbmRlZCAqL1xuICBlbmRlZF90aW1lc3RhbXA6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjY2hhbm5lbC1tZW50aW9uLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hhbm5lbE1lbnRpb24ge1xuICAvKiogaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIGNvbnRhaW5pbmcgdGhlIGNoYW5uZWwgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgY2hhbm5lbCAqL1xuICB0eXBlOiBudW1iZXJcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBjaGFubmVsICovXG4gIG5hbWU6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjcmVhY3Rpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSZWFjdGlvbiB7XG4gIC8qKiBUb3RhbCBudW1iZXIgb2YgdGltZXMgdGhpcyBlbW9qaSBoYXMgYmVlbiB1c2VkIHRvIHJlYWN0IChpbmNsdWRpbmcgc3VwZXIgcmVhY3RzKSAqL1xuICBjb3VudDogbnVtYmVyXG4gIC8qKlx0UmVhY3Rpb24gY291bnQgZGV0YWlscyBvYmplY3QgKi9cbiAgY291bnRfZGV0YWlsczogRGlzY29yZFJlYWN0aW9uQ291bnREZXRhaWxzXG4gIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgcmVhY3RlZCB1c2luZyB0aGlzIGVtb2ppICovXG4gIG1lOiBib29sZWFuXG4gIC8qKlx0V2hldGhlciB0aGUgY3VycmVudCB1c2VyIHN1cGVyLXJlYWN0ZWQgdXNpbmcgdGhpcyBlbW9qaSAqL1xuICBtZV9idXJzdDogYm9vbGVhblxuICAvKiogRW1vamkgaW5mb3JtYXRpb24gKi9cbiAgZW1vamk6IFBhcnRpYWw8RGlzY29yZEVtb2ppPlxuICAvKiogSEVYIGNvbG9ycyB1c2VkIGZvciBzdXBlciByZWFjdGlvbiAqL1xuICBidXJzdF9jb2xvcnM6IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNyZWFjdGlvbi1jb3VudC1kZXRhaWxzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUmVhY3Rpb25Db3VudERldGFpbHMge1xuICAvKiogQ291bnQgb2Ygc3VwZXIgcmVhY3Rpb25zICovXG4gIGJ1cnN0OiBudW1iZXJcbiAgLyoqXHRDb3VudCBvZiBub3JtYWwgcmVhY3Rpb25zICovXG4gIG5vcm1hbDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdC1tZXNzYWdlLWFjdGl2aXR5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUFjdGl2aXR5IHtcbiAgLyoqIFR5cGUgb2YgbWVzc2FnZSBhY3Rpdml0eSAqL1xuICB0eXBlOiBNZXNzYWdlQWN0aXZpdHlUeXBlc1xuICAvKiogYHBhcnR5X2lkYCBmcm9tIGEgUmljaCBQcmVzZW5jZSBldmVudCAqL1xuICBwYXJ0eV9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QtbWVzc2FnZS1yZWZlcmVuY2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVmZXJlbmNlIHtcbiAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgY2hhbm5lbFxuICAgKiBOb3RlOiBgY2hhbm5lbF9pZGAgaXMgb3B0aW9uYWwgd2hlbiBjcmVhdGluZyBhIHJlcGx5LCBidXQgd2lsbCBhbHdheXMgYmUgcHJlc2VudCB3aGVuIHJlY2VpdmluZyBhbiBldmVudC9yZXNwb25zZSB0aGF0IGluY2x1ZGVzIHRoaXMgZGF0YSBtb2RlbC5cbiAgICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZW4gc2VuZGluZywgd2hldGhlciB0byBlcnJvciBpZiB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIGRvZXNuJ3QgZXhpc3QgaW5zdGVhZCBvZiBzZW5kaW5nIGFzIGEgbm9ybWFsIChub24tcmVwbHkpIG1lc3NhZ2UsIGRlZmF1bHQgdHJ1ZSAqL1xuICBmYWlsX2lmX25vdF9leGlzdHM6IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsIHtcbiAgLyoqIFRoZSBxdWVzdGlvbiBvZiB0aGUgcG9sbC4gT25seSBgdGV4dGAgaXMgc3VwcG9ydGVkLiAqL1xuICBxdWVzdGlvbjogRGlzY29yZFBvbGxNZWRpYVxuICAvKiogRWFjaCBvZiB0aGUgYW5zd2VycyBhdmFpbGFibGUgaW4gdGhlIHBvbGwuIFRoZXJlIGlzIGEgbWF4aW11bSBvZiAxMCBhbnN3ZXJzIHBlciBwb2xsLiAqL1xuICBhbnN3ZXJzOiBEaXNjb3JkUG9sbEFuc3dlcltdXG4gIC8qKlxuICAgKiBUaGUgdGltZSB3aGVuIHRoZSBwb2xsIGVuZHMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIGBleHBpcnlgIGlzIG1hcmtlZCBhcyBudWxsYWJsZSB0byBzdXBwb3J0IG5vbi1leHBpcmluZyBwb2xscyBpbiB0aGUgZnV0dXJlLCBidXQgYWxsIHBvbGxzIGhhdmUgYW4gZXhwaXJ5IGN1cnJlbnRseS5cbiAgICovXG4gIGV4cGlyeTogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciBhIHVzZXIgY2FuIHNlbGVjdCBtdWx0aXBsZSBhbnN3ZXJzICovXG4gIGFsbG93X211bHRpc2VsZWN0OiBib29sZWFuXG4gIC8qKiBUaGUgbGF5b3V0IHR5cGUgb2YgdGhlIHBvbGwgKi9cbiAgbGF5b3V0X3R5cGU6IERpc2NvcmRQb2xsTGF5b3V0VHlwZVxuICAvKipcbiAgICogVGhlIHJlc3VsdHMgb2YgdGhlIHBvbGxcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSB3aWxsIG5vdCBiZSBzZW50IGJ5IGRpc2NvcmQgdW5kZXIgc3BlY2lmaWMgY29uZGl0aW9ucyB3aGVyZSB0aGV5IGRvbid0IGZldGNoIHRoZW0gb24gdGhlaXIgYmFja2VuZC4gV2hlbiB0aGlzIHZhbHVlIGlzIG1pc3NpbmcgaXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIFwiVW5rbm93biByZXN1bHRzXCIgYW5kIG5vdCBhcyBcIk5vIHJlc3VsdHNcIlxuICAgKiBUaGUgcmVzdWx0cyBtYXkgbm90IGJlIHRvdGFsbHkgYWNjdXJhdGUgd2hpbGUgdGhlIHBvbGwgaGFzIG5vdCBlbmRlZC4gV2hlbiBpdCBlbmRzIGRpc2NvcmQgd2lsbCByZS1jYWxjdWxhdGUgYWxsIHRoZSByZXN1bHRzIGFuZCBzZXQge0BsaW5rIERpc2NvcmRQb2xsUmVzdWx0LmlzX2ZpbmFsaXplZH0gdG8gdHJ1ZVxuICAgKi9cbiAgcmVzdWx0cz86IERpc2NvcmRQb2xsUmVzdWx0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNsYXlvdXQtdHlwZSAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFBvbGxMYXlvdXRUeXBlIHtcbiAgLyoqIFRoZSBkZWZhdWx0IGxheW91dCAqL1xuICBEZWZhdWx0ID0gMSxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtbWVkaWEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsTWVkaWEge1xuICAvKipcbiAgICogVGhlIHRleHQgb2YgdGhlIGZpZWxkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIGB0ZXh0YCBzaG91bGQgYWx3YXlzIGJlIG5vbi1udWxsIGZvciBib3RoIHF1ZXN0aW9ucyBhbmQgYW5zd2VycywgYnV0IHRoaXMgaXMgc3ViamVjdCB0byBjaGFuZ2VzLlxuICAgKiBUaGUgbWF4aW11bSBsZW5ndGggb2YgYHRleHRgIGlzIDMwMCBmb3IgdGhlIHF1ZXN0aW9uLCBhbmQgNTUgZm9yIGFueSBhbnN3ZXIuXG4gICAqL1xuICB0ZXh0Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgZW1vamkgb2YgdGhlIGZpZWxkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgYSBwb2xsIGFuc3dlciB3aXRoIGFuIGVtb2ppLCBvbmUgb25seSBuZWVkcyB0byBzZW5kIGVpdGhlciB0aGUgYGlkYCAoY3VzdG9tIGVtb2ppKSBvciBgbmFtZWAgKGRlZmF1bHQgZW1vamkpIGFzIHRoZSBvbmx5IGZpZWxkLlxuICAgKi9cbiAgZW1vamk/OiBQYXJ0aWFsPERpc2NvcmRFbW9qaT5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtYW5zd2VyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbEFuc3dlciB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGFuc3dlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlkIGxhYmVscyBlYWNoIGFuc3dlci4gSXQgc3RhcnRzIGF0IDEgYW5kIGdvZXMgdXAgc2VxdWVudGlhbGx5LiBEaXNjb3JkIHJlY29tbWVuZCBhZ2FpbnN0IGRlcGVuZGluZyBvbiB0aGlzIHZhbHVlIGFzIGlzIGEgaW1wbGVtZW50YXRpb24gZGV0YWlsLlxuICAgKi9cbiAgYW5zd2VyX2lkOiBudW1iZXJcbiAgLyoqIFRoZSBkYXRhIG9mIHRoZSBhbnN3ZXIgKi9cbiAgcG9sbF9tZWRpYTogRGlzY29yZFBvbGxNZWRpYVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsQW5zd2VyQ291bnQge1xuICAvKiogVGhlIHtAbGluayBEaXNjb3JkUG9sbEFuc3dlci5hbnN3ZXJfaWQgfCBhbnN3ZXJfaWR9ICovXG4gIGlkOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2Ygdm90ZXMgZm9yIHRoaXMgYW5zd2VyICovXG4gIGNvdW50OiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciB2b3RlZCBmb3IgdGhpcyBhbnN3ZXIgKi9cbiAgbWVfdm90ZWQ6IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtcmVzdWx0cy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxSZXN1bHQge1xuICAvKiogV2hldGhlciB0aGUgdm90ZXMgaGF2ZSBiZWVuIHByZWNpc2VseSBjb3VudGVkICovXG4gIGlzX2ZpbmFsaXplZDogYm9vbGVhblxuICAvKiogVGhlIGNvdW50cyBmb3IgZWFjaCBhbnN3ZXIgKi9cbiAgYW5zd2VyX2NvdW50czogRGlzY29yZFBvbGxBbnN3ZXJDb3VudFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNnZXQtYW5zd2VyLXZvdGVycy1yZXNwb25zZS1ib2R5ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHZXRBbnN3ZXJWb3Rlc1Jlc3BvbnNlIHtcbiAgLyoqIFVzZXJzIHdobyB2b3RlZCBmb3IgdGhpcyBhbnN3ZXIgKi9cbiAgdXNlcnM6IERpc2NvcmRVc2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNtZXNzYWdlLXBvbGwtdm90ZS1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxWb3RlQWRkIHtcbiAgLyoqIElEIG9mIHRoZSB1c2VyLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGNoYW5uZWwuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgbWVzc2FnZS4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFuc3dlci4gKi9cbiAgYW5zd2VyX2lkOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNtZXNzYWdlLXBvbGwtdm90ZS1yZW1vdmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxWb3RlUmVtb3ZlIHtcbiAgLyoqIElEIG9mIHRoZSB1c2VyLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGNoYW5uZWwuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgbWVzc2FnZS4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFuc3dlci4gKi9cbiAgYW5zd2VyX2lkOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VyIHtcbiAgLyoqIFtJZCBvZiB0aGUgc3RpY2tlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBwYWNrIHRoZSBzdGlja2VyIGlzIGZyb20gKi9cbiAgcGFja19pZD86IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgc3RpY2tlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBzdGlja2VyICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIGEgdW5pY29kZSBlbW9qaSByZXByZXNlbnRpbmcgdGhlIHN0aWNrZXIncyBleHByZXNzaW9uICovXG4gIHRhZ3M6IHN0cmluZ1xuICAvKiogW3R5cGUgb2Ygc3RpY2tlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci10eXBlcykgKi9cbiAgdHlwZTogU3RpY2tlclR5cGVzXG4gIC8qKiBbVHlwZSBvZiBzdGlja2VyIGZvcm1hdF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1mb3JtYXQtdHlwZXMpICovXG4gIGZvcm1hdF90eXBlOiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgLyoqICBXaGV0aGVyIG9yIG5vdCB0aGUgc3RpY2tlciBpcyBhdmFpbGFibGUgKi9cbiAgYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogSWQgb2YgdGhlIGd1aWxkIHRoYXQgb3ducyB0aGlzIHN0aWNrZXIgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoYXQgdXBsb2FkZWQgdGhlIHN0aWNrZXIgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBBIHN0aWNrZXIncyBzb3J0IG9yZGVyIHdpdGhpbiBhIHBhY2sgKi9cbiAgc29ydF92YWx1ZT86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3JlY2VpdmluZy1hbmQtcmVzcG9uZGluZyNtZXNzYWdlLWludGVyYWN0aW9uLW9iamVjdC1tZXNzYWdlLWludGVyYWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25Db21tYW5kIGluY2x1ZGluZyB0aGUgbmFtZSBvZiB0aGUgc3ViY29tbWFuZC9zdWJjb21tYW5kIGdyb3VwICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgd2hvIGludm9rZWQgdGhlIGludGVyYWN0aW9uICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgbWVtYmVyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiBpbiB0aGUgZ3VpbGQgKi9cbiAgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1pbnRlcmFjdGlvbi1tZXRhZGF0YS1vYmplY3QtbWVzc2FnZS1pbnRlcmFjdGlvbi1tZXRhZGF0YS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBVc2VyIHdobyB0cmlnZ2VyZWQgdGhlIGludGVyYWN0aW9uICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBJRHMgZm9yIGluc3RhbGxhdGlvbiBjb250ZXh0KHMpIHJlbGF0ZWQgdG8gYW4gaW50ZXJhY3Rpb24gKi9cbiAgYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzOiBQYXJ0aWFsPFJlY29yZDxEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsIHN0cmluZz4+XG4gIC8qKiBJRCBvZiB0aGUgb3JpZ2luYWwgcmVzcG9uc2UgbWVzc2FnZSwgcHJlc2VudCBvbmx5IG9uIGZvbGxvdy11cCBtZXNzYWdlcyAqL1xuICBvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgbWVzc2FnZSB0aGF0IGNvbnRhaW5lZCBpbnRlcmFjdGl2ZSBjb21wb25lbnQsIHByZXNlbnQgb25seSBvbiBtZXNzYWdlcyBjcmVhdGVkIGZyb20gY29tcG9uZW50IGludGVyYWN0aW9ucyAqL1xuICBpbnRlcmFjdGVkX21lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqIE1ldGFkYXRhIGZvciB0aGUgaW50ZXJhY3Rpb24gdGhhdCB3YXMgdXNlZCB0byBvcGVuIHRoZSBtb2RhbCwgcHJlc2VudCBvbmx5IG9uIG1vZGFsIHN1Ym1pdCBpbnRlcmFjdGlvbnMgKi9cbiAgdHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YT86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHMgPSBEaXNjb3JkQWN0aW9uUm93W11cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjYWN0aW9ucm93ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpb25Sb3cge1xuICAvKiogQWN0aW9uIHJvd3MgYXJlIGEgZ3JvdXAgb2YgYnV0dG9ucy4gKi9cbiAgdHlwZTogMVxuICAvKiogVGhlIGNvbXBvbmVudHMgaW4gdGhpcyByb3cgKi9cbiAgY29tcG9uZW50czogQXJyYXk8RGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHwgRGlzY29yZElucHV0VGV4dENvbXBvbmVudD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnVcbiAgLyoqIEEgY3VzdG9tIGlkZW50aWZpZXIgZm9yIHRoaXMgY29tcG9uZW50LiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZ1xuICAvKiogQSBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkLiBNYXhpbXVtIDE1MCBjaGFyYWN0ZXJzLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbXVzdCBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIExpc3Qgb2YgY2hhbm5lbCB0eXBlcyB0byBpbmNsdWRlIGluIGEgY2hhbm5lbCBzZWxlY3QgbWVudSBvcHRpb25zIGxpc3QgKi9cbiAgY2hhbm5lbFR5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqIFRoZSBjaG9pY2VzISBNYXhpbXVtIG9mIDI1IGl0ZW1zLiAqL1xuICBvcHRpb25zOiBEaXNjb3JkU2VsZWN0T3B0aW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0T3B0aW9uIHtcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBuYW1lIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMjUgY2hhcmFjdGVycy4gKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIGRldi1kZWZpbmVkIHZhbHVlIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIHZhbHVlOiBzdHJpbmdcbiAgLyoqIEFuIGFkZGl0aW9uYWwgZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi4gTWF4aW11bSA1MCBjaGFyYWN0ZXJzLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogVGhlIGlkLCBuYW1lLCBhbmQgYW5pbWF0ZWQgcHJvcGVydGllcyBvZiBhbiBlbW9qaS4gKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqIFdpbGwgcmVuZGVyIHRoaXMgb3B0aW9uIGFzIGFscmVhZHktc2VsZWN0ZWQgYnkgZGVmYXVsdC4gKi9cbiAgZGVmYXVsdD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0LXNlbGVjdC1kZWZhdWx0LXZhbHVlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudURlZmF1bHRWYWx1ZSB7XG4gIC8qKiBJRCBvZiBhIHVzZXIsIHJvbGUsIG9yIGNoYW5uZWwgKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVHlwZSBvZiB2YWx1ZSB0aGF0IGlkIHJlcHJlc2VudHMuICovXG4gIHR5cGU6ICd1c2VyJyB8ICdyb2xlJyB8ICdjaGFubmVsJ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNidXR0b25zLWJ1dHRvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBBbGwgYnV0dG9uIGNvbXBvbmVudHMgaGF2ZSB0eXBlIDIgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvblxuICAvKiogZm9yIHdoYXQgdGhlIGJ1dHRvbiBzYXlzIChtYXggODAgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw/OiBzdHJpbmdcbiAgLyoqIGEgZGV2LWRlZmluZWQgdW5pcXVlIHN0cmluZyBzZW50IG9uIGNsaWNrIChtYXggMTAwIGNoYXJhY3RlcnMpLiB0eXBlIDUgTGluayBidXR0b25zIGNhbiBub3QgaGF2ZSBhIGN1c3RvbV9pZCAqL1xuICBjdXN0b21faWQ/OiBzdHJpbmdcbiAgLyoqIEZvciBkaWZmZXJlbnQgc3R5bGVzL2NvbG9ycyBvZiB0aGUgYnV0dG9ucyAqL1xuICBzdHlsZTogQnV0dG9uU3R5bGVzXG4gIC8qKiBFbW9qaSBvYmplY3QgdGhhdCBpbmNsdWRlcyBmaWVsZHMgb2YgbmFtZSwgaWQsIGFuZCBhbmltYXRlZCBzdXBwb3J0aW5nIHVuaWNvZGUgYW5kIGN1c3RvbSBlbW9qaXMuICovXG4gIGVtb2ppPzoge1xuICAgIC8qKiBFbW9qaSBpZCAqL1xuICAgIGlkPzogc3RyaW5nXG4gICAgLyoqIEVtb2ppIG5hbWUgKi9cbiAgICBuYW1lPzogc3RyaW5nXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbW9qaSBpcyBhbmltYXRlZCAqL1xuICAgIGFuaW1hdGVkPzogYm9vbGVhblxuICB9XG4gIC8qKiBvcHRpb25hbCB1cmwgZm9yIGxpbmstc3R5bGUgYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIHdlYi4gT25seSB0eXBlIDUgTGluayBidXR0b25zIGNhbiBoYXZlIGEgdXJsICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogV2hldGhlciBvciBub3QgdGhpcyBidXR0b24gaXMgZGlzYWJsZWQgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvbWVzc2FnZS1jb21wb25lbnRzI3RleHQtaW5wdXRzLXRleHQtaW5wdXQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnB1dFRleHRDb21wb25lbnQge1xuICAvKiogSW5wdXRUZXh0IENvbXBvbmVudCBpcyBvZiB0eXBlIDMgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLklucHV0VGV4dFxuICAvKiogVGhlIHN0eWxlIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgc3R5bGU6IFRleHRTdHlsZXNcbiAgLyoqIHdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkLCBkZWZhdWx0IHRydWUgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgY3VzdG9tSWQgb2YgdGhlIElucHV0VGV4dCAqL1xuICBjdXN0b21faWQ6IHN0cmluZ1xuICAvKiogVGhlIGxhYmVsIG9mIHRoZSBJbnB1dFRleHQgKG1heCA0NSBjaGFyYWN0ZXJzKSAqL1xuICBsYWJlbDogc3RyaW5nXG4gIC8qKiBUaGUgcGxhY2Vob2xkZXIgb2YgdGhlIElucHV0VGV4dCAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogVGhlIG1pbmltdW0gbGVuZ3RoIG9mIHRoZSB0ZXh0IHRoZSB1c2VyIGhhcyB0byBwcm92aWRlICovXG4gIG1pbl9sZW5ndGg/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtYXhfbGVuZ3RoPzogbnVtYmVyXG4gIC8qKiBQcmUtZmlsbGVkIHZhbHVlIGZvciBpbnB1dCB0ZXh0LiAqL1xuICB2YWx1ZT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1pdGVtLW9iamVjdC1zdGlja2VyLWl0ZW0tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VySXRlbSB7XG4gIC8qKiBJZCBvZiB0aGUgc3RpY2tlciAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSBzdGlja2VyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogW1R5cGUgb2Ygc3RpY2tlciBmb3JtYXRdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItZm9ybWF0LXR5cGVzKSAqL1xuICBmb3JtYXRfdHlwZTogU3RpY2tlckZvcm1hdFR5cGVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLXBhY2stb2JqZWN0LXN0aWNrZXItcGFjay1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0aWNrZXJQYWNrIHtcbiAgLyoqIGlkIG9mIHRoZSBzdGlja2VyIHBhY2sgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdGhlIHN0aWNrZXJzIGluIHRoZSBwYWNrICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKiBuYW1lIG9mIHRoZSBzdGlja2VyIHBhY2sgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgcGFjaydzIFNLVSAqL1xuICBza3VfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgYSBzdGlja2VyIGluIHRoZSBwYWNrIHdoaWNoIGlzIHNob3duIGFzIHRoZSBwYWNrJ3MgaWNvbiAqL1xuICBjb3Zlcl9zdGlja2VyX2lkPzogc3RyaW5nXG4gIC8qKiBkZXNjcmlwdGlvbiBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBzdGlja2VyIHBhY2sncyBbYmFubmVyIGltYWdlXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgYmFubmVyX2Fzc2V0X2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgYXBwbGljYXRpb24gdGhpcyBpbnRlcmFjdGlvbiBpcyBmb3IgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVGhlIGd1aWxkIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgY2hhbm5lbDogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiBjaGFubmVsIGl0IHdhcyBzZW50IGZyb21cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgYmVnaW4gdXNpbmcgdGhpcyBjaGFubmVsIGZpZWxkIHRvIGlkZW50aWZ5IHRoZSBzb3VyY2UgY2hhbm5lbCBvZiB0aGUgaW50ZXJhY3Rpb24gYXMgdGhleSBtYXkgZGVwcmVjYXRlIHRoZSBleGlzdGluZyBjaGFubmVsX2lkIGZpZWxkIGluIHRoZSBmdXR1cmUuXG4gICAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKiBHdWlsZCBtZW1iZXIgZGF0YSBmb3IgdGhlIGludm9raW5nIHVzZXIsIGluY2x1ZGluZyBwZXJtaXNzaW9ucyAqL1xuICBtZW1iZXI/OiBEaXNjb3JkSW50ZXJhY3Rpb25NZW1iZXJcbiAgLyoqIFVzZXIgb2JqZWN0IGZvciB0aGUgaW52b2tpbmcgdXNlciwgaWYgaW52b2tlZCBpbiBhIERNICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogQSBjb250aW51YXRpb24gdG9rZW4gZm9yIHJlc3BvbmRpbmcgdG8gdGhlIGludGVyYWN0aW9uICovXG4gIHRva2VuOiBzdHJpbmdcbiAgLyoqIFJlYWQtb25seSBwcm9wZXJ0eSwgYWx3YXlzIGAxYCAqL1xuICB2ZXJzaW9uOiAxXG4gIC8qKiBGb3IgdGhlIG1lc3NhZ2UgdGhlIGJ1dHRvbiB3YXMgYXR0YWNoZWQgdG8gKi9cbiAgbWVzc2FnZT86IERpc2NvcmRNZXNzYWdlXG4gIC8qKiB0aGUgY29tbWFuZCBkYXRhIHBheWxvYWQgKi9cbiAgZGF0YT86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFcbiAgLyoqIFRoZSBzZWxlY3RlZCBsYW5ndWFnZSBvZiB0aGUgaW52b2tpbmcgdXNlciAqL1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCdzIHByZWZlcnJlZCBsb2NhbGUsIGlmIGludm9rZWQgaW4gYSBndWlsZCAqL1xuICBndWlsZF9sb2NhbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjb21wdXRlZCBwZXJtaXNzaW9ucyBmb3IgYSBib3Qgb3IgYXBwIGluIHRoZSBjb250ZXh0IG9mIGEgc3BlY2lmaWMgaW50ZXJhY3Rpb24gKGluY2x1ZGluZyBjaGFubmVsIG92ZXJ3cml0ZXMpICovXG4gIGFwcF9wZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBGb3IgbW9uZXRpemVkIGFwcHMsIGFueSBlbnRpdGxlbWVudHMgZm9yIHRoZSBpbnZva2luZyB1c2VyLCByZXByZXNlbnRpbmcgYWNjZXNzIHRvIHByZW1pdW0gU0tVcyAqL1xuICBlbnRpdGxlbWVudHM6IERpc2NvcmRFbnRpdGxlbWVudFtdXG4gIC8qKiBNYXBwaW5nIG9mIGluc3RhbGxhdGlvbiBjb250ZXh0cyB0aGF0IHRoZSBpbnRlcmFjdGlvbiB3YXMgYXV0aG9yaXplZCBmb3IgdG8gcmVsYXRlZCB1c2VyIG9yIGd1aWxkIElEcy4gKi9cbiAgYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzOiBQYXJ0aWFsPFJlY29yZDxEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsIHN0cmluZz4+XG4gIC8qKiBDb250ZXh0IHdoZXJlIHRoZSBpbnRlcmFjdGlvbiB3YXMgdHJpZ2dlcmVkIGZyb20gKi9cbiAgY29udGV4dD86IERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtbWVtYmVyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25NZW1iZXIgZXh0ZW5kcyBEaXNjb3JkTWVtYmVyV2l0aFVzZXIge1xuICAvKiogVG90YWwgcGVybWlzc2lvbnMgb2YgdGhlIG1lbWJlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIHJldHVybmVkIHdoZW4gaW4gdGhlIGludGVyYWN0aW9uIG9iamVjdCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uRGF0YSB7XG4gIC8qKiBUaGUgdHlwZSBvZiBjb21wb25lbnQgKi9cbiAgY29tcG9uZW50X3R5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXNcbiAgLyoqIFRoZSBjdXN0b20gaWQgcHJvdmlkZWQgZm9yIHRoaXMgY29tcG9uZW50LiAqL1xuICBjdXN0b21faWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjb21wb25lbnRzIGlmIGl0cyBhIE1vZGFsIFN1Ym1pdCBpbnRlcmFjdGlvbi4gKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogVGhlIHZhbHVlcyBjaG9zZW4gYnkgdGhlIHVzZXIuICovXG4gIHZhbHVlcz86IHN0cmluZ1tdXG4gIC8qKiBUaGUgSWQgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIHR5cGUgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlc1xuICAvKiogQ29udmVydGVkIHVzZXJzICsgcm9sZXMgKyBjaGFubmVscyArIGF0dGFjaG1lbnRzICovXG4gIHJlc29sdmVkPzoge1xuICAgIC8qKiBUaGUgSWRzIGFuZCBNZXNzYWdlIG9iamVjdHMgKi9cbiAgICBtZXNzYWdlcz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRNZXNzYWdlPlxuICAgIC8qKiBUaGUgSWRzIGFuZCBVc2VyIG9iamVjdHMgKi9cbiAgICB1c2Vycz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRVc2VyPlxuICAgIC8qKiBUaGUgSWRzIGFuZCBwYXJ0aWFsIE1lbWJlciBvYmplY3RzICovXG4gICAgbWVtYmVycz86IFJlY29yZDxzdHJpbmcsIE9taXQ8RGlzY29yZEludGVyYWN0aW9uTWVtYmVyLCAndXNlcicgfCAnZGVhZicgfCAnbXV0ZSc+PlxuICAgIC8qKiBUaGUgSWRzIGFuZCBSb2xlIG9iamVjdHMgKi9cbiAgICByb2xlcz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRSb2xlPlxuICAgIC8qKiBUaGUgSWRzIGFuZCBwYXJ0aWFsIENoYW5uZWwgb2JqZWN0cyAqL1xuICAgIGNoYW5uZWxzPzogUmVjb3JkPHN0cmluZywgUGljazxEaXNjb3JkQ2hhbm5lbCwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJyB8ICdwZXJtaXNzaW9ucyc+PlxuICAgIC8qKiBUaGUgaWRzIGFuZCBhdHRhY2htZW50IG9iamVjdHMgKi9cbiAgICBhdHRhY2htZW50czogUmVjb3JkPHN0cmluZywgRGlzY29yZEF0dGFjaG1lbnQ+XG4gIH1cbiAgLyoqIFRoZSBwYXJhbXMgKyB2YWx1ZXMgZnJvbSB0aGUgdXNlciAqL1xuICBvcHRpb25zPzogRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gIC8qKiBUaGUgdGFyZ2V0IGlkIGlmIHRoaXMgaXMgYSBjb250ZXh0IG1lbnUgY29tbWFuZC4gKi9cbiAgdGFyZ2V0X2lkPzogc3RyaW5nXG4gIC8qKiB0aGUgaWQgb2YgdGhlIGd1aWxkIHRoZSBjb21tYW5kIGlzIHJlZ2lzdGVyZWQgdG8gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHBhcmFtZXRlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIGFwcGxpY2F0aW9uIGNvbW1hbmQgb3B0aW9uIHR5cGUgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXNcbiAgLyoqIFZhbHVlIG9mIHRoZSBvcHRpb24gcmVzdWx0aW5nIGZyb20gdXNlciBpbnB1dCAqL1xuICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXJcbiAgLyoqIFByZXNlbnQgaWYgdGhpcyBvcHRpb24gaXMgYSBncm91cCBvciBzdWJjb21tYW5kICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgLyoqIGB0cnVlYCBpZiB0aGlzIG9wdGlvbiBpcyB0aGUgY3VycmVudGx5IGZvY3VzZWQgb3B0aW9uIGZvciBhdXRvY29tcGxldGUgKi9cbiAgZm9jdXNlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTGlzdEFjdGl2ZVRocmVhZHMge1xuICAvKiogVGhlIGFjdGl2ZSB0aHJlYWRzICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEEgdGhyZWFkIG1lbWJlciBvYmplY3QgZm9yIGVhY2ggcmV0dXJuZWQgdGhyZWFkIHRoZSBjdXJyZW50IHVzZXIgaGFzIGpvaW5lZCAqL1xuICBtZW1iZXJzOiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTGlzdEFyY2hpdmVkVGhyZWFkcyBleHRlbmRzIERpc2NvcmRMaXN0QWN0aXZlVGhyZWFkcyB7XG4gIC8qKiBXaGV0aGVyIHRoZXJlIGFyZSBwb3RlbnRpYWxseSBhZGRpdGlvbmFsIHRocmVhZHMgdGhhdCBjb3VsZCBiZSByZXR1cm5lZCBvbiBhIHN1YnNlcXVlbnQgY2FsbCAqL1xuICBoYXNfbW9yZTogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRMaXN0U3luYyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBwYXJlbnQgY2hhbm5lbCBpZHMgd2hvc2UgdGhyZWFkcyBhcmUgYmVpbmcgc3luY2VkLiBJZiBvbWl0dGVkLCB0aGVuIHRocmVhZHMgd2VyZSBzeW5jZWQgZm9yIHRoZSBlbnRpcmUgZ3VpbGQuIFRoaXMgYXJyYXkgbWF5IGNvbnRhaW4gY2hhbm5lbElkcyB0aGF0IGhhdmUgbm8gYWN0aXZlIHRocmVhZHMgYXMgd2VsbCwgc28geW91IGtub3cgdG8gY2xlYXIgdGhhdCBkYXRhICovXG4gIGNoYW5uZWxfaWRzPzogc3RyaW5nW11cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ2l2ZW4gY2hhbm5lbHMgdGhhdCB0aGUgY3VycmVudCB1c2VyIGNhbiBhY2Nlc3MgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogQWxsIHRocmVhZCBtZW1iZXIgb2JqZWN0cyBmcm9tIHRoZSBzeW5jZWQgdGhyZWFkcyBmb3IgdGhlIGN1cnJlbnQgdXNlciwgaW5kaWNhdGluZyB3aGljaCB0aHJlYWRzIHRoZSBjdXJyZW50IHVzZXIgaGFzIGJlZW4gYWRkZWQgdG8gKi9cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1ZGl0TG9nIHtcbiAgLyoqIExpc3Qgb2Ygd2ViaG9va3MgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICB3ZWJob29rczogRGlzY29yZFdlYmhvb2tbXVxuICAvKiogTGlzdCBvZiB1c2VycyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIHVzZXJzOiBEaXNjb3JkVXNlcltdXG4gIC8qKiBMaXN0IG9mIGF1ZGl0IGxvZyBlbnRyaWVzLCBzb3J0ZWQgZnJvbSBtb3N0IHRvIGxlYXN0IHJlY2VudCAqL1xuICBhdWRpdF9sb2dfZW50cmllczogRGlzY29yZEF1ZGl0TG9nRW50cnlbXVxuICAvKiogTGlzdCBvZiBwYXJ0aWFsIGludGVncmF0aW9uIG9iamVjdHMgKi9cbiAgaW50ZWdyYXRpb25zOiBBcnJheTxQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbj4+XG4gIC8qKlxuICAgKiBMaXN0IG9mIHRocmVhZHMgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZy5cbiAgICogVGhyZWFkcyByZWZlcmVuY2VkIGluIGBUSFJFQURfQ1JFQVRFYCBhbmQgYFRIUkVBRF9VUERBVEVgIGV2ZW50cyBhcmUgaW5jbHVkZWQgaW4gdGhlIHRocmVhZHMgbWFwIHNpbmNlIGFyY2hpdmVkIHRocmVhZHMgbWlnaHQgbm90IGJlIGtlcHQgaW4gbWVtb3J5IGJ5IGNsaWVudHMuXG4gICAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBMaXN0IG9mIGd1aWxkIHNjaGVkdWxlZCBldmVudHMgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRzPzogRGlzY29yZFNjaGVkdWxlZEV2ZW50W11cbiAgLyoqIExpc3Qgb2YgYXV0byBtb2RlcmF0aW9uIHJ1bGVzIHJlZmVyZW5jZWQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICBhdXRvX21vZGVyYXRpb25fcnVsZXM/OiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlW11cbiAgLyoqIExpc3Qgb2YgYXBwbGljYXRpb24gY29tbWFuZHMgcmVmZXJlbmNlZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGFwcGxpY2F0aW9uX2NvbW1hbmRzOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdXRvLW1vZGVyYXRpb24jYXV0by1tb2RlcmF0aW9uLXJ1bGUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUge1xuICAvKiogVGhlIGlkIG9mIHRoaXMgcnVsZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIHJ1bGUgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIHJ1bGUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhpcyBydWxlLiAqL1xuICBjcmVhdG9yX2lkOiBzdHJpbmdcbiAgLyoqIEluZGljYXRlcyBpbiB3aGF0IGV2ZW50IGNvbnRleHQgYSBydWxlIHNob3VsZCBiZSBjaGVja2VkLiAqL1xuICBldmVudF90eXBlOiBBdXRvTW9kZXJhdGlvbkV2ZW50VHlwZXNcbiAgLyoqIFRoZSB0eXBlIG9mIHRyaWdnZXIgZm9yIHRoaXMgcnVsZSAqL1xuICB0cmlnZ2VyX3R5cGU6IEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzXG4gIC8qKiBUaGUgbWV0YWRhdGEgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHJ1bGUgc2hvdWxkIGJlIHRyaWdnZXJlZC4gKi9cbiAgdHJpZ2dlcl9tZXRhZGF0YTogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVxuICAvKiogQWN0aW9ucyB3aGljaCB3aWxsIGV4ZWN1dGUgd2hlbmV2ZXIgYSBydWxlIGlzIHRyaWdnZXJlZC4gKi9cbiAgYWN0aW9uczogRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uW11cbiAgLyoqIFdoZXRoZXIgdGhlIHJ1bGUgaXMgZW5hYmxlZC4gKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogVGhlIHJvbGUgaWRzIHRoYXQgYXJlIHdoaXRlbGlzdGVkLiBNYXggMjAuICovXG4gIGV4ZW1wdF9yb2xlczogc3RyaW5nW11cbiAgLyoqIFRoZSBjaGFubmVsIGlkcyB0aGF0IGFyZSB3aGl0ZWxpc3RlZC4gTWF4IDUwLiAqL1xuICBleGVtcHRfY2hhbm5lbHM6IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlcyB7XG4gIC8qKiBXaGVuIGEgdXNlciBzZW5kcyBhIG1lc3NhZ2UgKi9cbiAgTWVzc2FnZVNlbmQgPSAxLFxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcyB7XG4gIEtleXdvcmQgPSAxLFxuICBIYXJtZnVsTGluayxcbiAgU3BhbSxcbiAgS2V5d29yZFByZXNldCxcbiAgTWVudGlvblNwYW0sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSB7XG4gIC8qKiBUaGUga2V5d29yZHMgbmVlZGVkIHRvIG1hdGNoLiBPbmx5IHByZXNlbnQgd2hlbiBUcmlnZ2VyVHlwZS5LZXl3b3JkICovXG4gIGtleXdvcmRfZmlsdGVyPzogc3RyaW5nW11cbiAgLyoqIFJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB3aGljaCB3aWxsIGJlIG1hdGNoZWQgYWdhaW5zdCBjb250ZW50LiBPbmx5IHByZXNlbnQgd2hlbiBUcmlnZ2VyVHlwZS5LZXl3b3JkICovXG4gIHJlZ2V4X3BhdHRlcm5zOiBzdHJpbmdbXVxuICAvKiogVGhlIHByZS1kZWZpbmVkIGxpc3RzIG9mIHdvcmRzIHRvIG1hdGNoIGZyb20uIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLktleXdvcmRQcmVzZXQgKi9cbiAgcHJlc2V0cz86IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFQcmVzZXRzW11cbiAgLyoqIFRoZSBzdWJzdHJpbmdzIHdoaWNoIHdpbGwgZXhlbXB0IGZyb20gdHJpZ2dlcmluZyB0aGUgcHJlc2V0IHRyaWdnZXIgdHlwZS4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuS2V5d29yZFByZXNldCAqL1xuICBhbGxvd19saXN0Pzogc3RyaW5nW11cbiAgLyoqIFRvdGFsIG51bWJlciBvZiBtZW50aW9ucyAocm9sZSAmIHVzZXIpIGFsbG93ZWQgcGVyIG1lc3NhZ2UgKE1heGltdW0gb2YgNTApLiBPbmx5IHByZXNlbnQgd2hlbiBUcmlnZ2VyVHlwZS5NZW50aW9uU3BhbSAqL1xuICBtZW50aW9uX3RvdGFsX2xpbWl0PzogbnVtYmVyXG4gIC8qKiBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IG1lbnRpb24gcmFpZHMuIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLk1lbnRpb25TcGFtICovXG4gIG1lbnRpb25fcmFpZF9wcm90ZWN0aW9uX2VuYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFQcmVzZXRzIHtcbiAgLyoqIFdvcmRzIHRoYXQgbWF5IGJlIGNvbnNpZGVyZWQgZm9ybXMgb2Ygc3dlYXJpbmcgb3IgY3Vyc2luZyAqL1xuICBQcm9mYW5pdHkgPSAxLFxuICAvKiogV29yZHMgdGhhdCByZWZlciB0byBzZXh1YWxseSBleHBsaWNpdCBiZWhhdmlvciBvciBhY3Rpdml0eSAqL1xuICBTZXh1YWxDb250ZW50LFxuICAvKiogUGVyc29uYWwgaW5zdWx0cyBvciB3b3JkcyB0aGF0IG1heSBiZSBjb25zaWRlcmVkIGhhdGUgc3BlZWNoICovXG4gIFNsdXJzLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbiB7XG4gIC8qKiBUaGUgdHlwZSBvZiBhY3Rpb24gdG8gdGFrZSB3aGVuIGEgcnVsZSBpcyB0cmlnZ2VyZWQgKi9cbiAgdHlwZTogQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlXG4gIC8qKiBhZGRpdGlvbmFsIG1ldGFkYXRhIG5lZWRlZCBkdXJpbmcgZXhlY3V0aW9uIGZvciB0aGlzIHNwZWNpZmljIGFjdGlvbiB0eXBlICovXG4gIG1ldGFkYXRhOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YVxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUge1xuICAvKiogQmxvY2tzIHRoZSBjb250ZW50IG9mIGEgbWVzc2FnZSBhY2NvcmRpbmcgdG8gdGhlIHJ1bGUgKi9cbiAgQmxvY2tNZXNzYWdlID0gMSxcbiAgLyoqIExvZ3MgdXNlciBjb250ZW50IHRvIGEgc3BlY2lmaWVkIGNoYW5uZWwgKi9cbiAgU2VuZEFsZXJ0TWVzc2FnZSxcbiAgLyoqIFRpbWVzIG91dCB1c2VyIGZvciBzcGVjaWZpZWQgZHVyYXRpb24gKi9cbiAgVGltZW91dCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBUaGUgaWQgb2YgY2hhbm5lbCB0byB3aGljaCB1c2VyIGNvbnRlbnQgc2hvdWxkIGJlIGxvZ2dlZC4gT25seSBpbiBBY3Rpb25UeXBlLlNlbmRBbGVydE1lc3NhZ2UgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogQWRkaXRpb25hbCBleHBsYW5hdGlvbiB0aGF0IHdpbGwgYmUgc2hvd24gdG8gbWVtYmVycyB3aGVuZXZlciB0aGVpciBtZXNzYWdlIGlzIGJsb2NrZWQuIE1heGltdW0gb2YgMTUwIGNoYXJhY3RlcnMuIE9ubHkgc3VwcG9ydGVkIGZvciBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUuQmxvY2tNZXNzYWdlICovXG4gIGN1c3RvbV9tZXNzYWdlPzogc3RyaW5nXG4gIC8qKiBUaW1lb3V0IGR1cmF0aW9uIGluIHNlY29uZHMgbWF4aW11bSBvZiAyNDE5MjAwIHNlY29uZHMgKDQgd2Vla3MpLiBPbmx5IHN1cHBvcnRlZCBmb3IgVHJpZ2dlclR5cGUuS2V5d29yZCAmJiBPbmx5IGluIEFjdGlvblR5cGUuVGltZW91dCAqL1xuICBkdXJhdGlvbl9zZWNvbmRzPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjYXV0by1tb2RlcmF0aW9uLWFjdGlvbi1leGVjdXRpb24tYXV0by1tb2RlcmF0aW9uLWFjdGlvbi1leGVjdXRpb24tZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcnVsZSB0aGF0IHdhcyBleGVjdXRlZCAqL1xuICBydWxlX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciB3aGljaCBnZW5lcmF0ZWQgdGhlIGNvbnRlbnQgd2hpY2ggdHJpZ2dlcmVkIHRoZSBydWxlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGNvbnRlbnQgZnJvbSB0aGUgdXNlciAqL1xuICBjb250ZW50OiBzdHJpbmdcbiAgLyoqIEFjdGlvbiB3aGljaCB3YXMgZXhlY3V0ZWQgKi9cbiAgYWN0aW9uOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25cbiAgLyoqIFRoZSB0cmlnZ2VyIHR5cGUgb2YgdGhlIHJ1bGUgdGhhdCB3YXMgZXhlY3V0ZWQuICovXG4gIHJ1bGVfdHJpZ2dlcl90eXBlOiBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlc1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIGluIHdoaWNoIHVzZXIgY29udGVudCB3YXMgcG9zdGVkICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UuIFdpbGwgbm90IGV4aXN0IGlmIG1lc3NhZ2Ugd2FzIGJsb2NrZWQgYnkgYXV0b21vZCBvciBjb250ZW50IHdhcyBub3QgcGFydCBvZiBhbnkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIGFueSBzeXN0ZW0gYXV0byBtb2RlcmF0aW9uIG1lc3NhZ2VzIHBvc3RlZCBhcyBhIHJlc3VsdCBvZiB0aGlzIGFjdGlvbiAqL1xuICBhbGVydF9zeXN0ZW1fbWVzc2FnZV9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB3b3JkIG9yIHBocmFzZSB0aGF0IHRyaWdnZXJyZWQgdGhlIHJ1bGUuICovXG4gIG1hdGNoZWRfa2V5d29yZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHN1YnN0cmluZyBpbiBjb250ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBydWxlICovXG4gIG1hdGNoZWRfY29udGVudDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctZW50cnktb2JqZWN0LWF1ZGl0LWxvZy1lbnRyeS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1ZGl0TG9nRW50cnkge1xuICAvKiogSUQgb2YgdGhlIGFmZmVjdGVkIGVudGl0eSAod2ViaG9vaywgdXNlciwgcm9sZSwgZXRjLikgKi9cbiAgdGFyZ2V0X2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBDaGFuZ2VzIG1hZGUgdG8gdGhlIGB0YXJnZXRfaWRgICovXG4gIGNoYW5nZXM/OiBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VbXVxuICAvKiogVXNlciBvciBhcHAgdGhhdCBtYWRlIHRoZSBjaGFuZ2VzICovXG4gIHVzZXJfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIElEIG9mIHRoZSBlbnRyeSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGFjdGlvbiB0aGF0IG9jY3VycmVkICovXG4gIGFjdGlvbl90eXBlOiBBdWRpdExvZ0V2ZW50c1xuICAvKiogQWRkaXRpb25hbCBpbmZvIGZvciBjZXJ0YWluIGV2ZW50IHR5cGVzICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mb1xuICAvKiogUmVhc29uIGZvciB0aGUgY2hhbmdlICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICByZWFzb24/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLWNoYW5nZS1vYmplY3QtYXVkaXQtbG9nLWNoYW5nZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZSA9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBzdHJpbmdcbiAgICAgIG9sZF92YWx1ZTogc3RyaW5nXG4gICAgICBrZXk6XG4gICAgICAgIHwgJ25hbWUnXG4gICAgICAgIHwgJ2Rlc2NyaXB0aW9uJ1xuICAgICAgICB8ICdkaXNjb3Zlcnlfc3BsYXNoX2hhc2gnXG4gICAgICAgIHwgJ2Jhbm5lcl9oYXNoJ1xuICAgICAgICB8ICdwcmVmZXJyZWRfbG9jYWxlJ1xuICAgICAgICB8ICdydWxlc19jaGFubmVsX2lkJ1xuICAgICAgICB8ICdwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkJ1xuICAgICAgICB8ICdpY29uX2hhc2gnXG4gICAgICAgIHwgJ2ltYWdlX2hhc2gnXG4gICAgICAgIHwgJ3NwbGFzaF9oYXNoJ1xuICAgICAgICB8ICdvd25lcl9pZCdcbiAgICAgICAgfCAncmVnaW9uJ1xuICAgICAgICB8ICdhZmtfY2hhbm5lbF9pZCdcbiAgICAgICAgfCAndmFuaXR5X3VybF9jb2RlJ1xuICAgICAgICB8ICd3aWRnZXRfY2hhbm5lbF9pZCdcbiAgICAgICAgfCAnc3lzdGVtX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ3RvcGljJ1xuICAgICAgICB8ICdhcHBsaWNhdGlvbl9pZCdcbiAgICAgICAgfCAncGVybWlzc2lvbnMnXG4gICAgICAgIHwgJ2FsbG93J1xuICAgICAgICB8ICdkZW55J1xuICAgICAgICB8ICdjb2RlJ1xuICAgICAgICB8ICdjaGFubmVsX2lkJ1xuICAgICAgICB8ICdpbnZpdGVyX2lkJ1xuICAgICAgICB8ICduaWNrJ1xuICAgICAgICB8ICdhdmF0YXJfaGFzaCdcbiAgICAgICAgfCAnaWQnXG4gICAgICAgIHwgJ2xvY2F0aW9uJ1xuICAgICAgICB8ICdjb21tYW5kX2lkJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IG51bWJlclxuICAgICAgb2xkX3ZhbHVlOiBudW1iZXJcbiAgICAgIGtleTpcbiAgICAgICAgfCAnYWZrX3RpbWVvdXQnXG4gICAgICAgIHwgJ21mYV9sZXZlbCdcbiAgICAgICAgfCAndmVyaWZpY2F0aW9uX2xldmVsJ1xuICAgICAgICB8ICdleHBsaWNpdF9jb250ZW50X2ZpbHRlcidcbiAgICAgICAgfCAnZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnMnXG4gICAgICAgIHwgJ3BydW5lX2RlbGV0ZV9kYXlzJ1xuICAgICAgICB8ICdwb3NpdGlvbidcbiAgICAgICAgfCAnYml0cmF0ZSdcbiAgICAgICAgfCAncmF0ZV9saW1pdF9wZXJfdXNlcidcbiAgICAgICAgfCAnY29sb3InXG4gICAgICAgIHwgJ21heF91c2VzJ1xuICAgICAgICB8ICd1c2VzJ1xuICAgICAgICB8ICdtYXhfYWdlJ1xuICAgICAgICB8ICdleHBpcmVfYmVoYXZpb3InXG4gICAgICAgIHwgJ2V4cGlyZV9ncmFjZV9wZXJpb2QnXG4gICAgICAgIHwgJ3VzZXJfbGltaXQnXG4gICAgICAgIHwgJ3ByaXZhY3lfbGV2ZWwnXG4gICAgICAgIHwgJ2F1dG9fYXJjaGl2ZV9kdXJhdGlvbidcbiAgICAgICAgfCAnZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24nXG4gICAgICAgIHwgJ2VudGl0eV90eXBlJ1xuICAgICAgICB8ICdzdGF0dXMnXG4gICAgICAgIHwgJ2NvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogQXJyYXk8UGFydGlhbDxEaXNjb3JkUm9sZT4+XG4gICAgICBvbGRfdmFsdWU/OiBBcnJheTxQYXJ0aWFsPERpc2NvcmRSb2xlPj5cbiAgICAgIGtleTogJyRhZGQnIHwgJyRyZW1vdmUnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogYm9vbGVhblxuICAgICAgb2xkX3ZhbHVlOiBib29sZWFuXG4gICAgICBrZXk6XG4gICAgICAgIHwgJ3dpZGdldF9lbmFibGVkJ1xuICAgICAgICB8ICduc2Z3J1xuICAgICAgICB8ICdob2lzdCdcbiAgICAgICAgfCAnbWVudGlvbmFibGUnXG4gICAgICAgIHwgJ3RlbXBvcmFyeSdcbiAgICAgICAgfCAnZGVhZidcbiAgICAgICAgfCAnbXV0ZSdcbiAgICAgICAgfCAnZW5hYmxlX2Vtb3RpY29ucydcbiAgICAgICAgfCAnYXJjaGl2ZWQnXG4gICAgICAgIHwgJ2xvY2tlZCdcbiAgICAgICAgfCAnaW52aXRhYmxlJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IERpc2NvcmRPdmVyd3JpdGVbXVxuICAgICAgb2xkX3ZhbHVlOiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgICAgIGtleTogJ3Blcm1pc3Npb25fb3ZlcndyaXRlcydcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBzdHJpbmcgfCBudW1iZXJcbiAgICAgIG9sZF92YWx1ZTogc3RyaW5nIHwgbnVtYmVyXG4gICAgICBrZXk6ICd0eXBlJ1xuICAgIH1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLWVudHJ5LW9iamVjdC1vcHRpb25hbC1hdWRpdC1lbnRyeS1pbmZvICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvIHtcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBhcHAgd2hvc2UgcGVybWlzc2lvbnMgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBBUFBMSUNBVElPTl9DT01NQU5EX1BFUk1JU1NJT05fVVBEQVRFYFxuICAgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgQXV0byBNb2RlcmF0aW9uIHJ1bGUgdGhhdCB3YXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFVVE9fTU9ERVJBVElPTl9CTE9DS19NRVNTQUdFYCwgYEFVVE9fTU9ERVJBVElPTl9GTEFHX1RPX0NIQU5ORUxgLCBgQVVUT19NT0RFUkFUSU9OX1VTRVJfQ09NTVVOSUNBVElPTl9ESVNBQkxFRGBcbiAgICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlX25hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHJpZ2dlciB0eXBlIG9mIHRoZSBBdXRvIE1vZGVyYXRpb24gcnVsZSB0aGF0IHdhcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVVUT19NT0RFUkFUSU9OX0JMT0NLX01FU1NBR0VgLCBgQVVUT19NT0RFUkFUSU9OX0ZMQUdfVE9fQ0hBTk5FTGAsIGBBVVRPX01PREVSQVRJT05fVVNFUl9DT01NVU5JQ0FUSU9OX0RJU0FCTEVEYFxuICAgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVfdHJpZ2dlcl90eXBlOiBzdHJpbmdcbiAgLyoqXG4gICAqIENoYW5uZWwgaW4gd2hpY2ggdGhlIGVudGl0aWVzIHdlcmUgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX01PVkVgLCBgTUVTU0FHRV9QSU5gLCBgTUVTU0FHRV9VTlBJTmAsIGBNRVNTQUdFX0RFTEVURWAsIGBTVEFHRV9JTlNUQU5DRV9DUkVBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfVVBEQVRFYCwgYFNUQUdFX0lOU1RBTkNFX0RFTEVURWBcbiAgICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzIHRoYXQgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRVNTQUdFX0RFTEVURWAsIGBNRVNTQUdFX0JVTEtfREVMRVRFYCwgYE1FTUJFUl9ESVNDT05ORUNUYCwgYE1FTUJFUl9NT1ZFYFxuICAgKi9cbiAgY291bnQ6IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIGRheXMgYWZ0ZXIgd2hpY2ggaW5hY3RpdmUgbWVtYmVycyB3ZXJlIGtpY2tlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfUFJVTkVgXG4gICAqL1xuICBkZWxldGVfbWVtYmVyX2RheXM6IHN0cmluZ1xuICAvKipcbiAgICogSUQgb2YgdGhlIG92ZXJ3cml0dGVuIGVudGl0eS5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIE51bWJlciBvZiBtZW1iZXJzIHJlbW92ZWQgYnkgdGhlIHBydW5lLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9QUlVORWBcbiAgICovXG4gIG1lbWJlcnNfcmVtb3ZlZDogc3RyaW5nXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgbWVzc2FnZSB0aGF0IHdhcyB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRVNTQUdFX1BJTmAsIGBNRVNTQUdFX1VOUElOYCwgYFNUQUdFX0lOU1RBTkNFX0NSRUFURWAsIGBTVEFHRV9JTlNUQU5DRV9VUERBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfREVMRVRFYFxuICAgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSByb2xlIGlmIHR5cGUgaXMgXCIwXCIgKG5vdCBwcmVzZW50IGlmIHR5cGUgaXMgXCIxXCIpLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYENIQU5ORUxfT1ZFUldSSVRFX0NSRUFURWAsIGBDSEFOTkVMX09WRVJXUklURV9VUERBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfREVMRVRFYFxuICAgKi9cbiAgcm9sZV9uYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFR5cGUgb2Ygb3ZlcndyaXR0ZW4gZW50aXR5IC0gXCIwXCIsIGZvciBcInJvbGVcIiwgb3IgXCIxXCIgZm9yIFwibWVtYmVyXCIuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICB0eXBlOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGludGVncmF0aW9uIHdoaWNoIHBlcmZvcm1lZCB0aGUgYWN0aW9uXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX0tJQ0tgLCBgTUVNQkVSX1JPTEVfVVBEQVRFYFxuICAgKi9cbiAgaW50ZWdyYXRpb25fdHlwZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50IHtcbiAgLyoqIHRoZSBpZCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSBndWlsZCBpZCB3aGljaCB0aGUgc2NoZWR1bGVkIGV2ZW50IGJlbG9uZ3MgdG8gKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogdGhlIGNoYW5uZWwgaWQgaW4gd2hpY2ggdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIGJlIGhvc3RlZCBpZiBzcGVjaWZpZWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIGlkIG9mIHRoZSB1c2VyIHRoYXQgY3JlYXRlZCB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGNyZWF0b3JfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgbmFtZSBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIHRoZSB0aW1lIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBzdGFydCAqL1xuICBzY2hlZHVsZWRfc3RhcnRfdGltZTogc3RyaW5nXG4gIC8qKiB0aGUgdGltZSB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgZW5kIGlmIGl0IGRvZXMgZW5kLiAqL1xuICBzY2hlZHVsZWRfZW5kX3RpbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBwcml2YWN5IGxldmVsIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgcHJpdmFjeV9sZXZlbDogU2NoZWR1bGVkRXZlbnRQcml2YWN5TGV2ZWxcbiAgLyoqIHRoZSBzdGF0dXMgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBzdGF0dXM6IFNjaGVkdWxlZEV2ZW50U3RhdHVzXG4gIC8qKiB0aGUgdHlwZSBvZiBob3N0aW5nIGVudGl0eSBhc3NvY2lhdGVkIHdpdGggYSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgZW50aXR5X3R5cGU6IFNjaGVkdWxlZEV2ZW50RW50aXR5VHlwZVxuICAvKiogYW55IGFkZGl0aW9uYWwgaWQgb2YgdGhlIGhvc3RpbmcgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCBldmVudCAqL1xuICBlbnRpdHlfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBlbnRpdHkgbWV0YWRhdGEgZm9yIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgZW50aXR5X21ldGFkYXRhOiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRFbnRpdHlNZXRhZGF0YSB8IG51bGxcbiAgLyoqIHRoZSB1c2VyIHRoYXQgY3JlYXRlZCB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGNyZWF0b3I/OiBEaXNjb3JkVXNlclxuICAvKiogdGhlIG51bWJlciBvZiB1c2VycyBzdWJzY3JpYmVkIHRvIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgdXNlcl9jb3VudD86IG51bWJlclxuICAvKiogdGhlIGNvdmVyIGltYWdlIGhhc2ggb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBpbWFnZT86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnRFbnRpdHlNZXRhZGF0YSB7XG4gIC8qKiBsb2NhdGlvbiBvZiB0aGUgZXZlbnQgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2dldC1nYXRld2F5LWJvdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR2V0R2F0ZXdheUJvdCB7XG4gIC8qKiBUaGUgV1NTIFVSTCB0aGF0IGNhbiBiZSB1c2VkIGZvciBjb25uZWN0aW5nIHRvIHRoZSBnYXRld2F5ICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIHNoYXJkcyB0byB1c2Ugd2hlbiBjb25uZWN0aW5nICovXG4gIHNoYXJkczogbnVtYmVyXG4gIC8qKiBJbmZvcm1hdGlvbiBvbiB0aGUgY3VycmVudCBzZXNzaW9uIHN0YXJ0IGxpbWl0ICovXG4gIHNlc3Npb25fc3RhcnRfbGltaXQ6IERpc2NvcmRTZXNzaW9uU3RhcnRMaW1pdFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjc2Vzc2lvbi1zdGFydC1saW1pdC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNlc3Npb25TdGFydExpbWl0IHtcbiAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2Vzc2lvbiBzdGFydHMgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkICovXG4gIHRvdGFsOiBudW1iZXJcbiAgLyoqIFRoZSByZW1haW5pbmcgbnVtYmVyIG9mIHNlc3Npb24gc3RhcnRzIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxsb3dlZCAqL1xuICByZW1haW5pbmc6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIGxpbWl0IHJlc2V0cyAqL1xuICByZXNldF9hZnRlcjogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGlkZW50aWZ5IHJlcXVlc3RzIGFsbG93ZWQgcGVyIDUgc2Vjb25kcyAqL1xuICBtYXhfY29uY3VycmVuY3k6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2ludml0ZSNpbnZpdGUtbWV0YWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVNZXRhZGF0YSBleHRlbmRzIERpc2NvcmRJbnZpdGUge1xuICAvKiogTnVtYmVyIG9mIHRpbWVzIHRoaXMgaW52aXRlIGhhcyBiZWVuIHVzZWQgKi9cbiAgdXNlczogbnVtYmVyXG4gIC8qKiBNYXggbnVtYmVyIG9mIHRpbWVzIHRoaXMgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIER1cmF0aW9uIChpbiBzZWNvbmRzKSBhZnRlciB3aGljaCB0aGUgaW52aXRlIGV4cGlyZXMgKi9cbiAgbWF4X2FnZTogbnVtYmVyXG4gIC8qKiBXaGV0aGVyIHRoaXMgaW52aXRlIG9ubHkgZ3JhbnRzIHRlbXBvcmFyeSBtZW1iZXJzaGlwICovXG4gIHRlbXBvcmFyeTogYm9vbGVhblxuICAvKiogV2hlbiB0aGlzIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9pbnZpdGUjaW52aXRlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlIHtcbiAgLyoqIFRoZSBpbnZpdGUgY29kZSAodW5pcXVlIElkKSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCB0aGlzIGludml0ZSBpcyBmb3IgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBjaGFubmVsIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBjaGFubmVsOiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPiB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0X3R5cGU/OiBUYXJnZXRUeXBlc1xuICAvKiogVGhlIHRhcmdldCB1c2VyIGZvciB0aGlzIGludml0ZSAqL1xuICB0YXJnZXRfdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZW1iZWRkZWQgYXBwbGljYXRpb24gdG8gb3BlbiBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGVtYmVkZGVkIGFwcGxpY2F0aW9uIGludml0ZSAqL1xuICB0YXJnZXRfYXBwbGljYXRpb24/OiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj5cbiAgLyoqIEFwcHJveGltYXRlIGNvdW50IG9mIG9ubGluZSBtZW1iZXJzIChvbmx5IHByZXNlbnQgd2hlbiB0YXJnZXRfdXNlciBpcyBzZXQpICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiB0b3RhbCBtZW1iZXJzICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIGV4cGlyYXRpb24gZGF0ZSBvZiB0aGlzIGludml0ZSwgcmV0dXJuZWQgZnJvbSB0aGUgYEdFVCAvaW52aXRlcy88Y29kZT5gIGVuZHBvaW50IHdoZW4gYHdpdGhfZXhwaXJhdGlvbmAgaXMgYHRydWVgICovXG4gIGV4cGlyZXNfYXQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBTdGFnZSBpbnN0YW5jZSBkYXRhIGlmIHRoZXJlIGlzIGEgcHVibGljIFN0YWdlIGluc3RhbmNlIGluIHRoZSBTdGFnZSBjaGFubmVsIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBzdGFnZV9pbnN0YW5jZT86IERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlXG4gIC8qKiBndWlsZCBzY2hlZHVsZWQgZXZlbnQgZGF0YSAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnQ/OiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSB7XG4gIC8qKiBUaGUgbWVtYmVycyBzcGVha2luZyBpbiB0aGUgU3RhZ2UgKi9cbiAgbWVtYmVyczogQXJyYXk8UGFydGlhbDxEaXNjb3JkTWVtYmVyPj5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdXNlcnMgaW4gdGhlIFN0YWdlICovXG4gIHBhcnRpY2lwYW50X2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgdXNlcnMgc3BlYWtpbmcgaW4gdGhlIFN0YWdlICovXG4gIHNwZWFrZXJfY291bnQ6IG51bWJlclxuICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgdG9waWM6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQgZXh0ZW5kcyBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIHtcbiAgLyoqIFVuaXF1ZSBJRCBvZiBjb21tYW5kICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogR3VpbGQgaWQgb2YgdGhlIGNvbW1hbmQsIGlmIG5vdCBnbG9iYWwgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIHtcbiAgLyoqIFR5cGUgb2YgY29tbWFuZCwgZGVmYXVsdHMgdG8gYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgKi9cbiAgdHlwZT86IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICogYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICogQXBwbGljYXRpb25Db21tYW5kVHlwZXMuVXNlcmAgYW5kIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlYCBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciBgbmFtZWAgZmllbGQuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzIGBuYW1lYCAqL1xuICBuYW1lX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBEZXNjcmlwdGlvbiBmb3IgYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZHMsIDEtMTAwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBQYXJhbWV0ZXJzIGZvciB0aGUgY29tbWFuZCwgbWF4IG9mIDI1ICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqIFNldCBvZiBwZXJtaXNzaW9ucyByZXByZXNlbnRlZCBhcyBhIGJpdCBzZXQgKi9cbiAgZGVmYXVsdF9tZW1iZXJfcGVybWlzc2lvbnM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKlxuICAgKiBJbnN0YWxsYXRpb24gY29udGV4dChzKSB3aGVyZSB0aGUgY29tbWFuZCBpcyBhdmFpbGFibGVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgaW4gcHJldmlldy5cbiAgICovXG4gIGludGVncmF0aW9uX3R5cGVzPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlW11cbiAgLyoqXG4gICAqIEludGVyYWN0aW9uIGNvbnRleHQocykgd2hlcmUgdGhlIGNvbW1hbmQgY2FuIGJlIHVzZWQsIG9ubHkgZm9yIGdsb2JhbGx5LXNjb3BlZCBjb21tYW5kcy4gQnkgZGVmYXVsdCwgYWxsIGludGVyYWN0aW9uIGNvbnRleHQgdHlwZXMgaW5jbHVkZWQuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgY3VycmVudGx5IGluIHByZXZpZXcuXG4gICAqL1xuICBjb250ZXh0cz86IERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlW10gfCBudWxsXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBhdmFpbGFibGUgaW4gRE1zIHdpdGggdGhlIGFwcCwgb25seSBmb3IgZ2xvYmFsbHktc2NvcGVkIGNvbW1hbmRzLiBCeSBkZWZhdWx0LCBjb21tYW5kcyBhcmUgdmlzaWJsZS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBjb250ZXh0c30gaW5zdGVhZFxuICAgKi9cbiAgZG1fcGVybWlzc2lvbj86IGJvb2xlYW5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIGFnZS1yZXN0cmljdGVkLCBkZWZhdWx0cyB0byBmYWxzZSAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogQXV0byBpbmNyZW1lbnRpbmcgdmVyc2lvbiBpZGVudGlmaWVyIHVwZGF0ZWQgZHVyaW5nIHN1YnN0YW50aWFsIHJlY29yZCBjaGFuZ2VzICovXG4gIHZlcnNpb24/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9hcHBsaWNhdGlvbi1jb21tYW5kcyNhcHBsaWNhdGlvbi1jb21tYW5kLW9iamVjdC1hcHBsaWNhdGlvbi1jb21tYW5kLW9wdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB7XG4gIC8qKiBUeXBlIG9mIG9wdGlvbiAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlc1xuICAvKipcbiAgICogTmFtZSBvZiBjb21tYW5kLCAxLTMyIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gYW4gYXJyYXkgb2Yge0BsaW5rIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb259XG4gICAqXG4gICAqIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5DaGF0SW5wdXQgfCBDaGF0SW5wdXR9IGNvbW1hbmQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgZm9sbG93aW5nIHJlZ2V4IGBeWy1fXFxwe0x9XFxwe059XFxwe3NjPURldmF9XFxwe3NjPVRoYWl9XXsxLDMyfSRgIHdpdGggdGhlIHVuaWNvZGUgZmxhZyBzZXQuXG4gICAqIElmIHRoZXJlIGlzIGEgbG93ZXJjYXNlIHZhcmlhbnQgb2YgYW55IGxldHRlcnMgdXNlZCwgeW91IG11c3QgdXNlIHRob3NlLlxuICAgKiBDaGFyYWN0ZXJzIHdpdGggbm8gbG93ZXJjYXNlIHZhcmlhbnRzIGFuZC9vciB1bmNhc2VkIGxldHRlcnMgYXJlIHN0aWxsIGFsbG93ZWQuXG4gICAqXG4gICAqIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5Vc2VyIHwgVXNlcn0gYW5kIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlIHwgTWVzc2FnZX0gY29tbWFuZHMgbWF5IGJlIG1peGVkIGNhc2UgYW5kIGNhbiBpbmNsdWRlIHNwYWNlcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYGRlc2NyaXB0aW9uYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYGRlc2NyaXB0aW9uYCAqL1xuICBkZXNjcmlwdGlvbl9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKipcbiAgICogSWYgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZCBvciBvcHRpb25hbC4gZGVmYXVsdCBgZmFsc2VgXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFZhbGlkIGluIGFsbCBvcHRpb24gdHlwZXMgZXhjZXB0IHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kIHwgU3ViQ29tbWFuZH0gYW5kIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXAgfCBTdWJDb21tYW5kR3JvdXB9XG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIENob2ljZXMgZm9yIHRoZSBvcHRpb24gZnJvbSB3aGljaCB0aGUgdXNlciBjYW4gY2hvb3NlLCBtYXggMjVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ30sIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyIHwgSW50ZWdlcn0sIG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqXG4gICAqIElmIHlvdSBwcm92aWRlIGFuIGFycmF5IG9mIGNob2ljZXMsIHRoZXkgd2lsbCBiZSB0aGUgT05MWSBhY2NlcHRlZCB2YWx1ZXMgZm9yIHRoaXMgb3B0aW9uXG4gICAqL1xuICBjaG9pY2VzPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdXG4gIC8qKlxuICAgKiBJZiB0aGUgb3B0aW9uIGlzIGEgc3ViY29tbWFuZCBvciBzdWJjb21tYW5kIGdyb3VwIHR5cGUsIHRoZXNlIG5lc3RlZCBvcHRpb25zIHdpbGwgYmUgdGhlIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb24gb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3ViQ29tbWFuZCB8IFN1YkNvbW1hbmR9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXAgfCBTdWJDb21tYW5kR3JvdXB9XG4gICAqL1xuICBvcHRpb25zPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbltdXG4gIC8qKlxuICAgKiBJZiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb25zIGFyZSBlbmFibGVkIGZvciB0aGlzIG9wdGlvbi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ30sIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyIHwgSW50ZWdlcn0sIG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqXG4gICAqIFdoZW4ge0BsaW5rIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24uY2hvaWNlcyB8IGNob2ljZXN9IGFyZSBwcm92aWRlZCwgdGhpcyBtYXkgbm90IGJlIHNldCB0byB0cnVlXG4gICAqL1xuICBhdXRvY29tcGxldGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGUgY2hhbm5lbHMgc2hvd24gd2lsbCBiZSByZXN0cmljdGVkIHRvIHRoZXNlIHR5cGVzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgdmFsaWQgaW4gb3B0aW9uIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkNoYW5uZWwgfCBDaGFubmVsfVxuICAgKi9cbiAgY2hhbm5lbF90eXBlcz86IENoYW5uZWxUeXBlc1tdXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgdmFsdWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSBvciB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyIHwgTnVtYmVyfVxuICAgKi9cbiAgbWluX3ZhbHVlPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBwZXJtaXR0ZWQgdmFsdWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSBvciB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyIHwgTnVtYmVyfVxuICAgKi9cbiAgbWF4X3ZhbHVlPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgbGVuZ3RoLCBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIG9mIGZyb20gMCB0byA2MDBcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ31cbiAgICovXG4gIG1pbl9sZW5ndGg/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHBlcm1pdHRlZCBsZW5ndGgsIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgZnJvbSAwIHRvIDYwMFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfVxuICAgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtcGVybWlzc2lvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2Uge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNob2ljZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFZhbHVlIGZvciB0aGUgY2hvaWNlLCB1cCB0byAxMDAgY2hhcmFjdGVycyBpZiBzdHJpbmcgKi9cbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2d1aWxkYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMge1xuICAvKiogSUQgb2YgdGhlIGNvbW1hbmQgb3IgdGhlIGFwcGxpY2F0aW9uIElELiBXaGVuIHRoZSBgaWRgIGZpZWxkIGlzIHRoZSBhcHBsaWNhdGlvbiBJRCBpbnN0ZWFkIG9mIGEgY29tbWFuZCBJRCwgdGhlIHBlcm1pc3Npb25zIGFwcGx5IHRvIGFsbCBjb21tYW5kcyB0aGF0IGRvIG5vdCBjb250YWluIGV4cGxpY2l0IG92ZXJ3cml0ZXMuICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGUgY29tbWFuZCBiZWxvbmdzIHRvICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9ucyBmb3IgdGhlIGNvbW1hbmQgaW4gdGhlIGd1aWxkLCBtYXggb2YgMTAwICovXG4gIHBlcm1pc3Npb25zOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2FwcGxpY2F0aW9uY29tbWFuZHBlcm1pc3Npb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgcm9sZSwgdXNlciwgb3IgY2hhbm5lbC4gSXQgY2FuIGFsc28gYmUgYSBwZXJtaXNzaW9uIGNvbnN0YW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Sb2xlLCBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuVXNlciwgb3IgQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLkNoYW5uZWwgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzXG4gIC8qKiBgdHJ1ZWAgdG8gYWxsb3csIGBmYWxzZWAsIHRvIGRpc2FsbG93ICovXG4gIHBlcm1pc3Npb246IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNnZXQtZ3VpbGQtd2lkZ2V0LWV4YW1wbGUtZ2V0LWd1aWxkLXdpZGdldCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRXaWRnZXQge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBpbnN0YW50X2ludml0ZTogc3RyaW5nXG4gIGNoYW5uZWxzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHBvc2l0aW9uOiBudW1iZXJcbiAgfT5cbiAgbWVtYmVyczogQXJyYXk8e1xuICAgIGlkOiBzdHJpbmdcbiAgICB1c2VybmFtZTogc3RyaW5nXG4gICAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gICAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbFxuICAgIHN0YXR1czogc3RyaW5nXG4gICAgYXZhdGFyX3VybDogc3RyaW5nXG4gIH0+XG4gIHByZXNlbmNlX2NvdW50OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1wcmV2aWV3LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRQcmV2aWV3IHtcbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoICovXG4gIGRpc2NvdmVyeV9zcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIEN1c3RvbSBndWlsZCBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygb25saW5lIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBndWlsZCwgaWYgdGhlIGd1aWxkIGlzIGRpc2NvdmVyYWJsZSAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIHN0aWNrZXJzICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNmb2xsb3dlZC1jaGFubmVsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRm9sbG93ZWRDaGFubmVsIHtcbiAgLyoqIFNvdXJjZSBtZXNzYWdlIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogQ3JlYXRlZCB0YXJnZXQgd2ViaG9vayBpZCAqL1xuICB3ZWJob29rX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3BheWxvYWRzLWdhdGV3YXktcGF5bG9hZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdhdGV3YXlQYXlsb2FkIHtcbiAgLyoqIG9wY29kZSBmb3IgdGhlIHBheWxvYWQgKi9cbiAgb3A6IG51bWJlclxuICAvKiogRXZlbnQgZGF0YSAqL1xuICBkOiB1bmtub3duIHwgbnVsbFxuICAvKiogU2VxdWVuY2UgbnVtYmVyLCB1c2VkIGZvciByZXN1bWluZyBzZXNzaW9ucyBhbmQgaGVhcnRiZWF0cyAqL1xuICBzOiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgZXZlbnQgbmFtZSBmb3IgdGhpcyBwYXlsb2FkICovXG4gIHQ6IEdhdGV3YXlFdmVudE5hbWVzIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVycy1jaHVuayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJzQ2h1bmsge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBTZXQgb2YgZ3VpbGQgbWVtYmVycyAqL1xuICBtZW1iZXJzOiBEaXNjb3JkTWVtYmVyV2l0aFVzZXJbXVxuICAvKiogVGhlIGNodW5rIGluZGV4IGluIHRoZSBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKDAgPD0gY2h1bmtfaW5kZXggPCBjaHVua19jb3VudCkgKi9cbiAgY2h1bmtfaW5kZXg6IG51bWJlclxuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKi9cbiAgY2h1bmtfY291bnQ6IG51bWJlclxuICAvKiogSWYgcGFzc2luZyBhbiBpbnZhbGlkIGlkIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBpdCB3aWxsIGJlIHJldHVybmVkIGhlcmUgKi9cbiAgbm90X2ZvdW5kPzogc3RyaW5nW11cbiAgLyoqIElmIHBhc3NpbmcgdHJ1ZSB0byBgUkVRVUVTVF9HVUlMRF9NRU1CRVJTYCwgcHJlc2VuY2VzIG9mIHRoZSByZXR1cm5lZCBtZW1iZXJzIHdpbGwgYmUgaGVyZSAqL1xuICBwcmVzZW5jZXM/OiBEaXNjb3JkUHJlc2VuY2VVcGRhdGVbXVxuICAvKiogVGhlIG5vbmNlIHVzZWQgaW4gdGhlIEd1aWxkIE1lbWJlcnMgUmVxdWVzdCAqL1xuICBub25jZT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjY2hhbm5lbC1waW5zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hhbm5lbFBpbnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIG1vc3QgcmVjZW50IHBpbm5lZCBtZXNzYWdlIHdhcyBwaW5uZWQgKi9cbiAgbGFzdF9waW5fdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtcm9sZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZURlbGV0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHJvbGUgKi9cbiAgcm9sZV9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1iYW4tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEJhbkFkZFJlbW92ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGJhbm5lZCB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlIGV4dGVuZHMgT21pdDxEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkLCAnbWVtYmVyJz4ge31cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQge1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlciB3aG8gcmVhY3RlZCBpZiB0aGlzIGhhcHBlbmVkIGluIGEgZ3VpbGQgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBUaGUgZW1vamkgdXNlZCB0byByZWFjdCAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9hdXRob3JfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3ZvaWNlLXNlcnZlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlU2VydmVyVXBkYXRlIHtcbiAgLyoqIFZvaWNlIGNvbm5lY3Rpb24gdG9rZW4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgdm9pY2Ugc2VydmVyIHVwZGF0ZSBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHZvaWNlIHNlcnZlciBob3N0ICovXG4gIGVuZHBvaW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNpbnZpdGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVDcmVhdGUge1xuICAvKiogVGhlIGNoYW5uZWwgdGhlIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZTogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgaW52aXRlIGlzIHRlbXBvcmFyeSAoaW52aXRlZCB1c2VycyB3aWxsIGJlIGtpY2tlZCBvbiBkaXNjb25uZWN0IHVubGVzcyB0aGV5J3JlIGFzc2lnbmVkIGEgcm9sZSkgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBIb3cgbWFueSB0aW1lcyB0aGUgaW52aXRlIGhhcyBiZWVuIHVzZWQgKGFsd2F5cyB3aWxsIGJlIDApICovXG4gIHVzZXM6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaGVsbG8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEhlbGxvIHtcbiAgLyoqIFRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSB0aGUgY2xpZW50IHNob3VsZCBoZWFydGJlYXQgd2l0aCAqL1xuICBoZWFydGJlYXRfaW50ZXJ2YWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcmVhZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWR5IHtcbiAgLyoqIEdhdGV3YXkgdmVyc2lvbiAqL1xuICB2OiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIGluY2x1ZGluZyBlbWFpbCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGd1aWxkcyB0aGUgdXNlciBpcyBpbiAqL1xuICBndWlsZHM6IERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkW11cbiAgLyoqIFVzZWQgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICAvKiogR2F0ZXdheSB1cmwgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHJlc3VtZV9nYXRld2F5X3VybDogc3RyaW5nXG4gIC8qKiBUaGUgc2hhcmQgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2Vzc2lvbiwgaWYgc2VudCB3aGVuIGlkZW50aWZ5aW5nICovXG4gIHNoYXJkPzogW251bWJlciwgbnVtYmVyXVxuICAvKiogQ29udGFpbnMgaWQgYW5kIGZsYWdzICovXG4gIGFwcGxpY2F0aW9uOiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj4gJiBQaWNrPERpc2NvcmRBcHBsaWNhdGlvbiwgJ2lkJyB8ICdmbGFncyc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjdW5hdmFpbGFibGUtZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkIGV4dGVuZHMgUGljazxEaXNjb3JkR3VpbGQsICdpZCcgfCAndW5hdmFpbGFibGUnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUtYnVsayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZUJ1bGsge1xuICAvKiogVGhlIGlkcyBvZiB0aGUgbWVzc2FnZXMgKi9cbiAgaWRzOiBzdHJpbmdbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3RlbXBsYXRlI3RlbXBsYXRlLW9iamVjdC10ZW1wbGF0ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlbXBsYXRlIHtcbiAgLyoqIFRoZSB0ZW1wbGF0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGVtcGxhdGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHRlbXBsYXRlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyB0ZW1wbGF0ZSBoYXMgYmVlbiB1c2VkICovXG4gIHVzYWdlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBJZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcjogRGlzY29yZFVzZXJcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgbGFzdCBzeW5jZWQgdG8gdGhlIHNvdXJjZSBndWlsZCAqL1xuICB1cGRhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBJZCBvZiB0aGUgZ3VpbGQgdGhpcyB0ZW1wbGF0ZSBpcyBiYXNlZCBvbiAqL1xuICBzb3VyY2VfZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHNuYXBzaG90IHRoaXMgdGVtcGxhdGUgY29udGFpbnMgKi9cbiAgc2VyaWFsaXplZF9zb3VyY2VfZ3VpbGQ6IE9taXQ8XG4gICAgUGlja1BhcnRpYWw8XG4gICAgICBEaXNjb3JkR3VpbGQsXG4gICAgICB8ICduYW1lJ1xuICAgICAgfCAnZGVzY3JpcHRpb24nXG4gICAgICB8ICd2ZXJpZmljYXRpb25fbGV2ZWwnXG4gICAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgICAgfCAncHJlZmVycmVkX2xvY2FsZSdcbiAgICAgIHwgJ2Fma190aW1lb3V0J1xuICAgICAgfCAnY2hhbm5lbHMnXG4gICAgICB8ICdhZmtfY2hhbm5lbF9pZCdcbiAgICAgIHwgJ3N5c3RlbV9jaGFubmVsX2lkJ1xuICAgICAgfCAnc3lzdGVtX2NoYW5uZWxfZmxhZ3MnXG4gICAgPixcbiAgICAncm9sZXMnXG4gID4gJiB7XG4gICAgcm9sZXM6IEFycmF5PFxuICAgICAgT21pdDxQaWNrUGFydGlhbDxEaXNjb3JkUm9sZSwgJ25hbWUnIHwgJ2NvbG9yJyB8ICdob2lzdCcgfCAnbWVudGlvbmFibGUnIHwgJ3Blcm1pc3Npb25zJyB8ICdpY29uJyB8ICd1bmljb2RlX2Vtb2ppJz4sICdpZCc+ICYgeyBpZDogbnVtYmVyIH1cbiAgICA+XG4gIH1cbiAgLyoqIFdoZXRoZXIgdGhlIHRlbXBsYXRlIGhhcyB1bi1zeW5jZWQgY2hhbmdlcyAqL1xuICBpc19kaXJ0eTogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLW1lbWJlci1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkTWVtYmVyQWRkIGV4dGVuZHMgRGlzY29yZE1lbWJlcldpdGhVc2VyIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjdGhyZWFkLW1lbWJlcnMtdXBkYXRlLXRocmVhZC1tZW1iZXJzLXVwZGF0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlcnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcnMgd2hvIHdlcmUgYWRkZWQgdG8gdGhlIHRocmVhZCAqL1xuICBhZGRlZF9tZW1iZXJzPzogRGlzY29yZFRocmVhZE1lbWJlcltdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXJzIHdobyB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgdGhyZWFkICovXG4gIHJlbW92ZWRfbWVtYmVyX2lkcz86IHN0cmluZ1tdXG4gIC8qKiB0aGUgYXBwcm94aW1hdGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhlIHRocmVhZCwgY2FwcGVkIGF0IDUwICovXG4gIG1lbWJlcl9jb3VudDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN0aHJlYWQtbWVtYmVyLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBib3Qgam9pbmVkIHRoaXMgdGhyZWFkLiAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIHRoaXMgdXNlciBoYXMgZm9yIHRoaXMgdGhyZWFkLiBOb3QgdXNlZnVsIGZvciBib3RzLiAqL1xuICBmbGFnczogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLWNyZWF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlQ3JlYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgY3JlYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtZW1vamlzLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRFbW9qaXNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjZ3VpbGQtc3RpY2tlcnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFN0aWNrZXJzVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiBzdGlja2VyICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXItdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlclVwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFVzZXIgcm9sZSBpZHMgKi9cbiAgcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogTmlja25hbWUgb2YgdGhlIHVzZXIgaW4gdGhlIGd1aWxkICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgbWVtYmVyJ3MgW2d1aWxkIGF2YXRhciBoYXNoXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgYXZhdGFyOiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGluZyBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogd2hlbiB0aGUgdXNlcidzIFt0aW1lb3V0XShodHRwczovL3N1cHBvcnQuZGlzY29yZC5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvNDQxMzMwNTIzOTE5MS1UaW1lLU91dC1GQVEpIHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0LiBXaWxsIHRocm93IGEgNDAzIGVycm9yIGlmIHRoZSB1c2VyIGhhcyB0aGUgQURNSU5JU1RSQVRPUiBwZXJtaXNzaW9uIG9yIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1yZW1vdmUtYWxsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmVBbGwgZXh0ZW5kcyBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdtZXNzYWdlX2lkJyB8ICdndWlsZF9pZCc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgdXBkYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJBZGQge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSB1c2VyICAgICAgICAgICAgICAgICAgICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlLWVtb2ppICovXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlRW1vamkgPSBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdndWlsZF9pZCcgfCAnbWVzc2FnZV9pZCcgfCAnZW1vamknPlxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJSZW1vdmUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gd2FzIHJlbW92ZWQgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNiYW4tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCYW4ge1xuICAvKiogVGhlIHJlYXNvbiBmb3IgdGhlIGJhbiAqL1xuICByZWFzb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBiYW5uZWQgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJSZW1vdmUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaW52aXRlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlRGVsZXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIG9mIHRoZSBpbnZpdGUgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGludml0ZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVuaXF1ZSBpbnZpdGUgY29kZSAqL1xuICBjb2RlOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy92b2ljZSN2b2ljZS1yZWdpb24tb2JqZWN0LXZvaWNlLXJlZ2lvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlUmVnaW9uIHtcbiAgLyoqIFVuaXF1ZSBJZCBmb3IgdGhlIHJlZ2lvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSByZWdpb24gKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0cnVlIGZvciBhIHNpbmdsZSBzZXJ2ZXIgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBjdXJyZW50IHVzZXIncyBjbGllbnQgKi9cbiAgb3B0aW1hbDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZGVwcmVjYXRlZCB2b2ljZSByZWdpb24gKGF2b2lkIHN3aXRjaGluZyB0byB0aGVzZSkgKi9cbiAgZGVwcmVjYXRlZDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgY3VzdG9tIHZvaWNlIHJlZ2lvbiAodXNlZCBmb3IgZXZlbnRzL2V0YykgKi9cbiAgY3VzdG9tOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3Mge1xuICAvKiogd2hldGhlciB0aGUgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogdGhlIHdpZGdldCBjaGFubmVsIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5zdGFsbFBhcmFtcyB7XG4gIC8qKiBTY29wZXMgdG8gYWRkIHRoZSBhcHBsaWNhdGlvbiB0byB0aGUgc2VydmVyIHdpdGggKi9cbiAgc2NvcGVzOiBPQXV0aDJTY29wZVtdXG4gIC8qKiBQZXJtaXNzaW9ucyB0byByZXF1ZXN0IGZvciB0aGUgYm90IHJvbGUgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb3J1bVRhZyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gIG1vZGVyYXRlZDogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgQXQgbW9zdCBvbmUgb2YgZW1vamlfaWQgYW5kIGVtb2ppX25hbWUgbWF5IGJlIHNldC4gKi9cbiAgZW1vamlfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppIHtcbiAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gIGVtb2ppX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlDaGFubmVsIHtcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBjaGFubmVsIG5hbWUgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgY2hhbm5lbDsgb25seSBjb252ZXJzaW9uIGJldHdlZW4gdGV4dCBhbmQgbmV3cyBpcyBzdXBwb3J0ZWQgYW5kIG9ubHkgaW4gZ3VpbGRzIHdpdGggdGhlIFwiTkVXU1wiIGZlYXR1cmUgKi9cbiAgdHlwZT86IENoYW5uZWxUeXBlc1xuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsIGluIHRoZSBsZWZ0LWhhbmQgbGlzdGluZyAqL1xuICBwb3NpdGlvbj86IG51bWJlciB8IG51bGxcbiAgLyoqIDAtMTAyNCBjaGFyYWN0ZXIgY2hhbm5lbCB0b3BpYyAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBiaXRyYXRlIChpbiBiaXRzKSBvZiB0aGUgdm9pY2UgY2hhbm5lbDsgODAwMCB0byA5NjAwMCAoMTI4MDAwIGZvciBWSVAgc2VydmVycykgKi9cbiAgYml0cmF0ZT86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBjaGFubmVsOyAwIHJlZmVycyB0byBubyBsaW1pdCwgMSB0byA5OSByZWZlcnMgdG8gYSB1c2VyIGxpbWl0ICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBDaGFubmVsIG9yIGNhdGVnb3J5LXNwZWNpZmljIHBlcm1pc3Npb25zICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXSB8IG51bGxcbiAgLyoqIElkIG9mIHRoZSBuZXcgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVm9pY2UgcmVnaW9uIGlkIGZvciB0aGUgdm9pY2UgY2hhbm5lbCwgYXV0b21hdGljIHdoZW4gc2V0IHRvIG51bGwgKi9cbiAgcnRjX3JlZ2lvbj86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjYW1lcmEgdmlkZW8gcXVhbGl0eSBtb2RlIG9mIHRoZSB2b2ljZSBjaGFubmVsICovXG4gIHZpZGVvX3F1YWxpdHlfbW9kZT86IFZpZGVvUXVhbGl0eU1vZGVzXG4gIC8qKiBXaGV0aGVyIHRoZSB0aHJlYWQgaXMgYXJjaGl2ZWQgKi9cbiAgYXJjaGl2ZWQ/OiBib29sZWFuXG4gIC8qKiBEdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb24/OiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIFdoZW4gYSB0aHJlYWQgaXMgbG9ja2VkLCBvbmx5IHVzZXJzIHdpdGggYE1BTkFHRV9USFJFQURTYCBjYW4gdW5hcmNoaXZlIGl0ICovXG4gIGxvY2tlZD86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgbm9uLW1vZGVyYXRvcnMgY2FuIGFkZCBvdGhlciBub24tbW9kZXJhdG9ycyB0byBhIHRocmVhZDsgb25seSBhdmFpbGFibGUgb24gcHJpdmF0ZSB0aHJlYWRzICovXG4gIGludml0YWJsZT86IGJvb2xlYW5cbiAgLyoqIFRoZSBzZXQgb2YgdGFncyB0aGF0IGNhbiBiZSB1c2VkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBhdmFpbGFibGVfdGFncz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgICBpZDogc3RyaW5nXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gICAgbW9kZXJhdGVkOiBib29sZWFuXG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppIEF0IG1vc3Qgb25lIG9mIGVtb2ppX2lkIGFuZCBlbW9qaV9uYW1lIG1heSBiZSBzZXQuICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZTogc3RyaW5nXG4gIH0+XG4gIC8qKiBUaGUgSURzIG9mIHRoZSBzZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbDsgbGltaXRlZCB0byA1ICovXG4gIGFwcGxpZWRfdGFncz86IHN0cmluZ1tdXG4gIC8qKiB0aGUgZW1vamkgdG8gc2hvdyBpbiB0aGUgYWRkIHJlYWN0aW9uIGJ1dHRvbiBvbiBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgZGVmYXVsdF9yZWFjdGlvbl9lbW9qaT86IHtcbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgLyoqIHRoZSBpbml0aWFsIHJhdGVfbGltaXRfcGVyX3VzZXIgdG8gc2V0IG9uIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcyBpbiBhIGNoYW5uZWwuIHRoaXMgZmllbGQgaXMgY29waWVkIHRvIHRoZSB0aHJlYWQgYXQgY3JlYXRpb24gdGltZSBhbmQgZG9lcyBub3QgbGl2ZSB1cGRhdGUuICovXG4gIGRlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIGZvcnVtIGNoYW5uZWxzICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxuICAvKiogdGhlIGRlZmF1bHQgZm9ydW0gbGF5b3V0IHZpZXcgdXNlZCB0byBkaXNwbGF5IHBvc3RzIGluIGBHVUlMRF9GT1JVTWAgY2hhbm5lbHMuIERlZmF1bHRzIHRvIGAwYCwgd2hpY2ggaW5kaWNhdGVzIGEgbGF5b3V0IHZpZXcgaGFzIG5vdCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9mb3J1bV9sYXlvdXQ/OiBGb3J1bUxheW91dFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2Vtb2ppI2NyZWF0ZS1ndWlsZC1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlR3VpbGRFbW9qaSB7XG4gIC8qKiBOYW1lIG9mIHRoZSBlbW9qaSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSAxMjh4MTI4IGVtb2ppIGltYWdlLiBFbW9qaXMgYW5kIGFuaW1hdGVkIGVtb2ppcyBoYXZlIGEgbWF4aW11bSBmaWxlIHNpemUgb2YgMjU2a2IuIEF0dGVtcHRpbmcgdG8gdXBsb2FkIGFuIGVtb2ppIGxhcmdlciB0aGFuIHRoaXMgbGltaXQgd2lsbCBmYWlsIGFuZCByZXR1cm4gNDAwIEJhZCBSZXF1ZXN0IGFuZCBhbiBlcnJvciBtZXNzYWdlLCBidXQgbm90IGEgSlNPTiBzdGF0dXMgY29kZS4gSWYgYSBVUkwgaXMgcHJvdmlkZWQgdG8gdGhlIGltYWdlIHBhcmFtZXRlciwgRGlzY29yZGVubyB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCBpdCB0byBhIGJhc2U2NCBzdHJpbmcgaW50ZXJuYWxseS4gKi9cbiAgaW1hZ2U6IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjbW9kaWZ5LWd1aWxkLWVtb2ppICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZEVtb2ppIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFJvbGVzIGFsbG93ZWQgdG8gdXNlIHRoaXMgZW1vamkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXSB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlR3VpbGRDaGFubmVsIHtcbiAgLyoqIENoYW5uZWwgbmFtZSAoMS0xMDAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU/OiBDaGFubmVsVHlwZXNcbiAgLyoqIENoYW5uZWwgdG9waWMgKDAtMTAyNCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZ1xuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBjaGFubmVsICh2b2ljZSBvbmx5KSAqL1xuICBiaXRyYXRlPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlciBsaW1pdCBvZiB0aGUgdm9pY2UgY2hhbm5lbCAodm9pY2Ugb25seSkgKi9cbiAgdXNlcl9saW1pdD86IG51bWJlclxuICAvKiogQW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCk7IGJvdHMsIGFzIHdlbGwgYXMgdXNlcnMgd2l0aCB0aGUgcGVybWlzc2lvbiBgbWFuYWdlX21lc3NhZ2VzYCBvciBgbWFuYWdlX2NoYW5uZWxgLCBhcmUgdW5hZmZlY3RlZCAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgY2hhbm5lbCdzIHBlcm1pc3Npb24gb3ZlcndyaXRlcyAqL1xuICBwZXJtaXNzaW9uX292ZXJ3cml0ZXM/OiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgLyoqIElkIG9mIHRoZSBwYXJlbnQgY2F0ZWdvcnkgZm9yIGEgY2hhbm5lbCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogRGVmYXVsdCBkdXJhdGlvbiAoaW4gbWludXRlcykgdGhhdCBjbGllbnRzIChub3QgdGhlIEFQSSkgdXNlIGZvciBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gdGhpcyBjaGFubmVsLCB0byBkZXRlcm1pbmUgd2hlbiB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciB0aGUgbGFzdCBhY3Rpdml0eSAqL1xuICBkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IG51bWJlclxuICAvKiogRW1vamkgdG8gc2hvdyBpbiB0aGUgYWRkIHJlYWN0aW9uIGJ1dHRvbiBvbiBhIHRocmVhZCBpbiBhIGZvcnVtIGNoYW5uZWwgKi9cbiAgZGVmYXVsdF9yZWFjdGlvbl9lbW9qaT86IHtcbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkuIEV4YWN0bHkgb25lIG9mIGBlbW9qaUlkYCBhbmQgYGVtb2ppTmFtZWAgbXVzdCBiZSBzZXQuICovXG4gICAgZW1vamlfaWQ/OiBzdHJpbmcgfCBudWxsXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkuIEV4YWN0bHkgb25lIG9mIGBlbW9qaUlkYCBhbmQgYGVtb2ppTmFtZWAgbXVzdCBiZSBzZXQuICovXG4gICAgZW1vamlfbmFtZT86IHN0cmluZyB8IG51bGxcbiAgfVxuICAvKiogU2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGZvcnVtIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBBcnJheTx7XG4gICAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gICAgaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gICAgbmFtZTogc3RyaW5nXG4gICAgLyoqIHdoZXRoZXIgdGhpcyB0YWcgY2FuIG9ubHkgYmUgYWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRocmVhZHMgYnkgYSBtZW1iZXIgd2l0aCB0aGUgTUFOQUdFX1RIUkVBRFMgcGVybWlzc2lvbiAqL1xuICAgIG1vZGVyYXRlZDogYm9vbGVhblxuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU/OiBzdHJpbmdcbiAgfT5cbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIGZvcnVtIGNoYW5uZWxzICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVNZXNzYWdlIHtcbiAgLyoqIFRoZSBtZXNzYWdlIGNvbnRlbnRzICh1cCB0byAyMDAwIGNoYXJhY3RlcnMpICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIENhbiBiZSB1c2VkIHRvIHZlcmlmeSBhIG1lc3NhZ2Ugd2FzIHNlbnQgKHVwIHRvIDI1IGNoYXJhY3RlcnMpLiBWYWx1ZSB3aWxsIGFwcGVhciBpbiB0aGUgTWVzc2FnZSBDcmVhdGUgZXZlbnQuICovXG4gIG5vbmNlPzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKiB0cnVlIGlmIHRoaXMgaXMgYSBUVFMgbWVzc2FnZSAqL1xuICB0dHM/OiBib29sZWFuXG4gIC8qKiBFbWJlZGRlZCBgcmljaGAgY29udGVudCAodXAgdG8gNjAwMCBjaGFyYWN0ZXJzKSAqL1xuICBlbWJlZHM/OiBEaXNjb3JkRW1iZWRbXVxuICAvKiogQWxsb3dlZCBtZW50aW9ucyBmb3IgdGhlIG1lc3NhZ2UgKi9cbiAgYWxsb3dlZF9tZW50aW9ucz86IERpc2NvcmRBbGxvd2VkTWVudGlvbnNcbiAgLyoqIEluY2x1ZGUgdG8gbWFrZSB5b3VyIG1lc3NhZ2UgYSByZXBseSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IHtcbiAgICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UgKi9cbiAgICBtZXNzYWdlX2lkPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBjaGFubmVsXG4gICAgICogTm90ZTogYGNoYW5uZWxfaWRgIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuXG4gICAgICovXG4gICAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAgIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGd1aWxkICovXG4gICAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgICAvKiogV2hlbiBzZW5kaW5nLCB3aGV0aGVyIHRvIGVycm9yIGlmIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgZG9lc24ndCBleGlzdCBpbnN0ZWFkIG9mIHNlbmRpbmcgYXMgYSBub3JtYWwgKG5vbi1yZXBseSkgbWVzc2FnZSwgZGVmYXVsdCB0cnVlICovXG4gICAgZmFpbF9pZl9ub3RfZXhpc3RzOiBib29sZWFuXG4gIH1cbiAgLyoqIFRoZSBjb21wb25lbnRzIHlvdSB3b3VsZCBsaWtlIHRvIGhhdmUgc2VudCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogSURzIG9mIHVwIHRvIDMgc3RpY2tlcnMgaW4gdGhlIHNlcnZlciB0byBzZW5kIGluIHRoZSBtZXNzYWdlICovXG4gIHN0aWNrZXJJZHM/OiBbc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtb2RpZnktZ3VpbGQtd2VsY29tZS1zY3JlZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbiB7XG4gIC8qKiBXaGV0aGVyIHRoZSB3ZWxjb21lIHNjcmVlbiBpcyBlbmFibGVkICovXG4gIGVuYWJsZWQ/OiBib29sZWFuIHwgbnVsbFxuICAvKiogQ2hhbm5lbHMgbGlua2VkIGluIHRoZSB3ZWxjb21lIHNjcmVlbiBhbmQgdGhlaXIgZGlzcGxheSBvcHRpb25zICovXG4gIHdlbGNvbWVfc2NyZWVuPzogRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsW10gfCBudWxsXG4gIC8qKiBUaGUgc2VydmVyIGRlc2NyaXB0aW9uIHRvIHNob3cgaW4gdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb2xsb3dBbm5vdW5jZW1lbnRDaGFubmVsIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB0byBzZW5kIGFubm91bmNlbWVudHMgdG8uICovXG4gIHdlYmhvb2tfY2hhbm5lbF9pZDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlc09wdGlvbnMge1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGFsbG93OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55OiBzdHJpbmdcbiAgLyoqIEVpdGhlciAwIChyb2xlKSBvciAxIChtZW1iZXIpICovXG4gIHR5cGU6IE92ZXJ3cml0ZVR5cGVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjbW9kaWZ5LWd1aWxkLWNoYW5uZWwtcG9zaXRpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnMge1xuICAvKiogQ2hhbm5lbCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbFxuICAvKiogU3luY3MgdGhlIHBlcm1pc3Npb24gb3ZlcndyaXRlcyB3aXRoIHRoZSBuZXcgcGFyZW50LCBpZiBtb3ZpbmcgdG8gYSBuZXcgY2F0ZWdvcnkgKi9cbiAgbG9ja19wb3NpdGlvbnM/OiBib29sZWFuIHwgbnVsbFxuICAvKiogVGhlIG5ldyBwYXJlbnQgSUQgZm9yIHRoZSBjaGFubmVsIHRoYXQgaXMgbW92ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVXZWJob29rIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHdlYmhvb2sgKDEtODAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJbWFnZSB1cmwgZm9yIHRoZSBkZWZhdWx0IHdlYmhvb2sgYXZhdGFyICovXG4gIGF2YXRhcj86IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI3N0YXJ0LXRocmVhZC1pbi1mb3J1bS1jaGFubmVsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hhbm5lbCBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogZHVyYXRpb24gaW4gbWludXRlcyB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciByZWNlbnQgYWN0aXZpdHksIGNhbiBiZSBzZXQgdG86IDYwLCAxNDQwLCA0MzIwLCAxMDA4MCAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb24/OiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIGFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIGNvbnRlbnRzIG9mIHRoZSBmaXJzdCBtZXNzYWdlIGluIHRoZSBmb3J1bSB0aHJlYWQgKi9cbiAgbWVzc2FnZToge1xuICAgIC8qKiBNZXNzYWdlIGNvbnRlbnRzICh1cCB0byAyMDAwIGNoYXJhY3RlcnMpICovXG4gICAgY29udGVudD86IHN0cmluZ1xuICAgIC8qKiBFbWJlZGRlZCByaWNoIGNvbnRlbnQgKHVwIHRvIDYwMDAgY2hhcmFjdGVycykgKi9cbiAgICBlbWJlZHM/OiBEaXNjb3JkRW1iZWRbXVxuICAgIC8qKiBBbGxvd2VkIG1lbnRpb25zIGZvciB0aGUgbWVzc2FnZSAqL1xuICAgIGFsbG93ZWRfbWVudGlvbnM/OiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zW11cbiAgICAvKiogQ29tcG9uZW50cyB0byBpbmNsdWRlIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzW11cbiAgICAvKiogSURzIG9mIHVwIHRvIDMgc3RpY2tlcnMgaW4gdGhlIHNlcnZlciB0byBzZW5kIGluIHRoZSBtZXNzYWdlICovXG4gICAgc3RpY2tlcl9pZHM/OiBzdHJpbmdbXVxuICAgIC8qKiBKU09OLWVuY29kZWQgYm9keSBvZiBub24tZmlsZSBwYXJhbXMsIG9ubHkgZm9yIG11bHRpcGFydC9mb3JtLWRhdGEgcmVxdWVzdHMuIFNlZSB7QGxpbmsgaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI3VwbG9hZGluZy1maWxlcyBVcGxvYWRpbmcgRmlsZXN9ICovXG4gICAgcGF5bG9hZF9qc29uPzogc3RyaW5nXG4gICAgLyoqIEF0dGFjaG1lbnQgb2JqZWN0cyB3aXRoIGZpbGVuYW1lIGFuZCBkZXNjcmlwdGlvbi4gU2VlIHtAbGluayBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjdXBsb2FkaW5nLWZpbGVzIFVwbG9hZGluZyBGaWxlc30gKi9cbiAgICBhdHRhY2htZW50cz86IERpc2NvcmRBdHRhY2htZW50W11cbiAgICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkLCBvbmx5IFNVUFBSRVNTX0VNQkVEUyBjYW4gYmUgc2V0ICovXG4gICAgZmxhZ3M/OiBEaXNjb3JkTWVzc2FnZUZsYWdcbiAgfVxuICAvKiogdGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZEFyY2hpdmVkVGhyZWFkcyA9IERpc2NvcmRBY3RpdmVUaHJlYWRzICYge1xuICBoYXNNb3JlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2ZVRocmVhZHMge1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRWYW5pdHlVcmwge1xuICBjb2RlOiBzdHJpbmcgfCBudWxsXG4gIHVzZXM6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQcnVuZWRDb3VudCB7XG4gIHBydW5lZDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtZ3VpbGQtb25ib2FyZGluZy1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZyB7XG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQgdGhpcyBvbmJvYXJkaW5nIGlzIHBhcnQgb2YgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogUHJvbXB0cyBzaG93biBkdXJpbmcgb25ib2FyZGluZyBhbmQgaW4gY3VzdG9taXplIGNvbW11bml0eSAqL1xuICBwcm9tcHRzOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0W11cbiAgLyoqIENoYW5uZWwgSURzIHRoYXQgbWVtYmVycyBnZXQgb3B0ZWQgaW50byBhdXRvbWF0aWNhbGx5ICovXG4gIGRlZmF1bHRfY2hhbm5lbF9pZHM6IHN0cmluZ1tdXG4gIC8qKiBXaGV0aGVyIG9uYm9hcmRpbmcgaXMgZW5hYmxlZCBpbiB0aGUgZ3VpbGQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogQ3VycmVudCBtb2RlIG9mIG9uYm9hcmRpbmcgKi9cbiAgbW9kZTogRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1vbmJvYXJkaW5nLXByb21wdC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCB7XG4gIC8qKiBJRCBvZiB0aGUgcHJvbXB0ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgcHJvbXB0ICovXG4gIHR5cGU6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlXG4gIC8qKiBPcHRpb25zIGF2YWlsYWJsZSB3aXRoaW4gdGhlIHByb21wdCAqL1xuICBvcHRpb25zOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uW11cbiAgLyoqIFRpdGxlIG9mIHRoZSBwcm9tcHQgKi9cbiAgdGl0bGU6IHN0cmluZ1xuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gc2VsZWN0aW5nIG9uZSBvcHRpb24gZm9yIHRoZSBwcm9tcHQgKi9cbiAgc2luZ2xlX3NlbGVjdDogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHByb21wdCBpcyByZXF1aXJlZCBiZWZvcmUgYSB1c2VyIGNvbXBsZXRlcyB0aGUgb25ib2FyZGluZyBmbG93ICovXG4gIHJlcXVpcmVkOiBib29sZWFuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvbXB0IGlzIHByZXNlbnQgaW4gdGhlIG9uYm9hcmRpbmcgZmxvdy4gSWYgYGZhbHNlYCwgdGhlIHByb21wdCB3aWxsIG9ubHkgYXBwZWFyIGluIHRoZSBDaGFubmVscyAmIFJvbGVzIHRhYiAqL1xuICBpbl9vbmJvYXJkaW5nOiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtcHJvbXB0LW9wdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB7XG4gIC8qKiBJRCBvZiB0aGUgcHJvbXB0IG9wdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJRHMgZm9yIGNoYW5uZWxzIGEgbWVtYmVyIGlzIGFkZGVkIHRvIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCAqL1xuICBjaGFubmVsX2lkczogc3RyaW5nW11cbiAgLyoqIElEcyBmb3Igcm9sZXMgYXNzaWduZWQgdG8gYSBtZW1iZXIgd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkICovXG4gIHJvbGVfaWRzOiBzdHJpbmdbXVxuICAvKipcbiAgICogRW1vamkgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaT86IERpc2NvcmRFbW9qaVxuICAvKipcbiAgICogRW1vamkgSUQgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaV9pZD86IHN0cmluZ1xuICAvKipcbiAgICogRW1vamkgbmFtZSBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX25hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX2FuaW1hdGVkPzogYm9vbGVhblxuICAvKiogVGl0bGUgb2YgdGhlIG9wdGlvbiAqL1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBEZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1wcm9tcHQtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlIHtcbiAgTXVsdGlwbGVDaG9pY2UsXG4gIERyb3BEb3duLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LW9uYm9hcmRpbmctbW9kZSAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGUge1xuICAvKiogQ291bnRzIG9ubHkgRGVmYXVsdCBDaGFubmVscyB0b3dhcmRzIGNvbnN0cmFpbnRzICovXG4gIE9uYm9hcmRpbmdEZWZhdWx0LFxuICAvKiogQ291bnRzIERlZmF1bHQgQ2hhbm5lbHMgYW5kIFF1ZXN0aW9ucyB0b3dhcmRzIGNvbnN0cmFpbnRzICovXG4gIE9uYm9hcmRpbmdBZHZhbmNlZCxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy90ZWFtcyN0ZWFtLW1lbWJlci1yb2xlcy10ZWFtLW1lbWJlci1yb2xlLXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkVGVhbU1lbWJlclJvbGUge1xuICAvKiogT3duZXJzIGFyZSB0aGUgbW9zdCBwZXJtaXNzaWFibGUgcm9sZSwgYW5kIGNhbiB0YWtlIGRlc3RydWN0aXZlLCBpcnJldmVyc2libGUgYWN0aW9ucyBsaWtlIGRlbGV0aW5nIHRoZSB0ZWFtIGl0c2VsZi4gVGVhbXMgYXJlIGxpbWl0ZWQgdG8gMSBvd25lci4gKi9cbiAgT3duZXIgPSAnb3duZXInLFxuICAvKiogQWRtaW5zIGhhdmUgc2ltaWxhciBhY2Nlc3MgYXMgb3duZXJzLCBleGNlcHQgdGhleSBjYW5ub3QgdGFrZSBkZXN0cnVjdGl2ZSBhY3Rpb25zIG9uIHRoZSB0ZWFtIG9yIHRlYW0tb3duZWQgYXBwcy4gKi9cbiAgQWRtaW4gPSAnYWRtaW4nLFxuICAvKipcbiAgICogRGV2ZWxvcGVycyBjYW4gYWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IHRlYW0tb3duZWQgYXBwcywgbGlrZSB0aGUgY2xpZW50IHNlY3JldCBvciBwdWJsaWMga2V5LlxuICAgKiBUaGV5IGNhbiBhbHNvIHRha2UgbGltaXRlZCBhY3Rpb25zIG9uIHRlYW0tb3duZWQgYXBwcywgbGlrZSBjb25maWd1cmluZyBpbnRlcmFjdGlvbiBlbmRwb2ludHMgb3IgcmVzZXR0aW5nIHRoZSBib3QgdG9rZW4uXG4gICAqIE1lbWJlcnMgd2l0aCB0aGUgRGV2ZWxvcGVyIHJvbGUgKmNhbm5vdCogbWFuYWdlIHRoZSB0ZWFtIG9yIGl0cyBtZW1iZXJzLCBvciB0YWtlIGRlc3RydWN0aXZlIGFjdGlvbnMgb24gdGVhbS1vd25lZCBhcHBzLlxuICAgKi9cbiAgRGV2ZWxvcGVyID0gJ2RldmVsb3BlcicsXG4gIC8qKiBSZWFkLW9ubHkgbWVtYmVycyBjYW4gYWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IGEgdGVhbSBhbmQgYW55IHRlYW0tb3duZWQgYXBwcy4gU29tZSBleGFtcGxlcyBpbmNsdWRlIGdldHRpbmcgdGhlIElEcyBvZiBhcHBsaWNhdGlvbnMgYW5kIGV4cG9ydGluZyBwYXlvdXQgcmVjb3Jkcy4gKi9cbiAgUmVhZE9ubHkgPSAncmVhZF9vbmx5Jyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9lbnRpdGxlbWVudHMjZW50aXRsZW1lbnQtb2JqZWN0LWVudGl0bGVtZW50LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW50aXRsZW1lbnQge1xuICAvKiogSUQgb2YgdGhlIGVudGl0bGVtZW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSB1c2VyIHRoYXQgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gdGhlIGVudGl0bGVtZW50J3Mgc2t1ICovXG4gIHVzZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCB0aGF0IGlzIGdyYW50ZWQgYWNjZXNzIHRvIHRoZSBlbnRpdGxlbWVudCdzIHNrdSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVudGl0bGVtZW50ICovXG4gIHR5cGU6IERpc2NvcmRFbnRpdGxlbWVudFR5cGVcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBkZWxldGVkICovXG4gIGRlbGV0ZWQ6IGJvb2xlYW5cbiAgLyoqIFN0YXJ0IGRhdGUgYXQgd2hpY2ggdGhlIGVudGl0bGVtZW50IGlzIHZhbGlkLiBOb3QgcHJlc2VudCB3aGVuIHVzaW5nIHRlc3QgZW50aXRsZW1lbnRzICovXG4gIHN0YXJ0c19hdD86IHN0cmluZ1xuICAvKiogRGF0ZSBhdCB3aGljaCB0aGUgZW50aXRsZW1lbnQgaXMgbm8gbG9uZ2VyIHZhbGlkLiBOb3QgcHJlc2VudCB3aGVuIHVzaW5nIHRlc3QgZW50aXRsZW1lbnRzICovXG4gIGVuZHNfYXQ/OiBzdHJpbmdcbiAgLyoqIEZvciBjb25zdW1hYmxlIGl0ZW1zLCB3aGV0aGVyIG9yIG5vdCB0aGUgZW50aXRsZW1lbnQgaGFzIGJlZW4gY29uc3VtZWQgKi9cbiAgY29uc3VtZWQ/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vZW50aXRsZW1lbnRzI2VudGl0bGVtZW50LW9iamVjdC1lbnRpdGxlbWVudC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEVudGl0bGVtZW50VHlwZSB7XG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGJ5IHVzZXIgKi9cbiAgUHVyY2hhc2UgPSAxLFxuICAvKiogRW50aXRsZW1lbnQgZm9yIERpc2NvcmQgTml0cm8gc3Vic2NyaXB0aW9uICovXG4gIFByZW1pdW1TdWJzY3JpcHRpb24gPSAyLFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdpZnRlZCBieSBkZXZlbG9wZXIgKi9cbiAgRGV2ZWxvcGVyR2lmdCA9IDMsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGJ5IGEgZGV2IGluIGFwcGxpY2F0aW9uIHRlc3QgbW9kZSAqL1xuICBUZXN0TW9kZVB1cmNoYXNlID0gNCxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBncmFudGVkIHdoZW4gdGhlIFNLVSB3YXMgZnJlZSAqL1xuICBGcmVlUHVyY2hhc2UgPSA1LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdpZnRlZCBieSBhbm90aGVyIHVzZXIgKi9cbiAgVXNlckdpZnQgPSA2LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGNsYWltZWQgYnkgdXNlciBmb3IgZnJlZSBhcyBhIE5pdHJvIFN1YnNjcmliZXIgKi9cbiAgUHJlbWl1bVB1cmNoYXNlID0gNyxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYXMgYW4gYXBwIHN1YnNjcmlwdGlvbiAqL1xuICBBcHBsaWNhdGlvblN1YnNjcmlwdGlvbiA9IDgsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vc2t1cyNza3Utb2JqZWN0LXNrdS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNrdSB7XG4gIC8qKiBJRCBvZiBTS1UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBTS1UgKi9cbiAgdHlwZTogRGlzY29yZFNrdVR5cGVcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogQ3VzdG9tZXItZmFjaW5nIG5hbWUgb2YgeW91ciBwcmVtaXVtIG9mZmVyaW5nICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogU3lzdGVtLWdlbmVyYXRlZCBVUkwgc2x1ZyBiYXNlZCBvbiB0aGUgU0tVJ3MgbmFtZSAqL1xuICBzbHVnOiBzdHJpbmdcbiAgLyoqIFNLVSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBEaXNjb3JkU2t1RmxhZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL3NrdXMjc2t1LW9iamVjdC1za3UtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRTa3VUeXBlIHtcbiAgLyoqIER1cmFibGUgb25lLXRpbWUgcHVyY2hhc2UgKi9cbiAgRHVyYWJsZSA9IDIsXG4gIC8qKiBDb25zdW1hYmxlIG9uZS10aW1lIHB1cmNoYXNlICovXG4gIENvbnN1bWFibGUgPSAzLFxuICAvKiogUmVwcmVzZW50cyBhIHJlY3VycmluZyBzdWJzY3JpcHRpb24gKi9cbiAgU3Vic2NyaXB0aW9uID0gNSxcbiAgLyoqIFN5c3RlbS1nZW5lcmF0ZWQgZ3JvdXAgZm9yIGVhY2ggU1VCU0NSSVBUSU9OIFNLVSBjcmVhdGVkICovXG4gIFN1YnNjcmlwdGlvbkdyb3VwID0gNixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9za3VzI3NrdS1vYmplY3Qtc2t1LWZsYWdzICovXG5leHBvcnQgZW51bSBEaXNjb3JkU2t1RmxhZyB7XG4gIC8qKiBTS1UgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZSAqL1xuICBBdmFpbGFibGUgPSAxIDw8IDIsXG4gIC8qKiBSZWN1cnJpbmcgU0tVIHRoYXQgY2FuIGJlIHB1cmNoYXNlZCBieSBhIHVzZXIgYW5kIGFwcGxpZWQgdG8gYSBzaW5nbGUgc2VydmVyLiBHcmFudHMgYWNjZXNzIHRvIGV2ZXJ5IHVzZXIgaW4gdGhhdCBzZXJ2ZXIuICovXG4gIEd1aWxkU3Vic2NyaXB0aW9uID0gMSA8PCA3LFxuICAvKiogUmVjdXJyaW5nIFNLVSBwdXJjaGFzZWQgYnkgYSB1c2VyIGZvciB0aGVtc2VsdmVzLiBHcmFudHMgYWNjZXNzIHRvIHRoZSBwdXJjaGFzaW5nIHVzZXIgaW4gZXZlcnkgc2VydmVyLiAqL1xuICBVc2VyU3Vic2NyaXB0aW9uID0gMSA8PCA4LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QtbWVzc2FnZS1mbGFncyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZE1lc3NhZ2VGbGFnIHtcbiAgLyoqIFRoaXMgbWVzc2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQgdG8gc3Vic2NyaWJlZCBjaGFubmVscyAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBDcm9zc3Bvc3RlZCA9IDEgPDwgMCxcbiAgLyoqIFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYSBtZXNzYWdlIGluIGFub3RoZXIgY2hhbm5lbCAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBJc0Nyb3NzcG9zdCA9IDEgPDwgMSxcbiAgLyoqIERvIG5vdCBpbmNsdWRlIGFueSBlbWJlZHMgd2hlbiBzZXJpYWxpemluZyB0aGlzIG1lc3NhZ2UgKi9cbiAgU3VwcHJlc3NFbWJlZHMgPSAxIDw8IDIsXG4gIC8qKiBUaGUgc291cmNlIG1lc3NhZ2UgZm9yIHRoaXMgY3Jvc3Nwb3N0IGhhcyBiZWVuIGRlbGV0ZWQgKHZpYSBDaGFubmVsIEZvbGxvd2luZykgKi9cbiAgU291cmNlTWVzc2FnZURlbGV0ZWQgPSAxIDw8IDMsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgY2FtZSBmcm9tIHRoZSB1cmdlbnQgbWVzc2FnZSBzeXN0ZW0gKi9cbiAgVXJnZW50ID0gMSA8PCA0LFxuICAvKiogVGhpcyBtZXNzYWdlIGhhcyBhbiBhc3NvY2lhdGVkIHRocmVhZCwgd2l0aCB0aGUgc2FtZSBpZCBhcyB0aGUgbWVzc2FnZSAqL1xuICBIYXNUaHJlYWQgPSAxIDw8IDUsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgaXMgb25seSB2aXNpYmxlIHRvIHRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBJbnRlcmFjdGlvbiAqL1xuICBFcGhlbWVyYWwgPSAxIDw8IDYsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgaXMgYW4gSW50ZXJhY3Rpb24gUmVzcG9uc2UgYW5kIHRoZSBib3QgaXMgXCJ0aGlua2luZ1wiICovXG4gIExvYWRpbmcgPSAxIDw8IDcsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgZmFpbGVkIHRvIG1lbnRpb24gc29tZSByb2xlcyBhbmQgYWRkIHRoZWlyIG1lbWJlcnMgdG8gdGhlIHRocmVhZCAqL1xuICBGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCA9IDEgPDwgOCxcbiAgLyoqIFRoaXMgbWVzc2FnZSB3aWxsIG5vdCB0cmlnZ2VyIHB1c2ggYW5kIGRlc2t0b3Agbm90aWZpY2F0aW9ucyAqL1xuICBTdXBwcmVzc05vdGlmaWNhdGlvbnMgPSAxIDw8IDEyLFxuICAvKiogVGhpcyBtZXNzYWdlIGlzIGEgdm9pY2UgbWVzc2FnZSAqL1xuICBJc1ZvaWNlTWVzc2FnZSA9IDEgPDwgMTMsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLW9iamVjdC1pbnRlcmFjdGlvbi1jb250ZXh0LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZSB7XG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gc2VydmVycyAqL1xuICBHdWlsZCA9IDAsXG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gRE1zIHdpdGggdGhlIGFwcCdzIGJvdCB1c2VyICovXG4gIEJvdERtID0gMSxcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBHcm91cCBETXMgYW5kIERNcyBvdGhlciB0aGFuIHRoZSBhcHAncyBib3QgdXNlciAqL1xuICBQcml2YXRlQ2hhbm5lbCA9IDIsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYnVsay1ndWlsZC1iYW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1bGtCYW4ge1xuICAvKiogbGlzdCBvZiB1c2VyIGlkcywgdGhhdCB3ZXJlIHN1Y2Nlc3NmdWxseSBiYW5uZWQgKi9cbiAgYmFubmVkX3VzZXJzOiBzdHJpbmdbXVxuICAvKiogbGlzdCBvZiB1c2VyIGlkcywgdGhhdCB3ZXJlIG5vdCBiYW5uZWQgKi9cbiAgZmFpbGVkX3VzZXJzOiBzdHJpbmdbXVxufVxuIl0sIm5hbWVzIjpbIk9BdXRoMlNjb3BlIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiRGlzY29yZENvbm5lY3Rpb25TZXJ2aWNlVHlwZSIsIkRpc2NvcmRDb25uZWN0aW9uVmlzaWJpbGl0eSIsIkRpc2NvcmRQb2xsTGF5b3V0VHlwZSIsIkF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlcyIsIkF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzIiwiRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHMiLCJBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUiLCJEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0VHlwZSIsIkRpc2NvcmRHdWlsZE9uYm9hcmRpbmdNb2RlIiwiRGlzY29yZFRlYW1NZW1iZXJSb2xlIiwiRGlzY29yZEVudGl0bGVtZW50VHlwZSIsIkRpc2NvcmRTa3VUeXBlIiwiRGlzY29yZFNrdUZsYWciLCJEaXNjb3JkTWVzc2FnZUZsYWciLCJEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztVQXFGWUE7SUFDVjs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQsaUVBQWlFO0lBRWpFOzs7OztHQUtDO0lBRUQsMEZBQTBGO0lBRTFGOzs7OztHQUtDO0lBRUQsZ0dBQWdHO0lBRWhHLG1FQUFtRTtJQUVuRSx1SEFBdUg7SUFFdkgsK0VBQStFO0lBRS9FLHlIQUF5SDtJQUV6SDs7Ozs7R0FLQztJQUVELGdIQUFnSDtJQUVoSCxnREFBZ0Q7SUFFaEQsdUhBQXVIO0lBRXZILG9JQUFvSTtJQUVwSSwrSUFBK0k7SUFFL0k7Ozs7OztHQU1DO0lBRUQ7OztHQUdDO0lBRUQ7Ozs7O0dBS0M7SUFFRCwyRUFBMkU7SUFFM0U7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQsa0dBQWtHO0dBNUh4RkEsZ0JBQUFBOztVQWdWQUM7SUFDVixrQ0FBa0M7SUFFbEMsZ0NBQWdDO0dBSHRCQSxzQ0FBQUE7O1VBZ0dBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQUFBQSxpQ0FBQUE7O1VBeUJBQztJQUNWLHFEQUFxRDtJQUVyRCx3QkFBd0I7R0FIZEEsZ0NBQUFBOztVQTA2QkFDO0lBQ1YsdUJBQXVCO0dBRGJBLDBCQUFBQTs7VUFpY0FDO0lBQ1YsZ0NBQWdDO0dBRHRCQSw2QkFBQUE7O1VBS0FDOzs7Ozs7R0FBQUEsK0JBQUFBOztVQXVCQUM7SUFDViw4REFBOEQ7SUFFOUQsK0RBQStEO0lBRS9ELGlFQUFpRTtHQUx2REEsb0RBQUFBOztVQWdCQUM7SUFDViwwREFBMEQ7SUFFMUQsNkNBQTZDO0lBRTdDLDBDQUEwQztHQUxoQ0EsNkJBQUFBOztVQTB4Q0FDOzs7R0FBQUEscUNBQUFBOztVQU1BQztJQUNWLHFEQUFxRDtJQUVyRCw4REFBOEQ7R0FIcERBLCtCQUFBQTs7VUFRQUM7SUFDVix1SkFBdUo7SUFFdkosc0hBQXNIO0lBRXRIOzs7O0dBSUM7SUFFRCx1S0FBdUs7R0FYN0pBLDBCQUFBQTs7VUF3Q0FDO0lBQ1Ysc0NBQXNDO0lBRXRDLCtDQUErQztJQUUvQyx3Q0FBd0M7SUFFeEMsZ0VBQWdFO0lBRWhFLGtEQUFrRDtJQUVsRCwyQ0FBMkM7SUFFM0MsbUVBQW1FO0lBRW5FLHFEQUFxRDtHQWYzQ0EsMkJBQUFBOztVQW9DQUM7SUFDViw4QkFBOEI7SUFFOUIsaUNBQWlDO0lBRWpDLHdDQUF3QztJQUV4Qyw2REFBNkQ7R0FQbkRBLG1CQUFBQTs7VUFZQUM7SUFDVixrQ0FBa0M7SUFFbEMsOEhBQThIO0lBRTlILDRHQUE0RztHQUxsR0EsbUJBQUFBOztVQVVBQztJQUNWLG1GQUFtRjtJQUVuRixzRkFBc0Y7SUFFdEYsNERBQTREO0lBRTVELG1GQUFtRjtJQUVuRixxREFBcUQ7SUFFckQsMkVBQTJFO0lBRTNFLHlFQUF5RTtJQUV6RSxzRUFBc0U7SUFFdEUsa0ZBQWtGO0lBRWxGLGlFQUFpRTtJQUVqRSxvQ0FBb0M7R0FyQjFCQSx1QkFBQUE7O1VBMEJBQztJQUNWLDJDQUEyQztJQUUzQywrREFBK0Q7SUFFL0QsbUZBQW1GO0dBTHpFQSxrQ0FBQUEifQ==