@discordeno/types 22.0.1-next.a4a5f17 → 22.0.1-next.a699c3d

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.
@@ -38,11 +38,17 @@ export declare enum MessageComponentTypes {
38
38
  /** Container associating a label and description with a component */
39
39
  Label = 18,
40
40
  /** Component for uploading files */
41
- FileUpload = 19
41
+ FileUpload = 19,
42
+ /** An interactive component for selecting exactly one option from a defined list */
43
+ RadioGroup = 21,
44
+ /** An interactive component for selecting one or many options via checkboxes */
45
+ CheckboxGroup = 22,
46
+ /** A single interactive component for yes/no style questions */
47
+ Checkbox = 23
42
48
  }
43
49
  export type DiscordMessageComponents = DiscordMessageComponent[];
44
- export type DiscordMessageComponent = DiscordActionRow | DiscordSelectMenuComponent | DiscordButtonComponent | DiscordTextInputComponent | DiscordSectionComponent | DiscordTextDisplayComponent | DiscordThumbnailComponent | DiscordMediaGalleryComponent | DiscordSeparatorComponent | DiscordContainerComponent | DiscordFileComponent | DiscordLabelComponent | DiscordFileUploadComponent;
45
- export type DiscordMessageComponentFromModalInteractionResponse = DiscordTextInputInteractionResponse | DiscordTextDisplayInteractionResponse | DiscordLabelInteractionResponse;
50
+ export type DiscordMessageComponent = DiscordActionRow | DiscordStringSelectComponent | DiscordUserSelectComponent | DiscordRoleSelectComponent | DiscordMentionableSelectComponent | DiscordChannelSelectComponent | DiscordButtonComponent | DiscordTextInputComponent | DiscordSectionComponent | DiscordTextDisplayComponent | DiscordThumbnailComponent | DiscordMediaGalleryComponent | DiscordSeparatorComponent | DiscordContainerComponent | DiscordFileComponent | DiscordLabelComponent | DiscordFileUploadComponent | DiscordRadioGroupComponent | DiscordCheckboxGroupComponent | DiscordCheckboxComponent;
51
+ export type DiscordMessageComponentFromModalInteractionResponse = DiscordTextInputInteractionResponse | DiscordTextDisplayInteractionResponse | DiscordLabelInteractionResponse | DiscordRadioGroupInteractionResponse | DiscordCheckboxGroupInteractionResponse | DiscordCheckboxInteractionResponse | DiscordRoleSelectInteractionResponseFromModal | DiscordUserSelectInteractionResponseFromModal | DiscordStringSelectInteractionResponseFromModal | DiscordChannelSelectInteractionResponseFromModal | DiscordMentionableSelectInteractionResponseFromModal;
46
52
  export type DiscordMessageComponentFromMessageComponentInteractionResponse = DiscordRoleSelectInteractionResponseFromMessageComponent | DiscordUserSelectInteractionResponseFromMessageComponent | DiscordStringSelectInteractionResponseFromMessageComponent | DiscordChannelSelectInteractionResponseFromMessageComponent | DiscordMentionableSelectInteractionResponseFromMessageComponent;
47
53
  /** https://docs.discord.com/developers/components/reference#anatomy-of-a-component */
48
54
  export interface DiscordBaseComponent {
@@ -63,7 +69,7 @@ export interface DiscordActionRow extends DiscordBaseComponent {
63
69
  * Using a {@link DiscordTextInputComponent} inside the Action Row is deprecated,
64
70
  * use a {@link DiscordLabelComponent} for modals
65
71
  */
66
- components: (DiscordButtonComponent | DiscordSelectMenuComponent | DiscordTextInputComponent)[];
72
+ components: (DiscordButtonComponent | DiscordStringSelectComponent | DiscordUserSelectComponent | DiscordRoleSelectComponent | DiscordMentionableSelectComponent | DiscordChannelSelectComponent | DiscordTextInputComponent)[];
67
73
  }
68
74
  /** https://docs.discord.com/developers/components/reference#button-button-structure */
69
75
  export interface DiscordButtonComponent extends DiscordBaseComponent {
@@ -84,7 +90,7 @@ export interface DiscordButtonComponent extends DiscordBaseComponent {
84
90
  * @remarks
85
91
  * A button of style {@link ButtonStyles.Premium | Premium} cannot have an emoji
86
92
  */
87
- emoji?: Pick<DiscordEmoji, 'id' | 'name' | 'animated'>;
93
+ emoji?: Partial<Pick<DiscordEmoji, 'id' | 'name' | 'animated'>>;
88
94
  /**
89
95
  * A dev-defined unique string sent on click (max 100 characters).
90
96
  *
@@ -126,19 +132,13 @@ export declare enum ButtonStyles {
126
132
  /** A blurple button to show a Premium item in the shop */
127
133
  Premium = 6
128
134
  }
129
- /**
130
- * https://docs.discord.com/developers/components/reference#string-select
131
- * https://docs.discord.com/developers/components/reference#user-select
132
- * https://docs.discord.com/developers/components/reference#role-select
133
- * https://docs.discord.com/developers/components/reference#mentionable-select
134
- * https://docs.discord.com/developers/components/reference#channel-select
135
- */
136
- export interface DiscordSelectMenuComponent extends DiscordBaseComponent {
137
- type: MessageComponentTypes.StringSelect | MessageComponentTypes.UserSelect | MessageComponentTypes.RoleSelect | MessageComponentTypes.MentionableSelect | MessageComponentTypes.ChannelSelect;
135
+ /** https://docs.discord.com/developers/components/reference#string-select-string-select-structure */
136
+ export interface DiscordStringSelectComponent extends DiscordBaseComponent {
137
+ type: MessageComponentTypes.StringSelect;
138
138
  /** A custom identifier for this component. Maximum 100 characters. */
139
139
  custom_id: string;
140
- /** Specified choices in a select menu; Maximum of 25 items. */
141
- options?: DiscordSelectOption[];
140
+ /** The choices! Maximum of 25 items. */
141
+ options: DiscordSelectOption[];
142
142
  /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
143
143
  placeholder?: string;
144
144
  /** The minimum number of items that must be selected. Default 1. Between 0-25. */
@@ -149,7 +149,7 @@ export interface DiscordSelectMenuComponent extends DiscordBaseComponent {
149
149
  * Whether this component is required to be filled
150
150
  *
151
151
  * @remarks
152
- * This value is only valid for select menus in modals
152
+ * This value is only valid for string select menus in modals
153
153
  *
154
154
  * @default true
155
155
  */
@@ -163,15 +163,6 @@ export interface DiscordSelectMenuComponent extends DiscordBaseComponent {
163
163
  * @default false
164
164
  */
165
165
  disabled?: boolean;
166
- /**
167
- * List of default values for auto-populated select menu components
168
- *
169
- * @remarks
170
- * The number of default values must be in the range defined by min_values and max_values
171
- */
172
- default_values?: DiscordSelectMenuDefaultValue[];
173
- /** List of channel types to include in a channel select menu options list */
174
- channel_types?: ChannelTypes[];
175
166
  }
176
167
  /** https://docs.discord.com/developers/components/reference#string-select-select-option-structure */
177
168
  export interface DiscordSelectOption {
@@ -182,7 +173,7 @@ export interface DiscordSelectOption {
182
173
  /** An additional description of the option. Maximum 50 characters. */
183
174
  description?: string;
184
175
  /** The id, name, and animated properties of an emoji. */
185
- emoji?: Pick<DiscordEmoji, 'id' | 'name' | 'animated'>;
176
+ emoji?: Partial<Pick<DiscordEmoji, 'id' | 'name' | 'animated'>>;
186
177
  /** Will render this option as already-selected by default. */
187
178
  default?: boolean;
188
179
  }
@@ -253,6 +244,41 @@ export interface DiscordTextInputInteractionResponse {
253
244
  /** The user's input text */
254
245
  value: string;
255
246
  }
247
+ /** https://docs.discord.com/developers/components/reference#user-select-user-select-structure */
248
+ export interface DiscordUserSelectComponent extends DiscordBaseComponent {
249
+ type: MessageComponentTypes.UserSelect;
250
+ /** A custom identifier for this component. Maximum 100 characters. */
251
+ custom_id: string;
252
+ /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
253
+ placeholder?: string;
254
+ /**
255
+ * List of default values for auto-populated select menu components
256
+ * The number of default values must be in the range defined by minValues and maxValues
257
+ */
258
+ default_values?: DiscordSelectMenuDefaultValue[];
259
+ /** The minimum number of items that must be selected. Default 1. Between 0-25. */
260
+ min_values?: number;
261
+ /** The maximum number of items that can be selected. Default 1. Max 25. */
262
+ max_values?: number;
263
+ /**
264
+ * Whether this component is required to be filled
265
+ *
266
+ * @remarks
267
+ * This value is only valid for string select menus in modals
268
+ *
269
+ * @default true
270
+ */
271
+ required?: boolean;
272
+ /**
273
+ * Whether select menu is disabled
274
+ *
275
+ * @remarks
276
+ * This value cannot be set for select menus in modals
277
+ *
278
+ * @default false
279
+ */
280
+ disabled?: boolean;
281
+ }
256
282
  /** https://docs.discord.com/developers/components/reference#user-select-select-default-value-structure */
257
283
  export interface DiscordSelectMenuDefaultValue {
258
284
  /** ID of a user, role, or channel */
@@ -285,6 +311,41 @@ export interface DiscordUserSelectInteractionResponse {
285
311
  export type DiscordUserSelectInteractionResponseFromModal = Require<Omit<DiscordUserSelectInteractionResponse, 'component_type'>, 'type'>;
286
312
  /** https://docs.discord.com/developers/components/reference#user-select-user-select-interaction-response-structure */
287
313
  export type DiscordUserSelectInteractionResponseFromMessageComponent = Require<Omit<DiscordUserSelectInteractionResponse, 'type'>, 'component_type'>;
314
+ /** https://docs.discord.com/developers/components/reference#role-select-role-select-structure */
315
+ export interface DiscordRoleSelectComponent extends DiscordBaseComponent {
316
+ type: MessageComponentTypes.RoleSelect;
317
+ /** A custom identifier for this component. Maximum 100 characters. */
318
+ custom_id: string;
319
+ /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
320
+ placeholder?: string;
321
+ /**
322
+ * List of default values for auto-populated select menu components
323
+ * The number of default values must be in the range defined by minValues and maxValues
324
+ */
325
+ default_values?: DiscordSelectMenuDefaultValue[];
326
+ /** The minimum number of items that must be selected. Default 1. Between 0-25. */
327
+ min_values?: number;
328
+ /** The maximum number of items that can be selected. Default 1. Max 25. */
329
+ max_values?: number;
330
+ /**
331
+ * Whether this component is required to be filled
332
+ *
333
+ * @remarks
334
+ * This value is only valid for string select menus in modals
335
+ *
336
+ * @default true
337
+ */
338
+ required?: boolean;
339
+ /**
340
+ * Whether select menu is disabled
341
+ *
342
+ * @remarks
343
+ * This value cannot be set for select menus in modals
344
+ *
345
+ * @default false
346
+ */
347
+ disabled?: boolean;
348
+ }
288
349
  /** https://docs.discord.com/developers/components/reference#role-select-role-select-interaction-response-structure */
289
350
  export interface DiscordRoleSelectInteractionResponse {
290
351
  /**
@@ -310,6 +371,41 @@ export interface DiscordRoleSelectInteractionResponse {
310
371
  export type DiscordRoleSelectInteractionResponseFromModal = Require<Omit<DiscordRoleSelectInteractionResponse, 'component_type'>, 'type'>;
311
372
  /** https://docs.discord.com/developers/components/reference#role-select-role-select-interaction-response-structure */
312
373
  export type DiscordRoleSelectInteractionResponseFromMessageComponent = Require<Omit<DiscordRoleSelectInteractionResponse, 'type'>, 'component_type'>;
374
+ /** https://docs.discord.com/developers/components/reference#mentionable-select-mentionable-select-structure */
375
+ export interface DiscordMentionableSelectComponent extends DiscordBaseComponent {
376
+ type: MessageComponentTypes.MentionableSelect;
377
+ /** A custom identifier for this component. Maximum 100 characters. */
378
+ custom_id: string;
379
+ /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
380
+ placeholder?: string;
381
+ /**
382
+ * List of default values for auto-populated select menu components
383
+ * The number of default values must be in the range defined by minValues and maxValues
384
+ */
385
+ default_values?: DiscordSelectMenuDefaultValue[];
386
+ /** The minimum number of items that must be selected. Default 1. Between 0-25. */
387
+ min_values?: number;
388
+ /** The maximum number of items that can be selected. Default 1. Max 25. */
389
+ max_values?: number;
390
+ /**
391
+ * Whether this component is required to be filled
392
+ *
393
+ * @remarks
394
+ * This value is only valid for string select menus in modals
395
+ *
396
+ * @default true
397
+ */
398
+ required?: boolean;
399
+ /**
400
+ * Whether select menu is disabled
401
+ *
402
+ * @remarks
403
+ * This value cannot be set for select menus in modals
404
+ *
405
+ * @default false
406
+ */
407
+ disabled?: boolean;
408
+ }
313
409
  /** https://docs.discord.com/developers/components/reference#mentionable-select-mentionable-select-interaction-response-structure */
314
410
  export interface DiscordMentionableSelectInteractionResponse {
315
411
  /**
@@ -335,6 +431,43 @@ export interface DiscordMentionableSelectInteractionResponse {
335
431
  export type DiscordMentionableSelectInteractionResponseFromModal = Require<Omit<DiscordMentionableSelectInteractionResponse, 'component_type'>, 'type'>;
336
432
  /** https://docs.discord.com/developers/components/reference#mentionable-select-mentionable-select-interaction-response-structure */
337
433
  export type DiscordMentionableSelectInteractionResponseFromMessageComponent = Require<Omit<DiscordMentionableSelectInteractionResponse, 'type'>, 'component_type'>;
434
+ /** https://docs.discord.com/developers/components/reference#channel-select-channel-select-structure */
435
+ export interface DiscordChannelSelectComponent extends DiscordBaseComponent {
436
+ type: MessageComponentTypes.ChannelSelect;
437
+ /** A custom identifier for this component. Maximum 100 characters. */
438
+ custom_id: string;
439
+ /** List of channel types to include in the options list */
440
+ channel_types?: ChannelTypes[];
441
+ /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
442
+ placeholder?: string;
443
+ /**
444
+ * List of default values for auto-populated select menu components
445
+ * The number of default values must be in the range defined by minValues and maxValues
446
+ */
447
+ default_values?: DiscordSelectMenuDefaultValue[];
448
+ /** The minimum number of items that must be selected. Default 1. Between 0-25. */
449
+ min_values?: number;
450
+ /** The maximum number of items that can be selected. Default 1. Max 25. */
451
+ max_values?: number;
452
+ /**
453
+ * Whether this component is required to be filled
454
+ *
455
+ * @remarks
456
+ * This value is only valid for string select menus in modals
457
+ *
458
+ * @default true
459
+ */
460
+ required?: boolean;
461
+ /**
462
+ * Whether select menu is disabled
463
+ *
464
+ * @remarks
465
+ * This value cannot be set for select menus in modals
466
+ *
467
+ * @default false
468
+ */
469
+ disabled?: boolean;
470
+ }
338
471
  /** https://docs.discord.com/developers/components/reference#channel-select-channel-select-interaction-response-structure */
339
472
  export interface DiscordChannelSelectInteractionResponse {
340
473
  /**
@@ -457,7 +590,7 @@ export interface DiscordLabelComponent extends DiscordBaseComponent {
457
590
  */
458
591
  description?: string;
459
592
  /** The component within the label */
460
- component: DiscordTextInputComponent | DiscordSelectMenuComponent | DiscordFileUploadComponent;
593
+ component: DiscordTextInputComponent | DiscordFileUploadComponent | DiscordRadioGroupComponent | DiscordCheckboxGroupComponent | DiscordCheckboxComponent | DiscordStringSelectComponent | DiscordUserSelectComponent | DiscordRoleSelectComponent | DiscordMentionableSelectComponent | DiscordChannelSelectComponent | DiscordFileUploadComponent;
461
594
  }
462
595
  /** https://docs.discord.com/developers/components/reference#label-label-interaction-response-structure */
463
596
  export interface DiscordLabelInteractionResponse {
@@ -465,7 +598,7 @@ export interface DiscordLabelInteractionResponse {
465
598
  /** 32 bit integer used as an optional identifier for component */
466
599
  id: number;
467
600
  /** The component within the label */
468
- component: DiscordTextInputInteractionResponse | DiscordStringSelectInteractionResponseFromModal | DiscordUserSelectInteractionResponseFromModal | DiscordRoleSelectInteractionResponseFromModal | DiscordMentionableSelectInteractionResponseFromModal | DiscordChannelSelectInteractionResponseFromModal | DiscordFileUploadInteractionResponse;
601
+ component: DiscordTextInputInteractionResponse | DiscordStringSelectInteractionResponseFromModal | DiscordUserSelectInteractionResponseFromModal | DiscordRoleSelectInteractionResponseFromModal | DiscordMentionableSelectInteractionResponseFromModal | DiscordChannelSelectInteractionResponseFromModal | DiscordFileUploadInteractionResponse | DiscordRadioGroupInteractionResponse | DiscordCheckboxGroupInteractionResponse | DiscordCheckboxInteractionResponse;
469
602
  }
470
603
  /** https://docs.discord.com/developers/components/reference#file-upload-file-upload-structure */
471
604
  export interface DiscordFileUploadComponent extends DiscordBaseComponent {
@@ -506,6 +639,90 @@ export interface DiscordFileUploadInteractionResponse {
506
639
  /** IDs of the uploaded files found in the resolved data */
507
640
  values: string[];
508
641
  }
642
+ /** https://docs.discord.com/developers/components/reference#radio-group-structure */
643
+ export interface DiscordRadioGroupComponent extends DiscordBaseComponent {
644
+ type: MessageComponentTypes.RadioGroup;
645
+ /** A dev-defined unique string for the component; 1-100 characters. */
646
+ custom_id: string;
647
+ /** List of options to show; min 2, max 10. */
648
+ options: DiscordRadioGroupOption[];
649
+ /** Whether a selection is required to submit the modal. Defaults to `true`. */
650
+ required?: boolean;
651
+ }
652
+ /** https://docs.discord.com/developers/components/reference#radio-group-option-structure */
653
+ export interface DiscordRadioGroupOption {
654
+ /** The dev-defined value of the option. Maximum 100 characters. */
655
+ value: string;
656
+ /** The user-facing label of the option. Maximum 100 characters. */
657
+ label: string;
658
+ /** An optional description for the option. Maximum 100 characters. */
659
+ description?: string;
660
+ /** Will render this option as already-selected by default. */
661
+ default?: boolean;
662
+ }
663
+ /** https://docs.discord.com/developers/components/reference#radio-group-interaction-response-structure */
664
+ export interface DiscordRadioGroupInteractionResponse {
665
+ type: MessageComponentTypes.RadioGroup;
666
+ /** 32 bit integer used as an optional identifier for component */
667
+ id: number;
668
+ /** The custom id for the radio group */
669
+ custom_id: string;
670
+ /** The value of the selected option, or null if no option is selected */
671
+ value?: string | null;
672
+ }
673
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-structure */
674
+ export interface DiscordCheckboxGroupComponent extends DiscordBaseComponent {
675
+ type: MessageComponentTypes.CheckboxGroup;
676
+ /** A dev-defined unique string for the component; 1-100 characters. */
677
+ custom_id: string;
678
+ /** List of options to show; min 1, max 10. */
679
+ options: DiscordCheckboxGroupOption[];
680
+ /** Minimum number of items that must be chosen; min 0, max 10. Defaults to 1; if set to 0 required must be false. */
681
+ min_values?: number;
682
+ /** Maximum number of items that can be chosen; min 1, max 10. Defaults to the number of options. */
683
+ max_values?: number;
684
+ /** Whether selecting within the group is required. Defaults to `true`. */
685
+ required?: boolean;
686
+ }
687
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-option-structure */
688
+ export interface DiscordCheckboxGroupOption {
689
+ /** The dev-defined value of the option. Maximum 100 characters. */
690
+ value: string;
691
+ /** The user-facing label of the option. Maximum 100 characters. */
692
+ label: string;
693
+ /** An optional description for the option. Maximum 100 characters. */
694
+ description?: string;
695
+ /** Will render this option as already-selected by default. */
696
+ default?: boolean;
697
+ }
698
+ /** https://docs.discord.com/developers/components/reference#checkbox-group-interaction-response-structure */
699
+ export interface DiscordCheckboxGroupInteractionResponse {
700
+ type: MessageComponentTypes.CheckboxGroup;
701
+ /** 32 bit integer used as an optional identifier for component */
702
+ id: number;
703
+ /** The custom id for the checkbox group */
704
+ custom_id: string;
705
+ /** The values of the selected options, or an empty array if no options are selected */
706
+ values: string[];
707
+ }
708
+ /** https://docs.discord.com/developers/components/reference#checkbox-structure */
709
+ export interface DiscordCheckboxComponent extends DiscordBaseComponent {
710
+ type: MessageComponentTypes.Checkbox;
711
+ /** A dev-defined unique string for the component; 1-100 characters. */
712
+ custom_id: string;
713
+ /** Whether the checkbox is selected by default. */
714
+ default?: boolean;
715
+ }
716
+ /** https://docs.discord.com/developers/components/reference#checkbox-interaction-response-structure */
717
+ export interface DiscordCheckboxInteractionResponse {
718
+ type: MessageComponentTypes.Checkbox;
719
+ /** 32 bit integer used as an optional identifier for component */
720
+ id: number;
721
+ /** The custom id for the checkbox */
722
+ custom_id: string;
723
+ /** The state of the checkbox (true if checked, false if unchecked) */
724
+ value: boolean;
725
+ }
509
726
  /** https://docs.discord.com/developers/components/reference#unfurled-media-item-structure */
510
727
  export interface DiscordUnfurledMediaItem {
511
728
  /** Supports arbitrary urls and attachment://<filename> references */
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/discord/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/discord/components.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAExE,gGAAgG;AAChG,oBAAY,qBAAqB;IAC/B,uCAAuC;IACvC,SAAS,IAAI;IACb,sBAAsB;IACtB,MAAM,IAAA;IACN,6CAA6C;IAC7C,YAAY,IAAA;IACZ,0BAA0B;IAC1B,SAAS,IAAA;IACT,4BAA4B;IAC5B,UAAU,IAAA;IACV,4BAA4B;IAC5B,UAAU,IAAA;IACV,sCAAsC;IACtC,iBAAiB,IAAA;IACjB,+BAA+B;IAC/B,aAAa,IAAA;IACb,iEAAiE;IACjE,OAAO,IAAA;IACP,oBAAoB;IACpB,WAAW,KAAA;IACX,mDAAmD;IACnD,SAAS,KAAA;IACT,qCAAqC;IACrC,YAAY,KAAA;IACZ,gCAAgC;IAChC,IAAI,KAAA;IACJ,iEAAiE;IACjE,SAAS,KAAA;IACT,yDAAyD;IACzD,SAAS,KAAK;IACd,qEAAqE;IACrE,KAAK,KAAA;IACL,oCAAoC;IACpC,UAAU,KAAA;IACV,oFAAoF;IACpF,UAAU,KAAK;IACf,gFAAgF;IAChF,aAAa,KAAK;IAClB,gEAAgE;IAChE,QAAQ,KAAK;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,EAAE,CAAC;AACjE,MAAM,MAAM,uBAAuB,GAC/B,gBAAgB,GAChB,4BAA4B,GAC5B,0BAA0B,GAC1B,0BAA0B,GAC1B,iCAAiC,GACjC,6BAA6B,GAC7B,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,2BAA2B,GAC3B,yBAAyB,GACzB,4BAA4B,GAC5B,yBAAyB,GACzB,yBAAyB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,GAC7B,wBAAwB,CAAC;AAE7B,MAAM,MAAM,mDAAmD,GAC3D,mCAAmC,GACnC,qCAAqC,GACrC,+BAA+B,GAC/B,oCAAoC,GACpC,uCAAuC,GACvC,kCAAkC,GAClC,6CAA6C,GAC7C,6CAA6C,GAC7C,+CAA+C,GAC/C,gDAAgD,GAChD,oDAAoD,CAAC;AAEzD,MAAM,MAAM,8DAA8D,GACtE,wDAAwD,GACxD,wDAAwD,GACxD,0DAA0D,GAC1D,2DAA2D,GAC3D,+DAA+D,CAAC;AAEpE,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAEtC;;;;;;;;OAQG;IACH,UAAU,EAAE,CACR,sBAAsB,GACtB,4BAA4B,GAC5B,0BAA0B,GAC1B,0BAA0B,GAC1B,iCAAiC,GACjC,6BAA6B,GAC7B,yBAAyB,CAC5B,EAAE,CAAC;CACL;AAED,uFAAuF;AACvF,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAClE,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;IAEnC,iDAAiD;IACjD,KAAK,EAAE,YAAY,CAAC;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAChE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oFAAoF;AACpF,oBAAY,YAAY;IACtB,uBAAuB;IACvB,OAAO,IAAI;IACX,oBAAoB;IACpB,SAAS,IAAA;IACT,qBAAqB;IACrB,OAAO,IAAA;IACP,mBAAmB;IACnB,MAAM,IAAA;IACN,uCAAuC;IACvC,IAAI,IAAA;IACJ,0DAA0D;IAC1D,OAAO,IAAA;CACR;AAED,qGAAqG;AACrG,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,IAAI,EAAE,qBAAqB,CAAC,YAAY,CAAC;IAEzC,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qGAAqG;AACrG,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAChE,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2HAA2H;AAC3H,MAAM,WAAW,sCAAsC;IACrD;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC;IACpD,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,0HAA0H;AAC1H,MAAM,MAAM,+CAA+C,GAAG,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9I,0HAA0H;AAC1H,MAAM,MAAM,0DAA0D,GAAG,OAAO,CAC9E,IAAI,CAAC,sCAAsC,EAAE,MAAM,CAAC,EACpD,gBAAgB,CACjB,CAAC;AAEF,+FAA+F;AAC/F,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAEtC,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4FAA4F;AAC5F,oBAAY,UAAU;IACpB,0CAA0C;IAC1C,KAAK,IAAI;IACT,sCAAsC;IACtC,SAAS,IAAI;CACd;AAED,oHAAoH;AACpH,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IACtC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iGAAiG;AACjG,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAEvC,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACjD,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0GAA0G;AAC1G,MAAM,WAAW,6BAA6B;IAC5C,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,sHAAsH;AACtH,MAAM,WAAW,oCAAoC;IACnD;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAClD,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,8BAA8B,CAAC;IACzC,gCAAgC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sHAAsH;AACtH,MAAM,MAAM,6CAA6C,GAAG,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1I,sHAAsH;AACtH,MAAM,MAAM,wDAAwD,GAAG,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAErJ,iGAAiG;AACjG,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAEvC,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACjD,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sHAAsH;AACtH,MAAM,WAAW,oCAAoC;IACnD;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAClD,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,8BAA8B,CAAC;IACzC,gCAAgC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sHAAsH;AACtH,MAAM,MAAM,6CAA6C,GAAG,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1I,sHAAsH;AACtH,MAAM,MAAM,wDAAwD,GAAG,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAErJ,+GAA+G;AAC/G,MAAM,WAAW,iCAAkC,SAAQ,oBAAoB;IAC7E,IAAI,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;IAE9C,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACjD,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oIAAoI;AACpI,MAAM,WAAW,2CAA2C;IAC1D;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;IAC/C;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;IACzD,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,8BAA8B,CAAC;IACzC,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,oIAAoI;AACpI,MAAM,MAAM,oDAAoD,GAAG,OAAO,CACxE,IAAI,CAAC,2CAA2C,EAAE,gBAAgB,CAAC,EACnE,MAAM,CACP,CAAC;AACF,oIAAoI;AACpI,MAAM,MAAM,+DAA+D,GAAG,OAAO,CACnF,IAAI,CAAC,2CAA2C,EAAE,MAAM,CAAC,EACzD,gBAAgB,CACjB,CAAC;AAEF,uGAAuG;AACvG,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACzE,IAAI,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAE1C,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACjD,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4HAA4H;AAC5H,MAAM,WAAW,uCAAuC;IACtD;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAC3C;;;OAGG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC;IACrD,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,8BAA8B,CAAC;IACzC,mCAAmC;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,4HAA4H;AAC5H,MAAM,MAAM,gDAAgD,GAAG,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAChJ,4HAA4H;AAC5H,MAAM,MAAM,2DAA2D,GAAG,OAAO,CAC/E,IAAI,CAAC,uCAAuC,EAAE,MAAM,CAAC,EACrD,gBAAgB,CACjB,CAAC;AAEF,yFAAyF;AACzF,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAEpC,mCAAmC;IACnC,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,wGAAwG;IACxG,SAAS,EAAE,sBAAsB,GAAG,yBAAyB,CAAC;CAC/D;AAED,mGAAmG;AACnG,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;IAExC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wHAAwH;AACxH,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;IACxC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAEtC,0BAA0B;IAC1B,KAAK,EAAE,wBAAwB,CAAC;IAChC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qGAAqG;AACrG,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,IAAI,EAAE,qBAAqB,CAAC,YAAY,CAAC;IAEzC,kCAAkC;IAClC,KAAK,EAAE,uBAAuB,EAAE,CAAC;CAClC;AAED,0GAA0G;AAC1G,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,KAAK,EAAE,wBAAwB,CAAC;IAChC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;IAEjC,iIAAiI;IACjI,IAAI,EAAE,wBAAwB,CAAC;IAC/B,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,2GAA2G;IAC3G,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6FAA6F;AAC7F,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAEtC,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gGAAgG;IAChG,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,kHAAkH;AAClH,oBAAY,oBAAoB;IAC9B,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,6FAA6F;AAC7F,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAEtC,kGAAkG;IAClG,UAAU,EAAE,KAAK,CACb,gBAAgB,GAChB,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,yBAAyB,GACzB,oBAAoB,CACvB,CAAC;IACF,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAElC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,SAAS,EACL,yBAAyB,GACzB,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,GAC7B,wBAAwB,GACxB,4BAA4B,GAC5B,0BAA0B,GAC1B,0BAA0B,GAC1B,iCAAiC,GACjC,6BAA6B,GAC7B,0BAA0B,CAAC;CAChC;AAED,0GAA0G;AAC1G,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAClC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,SAAS,EACL,mCAAmC,GACnC,+CAA+C,GAC/C,6CAA6C,GAC7C,6CAA6C,GAC7C,oDAAoD,GACpD,gDAAgD,GAChD,oCAAoC,GACpC,oCAAoC,GACpC,uCAAuC,GACvC,kCAAkC,CAAC;CACxC;AAED,iGAAiG;AACjG,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAEvC,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sHAAsH;AACtH,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAEvC,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qFAAqF;AACrF,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACvC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4FAA4F;AAC5F,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,0GAA0G;AAC1G,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACvC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wFAAwF;AACxF,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACzE,IAAI,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAC1C,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,qHAAqH;IACrH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,+FAA+F;AAC/F,MAAM,WAAW,0BAA0B;IACzC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6GAA6G;AAC7G,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAC1C,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,kFAAkF;AAClF,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC;IACrC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,uGAAuG;AACvG,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC;IACrC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,6FAA6F;AAC7F,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,+GAA+G;IAC/G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2GAA2G;IAC3G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wKAAwK;IACxK,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
@@ -16,6 +16,9 @@
16
16
  /** Container that visually groups a set of components */ MessageComponentTypes[MessageComponentTypes["Container"] = 17] = "Container";
17
17
  /** Container associating a label and description with a component */ MessageComponentTypes[MessageComponentTypes["Label"] = 18] = "Label";
18
18
  /** Component for uploading files */ MessageComponentTypes[MessageComponentTypes["FileUpload"] = 19] = "FileUpload";
19
+ /** An interactive component for selecting exactly one option from a defined list */ MessageComponentTypes[MessageComponentTypes["RadioGroup"] = 21] = "RadioGroup";
20
+ /** An interactive component for selecting one or many options via checkboxes */ MessageComponentTypes[MessageComponentTypes["CheckboxGroup"] = 22] = "CheckboxGroup";
21
+ /** A single interactive component for yes/no style questions */ MessageComponentTypes[MessageComponentTypes["Checkbox"] = 23] = "Checkbox";
19
22
  return MessageComponentTypes;
20
23
  }({});
21
24
  /** https://docs.discord.com/developers/components/reference#button-button-styles */ export var ButtonStyles = /*#__PURE__*/ function(ButtonStyles) {
@@ -38,4 +41,4 @@
38
41
  return SeparatorSpacingSize;
39
42
  }({});
40
43
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkL2NvbXBvbmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGVzIGZvcjogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UgKi9cblxuaW1wb3J0IHR5cGUgeyBSZXF1aXJlIH0gZnJvbSAnLi4vc2hhcmVkLmpzJztcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbFR5cGVzIH0gZnJvbSAnLi9jaGFubmVsLmpzJztcbmltcG9ydCB0eXBlIHsgRGlzY29yZEVtb2ppIH0gZnJvbSAnLi9lbW9qaS5qcyc7XG5pbXBvcnQgdHlwZSB7IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB9IGZyb20gJy4vaW50ZXJhY3Rpb25zLmpzJztcblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2NvbXBvbmVudC1vYmplY3QtY29tcG9uZW50LXR5cGVzICovXG5leHBvcnQgZW51bSBNZXNzYWdlQ29tcG9uZW50VHlwZXMge1xuICAvKiogQSBjb250YWluZXIgZm9yIG90aGVyIGNvbXBvbmVudHMgKi9cbiAgQWN0aW9uUm93ID0gMSxcbiAgLyoqIEEgYnV0dG9uIG9iamVjdCAqL1xuICBCdXR0b24sXG4gIC8qKiBBIHNlbGVjdCBtZW51IGZvciBwaWNraW5nIGZyb20gY2hvaWNlcyAqL1xuICBTdHJpbmdTZWxlY3QsXG4gIC8qKiBBIHRleHQgaW5wdXQgb2JqZWN0ICovXG4gIFRleHRJbnB1dCxcbiAgLyoqIFNlbGVjdCBtZW51IGZvciB1c2VycyAqL1xuICBVc2VyU2VsZWN0LFxuICAvKiogU2VsZWN0IG1lbnUgZm9yIHJvbGVzICovXG4gIFJvbGVTZWxlY3QsXG4gIC8qKiBTZWxlY3QgbWVudSBmb3IgdXNlcnMgYW5kIHJvbGVzICovXG4gIE1lbnRpb25hYmxlU2VsZWN0LFxuICAvKiogU2VsZWN0IG1lbnUgZm9yIGNoYW5uZWxzICovXG4gIENoYW5uZWxTZWxlY3QsXG4gIC8qKiBDb250YWluZXIgdG8gZGlzcGxheSB0ZXh0IGFsb25nc2lkZSBhbiBhY2Nlc3NvcnkgY29tcG9uZW50ICovXG4gIFNlY3Rpb24sXG4gIC8qKiBNYXJrZG93biB0ZXh0ICovXG4gIFRleHREaXNwbGF5LFxuICAvKiogU21hbGwgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCBhcyBhbiBhY2Nlc3NvcnkgKi9cbiAgVGh1bWJuYWlsLFxuICAvKiogRGlzcGxheSBpbWFnZXMgYW5kIG90aGVyIG1lZGlhICovXG4gIE1lZGlhR2FsbGVyeSxcbiAgLyoqIERpc3BsYXlzIGFuIGF0dGFjaGVkIGZpbGUgKi9cbiAgRmlsZSxcbiAgLyoqIENvbXBvbmVudCB0byBhZGQgdmVydGljYWwgcGFkZGluZyBiZXR3ZWVuIG90aGVyIGNvbXBvbmVudHMgKi9cbiAgU2VwYXJhdG9yLFxuICAvKiogQ29udGFpbmVyIHRoYXQgdmlzdWFsbHkgZ3JvdXBzIGEgc2V0IG9mIGNvbXBvbmVudHMgKi9cbiAgQ29udGFpbmVyID0gMTcsXG4gIC8qKiBDb250YWluZXIgYXNzb2NpYXRpbmcgYSBsYWJlbCBhbmQgZGVzY3JpcHRpb24gd2l0aCBhIGNvbXBvbmVudCAqL1xuICBMYWJlbCxcbiAgLyoqIENvbXBvbmVudCBmb3IgdXBsb2FkaW5nIGZpbGVzICovXG4gIEZpbGVVcGxvYWQsXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50cyA9IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50W107XG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCA9XG4gIHwgRGlzY29yZEFjdGlvblJvd1xuICB8IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50XG4gIHwgRGlzY29yZEJ1dHRvbkNvbXBvbmVudFxuICB8IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnRcbiAgfCBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFxuICB8IERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFxuICB8IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnRcbiAgfCBEaXNjb3JkTWVkaWFHYWxsZXJ5Q29tcG9uZW50XG4gIHwgRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudFxuICB8IERpc2NvcmRDb250YWluZXJDb21wb25lbnRcbiAgfCBEaXNjb3JkRmlsZUNvbXBvbmVudFxuICB8IERpc2NvcmRMYWJlbENvbXBvbmVudFxuICB8IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50O1xuXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UgPVxuICB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlXG4gIHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZVxuICB8IERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2U7XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50RnJvbU1lc3NhZ2VDb21wb25lbnRJbnRlcmFjdGlvblJlc3BvbnNlID1cbiAgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTWVzc2FnZUNvbXBvbmVudFxuICB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50XG4gIHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTWVzc2FnZUNvbXBvbmVudFxuICB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50XG4gIHwgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50O1xuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjYW5hdG9teS1vZi1hLWNvbXBvbmVudCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgY29tcG9uZW50ICovXG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcztcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkPzogbnVtYmVyO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjYWN0aW9uLXJvdy1hY3Rpb24tcm93LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aW9uUm93IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93O1xuXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50cyBpbiB0aGlzIHJvd1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBVcCB0byA1IGJ1dHRvbiBjb21wb25lbnRzLCBhIHNpbmdsZSBzZWxlY3QgY29tcG9uZW50IG9yIGEgc2luZ2xlIHRleHQgaW5wdXQgY29tcG9uZW50XG4gICAqXG4gICAqIFVzaW5nIGEge0BsaW5rIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnR9IGluc2lkZSB0aGUgQWN0aW9uIFJvdyBpcyBkZXByZWNhdGVkLFxuICAgKiB1c2UgYSB7QGxpbmsgRGlzY29yZExhYmVsQ29tcG9uZW50fSBmb3IgbW9kYWxzXG4gICAqL1xuICBjb21wb25lbnRzOiAoRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB8IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHwgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudClbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2J1dHRvbi1idXR0b24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b247XG5cbiAgLyoqIEZvciBkaWZmZXJlbnQgc3R5bGVzL2NvbG9ycyBvZiB0aGUgYnV0dG9ucyAqL1xuICBzdHlsZTogQnV0dG9uU3R5bGVzO1xuICAvKipcbiAgICogVGV4dCB0aGF0IGFwcGVhcnMgb24gdGhlIGJ1dHRvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGxhYmVsIGNhbiBoYXZlIGEgbWF4IG9mIDgwIGNoYXJhY3RlcnNcbiAgICogQSBidXR0b24gb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gY2Fubm90IGhhdmUgYSBsYWJlbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbW9qaSBvYmplY3QgdGhhdCBpbmNsdWRlcyBmaWVsZHMgb2YgbmFtZSwgaWQsIGFuZCBhbmltYXRlZCBzdXBwb3J0aW5nIHVuaWNvZGUgYW5kIGN1c3RvbSBlbW9qaXMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEEgYnV0dG9uIG9mIHN0eWxlIHtAbGluayBCdXR0b25TdHlsZXMuUHJlbWl1bSB8IFByZW1pdW19IGNhbm5vdCBoYXZlIGFuIGVtb2ppXG4gICAqL1xuICBlbW9qaT86IFBpY2s8RGlzY29yZEVtb2ppLCAnaWQnIHwgJ25hbWUnIHwgJ2FuaW1hdGVkJz47XG4gIC8qKlxuICAgKiBBIGRldi1kZWZpbmVkIHVuaXF1ZSBzdHJpbmcgc2VudCBvbiBjbGljayAobWF4IDEwMCBjaGFyYWN0ZXJzKS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQSBidXR0b24gb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5MaW5rIHwgTGlua30gb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gY2Fubm90IGhhdmUgYSBjdXN0b21faWRcbiAgICovXG4gIGN1c3RvbV9pZD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIGEgcHVyY2hhc2FibGUgU0tVXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEJ1dHRvbnMgb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gbXVzdCBoYXZlIGEgc2t1X2lkLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGEgYSBza3VfaWRcbiAgICovXG4gIHNrdV9pZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVybCBmb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5MaW5rIHwgbGlua30gYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIHdlYi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQnV0dG9ucyBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBtdXN0IGhhdmUgYW4gdXJsLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGFuIHVybFxuICAgKlxuICAgKiBNYXhpbXVtIDUxMiBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgdXJsPzogc3RyaW5nO1xuICAvKiogV2hldGhlciBvciBub3QgdGhpcyBidXR0b24gaXMgZGlzYWJsZWQgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjYnV0dG9uLWJ1dHRvbi1zdHlsZXMgKi9cbmV4cG9ydCBlbnVtIEJ1dHRvblN0eWxlcyB7XG4gIC8qKiBBIGJsdXJwbGUgYnV0dG9uICovXG4gIFByaW1hcnkgPSAxLFxuICAvKiogQSBncmV5IGJ1dHRvbiAqL1xuICBTZWNvbmRhcnksXG4gIC8qKiBBIGdyZWVuIGJ1dHRvbiAqL1xuICBTdWNjZXNzLFxuICAvKiogQSByZWQgYnV0dG9uICovXG4gIERhbmdlcixcbiAgLyoqIEEgYnV0dG9uIHRoYXQgbmF2aWdhdGVzIHRvIGEgVVJMICovXG4gIExpbmssXG4gIC8qKiBBIGJsdXJwbGUgYnV0dG9uIHRvIHNob3cgYSBQcmVtaXVtIGl0ZW0gaW4gdGhlIHNob3AgKi9cbiAgUHJlbWl1bSxcbn1cblxuLyoqXG4gKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNzdHJpbmctc2VsZWN0XG4gKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN1c2VyLXNlbGVjdFxuICogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujcm9sZS1zZWxlY3RcbiAqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI21lbnRpb25hYmxlLXNlbGVjdFxuICogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hhbm5lbC1zZWxlY3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTpcbiAgICB8IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3RcbiAgICB8IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0XG4gICAgfCBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdFxuICAgIHwgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0XG4gICAgfCBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDtcblxuICAvKiogQSBjdXN0b20gaWRlbnRpZmllciBmb3IgdGhpcyBjb21wb25lbnQuIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogU3BlY2lmaWVkIGNob2ljZXMgaW4gYSBzZWxlY3QgbWVudTsgTWF4aW11bSBvZiAyNSBpdGVtcy4gKi9cbiAgb3B0aW9ucz86IERpc2NvcmRTZWxlY3RPcHRpb25bXTtcbiAgLyoqIEEgY3VzdG9tIHBsYWNlaG9sZGVyIHRleHQgaWYgbm90aGluZyBpcyBzZWxlY3RlZC4gTWF4aW11bSAxNTAgY2hhcmFjdGVycy4gKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgbWluaW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBtdXN0IGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIEJldHdlZW4gMC0yNS4gKi9cbiAgbWluX3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBNYXggMjUuICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGlzIG9ubHkgdmFsaWQgZm9yIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBzZWxlY3QgbWVudSBpcyBkaXNhYmxlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgZm9yIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZGVmYXVsdCB2YWx1ZXMgZm9yIGF1dG8tcG9wdWxhdGVkIHNlbGVjdCBtZW51IGNvbXBvbmVudHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhlIG51bWJlciBvZiBkZWZhdWx0IHZhbHVlcyBtdXN0IGJlIGluIHRoZSByYW5nZSBkZWZpbmVkIGJ5IG1pbl92YWx1ZXMgYW5kIG1heF92YWx1ZXNcbiAgICovXG4gIGRlZmF1bHRfdmFsdWVzPzogRGlzY29yZFNlbGVjdE1lbnVEZWZhdWx0VmFsdWVbXTtcbiAgLyoqIExpc3Qgb2YgY2hhbm5lbCB0eXBlcyB0byBpbmNsdWRlIGluIGEgY2hhbm5lbCBzZWxlY3QgbWVudSBvcHRpb25zIGxpc3QgKi9cbiAgY2hhbm5lbF90eXBlcz86IENoYW5uZWxUeXBlc1tdO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujc3RyaW5nLXNlbGVjdC1zZWxlY3Qtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0T3B0aW9uIHtcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBuYW1lIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMjUgY2hhcmFjdGVycy4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqIFRoZSBkZXYtZGVmaW5lZCB2YWx1ZSBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogQW4gYWRkaXRpb25hbCBkZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDUwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogVGhlIGlkLCBuYW1lLCBhbmQgYW5pbWF0ZWQgcHJvcGVydGllcyBvZiBhbiBlbW9qaS4gKi9cbiAgZW1vamk/OiBQaWNrPERpc2NvcmRFbW9qaSwgJ2lkJyB8ICduYW1lJyB8ICdhbmltYXRlZCc+O1xuICAvKiogV2lsbCByZW5kZXIgdGhpcyBvcHRpb24gYXMgYWxyZWFkeS1zZWxlY3RlZCBieSBkZWZhdWx0LiAqL1xuICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3N0cmluZy1zZWxlY3Qtc3RyaW5ncy1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbW9kYWxzXG4gICAqL1xuICB0eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbWVzc2FnZSBpbnRlcmFjdGlvbnNcbiAgICovXG4gIGNvbXBvbmVudF90eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgc3RyaW5nIHNlbGVjdCBtZW51ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogVGhlIHRleHQgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbnMgKi9cbiAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3N0cmluZy1zZWxlY3Qtc3RyaW5nLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsID0gUmVxdWlyZTxPbWl0PERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAnY29tcG9uZW50X3R5cGUnPiwgJ3R5cGUnPjtcbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNzdHJpbmctc2VsZWN0LXN0cmluZy1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50ID0gUmVxdWlyZTxcbiAgT21pdDxEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ3R5cGUnPixcbiAgJ2NvbXBvbmVudF90eXBlJ1xuPjtcblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3RleHQtaW5wdXQtdGV4dC1pbnB1dC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dDtcblxuICAvKiogVGhlIGN1c3RvbUlkIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBUaGUgc3R5bGUgb2YgdGhlIElucHV0VGV4dCAqL1xuICBzdHlsZTogVGV4dFN0eWxlcztcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBvZiB0aGUgSW5wdXRUZXh0LlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBNYXhpbXVtIDQ1IGNoYXJhY3RlcnNcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZyb20gdGhlIHtAbGluayBEaXNjb3JkTGFiZWxDb21wb25lbnR9XG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIFRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtaW5fbGVuZ3RoPzogbnVtYmVyO1xuICAvKiogVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSB0ZXh0IHRoZSB1c2VyIGhhcyB0byBwcm92aWRlICovXG4gIG1heF9sZW5ndGg/OiBudW1iZXI7XG4gIC8qKiB3aGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZCwgZGVmYXVsdCB0cnVlICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFByZS1maWxsZWQgdmFsdWUgZm9yIGlucHV0IHRleHQuICovXG4gIHZhbHVlPzogc3RyaW5nO1xuICAvKiogVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN0ZXh0LWlucHV0LXRleHQtaW5wdXQtc3R5bGVzICovXG5leHBvcnQgZW51bSBUZXh0U3R5bGVzIHtcbiAgLyoqIEludGVuZGVkIGZvciBzaG9ydCBzaW5nbGUtbGluZSB0ZXh0ICovXG4gIFNob3J0ID0gMSxcbiAgLyoqIEludGVuZGVkIGZvciBtdWNoIGxvbmdlciBpbnB1dHMgKi9cbiAgUGFyYWdyYXBoID0gMixcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3RleHQtaW5wdXQtdGV4dC1pbnB1dC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0O1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSB0ZXh0IGlucHV0ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogVGhlIHVzZXIncyBpbnB1dCB0ZXh0ICovXG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN1c2VyLXNlbGVjdC1zZWxlY3QtZGVmYXVsdC12YWx1ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNlbGVjdE1lbnVEZWZhdWx0VmFsdWUge1xuICAvKiogSUQgb2YgYSB1c2VyLCByb2xlLCBvciBjaGFubmVsICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBUeXBlIG9mIHZhbHVlIHRoYXQgaWQgcmVwcmVzZW50cy4gKi9cbiAgdHlwZTogJ3VzZXInIHwgJ3JvbGUnIHwgJ2NoYW5uZWwnO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjdXNlci1zZWxlY3QtdXNlci1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1vZGFsc1xuICAgKi9cbiAgdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0O1xuICAvKipcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBvbmx5IHJldHVybmVkIGZvciBpbnRlcmFjdGlvbiByZXNwb25zZXMgZnJvbSBtZXNzYWdlIGludGVyYWN0aW9uc1xuICAgKi9cbiAgY29tcG9uZW50X3R5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgdXNlciBzZWxlY3QgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBSZXNvbHZlZCBlbnRpdGllcyBmcm9tIHNlbGVjdGVkIG9wdGlvbnMgKi9cbiAgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDtcbiAgLyoqIElEcyBvZiB0aGUgc2VsZWN0ZWQgdXNlcnMgKi9cbiAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3VzZXItc2VsZWN0LXVzZXItc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsID0gUmVxdWlyZTxPbWl0PERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ2NvbXBvbmVudF90eXBlJz4sICd0eXBlJz47XG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjdXNlci1zZWxlY3QtdXNlci1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTWVzc2FnZUNvbXBvbmVudCA9IFJlcXVpcmU8T21pdDxEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2UsICd0eXBlJz4sICdjb21wb25lbnRfdHlwZSc+O1xuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujcm9sZS1zZWxlY3Qtcm9sZS1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1vZGFsc1xuICAgKi9cbiAgdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0O1xuICAvKipcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBvbmx5IHJldHVybmVkIGZvciBpbnRlcmFjdGlvbiByZXNwb25zZXMgZnJvbSBtZXNzYWdlIGludGVyYWN0aW9uc1xuICAgKi9cbiAgY29tcG9uZW50X3R5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgcm9sZSBzZWxlY3QgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBSZXNvbHZlZCBlbnRpdGllcyBmcm9tIHNlbGVjdGVkIG9wdGlvbnMgKi9cbiAgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDtcbiAgLyoqIElEcyBvZiB0aGUgc2VsZWN0ZWQgcm9sZXMgKi9cbiAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3JvbGUtc2VsZWN0LXJvbGUtc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsID0gUmVxdWlyZTxPbWl0PERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ2NvbXBvbmVudF90eXBlJz4sICd0eXBlJz47XG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujcm9sZS1zZWxlY3Qtcm9sZS1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTWVzc2FnZUNvbXBvbmVudCA9IFJlcXVpcmU8T21pdDxEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2UsICd0eXBlJz4sICdjb21wb25lbnRfdHlwZSc+O1xuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjbWVudGlvbmFibGUtc2VsZWN0LW1lbnRpb25hYmxlLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1vZGFsc1xuICAgKi9cbiAgdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbWVzc2FnZSBpbnRlcmFjdGlvbnNcbiAgICovXG4gIGNvbXBvbmVudF90eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0O1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSBtZW50aW9uYWJsZSBzZWxlY3QgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBSZXNvbHZlZCBlbnRpdGllcyBmcm9tIHNlbGVjdGVkIG9wdGlvbnMgKi9cbiAgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDtcbiAgLyoqIElEcyBvZiB0aGUgc2VsZWN0ZWQgbWVudGlvbmFibGVzICovXG4gIHZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNtZW50aW9uYWJsZS1zZWxlY3QtbWVudGlvbmFibGUtc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCA9IFJlcXVpcmU8XG4gIE9taXQ8RGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ2NvbXBvbmVudF90eXBlJz4sXG4gICd0eXBlJ1xuPjtcbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNtZW50aW9uYWJsZS1zZWxlY3QtbWVudGlvbmFibGUtc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50ID0gUmVxdWlyZTxcbiAgT21pdDxEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAndHlwZSc+LFxuICAnY29tcG9uZW50X3R5cGUnXG4+O1xuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hhbm5lbC1zZWxlY3QtY2hhbm5lbC1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1vZGFsc1xuICAgKi9cbiAgdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0O1xuICAvKipcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBvbmx5IHJldHVybmVkIGZvciBpbnRlcmFjdGlvbiByZXNwb25zZXMgZnJvbSBtZXNzYWdlIGludGVyYWN0aW9uc1xuICAgKi9cbiAgY29tcG9uZW50X3R5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgY2hhbm5lbCBzZWxlY3QgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBSZXNvbHZlZCBlbnRpdGllcyBmcm9tIHNlbGVjdGVkIG9wdGlvbnMgKi9cbiAgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDtcbiAgLyoqIElEcyBvZiB0aGUgc2VsZWN0ZWQgY2hhbm5lbHMgKi9cbiAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2NoYW5uZWwtc2VsZWN0LWNoYW5uZWwtc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsID0gUmVxdWlyZTxPbWl0PERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ2NvbXBvbmVudF90eXBlJz4sICd0eXBlJz47XG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hhbm5lbC1zZWxlY3QtY2hhbm5lbC1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTWVzc2FnZUNvbXBvbmVudCA9IFJlcXVpcmU8XG4gIE9taXQ8RGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAndHlwZSc+LFxuICAnY29tcG9uZW50X3R5cGUnXG4+O1xuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujc2VjdGlvbi1zZWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb247XG5cbiAgLyoqIE9uZSB0byB0aHJlZSB0ZXh0IGNvbXBvbmVudHMgKi9cbiAgY29tcG9uZW50czogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W107XG4gIC8qKiBBIHRodW1ibmFpbCBvciBhIGJ1dHRvbiBjb21wb25lbnQsIHdpdGggYSBmdXR1cmUgcG9zc2liaWxpdHkgb2YgYWRkaW5nIG1vcmUgY29tcGF0aWJsZSBjb21wb25lbnRzICovXG4gIGFjY2Vzc29yeTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB8IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQ7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN0ZXh0LWRpc3BsYXktdGV4dC1kaXNwbGF5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTtcblxuICAvKiogVGV4dCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIHNpbWlsYXIgdG8gYSBtZXNzYWdlICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3RleHQtZGlzcGxheS10ZXh0LWRpc3BsYXktaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dERpc3BsYXk7XG4gIC8qKiAzMiBiaXQgaW50ZWdlciB1c2VkIGFzIGFuIG9wdGlvbmFsIGlkZW50aWZpZXIgZm9yIGNvbXBvbmVudCAqL1xuICBpZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UaHVtYm5haWw7XG5cbiAgLyoqIEEgdXJsIG9yIGF0dGFjaG1lbnQgKi9cbiAgbWVkaWE6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbTtcbiAgLyoqIEFsdCB0ZXh0IGZvciB0aGUgbWVkaWEsIG1heCAxMDI0IGNoYXJhY3RlcnMgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogV2hldGhlciB0aGUgdGh1bWJuYWlsIHNob3VsZCBiZSBhIHNwb2lsZXIgKG9yIGJsdXJyZWQgb3V0KS4gRGVmYXVsdHMgdG8gYGZhbHNlYCAqL1xuICBzcG9pbGVyPzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI21lZGlhLWdhbGxlcnktbWVkaWEtZ2FsbGVyeS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTtcblxuICAvKiogMSB0byAxMCBtZWRpYSBnYWxsZXJ5IGl0ZW1zICovXG4gIGl0ZW1zOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbVtdO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjbWVkaWEtZ2FsbGVyeS1tZWRpYS1nYWxsZXJ5LWl0ZW0tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIHtcbiAgLyoqIEEgdXJsIG9yIGF0dGFjaG1lbnQgKi9cbiAgbWVkaWE6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbTtcbiAgLyoqIEFsdCB0ZXh0IGZvciB0aGUgbWVkaWEsIG1heCAxMDI0IGNoYXJhY3RlcnMgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogV2hldGhlciB0aGUgbWVkaWEgc2hvdWxkIGJlIGEgc3BvaWxlciAob3IgYmx1cnJlZCBvdXQpLiBEZWZhdWx0cyB0byBgZmFsc2VgICovXG4gIHNwb2lsZXI/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjZmlsZS1maWxlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRmlsZUNvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGU7XG5cbiAgLyoqIFRoaXMgdW5mdXJsZWQgbWVkaWEgaXRlbSBpcyB1bmlxdWUgaW4gdGhhdCBpdCBvbmx5IHN1cHBvcnRzIGF0dGFjaG1lbnQgcmVmZXJlbmNlcyB1c2luZyB0aGUgYXR0YWNobWVudDovLzxmaWxlbmFtZT4gc3ludGF4ICovXG4gIGZpbGU6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbTtcbiAgLyoqIFdoZXRoZXIgdGhlIG1lZGlhIHNob3VsZCBiZSBhIHNwb2lsZXIgKG9yIGJsdXJyZWQgb3V0KS4gRGVmYXVsdHMgdG8gYGZhbHNlYCAqL1xuICBzcG9pbGVyPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBmaWxlLiBUaGlzIGZpZWxkIGlzIGlnbm9yZWQgYW5kIHByb3ZpZGVkIGJ5IHRoZSBBUEkgYXMgcGFydCBvZiB0aGUgcmVzcG9uc2UgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVGhlIHNpemUgb2YgdGhlIGZpbGUgaW4gYnl0ZXMuIFRoaXMgZmllbGQgaXMgaWdub3JlZCBhbmQgcHJvdmlkZWQgYnkgdGhlIEFQSSBhcyBwYXJ0IG9mIHRoZSByZXNwb25zZSAqL1xuICBzaXplOiBudW1iZXI7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNzZXBhcmF0b3Itc2VwYXJhdG9yLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yO1xuXG4gIC8qKiBXaGV0aGVyIGEgdmlzdWFsIGRpdmlkZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgY29tcG9uZW50LiBEZWZhdWx0cyB0byBgdHJ1ZWAgKi9cbiAgZGl2aWRlcj86IGJvb2xlYW47XG4gIC8qKiBTaXplIG9mIHNlcGFyYXRvciBwYWRkaW5nIOKAlCBgMWAgZm9yIHNtYWxsIHBhZGRpbmcsIGAyYCBmb3IgbGFyZ2UgcGFkZGluZy4gRGVmYXVsdHMgdG8gYDFgICovXG4gIHNwYWNpbmc/OiBTZXBhcmF0b3JTcGFjaW5nU2l6ZTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3NlcGFyYXRvci1zZXBhcmF0b3Itc3RydWN0dXJlLCBzcGFjaW5nIGRlc2NyaXB0aW9uICovXG5leHBvcnQgZW51bSBTZXBhcmF0b3JTcGFjaW5nU2l6ZSB7XG4gIFNtYWxsID0gMSxcbiAgTGFyZ2UgPSAyLFxufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY29udGFpbmVyLWNvbnRhaW5lci1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjtcblxuICAvKiogQ29tcG9uZW50cyBvZiB0aGUgdHlwZSBhY3Rpb24gcm93LCB0ZXh0IGRpc3BsYXksIHNlY3Rpb24sIG1lZGlhIGdhbGxlcnksIHNlcGFyYXRvciwgb3IgZmlsZSAqL1xuICBjb21wb25lbnRzOiBBcnJheTxcbiAgICB8IERpc2NvcmRBY3Rpb25Sb3dcbiAgICB8IERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFxuICAgIHwgRGlzY29yZFNlY3Rpb25Db21wb25lbnRcbiAgICB8IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnRcbiAgICB8IERpc2NvcmRTZXBhcmF0b3JDb21wb25lbnRcbiAgICB8IERpc2NvcmRGaWxlQ29tcG9uZW50XG4gID47XG4gIC8qKiBDb2xvciBmb3IgdGhlIGFjY2VudCBvbiB0aGUgY29udGFpbmVyIGFzIFJHQiBmcm9tIDB4MDAwMDAwIHRvIDB4RkZGRkZGICovXG4gIGFjY2VudF9jb2xvcj86IG51bWJlciB8IG51bGw7XG4gIC8qKiBXaGV0aGVyIHRoZSBjb250YWluZXIgc2hvdWxkIGJlIGEgc3BvaWxlciAob3IgYmx1cnJlZCBvdXQpLiBEZWZhdWx0cyB0byBgZmFsc2VgICovXG4gIHNwb2lsZXI/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjbGFiZWwtbGFiZWwtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMYWJlbENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdGV4dFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBNYXggNDUgY2hhcmFjdGVycy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBkZXNjcmlwdGlvbiB0ZXh0IGZvciB0aGUgbGFiZWxcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogTWF4IDEwMCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBUaGUgY29tcG9uZW50IHdpdGhpbiB0aGUgbGFiZWwgKi9cbiAgY29tcG9uZW50OiBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50IHwgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudDtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2xhYmVsLWxhYmVsLWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTGFiZWxJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsO1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjb21wb25lbnQgd2l0aGluIHRoZSBsYWJlbCAqL1xuICBjb21wb25lbnQ6XG4gICAgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZVxuICAgIHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWxcbiAgICB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbFxuICAgIHwgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsXG4gICAgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsXG4gICAgfCBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWxcbiAgICB8IERpc2NvcmRGaWxlVXBsb2FkSW50ZXJhY3Rpb25SZXNwb25zZTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2ZpbGUtdXBsb2FkLWZpbGUtdXBsb2FkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ7XG5cbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSBmaWxlIHVwbG9hZCAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBmaWxlcyB0aGF0IG11c3QgYmUgdXBsb2FkZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQmV0d2VlbiAwLTEwXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXI7XG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXMgdGhhdCBjYW4gYmUgdXBsb2FkZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQmV0d2VlbiAxLTEwXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNmaWxlLXVwbG9hZC1maWxlLXVwbG9hZC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ7XG5cbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgZmlsZSB1cGxvYWQgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBJRHMgb2YgdGhlIHVwbG9hZGVkIGZpbGVzIGZvdW5kIGluIHRoZSByZXNvbHZlZCBkYXRhICovXG4gIHZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN1bmZ1cmxlZC1tZWRpYS1pdGVtLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICAvKiogU3VwcG9ydHMgYXJiaXRyYXJ5IHVybHMgYW5kIGF0dGFjaG1lbnQ6Ly88ZmlsZW5hbWU+IHJlZmVyZW5jZXMgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKiBUaGUgcHJveGllZCB1cmwgb2YgdGhlIG1lZGlhIGl0ZW0uIFRoaXMgZmllbGQgaXMgaWdub3JlZCBhbmQgcHJvdmlkZWQgYnkgdGhlIEFQSSBhcyBwYXJ0IG9mIHRoZSByZXNwb25zZSAqL1xuICBwcm94eV91cmw/OiBzdHJpbmc7XG4gIC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBtZWRpYSBpdGVtLiBUaGlzIGZpZWxkIGlzIGlnbm9yZWQgYW5kIHByb3ZpZGVkIGJ5IHRoZSBBUEkgYXMgcGFydCBvZiB0aGUgcmVzcG9uc2UgKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgbnVsbDtcbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgbWVkaWEgaXRlbS4gVGhpcyBmaWVsZCBpcyBpZ25vcmVkIGFuZCBwcm92aWRlZCBieSB0aGUgQVBJIGFzIHBhcnQgb2YgdGhlIHJlc3BvbnNlICovXG4gIHdpZHRoPzogbnVtYmVyIHwgbnVsbDtcbiAgLyoqIFRoZSBtZWRpYSB0eXBlIG9mIHRoZSBjb250ZW50LiBUaGlzIGZpZWxkIGlzIGlnbm9yZWQgYW5kIHByb3ZpZGVkIGJ5IHRoZSBBUEkgYXMgcGFydCBvZiB0aGUgcmVzcG9uc2UgKi9cbiAgY29udGVudF90eXBlPzogc3RyaW5nO1xuICAvKiogVGhlIGlkIG9mIHRoZSB1cGxvYWRlZCBhdHRhY2htZW50LiBPbmx5IHByZXNlbnQgaWYgdGhlIG1lZGlhIHdhcyB1cGxvYWRlZCBhcyBhbiBhdHRhY2htZW50LiBUaGlzIGZpZWxkIGlzIGlnbm9yZWQgYW5kIHByb3ZpZGVkIGJ5IHRoZSBBUEkgYXMgcGFydCBvZiB0aGUgcmVzcG9uc2UgKi9cbiAgYXR0YWNobWVudF9pZD86IHN0cmluZyB8IG51bGw7XG59XG4iXSwibmFtZXMiOlsiTWVzc2FnZUNvbXBvbmVudFR5cGVzIiwiQnV0dG9uU3R5bGVzIiwiVGV4dFN0eWxlcyIsIlNlcGFyYXRvclNwYWNpbmdTaXplIl0sIm1hcHBpbmdzIjoiQUFBQSx3RUFBd0UsR0FPeEUsOEZBQThGLEdBQzlGLE9BQU8sSUFBQSxBQUFLQSwrQ0FBQUE7SUFDVixxQ0FBcUM7SUFFckMsb0JBQW9CO0lBRXBCLDJDQUEyQztJQUUzQyx3QkFBd0I7SUFFeEIsMEJBQTBCO0lBRTFCLDBCQUEwQjtJQUUxQixvQ0FBb0M7SUFFcEMsNkJBQTZCO0lBRTdCLCtEQUErRDtJQUUvRCxrQkFBa0I7SUFFbEIsaURBQWlEO0lBRWpELG1DQUFtQztJQUVuQyw4QkFBOEI7SUFFOUIsK0RBQStEO0lBRS9ELHVEQUF1RDtJQUV2RCxtRUFBbUU7SUFFbkUsa0NBQWtDO1dBakN4QkE7TUFtQ1g7QUFzR0Qsa0ZBQWtGLEdBQ2xGLE9BQU8sSUFBQSxBQUFLQyxzQ0FBQUE7SUFDVixxQkFBcUI7SUFFckIsa0JBQWtCO0lBRWxCLG1CQUFtQjtJQUVuQixpQkFBaUI7SUFFakIscUNBQXFDO0lBRXJDLHdEQUF3RDtXQVg5Q0E7TUFhWDtBQStIRCwwRkFBMEYsR0FDMUYsT0FBTyxJQUFBLEFBQUtDLG9DQUFBQTtJQUNWLHdDQUF3QztJQUV4QyxvQ0FBb0M7V0FIMUJBO01BS1g7QUF3TkQsZ0hBQWdILEdBQ2hILE9BQU8sSUFBQSxBQUFLQyw4Q0FBQUE7OztXQUFBQTtNQUdYIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkL2NvbXBvbmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGVzIGZvcjogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UgKi9cblxuaW1wb3J0IHR5cGUgeyBSZXF1aXJlIH0gZnJvbSAnLi4vc2hhcmVkLmpzJztcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbFR5cGVzIH0gZnJvbSAnLi9jaGFubmVsLmpzJztcbmltcG9ydCB0eXBlIHsgRGlzY29yZEVtb2ppIH0gZnJvbSAnLi9lbW9qaS5qcyc7XG5pbXBvcnQgdHlwZSB7IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB9IGZyb20gJy4vaW50ZXJhY3Rpb25zLmpzJztcblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2NvbXBvbmVudC1vYmplY3QtY29tcG9uZW50LXR5cGVzICovXG5leHBvcnQgZW51bSBNZXNzYWdlQ29tcG9uZW50VHlwZXMge1xuICAvKiogQSBjb250YWluZXIgZm9yIG90aGVyIGNvbXBvbmVudHMgKi9cbiAgQWN0aW9uUm93ID0gMSxcbiAgLyoqIEEgYnV0dG9uIG9iamVjdCAqL1xuICBCdXR0b24sXG4gIC8qKiBBIHNlbGVjdCBtZW51IGZvciBwaWNraW5nIGZyb20gY2hvaWNlcyAqL1xuICBTdHJpbmdTZWxlY3QsXG4gIC8qKiBBIHRleHQgaW5wdXQgb2JqZWN0ICovXG4gIFRleHRJbnB1dCxcbiAgLyoqIFNlbGVjdCBtZW51IGZvciB1c2VycyAqL1xuICBVc2VyU2VsZWN0LFxuICAvKiogU2VsZWN0IG1lbnUgZm9yIHJvbGVzICovXG4gIFJvbGVTZWxlY3QsXG4gIC8qKiBTZWxlY3QgbWVudSBmb3IgdXNlcnMgYW5kIHJvbGVzICovXG4gIE1lbnRpb25hYmxlU2VsZWN0LFxuICAvKiogU2VsZWN0IG1lbnUgZm9yIGNoYW5uZWxzICovXG4gIENoYW5uZWxTZWxlY3QsXG4gIC8qKiBDb250YWluZXIgdG8gZGlzcGxheSB0ZXh0IGFsb25nc2lkZSBhbiBhY2Nlc3NvcnkgY29tcG9uZW50ICovXG4gIFNlY3Rpb24sXG4gIC8qKiBNYXJrZG93biB0ZXh0ICovXG4gIFRleHREaXNwbGF5LFxuICAvKiogU21hbGwgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCBhcyBhbiBhY2Nlc3NvcnkgKi9cbiAgVGh1bWJuYWlsLFxuICAvKiogRGlzcGxheSBpbWFnZXMgYW5kIG90aGVyIG1lZGlhICovXG4gIE1lZGlhR2FsbGVyeSxcbiAgLyoqIERpc3BsYXlzIGFuIGF0dGFjaGVkIGZpbGUgKi9cbiAgRmlsZSxcbiAgLyoqIENvbXBvbmVudCB0byBhZGQgdmVydGljYWwgcGFkZGluZyBiZXR3ZWVuIG90aGVyIGNvbXBvbmVudHMgKi9cbiAgU2VwYXJhdG9yLFxuICAvKiogQ29udGFpbmVyIHRoYXQgdmlzdWFsbHkgZ3JvdXBzIGEgc2V0IG9mIGNvbXBvbmVudHMgKi9cbiAgQ29udGFpbmVyID0gMTcsXG4gIC8qKiBDb250YWluZXIgYXNzb2NpYXRpbmcgYSBsYWJlbCBhbmQgZGVzY3JpcHRpb24gd2l0aCBhIGNvbXBvbmVudCAqL1xuICBMYWJlbCxcbiAgLyoqIENvbXBvbmVudCBmb3IgdXBsb2FkaW5nIGZpbGVzICovXG4gIEZpbGVVcGxvYWQsXG4gIC8qKiBBbiBpbnRlcmFjdGl2ZSBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBleGFjdGx5IG9uZSBvcHRpb24gZnJvbSBhIGRlZmluZWQgbGlzdCAqL1xuICBSYWRpb0dyb3VwID0gMjEsXG4gIC8qKiBBbiBpbnRlcmFjdGl2ZSBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBvbmUgb3IgbWFueSBvcHRpb25zIHZpYSBjaGVja2JveGVzICovXG4gIENoZWNrYm94R3JvdXAgPSAyMixcbiAgLyoqIEEgc2luZ2xlIGludGVyYWN0aXZlIGNvbXBvbmVudCBmb3IgeWVzL25vIHN0eWxlIHF1ZXN0aW9ucyAqL1xuICBDaGVja2JveCA9IDIzLFxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHMgPSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFtdO1xuZXhwb3J0IHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgPVxuICB8IERpc2NvcmRBY3Rpb25Sb3dcbiAgfCBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50XG4gIHwgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnRcbiAgfCBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudFxuICB8IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudFxuICB8IERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50XG4gIHwgRGlzY29yZEJ1dHRvbkNvbXBvbmVudFxuICB8IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnRcbiAgfCBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFxuICB8IERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFxuICB8IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnRcbiAgfCBEaXNjb3JkTWVkaWFHYWxsZXJ5Q29tcG9uZW50XG4gIHwgRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudFxuICB8IERpc2NvcmRDb250YWluZXJDb21wb25lbnRcbiAgfCBEaXNjb3JkRmlsZUNvbXBvbmVudFxuICB8IERpc2NvcmRMYWJlbENvbXBvbmVudFxuICB8IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50XG4gIHwgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnRcbiAgfCBEaXNjb3JkQ2hlY2tib3hHcm91cENvbXBvbmVudFxuICB8IERpc2NvcmRDaGVja2JveENvbXBvbmVudDtcblxuZXhwb3J0IHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlID1cbiAgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZVxuICB8IERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2VcbiAgfCBEaXNjb3JkTGFiZWxJbnRlcmFjdGlvblJlc3BvbnNlXG4gIHwgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlXG4gIHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlXG4gIHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZVxuICB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbFxuICB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbFxuICB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsXG4gIHwgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsXG4gIHwgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbDtcblxuZXhwb3J0IHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTWVzc2FnZUNvbXBvbmVudEludGVyYWN0aW9uUmVzcG9uc2UgPVxuICB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50XG4gIHwgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1lc3NhZ2VDb21wb25lbnRcbiAgfCBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50XG4gIHwgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1lc3NhZ2VDb21wb25lbnRcbiAgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1lc3NhZ2VDb21wb25lbnQ7XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNhbmF0b215LW9mLWEtY29tcG9uZW50ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBjb21wb25lbnQgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzO1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ/OiBudW1iZXI7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNhY3Rpb24tcm93LWFjdGlvbi1yb3ctc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpb25Sb3cgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnRzIGluIHRoaXMgcm93XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFVwIHRvIDUgYnV0dG9uIGNvbXBvbmVudHMsIGEgc2luZ2xlIHNlbGVjdCBjb21wb25lbnQgb3IgYSBzaW5nbGUgdGV4dCBpbnB1dCBjb21wb25lbnRcbiAgICpcbiAgICogVXNpbmcgYSB7QGxpbmsgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudH0gaW5zaWRlIHRoZSBBY3Rpb24gUm93IGlzIGRlcHJlY2F0ZWQsXG4gICAqIHVzZSBhIHtAbGluayBEaXNjb3JkTGFiZWxDb21wb25lbnR9IGZvciBtb2RhbHNcbiAgICovXG4gIGNvbXBvbmVudHM6IChcbiAgICB8IERpc2NvcmRCdXR0b25Db21wb25lbnRcbiAgICB8IERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnRcbiAgICB8IERpc2NvcmRVc2VyU2VsZWN0Q29tcG9uZW50XG4gICAgfCBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudFxuICAgIHwgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0Q29tcG9uZW50XG4gICAgfCBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudFxuICAgIHwgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudFxuICApW107XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNidXR0b24tYnV0dG9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uO1xuXG4gIC8qKiBGb3IgZGlmZmVyZW50IHN0eWxlcy9jb2xvcnMgb2YgdGhlIGJ1dHRvbnMgKi9cbiAgc3R5bGU6IEJ1dHRvblN0eWxlcztcbiAgLyoqXG4gICAqIFRleHQgdGhhdCBhcHBlYXJzIG9uIHRoZSBidXR0b25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQSBsYWJlbCBjYW4gaGF2ZSBhIG1heCBvZiA4MCBjaGFyYWN0ZXJzXG4gICAqIEEgYnV0dG9uIG9mIHN0eWxlIHtAbGluayBCdXR0b25TdHlsZXMuUHJlbWl1bSB8IFByZW1pdW19IGNhbm5vdCBoYXZlIGEgbGFiZWxcbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRW1vamkgb2JqZWN0IHRoYXQgaW5jbHVkZXMgZmllbGRzIG9mIG5hbWUsIGlkLCBhbmQgYW5pbWF0ZWQgc3VwcG9ydGluZyB1bmljb2RlIGFuZCBjdXN0b20gZW1vamlzLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhbiBlbW9qaVxuICAgKi9cbiAgZW1vamk/OiBQYXJ0aWFsPFBpY2s8RGlzY29yZEVtb2ppLCAnaWQnIHwgJ25hbWUnIHwgJ2FuaW1hdGVkJz4+O1xuICAvKipcbiAgICogQSBkZXYtZGVmaW5lZCB1bmlxdWUgc3RyaW5nIHNlbnQgb24gY2xpY2sgKG1heCAxMDAgY2hhcmFjdGVycykuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEEgYnV0dG9uIG9mIHN0eWxlIHtAbGluayBCdXR0b25TdHlsZXMuTGluayB8IExpbmt9IG9yIHtAbGluayBCdXR0b25TdHlsZXMuUHJlbWl1bSB8IFByZW1pdW19IGNhbm5vdCBoYXZlIGEgY3VzdG9tX2lkXG4gICAqL1xuICBjdXN0b21faWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciBhIHB1cmNoYXNhYmxlIFNLVVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBCdXR0b25zIG9mIHN0eWxlIHtAbGluayBCdXR0b25TdHlsZXMuUHJlbWl1bSB8IFByZW1pdW19IG11c3QgaGF2ZSBhIHNrdV9pZCwgYW55IG90aGVyIGJ1dHRvbiB3aXRoIGEgZGlmZmVyZW50IHN0eWxlIGNhbiBub3QgaGF2ZSBhIGEgc2t1X2lkXG4gICAqL1xuICBza3VfaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVcmwgZm9yIHtAbGluayBCdXR0b25TdHlsZXMuTGluayB8IGxpbmt9IGJ1dHRvbnMgdGhhdCBjYW4gbmF2aWdhdGUgYSB1c2VyIHRvIHRoZSB3ZWIuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEJ1dHRvbnMgb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5MaW5rIHwgTGlua30gbXVzdCBoYXZlIGFuIHVybCwgYW55IG90aGVyIGJ1dHRvbiB3aXRoIGEgZGlmZmVyZW50IHN0eWxlIGNhbiBub3QgaGF2ZSBhbiB1cmxcbiAgICpcbiAgICogTWF4aW11bSA1MTIgY2hhcmFjdGVycy5cbiAgICovXG4gIHVybD86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2J1dHRvbi1idXR0b24tc3R5bGVzICovXG5leHBvcnQgZW51bSBCdXR0b25TdHlsZXMge1xuICAvKiogQSBibHVycGxlIGJ1dHRvbiAqL1xuICBQcmltYXJ5ID0gMSxcbiAgLyoqIEEgZ3JleSBidXR0b24gKi9cbiAgU2Vjb25kYXJ5LFxuICAvKiogQSBncmVlbiBidXR0b24gKi9cbiAgU3VjY2VzcyxcbiAgLyoqIEEgcmVkIGJ1dHRvbiAqL1xuICBEYW5nZXIsXG4gIC8qKiBBIGJ1dHRvbiB0aGF0IG5hdmlnYXRlcyB0byBhIFVSTCAqL1xuICBMaW5rLFxuICAvKiogQSBibHVycGxlIGJ1dHRvbiB0byBzaG93IGEgUHJlbWl1bSBpdGVtIGluIHRoZSBzaG9wICovXG4gIFByZW1pdW0sXG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNzdHJpbmctc2VsZWN0LXN0cmluZy1zZWxlY3Qtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q7XG5cbiAgLyoqIEEgY3VzdG9tIGlkZW50aWZpZXIgZm9yIHRoaXMgY29tcG9uZW50LiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqIFRoZSBjaG9pY2VzISBNYXhpbXVtIG9mIDI1IGl0ZW1zLiAqL1xuICBvcHRpb25zOiBEaXNjb3JkU2VsZWN0T3B0aW9uW107XG4gIC8qKiBBIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIE1heGltdW0gMTUwIGNoYXJhY3RlcnMuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbXVzdCBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDAtMjUuICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXI7XG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuIERlZmF1bHQgMS4gTWF4IDI1LiAqL1xuICBtYXhfdmFsdWVzPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIGNvbXBvbmVudCBpcyByZXF1aXJlZCB0byBiZSBmaWxsZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBpcyBvbmx5IHZhbGlkIGZvciBzdHJpbmcgc2VsZWN0IG1lbnVzIGluIG1vZGFsc1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHNlbGVjdCBtZW51IGlzIGRpc2FibGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgY2Fubm90IGJlIHNldCBmb3Igc2VsZWN0IG1lbnVzIGluIG1vZGFsc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujc3RyaW5nLXNlbGVjdC1zZWxlY3Qtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0T3B0aW9uIHtcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBuYW1lIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMjUgY2hhcmFjdGVycy4gKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqIFRoZSBkZXYtZGVmaW5lZCB2YWx1ZSBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogQW4gYWRkaXRpb25hbCBkZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDUwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogVGhlIGlkLCBuYW1lLCBhbmQgYW5pbWF0ZWQgcHJvcGVydGllcyBvZiBhbiBlbW9qaS4gKi9cbiAgZW1vamk/OiBQYXJ0aWFsPFBpY2s8RGlzY29yZEVtb2ppLCAnaWQnIHwgJ25hbWUnIHwgJ2FuaW1hdGVkJz4+O1xuICAvKiogV2lsbCByZW5kZXIgdGhpcyBvcHRpb24gYXMgYWxyZWFkeS1zZWxlY3RlZCBieSBkZWZhdWx0LiAqL1xuICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3N0cmluZy1zZWxlY3Qtc3RyaW5ncy1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbW9kYWxzXG4gICAqL1xuICB0eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbWVzc2FnZSBpbnRlcmFjdGlvbnNcbiAgICovXG4gIGNvbXBvbmVudF90eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgc3RyaW5nIHNlbGVjdCBtZW51ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogVGhlIHRleHQgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbnMgKi9cbiAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3N0cmluZy1zZWxlY3Qtc3RyaW5nLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsID0gUmVxdWlyZTxPbWl0PERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAnY29tcG9uZW50X3R5cGUnPiwgJ3R5cGUnPjtcbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNzdHJpbmctc2VsZWN0LXN0cmluZy1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50ID0gUmVxdWlyZTxcbiAgT21pdDxEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ3R5cGUnPixcbiAgJ2NvbXBvbmVudF90eXBlJ1xuPjtcblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3RleHQtaW5wdXQtdGV4dC1pbnB1dC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dDtcblxuICAvKiogVGhlIGN1c3RvbUlkIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBUaGUgc3R5bGUgb2YgdGhlIElucHV0VGV4dCAqL1xuICBzdHlsZTogVGV4dFN0eWxlcztcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBvZiB0aGUgSW5wdXRUZXh0LlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBNYXhpbXVtIDQ1IGNoYXJhY3RlcnNcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZyb20gdGhlIHtAbGluayBEaXNjb3JkTGFiZWxDb21wb25lbnR9XG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIFRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtaW5fbGVuZ3RoPzogbnVtYmVyO1xuICAvKiogVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSB0ZXh0IHRoZSB1c2VyIGhhcyB0byBwcm92aWRlICovXG4gIG1heF9sZW5ndGg/OiBudW1iZXI7XG4gIC8qKiB3aGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZCwgZGVmYXVsdCB0cnVlICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFByZS1maWxsZWQgdmFsdWUgZm9yIGlucHV0IHRleHQuICovXG4gIHZhbHVlPzogc3RyaW5nO1xuICAvKiogVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN0ZXh0LWlucHV0LXRleHQtaW5wdXQtc3R5bGVzICovXG5leHBvcnQgZW51bSBUZXh0U3R5bGVzIHtcbiAgLyoqIEludGVuZGVkIGZvciBzaG9ydCBzaW5nbGUtbGluZSB0ZXh0ICovXG4gIFNob3J0ID0gMSxcbiAgLyoqIEludGVuZGVkIGZvciBtdWNoIGxvbmdlciBpbnB1dHMgKi9cbiAgUGFyYWdyYXBoID0gMixcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3RleHQtaW5wdXQtdGV4dC1pbnB1dC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0O1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSB0ZXh0IGlucHV0ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogVGhlIHVzZXIncyBpbnB1dCB0ZXh0ICovXG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN1c2VyLXNlbGVjdC11c2VyLXNlbGVjdC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0O1xuXG4gIC8qKiBBIGN1c3RvbSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbXBvbmVudC4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBBIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIE1heGltdW0gMTUwIGNoYXJhY3RlcnMuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlzdCBvZiBkZWZhdWx0IHZhbHVlcyBmb3IgYXV0by1wb3B1bGF0ZWQgc2VsZWN0IG1lbnUgY29tcG9uZW50c1xuICAgKiBUaGUgbnVtYmVyIG9mIGRlZmF1bHQgdmFsdWVzIG11c3QgYmUgaW4gdGhlIHJhbmdlIGRlZmluZWQgYnkgbWluVmFsdWVzIGFuZCBtYXhWYWx1ZXNcbiAgICovXG4gIGRlZmF1bHRfdmFsdWVzPzogRGlzY29yZFNlbGVjdE1lbnVEZWZhdWx0VmFsdWVbXTtcbiAgLyoqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IG11c3QgYmUgc2VsZWN0ZWQuIERlZmF1bHQgMS4gQmV0d2VlbiAwLTI1LiAqL1xuICBtaW5fdmFsdWVzPzogbnVtYmVyO1xuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIE1heCAyNS4gKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgaXMgb25seSB2YWxpZCBmb3Igc3RyaW5nIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBzZWxlY3QgbWVudSBpcyBkaXNhYmxlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgZm9yIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3VzZXItc2VsZWN0LXNlbGVjdC1kZWZhdWx0LXZhbHVlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudURlZmF1bHRWYWx1ZSB7XG4gIC8qKiBJRCBvZiBhIHVzZXIsIHJvbGUsIG9yIGNoYW5uZWwgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFR5cGUgb2YgdmFsdWUgdGhhdCBpZCByZXByZXNlbnRzLiAqL1xuICB0eXBlOiAndXNlcicgfCAncm9sZScgfCAnY2hhbm5lbCc7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN1c2VyLXNlbGVjdC11c2VyLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbW9kYWxzXG4gICAqL1xuICB0eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1lc3NhZ2UgaW50ZXJhY3Rpb25zXG4gICAqL1xuICBjb21wb25lbnRfdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0O1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSB1c2VyIHNlbGVjdCAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqIFJlc29sdmVkIGVudGl0aWVzIGZyb20gc2VsZWN0ZWQgb3B0aW9ucyAqL1xuICByZXNvbHZlZDogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkO1xuICAvKiogSURzIG9mIHRoZSBzZWxlY3RlZCB1c2VycyAqL1xuICB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjdXNlci1zZWxlY3QtdXNlci1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwgPSBSZXF1aXJlPE9taXQ8RGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAnY29tcG9uZW50X3R5cGUnPiwgJ3R5cGUnPjtcbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSN1c2VyLXNlbGVjdC11c2VyLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50ID0gUmVxdWlyZTxPbWl0PERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ3R5cGUnPiwgJ2NvbXBvbmVudF90eXBlJz47XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNyb2xlLXNlbGVjdC1yb2xlLXNlbGVjdC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0O1xuXG4gIC8qKiBBIGN1c3RvbSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbXBvbmVudC4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBBIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIE1heGltdW0gMTUwIGNoYXJhY3RlcnMuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlzdCBvZiBkZWZhdWx0IHZhbHVlcyBmb3IgYXV0by1wb3B1bGF0ZWQgc2VsZWN0IG1lbnUgY29tcG9uZW50c1xuICAgKiBUaGUgbnVtYmVyIG9mIGRlZmF1bHQgdmFsdWVzIG11c3QgYmUgaW4gdGhlIHJhbmdlIGRlZmluZWQgYnkgbWluVmFsdWVzIGFuZCBtYXhWYWx1ZXNcbiAgICovXG4gIGRlZmF1bHRfdmFsdWVzPzogRGlzY29yZFNlbGVjdE1lbnVEZWZhdWx0VmFsdWVbXTtcbiAgLyoqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IG11c3QgYmUgc2VsZWN0ZWQuIERlZmF1bHQgMS4gQmV0d2VlbiAwLTI1LiAqL1xuICBtaW5fdmFsdWVzPzogbnVtYmVyO1xuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIE1heCAyNS4gKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgaXMgb25seSB2YWxpZCBmb3Igc3RyaW5nIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBzZWxlY3QgbWVudSBpcyBkaXNhYmxlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgZm9yIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3JvbGUtc2VsZWN0LXJvbGUtc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICAvKipcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBvbmx5IHJldHVybmVkIGZvciBpbnRlcmFjdGlvbiByZXNwb25zZXMgZnJvbSBtb2RhbHNcbiAgICovXG4gIHR5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdDtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbWVzc2FnZSBpbnRlcmFjdGlvbnNcbiAgICovXG4gIGNvbXBvbmVudF90eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q7XG4gIC8qKiAzMiBiaXQgaW50ZWdlciB1c2VkIGFzIGFuIG9wdGlvbmFsIGlkZW50aWZpZXIgZm9yIGNvbXBvbmVudCAqL1xuICBpZDogbnVtYmVyO1xuICAvKiogVGhlIGN1c3RvbSBpZCBmb3IgdGhlIHJvbGUgc2VsZWN0ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogUmVzb2x2ZWQgZW50aXRpZXMgZnJvbSBzZWxlY3RlZCBvcHRpb25zICovXG4gIHJlc29sdmVkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ7XG4gIC8qKiBJRHMgb2YgdGhlIHNlbGVjdGVkIHJvbGVzICovXG4gIHZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNyb2xlLXNlbGVjdC1yb2xlLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCA9IFJlcXVpcmU8T21pdDxEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2UsICdjb21wb25lbnRfdHlwZSc+LCAndHlwZSc+O1xuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3JvbGUtc2VsZWN0LXJvbGUtc2VsZWN0LWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1lc3NhZ2VDb21wb25lbnQgPSBSZXF1aXJlPE9taXQ8RGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAndHlwZSc+LCAnY29tcG9uZW50X3R5cGUnPjtcblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI21lbnRpb25hYmxlLXNlbGVjdC1tZW50aW9uYWJsZS1zZWxlY3Qtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0O1xuXG4gIC8qKiBBIGN1c3RvbSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbXBvbmVudC4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBBIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIE1heGltdW0gMTUwIGNoYXJhY3RlcnMuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlzdCBvZiBkZWZhdWx0IHZhbHVlcyBmb3IgYXV0by1wb3B1bGF0ZWQgc2VsZWN0IG1lbnUgY29tcG9uZW50c1xuICAgKiBUaGUgbnVtYmVyIG9mIGRlZmF1bHQgdmFsdWVzIG11c3QgYmUgaW4gdGhlIHJhbmdlIGRlZmluZWQgYnkgbWluVmFsdWVzIGFuZCBtYXhWYWx1ZXNcbiAgICovXG4gIGRlZmF1bHRfdmFsdWVzPzogRGlzY29yZFNlbGVjdE1lbnVEZWZhdWx0VmFsdWVbXTtcbiAgLyoqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IG11c3QgYmUgc2VsZWN0ZWQuIERlZmF1bHQgMS4gQmV0d2VlbiAwLTI1LiAqL1xuICBtaW5fdmFsdWVzPzogbnVtYmVyO1xuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIE1heCAyNS4gKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgaXMgb25seSB2YWxpZCBmb3Igc3RyaW5nIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBzZWxlY3QgbWVudSBpcyBkaXNhYmxlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgZm9yIHNlbGVjdCBtZW51cyBpbiBtb2RhbHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI21lbnRpb25hYmxlLXNlbGVjdC1tZW50aW9uYWJsZS1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICAvKipcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBvbmx5IHJldHVybmVkIGZvciBpbnRlcmFjdGlvbiByZXNwb25zZXMgZnJvbSBtb2RhbHNcbiAgICovXG4gIHR5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1lc3NhZ2UgaW50ZXJhY3Rpb25zXG4gICAqL1xuICBjb21wb25lbnRfdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgbWVudGlvbmFibGUgc2VsZWN0ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogUmVzb2x2ZWQgZW50aXRpZXMgZnJvbSBzZWxlY3RlZCBvcHRpb25zICovXG4gIHJlc29sdmVkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ7XG4gIC8qKiBJRHMgb2YgdGhlIHNlbGVjdGVkIG1lbnRpb25hYmxlcyAqL1xuICB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjbWVudGlvbmFibGUtc2VsZWN0LW1lbnRpb25hYmxlLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwgPSBSZXF1aXJlPFxuICBPbWl0PERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2UsICdjb21wb25lbnRfdHlwZSc+LFxuICAndHlwZSdcbj47XG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjbWVudGlvbmFibGUtc2VsZWN0LW1lbnRpb25hYmxlLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTWVzc2FnZUNvbXBvbmVudCA9IFJlcXVpcmU8XG4gIE9taXQ8RGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZSwgJ3R5cGUnPixcbiAgJ2NvbXBvbmVudF90eXBlJ1xuPjtcblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2NoYW5uZWwtc2VsZWN0LWNoYW5uZWwtc2VsZWN0LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q7XG5cbiAgLyoqIEEgY3VzdG9tIGlkZW50aWZpZXIgZm9yIHRoaXMgY29tcG9uZW50LiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqIExpc3Qgb2YgY2hhbm5lbCB0eXBlcyB0byBpbmNsdWRlIGluIHRoZSBvcHRpb25zIGxpc3QgKi9cbiAgY2hhbm5lbF90eXBlcz86IENoYW5uZWxUeXBlc1tdO1xuICAvKiogQSBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkLiBNYXhpbXVtIDE1MCBjaGFyYWN0ZXJzLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2YgZGVmYXVsdCB2YWx1ZXMgZm9yIGF1dG8tcG9wdWxhdGVkIHNlbGVjdCBtZW51IGNvbXBvbmVudHNcbiAgICogVGhlIG51bWJlciBvZiBkZWZhdWx0IHZhbHVlcyBtdXN0IGJlIGluIHRoZSByYW5nZSBkZWZpbmVkIGJ5IG1pblZhbHVlcyBhbmQgbWF4VmFsdWVzXG4gICAqL1xuICBkZWZhdWx0X3ZhbHVlcz86IERpc2NvcmRTZWxlY3RNZW51RGVmYXVsdFZhbHVlW107XG4gIC8qKiBUaGUgbWluaW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBtdXN0IGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIEJldHdlZW4gMC0yNS4gKi9cbiAgbWluX3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBNYXggMjUuICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGlzIG9ubHkgdmFsaWQgZm9yIHN0cmluZyBzZWxlY3QgbWVudXMgaW4gbW9kYWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgc2VsZWN0IG1lbnUgaXMgZGlzYWJsZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IGZvciBzZWxlY3QgbWVudXMgaW4gbW9kYWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNjaGFubmVsLXNlbGVjdC1jaGFubmVsLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgb25seSByZXR1cm5lZCBmb3IgaW50ZXJhY3Rpb24gcmVzcG9uc2VzIGZyb20gbW9kYWxzXG4gICAqL1xuICB0eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q7XG4gIC8qKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIG9ubHkgcmV0dXJuZWQgZm9yIGludGVyYWN0aW9uIHJlc3BvbnNlcyBmcm9tIG1lc3NhZ2UgaW50ZXJhY3Rpb25zXG4gICAqL1xuICBjb21wb25lbnRfdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0O1xuICAvKiogMzIgYml0IGludGVnZXIgdXNlZCBhcyBhbiBvcHRpb25hbCBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSBjaGFubmVsIHNlbGVjdCAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqIFJlc29sdmVkIGVudGl0aWVzIGZyb20gc2VsZWN0ZWQgb3B0aW9ucyAqL1xuICByZXNvbHZlZDogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkO1xuICAvKiogSURzIG9mIHRoZSBzZWxlY3RlZCBjaGFubmVscyAqL1xuICB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hhbm5lbC1zZWxlY3QtY2hhbm5lbC1zZWxlY3QtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgdHlwZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwgPSBSZXF1aXJlPE9taXQ8RGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlLCAnY29tcG9uZW50X3R5cGUnPiwgJ3R5cGUnPjtcbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNjaGFubmVsLXNlbGVjdC1jaGFubmVsLXNlbGVjdC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21NZXNzYWdlQ29tcG9uZW50ID0gUmVxdWlyZTxcbiAgT21pdDxEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2UsICd0eXBlJz4sXG4gICdjb21wb25lbnRfdHlwZSdcbj47XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNzZWN0aW9uLXNlY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjtcblxuICAvKiogT25lIHRvIHRocmVlIHRleHQgY29tcG9uZW50cyAqL1xuICBjb21wb25lbnRzOiBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnRbXTtcbiAgLyoqIEEgdGh1bWJuYWlsIG9yIGEgYnV0dG9uIGNvbXBvbmVudCwgd2l0aCBhIGZ1dHVyZSBwb3NzaWJpbGl0eSBvZiBhZGRpbmcgbW9yZSBjb21wYXRpYmxlIGNvbXBvbmVudHMgKi9cbiAgYWNjZXNzb3J5OiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHwgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudDtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3RleHQtZGlzcGxheS10ZXh0LWRpc3BsYXktc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5O1xuXG4gIC8qKiBUZXh0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgc2ltaWxhciB0byBhIG1lc3NhZ2UgKi9cbiAgY29udGVudDogc3RyaW5nO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjdGV4dC1kaXNwbGF5LXRleHQtZGlzcGxheS1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDtcblxuICAvKiogQSB1cmwgb3IgYXR0YWNobWVudCAqL1xuICBtZWRpYTogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtO1xuICAvKiogQWx0IHRleHQgZm9yIHRoZSBtZWRpYSwgbWF4IDEwMjQgY2hhcmFjdGVycyAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBXaGV0aGVyIHRoZSB0aHVtYm5haWwgc2hvdWxkIGJlIGEgc3BvaWxlciAob3IgYmx1cnJlZCBvdXQpLiBEZWZhdWx0cyB0byBgZmFsc2VgICovXG4gIHNwb2lsZXI/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjbWVkaWEtZ2FsbGVyeS1tZWRpYS1nYWxsZXJ5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVkaWFHYWxsZXJ5Q29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5O1xuXG4gIC8qKiAxIHRvIDEwIG1lZGlhIGdhbGxlcnkgaXRlbXMgKi9cbiAgaXRlbXM6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtW107XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNtZWRpYS1nYWxsZXJ5LW1lZGlhLWdhbGxlcnktaXRlbS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICAvKiogQSB1cmwgb3IgYXR0YWNobWVudCAqL1xuICBtZWRpYTogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtO1xuICAvKiogQWx0IHRleHQgZm9yIHRoZSBtZWRpYSwgbWF4IDEwMjQgY2hhcmFjdGVycyAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBXaGV0aGVyIHRoZSBtZWRpYSBzaG91bGQgYmUgYSBzcG9pbGVyIChvciBibHVycmVkIG91dCkuIERlZmF1bHRzIHRvIGBmYWxzZWAgKi9cbiAgc3BvaWxlcj86IGJvb2xlYW47XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNmaWxlLWZpbGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGaWxlQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTtcblxuICAvKiogVGhpcyB1bmZ1cmxlZCBtZWRpYSBpdGVtIGlzIHVuaXF1ZSBpbiB0aGF0IGl0IG9ubHkgc3VwcG9ydHMgYXR0YWNobWVudCByZWZlcmVuY2VzIHVzaW5nIHRoZSBhdHRhY2htZW50Oi8vPGZpbGVuYW1lPiBzeW50YXggKi9cbiAgZmlsZTogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtO1xuICAvKiogV2hldGhlciB0aGUgbWVkaWEgc2hvdWxkIGJlIGEgc3BvaWxlciAob3IgYmx1cnJlZCBvdXQpLiBEZWZhdWx0cyB0byBgZmFsc2VgICovXG4gIHNwb2lsZXI/OiBib29sZWFuO1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGZpbGUuIFRoaXMgZmllbGQgaXMgaWdub3JlZCBhbmQgcHJvdmlkZWQgYnkgdGhlIEFQSSBhcyBwYXJ0IG9mIHRoZSByZXNwb25zZSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBUaGUgc2l6ZSBvZiB0aGUgZmlsZSBpbiBieXRlcy4gVGhpcyBmaWVsZCBpcyBpZ25vcmVkIGFuZCBwcm92aWRlZCBieSB0aGUgQVBJIGFzIHBhcnQgb2YgdGhlIHJlc3BvbnNlICovXG4gIHNpemU6IG51bWJlcjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3NlcGFyYXRvci1zZXBhcmF0b3Itc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZXBhcmF0b3JDb21wb25lbnQgZXh0ZW5kcyBEaXNjb3JkQmFzZUNvbXBvbmVudCB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZXBhcmF0b3I7XG5cbiAgLyoqIFdoZXRoZXIgYSB2aXN1YWwgZGl2aWRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBjb21wb25lbnQuIERlZmF1bHRzIHRvIGB0cnVlYCAqL1xuICBkaXZpZGVyPzogYm9vbGVhbjtcbiAgLyoqIFNpemUgb2Ygc2VwYXJhdG9yIHBhZGRpbmcg4oCUIGAxYCBmb3Igc21hbGwgcGFkZGluZywgYDJgIGZvciBsYXJnZSBwYWRkaW5nLiBEZWZhdWx0cyB0byBgMWAgKi9cbiAgc3BhY2luZz86IFNlcGFyYXRvclNwYWNpbmdTaXplO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2Ujc2VwYXJhdG9yLXNlcGFyYXRvci1zdHJ1Y3R1cmUsIHNwYWNpbmcgZGVzY3JpcHRpb24gKi9cbmV4cG9ydCBlbnVtIFNlcGFyYXRvclNwYWNpbmdTaXplIHtcbiAgU21hbGwgPSAxLFxuICBMYXJnZSA9IDIsXG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNjb250YWluZXItY29udGFpbmVyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ29udGFpbmVyO1xuXG4gIC8qKiBDb21wb25lbnRzIG9mIHRoZSB0eXBlIGFjdGlvbiByb3csIHRleHQgZGlzcGxheSwgc2VjdGlvbiwgbWVkaWEgZ2FsbGVyeSwgc2VwYXJhdG9yLCBvciBmaWxlICovXG4gIGNvbXBvbmVudHM6IEFycmF5PFxuICAgIHwgRGlzY29yZEFjdGlvblJvd1xuICAgIHwgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50XG4gICAgfCBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFxuICAgIHwgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudFxuICAgIHwgRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudFxuICAgIHwgRGlzY29yZEZpbGVDb21wb25lbnRcbiAgPjtcbiAgLyoqIENvbG9yIGZvciB0aGUgYWNjZW50IG9uIHRoZSBjb250YWluZXIgYXMgUkdCIGZyb20gMHgwMDAwMDAgdG8gMHhGRkZGRkYgKi9cbiAgYWNjZW50X2NvbG9yPzogbnVtYmVyIHwgbnVsbDtcbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRhaW5lciBzaG91bGQgYmUgYSBzcG9pbGVyIChvciBibHVycmVkIG91dCkuIERlZmF1bHRzIHRvIGBmYWxzZWAgKi9cbiAgc3BvaWxlcj86IGJvb2xlYW47XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNsYWJlbC1sYWJlbC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZExhYmVsQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTGFiZWw7XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0ZXh0XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE1heCA0NSBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGRlc2NyaXB0aW9uIHRleHQgZm9yIHRoZSBsYWJlbFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBNYXggMTAwIGNoYXJhY3RlcnMuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIFRoZSBjb21wb25lbnQgd2l0aGluIHRoZSBsYWJlbCAqL1xuICBjb21wb25lbnQ6XG4gICAgfCBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50XG4gICAgfCBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudFxuICAgIHwgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnRcbiAgICB8IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50XG4gICAgfCBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnRcbiAgICB8IERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnRcbiAgICB8IERpc2NvcmRVc2VyU2VsZWN0Q29tcG9uZW50XG4gICAgfCBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudFxuICAgIHwgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0Q29tcG9uZW50XG4gICAgfCBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudFxuICAgIHwgRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQ7XG59XG5cbi8qKiBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9jb21wb25lbnRzL3JlZmVyZW5jZSNsYWJlbC1sYWJlbC1pbnRlcmFjdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY29tcG9uZW50IHdpdGhpbiB0aGUgbGFiZWwgKi9cbiAgY29tcG9uZW50OlxuICAgIHwgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2VcbiAgICB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsXG4gICAgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWxcbiAgICB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbFxuICAgIHwgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbFxuICAgIHwgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsXG4gICAgfCBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2VcbiAgICB8IERpc2NvcmRSYWRpb0dyb3VwSW50ZXJhY3Rpb25SZXNwb25zZVxuICAgIHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlXG4gICAgfCBEaXNjb3JkQ2hlY2tib3hJbnRlcmFjdGlvblJlc3BvbnNlO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjZmlsZS11cGxvYWQtZmlsZS11cGxvYWQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZDtcblxuICAvKiogVGhlIGN1c3RvbSBpZCBmb3IgdGhlIGZpbGUgdXBsb2FkICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGZpbGVzIHRoYXQgbXVzdCBiZSB1cGxvYWRlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBCZXR3ZWVuIDAtMTBcbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWluX3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlcyB0aGF0IGNhbiBiZSB1cGxvYWRlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBCZXR3ZWVuIDEtMTBcbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2ZpbGUtdXBsb2FkLWZpbGUtdXBsb2FkLWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZDtcblxuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb21wb25lbnQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFRoZSBjdXN0b20gaWQgZm9yIHRoZSBmaWxlIHVwbG9hZCAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqIElEcyBvZiB0aGUgdXBsb2FkZWQgZmlsZXMgZm91bmQgaW4gdGhlIHJlc29sdmVkIGRhdGEgKi9cbiAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3JhZGlvLWdyb3VwLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXA7XG4gIC8qKiBBIGRldi1kZWZpbmVkIHVuaXF1ZSBzdHJpbmcgZm9yIHRoZSBjb21wb25lbnQ7IDEtMTAwIGNoYXJhY3RlcnMuICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogTGlzdCBvZiBvcHRpb25zIHRvIHNob3c7IG1pbiAyLCBtYXggMTAuICovXG4gIG9wdGlvbnM6IERpc2NvcmRSYWRpb0dyb3VwT3B0aW9uW107XG4gIC8qKiBXaGV0aGVyIGEgc2VsZWN0aW9uIGlzIHJlcXVpcmVkIHRvIHN1Ym1pdCB0aGUgbW9kYWwuIERlZmF1bHRzIHRvIGB0cnVlYC4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjcmFkaW8tZ3JvdXAtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUmFkaW9Hcm91cE9wdGlvbiB7XG4gIC8qKiBUaGUgZGV2LWRlZmluZWQgdmFsdWUgb2YgdGhlIG9wdGlvbi4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgdmFsdWU6IHN0cmluZztcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBsYWJlbCBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogQW4gb3B0aW9uYWwgZGVzY3JpcHRpb24gZm9yIHRoZSBvcHRpb24uIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogV2lsbCByZW5kZXIgdGhpcyBvcHRpb24gYXMgYWxyZWFkeS1zZWxlY3RlZCBieSBkZWZhdWx0LiAqL1xuICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI3JhZGlvLWdyb3VwLWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgcmFkaW8gZ3JvdXAgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbiwgb3IgbnVsbCBpZiBubyBvcHRpb24gaXMgc2VsZWN0ZWQgKi9cbiAgdmFsdWU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hlY2tib3gtZ3JvdXAtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IGV4dGVuZHMgRGlzY29yZEJhc2VDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3hHcm91cDtcbiAgLyoqIEEgZGV2LWRlZmluZWQgdW5pcXVlIHN0cmluZyBmb3IgdGhlIGNvbXBvbmVudDsgMS0xMDAgY2hhcmFjdGVycy4gKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBMaXN0IG9mIG9wdGlvbnMgdG8gc2hvdzsgbWluIDEsIG1heCAxMC4gKi9cbiAgb3B0aW9uczogRGlzY29yZENoZWNrYm94R3JvdXBPcHRpb25bXTtcbiAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbXVzdCBiZSBjaG9zZW47IG1pbiAwLCBtYXggMTAuIERlZmF1bHRzIHRvIDE7IGlmIHNldCB0byAwIHJlcXVpcmVkIG11c3QgYmUgZmFsc2UuICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBjaG9zZW47IG1pbiAxLCBtYXggMTAuIERlZmF1bHRzIHRvIHRoZSBudW1iZXIgb2Ygb3B0aW9ucy4gKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgc2VsZWN0aW5nIHdpdGhpbiB0aGUgZ3JvdXAgaXMgcmVxdWlyZWQuIERlZmF1bHRzIHRvIGB0cnVlYC4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hlY2tib3gtZ3JvdXAtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hlY2tib3hHcm91cE9wdGlvbiB7XG4gIC8qKiBUaGUgZGV2LWRlZmluZWQgdmFsdWUgb2YgdGhlIG9wdGlvbi4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgdmFsdWU6IHN0cmluZztcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBsYWJlbCBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogQW4gb3B0aW9uYWwgZGVzY3JpcHRpb24gZm9yIHRoZSBvcHRpb24uIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogV2lsbCByZW5kZXIgdGhpcyBvcHRpb24gYXMgYWxyZWFkeS1zZWxlY3RlZCBieSBkZWZhdWx0LiAqL1xuICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuLyoqIGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2NvbXBvbmVudHMvcmVmZXJlbmNlI2NoZWNrYm94LWdyb3VwLWludGVyYWN0aW9uLXJlc3BvbnNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hlY2tib3hHcm91cEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3hHcm91cDtcbiAgLyoqIDMyIGJpdCBpbnRlZ2VyIHVzZWQgYXMgYW4gb3B0aW9uYWwgaWRlbnRpZmllciBmb3IgY29tcG9uZW50ICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBUaGUgY3VzdG9tIGlkIGZvciB0aGUgY2hlY2tib3ggZ3JvdXAgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIC8qKiBUaGUgdmFsdWVzIG9mIHRoZSBzZWxlY3RlZCBvcHRpb25zLCBvciBhbiBlbXB0eSBhcnJheSBpZiBubyBvcHRpb25zIGFyZSBzZWxlY3RlZCAqL1xuICB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hlY2tib3gtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGVja2JveENvbXBvbmVudCBleHRlbmRzIERpc2NvcmRCYXNlQ29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94O1xuICAvKiogQSBkZXYtZGVmaW5lZCB1bmlxdWUgc3RyaW5nIGZvciB0aGUgY29tcG9uZW50OyAxLTEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQuICovXG4gIGRlZmF1bHQ/OiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjY2hlY2tib3gtaW50ZXJhY3Rpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3g7XG4gIC8qKiAzMiBiaXQgaW50ZWdlciB1c2VkIGFzIGFuIG9wdGlvbmFsIGlkZW50aWZpZXIgZm9yIGNvbXBvbmVudCAqL1xuICBpZDogbnVtYmVyO1xuICAvKiogVGhlIGN1c3RvbSBpZCBmb3IgdGhlIGNoZWNrYm94ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjaGVja2JveCAodHJ1ZSBpZiBjaGVja2VkLCBmYWxzZSBpZiB1bmNoZWNrZWQpICovXG4gIHZhbHVlOiBib29sZWFuO1xufVxuXG4vKiogaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvY29tcG9uZW50cy9yZWZlcmVuY2UjdW5mdXJsZWQtbWVkaWEtaXRlbS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIHtcbiAgLyoqIFN1cHBvcnRzIGFyYml0cmFyeSB1cmxzIGFuZCBhdHRhY2htZW50Oi8vPGZpbGVuYW1lPiByZWZlcmVuY2VzICovXG4gIHVybDogc3RyaW5nO1xuICAvKiogVGhlIHByb3hpZWQgdXJsIG9mIHRoZSBtZWRpYSBpdGVtLiBUaGlzIGZpZWxkIGlzIGlnbm9yZWQgYW5kIHByb3ZpZGVkIGJ5IHRoZSBBUEkgYXMgcGFydCBvZiB0aGUgcmVzcG9uc2UgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nO1xuICAvKiogVGhlIGhlaWdodCBvZiB0aGUgbWVkaWEgaXRlbS4gVGhpcyBmaWVsZCBpcyBpZ25vcmVkIGFuZCBwcm92aWRlZCBieSB0aGUgQVBJIGFzIHBhcnQgb2YgdGhlIHJlc3BvbnNlICovXG4gIGhlaWdodD86IG51bWJlciB8IG51bGw7XG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIG1lZGlhIGl0ZW0uIFRoaXMgZmllbGQgaXMgaWdub3JlZCBhbmQgcHJvdmlkZWQgYnkgdGhlIEFQSSBhcyBwYXJ0IG9mIHRoZSByZXNwb25zZSAqL1xuICB3aWR0aD86IG51bWJlciB8IG51bGw7XG4gIC8qKiBUaGUgbWVkaWEgdHlwZSBvZiB0aGUgY29udGVudC4gVGhpcyBmaWVsZCBpcyBpZ25vcmVkIGFuZCBwcm92aWRlZCBieSB0aGUgQVBJIGFzIHBhcnQgb2YgdGhlIHJlc3BvbnNlICovXG4gIGNvbnRlbnRfdHlwZT86IHN0cmluZztcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXBsb2FkZWQgYXR0YWNobWVudC4gT25seSBwcmVzZW50IGlmIHRoZSBtZWRpYSB3YXMgdXBsb2FkZWQgYXMgYW4gYXR0YWNobWVudC4gVGhpcyBmaWVsZCBpcyBpZ25vcmVkIGFuZCBwcm92aWRlZCBieSB0aGUgQVBJIGFzIHBhcnQgb2YgdGhlIHJlc3BvbnNlICovXG4gIGF0dGFjaG1lbnRfaWQ/OiBzdHJpbmcgfCBudWxsO1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsIkJ1dHRvblN0eWxlcyIsIlRleHRTdHlsZXMiLCJTZXBhcmF0b3JTcGFjaW5nU2l6ZSJdLCJtYXBwaW5ncyI6IkFBQUEsd0VBQXdFLEdBT3hFLDhGQUE4RixHQUM5RixPQUFPLElBQUEsQUFBS0EsK0NBQUFBO0lBQ1YscUNBQXFDO0lBRXJDLG9CQUFvQjtJQUVwQiwyQ0FBMkM7SUFFM0Msd0JBQXdCO0lBRXhCLDBCQUEwQjtJQUUxQiwwQkFBMEI7SUFFMUIsb0NBQW9DO0lBRXBDLDZCQUE2QjtJQUU3QiwrREFBK0Q7SUFFL0Qsa0JBQWtCO0lBRWxCLGlEQUFpRDtJQUVqRCxtQ0FBbUM7SUFFbkMsOEJBQThCO0lBRTlCLCtEQUErRDtJQUUvRCx1REFBdUQ7SUFFdkQsbUVBQW1FO0lBRW5FLGtDQUFrQztJQUVsQyxrRkFBa0Y7SUFFbEYsOEVBQThFO0lBRTlFLDhEQUE4RDtXQXZDcERBO01BeUNYO0FBNkhELGtGQUFrRixHQUNsRixPQUFPLElBQUEsQUFBS0Msc0NBQUFBO0lBQ1YscUJBQXFCO0lBRXJCLGtCQUFrQjtJQUVsQixtQkFBbUI7SUFFbkIsaUJBQWlCO0lBRWpCLHFDQUFxQztJQUVyQyx3REFBd0Q7V0FYOUNBO01BYVg7QUEyR0QsMEZBQTBGLEdBQzFGLE9BQU8sSUFBQSxBQUFLQyxvQ0FBQUE7SUFDVix3Q0FBd0M7SUFFeEMsb0NBQW9DO1dBSDFCQTtNQUtYO0FBOFdELGdIQUFnSCxHQUNoSCxPQUFPLElBQUEsQUFBS0MsOENBQUFBOzs7V0FBQUE7TUFHWCJ9