@discordeno/bot 22.0.1-next.c1b6f91 → 22.0.1-next.c221682

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.
@@ -1,7 +1,7 @@
1
1
  import { type DiscordGuild } from '@discordeno/types';
2
2
  import { ToggleBitfieldBigint } from './ToggleBitfield.js';
3
3
  /** @private This is subject to breaking changes without notices */
4
- export declare const guildFeatureNames: readonly ["animatedBanner", "animatedIcon", "applicationCommandPermissionsV2", "autoModeration", "banner", "community", "creatorMonetizableProvisional", "creatorStorePage", "developerSupportServer", "discoverable", "featurable", "invitesDisabled", "inviteSplash", "memberVerificationGateEnabled", "moreSoundboard", "moreStickers", "news", "partnered", "previewEnabled", "raidAlertsDisabled", "roleIcons", "roleSubscriptionsAvailableForPurchase", "roleSubscriptionsEnabled", "ticketedEventsEnabled", "vanityUrl", "verified", "vipRegions", "welcomeScreenEnabled", "guestsEnabled", "guildTags", "enhancedRoleColors"];
4
+ export declare const guildFeatureNames: readonly ["animatedBanner", "animatedIcon", "applicationCommandPermissionsV2", "autoModeration", "banner", "community", "creatorMonetizableProvisional", "creatorStorePage", "developerSupportServer", "discoverable", "enhancedRoleColors", "featurable", "guildTags", "guestsEnabled", "invitesDisabled", "inviteSplash", "memberVerificationGateEnabled", "moreSoundboard", "moreStickers", "news", "partnered", "previewEnabled", "pruneRequiresAdmin", "raidAlertsDisabled", "roleIcons", "roleSubscriptionsAvailableForPurchase", "roleSubscriptionsEnabled", "ticketedEventsEnabled", "vanityUrl", "verified", "vipRegions", "welcomeScreenEnabled"];
5
5
  export declare const GuildToggle: {
6
6
  /** Whether the bot is the owner of the guild */
7
7
  owner: bigint;
@@ -33,8 +33,14 @@ export declare const GuildToggle: {
33
33
  developerSupportServer: bigint;
34
34
  /** Whether the guild is able to be discovered in the directory */
35
35
  discoverable: bigint;
36
+ /** Whether the guild is able to set gradient colors to roles */
37
+ enhancedRoleColors: bigint;
36
38
  /** Whether the guild is able to be featured in the directory */
37
39
  featurable: bigint;
40
+ /** Whether the guild has access to set guild tags */
41
+ guildTags: bigint;
42
+ /** Whether the guild has access to guest invites */
43
+ guestsEnabled: bigint;
38
44
  /** Whether the guild has paused invites, preventing new users from joining */
39
45
  invitesDisabled: bigint;
40
46
  /** Whether the guild has access to set an invite splash background */
@@ -51,6 +57,8 @@ export declare const GuildToggle: {
51
57
  partnered: bigint;
52
58
  /** Whether the guild can be previewed before joining via Membership Screening or the directory */
53
59
  previewEnabled: bigint;
60
+ /** Whether the guild has enabled requiring admin to prune members */
61
+ pruneRequiresAdmin: bigint;
54
62
  /** Whether the guild has disabled alerts for join raids in the configured safety alerts channel */
55
63
  raidAlertsDisabled: bigint;
56
64
  /** Whether the guild is able to set role icons */
@@ -71,12 +79,6 @@ export declare const GuildToggle: {
71
79
  vipRegions: bigint;
72
80
  /** Whether the guild has enabled the welcome screen */
73
81
  welcomeScreenEnabled: bigint;
74
- /** Whether the guild has access to guest invites */
75
- guestsEnabled: bigint;
76
- /** Whether the guild has access to set guild tags */
77
- guildTags: bigint;
78
- /** Whether the guild is able to set gradient colors to roles */
79
- enhancedRoleColors: bigint;
80
82
  };
81
83
  export declare class GuildToggles extends ToggleBitfieldBigint {
82
84
  constructor(guildOrTogglesBigint: Partial<DiscordGuild> | bigint);
@@ -111,8 +113,14 @@ export declare class GuildToggles extends ToggleBitfieldBigint {
111
113
  get news(): boolean;
112
114
  /** Whether the guild is able to be discovered in the directory */
113
115
  get discoverable(): boolean;
116
+ /** Whether the guild is able to set gradient colors to roles */
117
+ get enhancedRoleColors(): boolean;
114
118
  /** Whether the guild is able to be featured in the directory */
115
119
  get featurable(): boolean;
120
+ /** Whether the guild has access to set guild tags */
121
+ get guildTags(): boolean;
122
+ /** Whether the guild has access to guest invites */
123
+ get guestsEnabled(): boolean;
116
124
  /** Whether the guild has access to set an animated guild icon */
117
125
  get animatedIcon(): boolean;
118
126
  /** Whether the guild has access to set a guild banner image */
@@ -125,6 +133,7 @@ export declare class GuildToggles extends ToggleBitfieldBigint {
125
133
  get moreSoundboard(): boolean;
126
134
  /** Whether the guild can be previewed before joining via Membership Screening or the directory */
127
135
  get previewEnabled(): boolean;
136
+ get pruneRequiresAdmin(): boolean;
128
137
  /** Whether the guild has enabled ticketed events */
129
138
  get ticketedEventsEnabled(): boolean;
130
139
  /** Whether the guild has increased custom sticker slots */
@@ -149,12 +158,6 @@ export declare class GuildToggles extends ToggleBitfieldBigint {
149
158
  get roleSubscriptionsEnabled(): boolean;
150
159
  /** Whether the guild has created soundboard sounds. */
151
160
  get soundboard(): boolean;
152
- /** Whether the guild has access to guest invites */
153
- get guestsEnabled(): boolean;
154
- /** Whether the guild has access to set guild tags */
155
- get guildTags(): boolean;
156
- /** Whether the guild is able to set gradient colors to roles */
157
- get enhancedRoleColors(): boolean;
158
161
  /** Checks whether or not the permissions exist in this */
159
162
  has(permissions: GuildToggleKeys | GuildToggleKeys[]): boolean;
160
163
  /** Lists all the toggles for the role and whether or not each is true or false. */
@@ -1 +1 @@
1
- {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/guild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/guild.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,10 @@ import { ToggleBitfieldBigint } from './ToggleBitfield.js';
11
11
  'creatorStorePage',
12
12
  'developerSupportServer',
13
13
  'discoverable',
14
+ 'enhancedRoleColors',
14
15
  'featurable',
16
+ 'guildTags',
17
+ 'guestsEnabled',
15
18
  'invitesDisabled',
16
19
  'inviteSplash',
17
20
  'memberVerificationGateEnabled',
@@ -20,6 +23,7 @@ import { ToggleBitfieldBigint } from './ToggleBitfield.js';
20
23
  'news',
21
24
  'partnered',
22
25
  'previewEnabled',
26
+ 'pruneRequiresAdmin',
23
27
  'raidAlertsDisabled',
24
28
  'roleIcons',
25
29
  'roleSubscriptionsAvailableForPurchase',
@@ -28,10 +32,7 @@ import { ToggleBitfieldBigint } from './ToggleBitfield.js';
28
32
  'vanityUrl',
29
33
  'verified',
30
34
  'vipRegions',
31
- 'welcomeScreenEnabled',
32
- 'guestsEnabled',
33
- 'guildTags',
34
- 'enhancedRoleColors'
35
+ 'welcomeScreenEnabled'
35
36
  ];
36
37
  export const GuildToggle = {
37
38
  /** Whether the bot is the owner of the guild */ owner: 1n << 0n,
@@ -50,7 +51,10 @@ export const GuildToggle = {
50
51
  /** Whether the guild has enabled the role subscription promo page. */ creatorStorePage: 1n << 32n,
51
52
  /** Whether the guild has been set as a support server on the App Directory */ developerSupportServer: 1n << 30n,
52
53
  /** Whether the guild is able to be discovered in the directory */ discoverable: 1n << 13n,
54
+ /** Whether the guild is able to set gradient colors to roles */ enhancedRoleColors: 1n << 35n,
53
55
  /** Whether the guild is able to be featured in the directory */ featurable: 1n << 15n,
56
+ /** Whether the guild has access to set guild tags */ guildTags: 1n << 36n,
57
+ /** Whether the guild has access to guest invites */ guestsEnabled: 1n << 26n,
54
58
  /** Whether the guild has paused invites, preventing new users from joining */ invitesDisabled: 1n << 29n,
55
59
  /** Whether the guild has access to set an invite splash background */ inviteSplash: 1n << 5n,
56
60
  /** Whether the guild has enabled [Membership Screening](https://docs.discord.com/developers/resources/guild#membership-screening-object) */ memberVerificationGateEnabled: 1n << 19n,
@@ -59,6 +63,7 @@ export const GuildToggle = {
59
63
  /** Whether the guild has access to create news channels */ news: 1n << 12n,
60
64
  /** Whether the guild is partnered */ partnered: 1n << 9n,
61
65
  /** Whether the guild can be previewed before joining via Membership Screening or the directory */ previewEnabled: 1n << 20n,
66
+ /** Whether the guild has enabled requiring admin to prune members */ pruneRequiresAdmin: 1n << 37n,
62
67
  /** Whether the guild has disabled alerts for join raids in the configured safety alerts channel */ raidAlertsDisabled: 1n << 22n,
63
68
  /** Whether the guild is able to set role icons */ roleIcons: 1n << 27n,
64
69
  /** Whether the guild has role subscriptions that can be purchased. */ roleSubscriptionsAvailableForPurchase: 1n << 33n,
@@ -68,10 +73,7 @@ export const GuildToggle = {
68
73
  /** Whether the guild has access to set a vanity URL */ vanityUrl: 1n << 7n,
69
74
  /** Whether the guild is verified */ verified: 1n << 8n,
70
75
  /** Whether the guild has access to set 384 kbps bitrate in voice (previously VIP voice servers) */ vipRegions: 1n << 6n,
71
- /** Whether the guild has enabled the welcome screen */ welcomeScreenEnabled: 1n << 18n,
72
- /** Whether the guild has access to guest invites */ guestsEnabled: 1n << 26n,
73
- /** Whether the guild has access to set guild tags */ guildTags: 1n << 36n,
74
- /** Whether the guild is able to set gradient colors to roles */ enhancedRoleColors: 1n << 35n
76
+ /** Whether the guild has enabled the welcome screen */ welcomeScreenEnabled: 1n << 18n
75
77
  };
76
78
  export class GuildToggles extends ToggleBitfieldBigint {
77
79
  constructor(guildOrTogglesBigint){
@@ -96,7 +98,10 @@ export class GuildToggles extends ToggleBitfieldBigint {
96
98
  if (guild.features.includes(GuildFeatures.CreatorStorePage)) this.add(GuildToggle.creatorStorePage);
97
99
  if (guild.features.includes(GuildFeatures.DeveloperSupportServer)) this.add(GuildToggle.developerSupportServer);
98
100
  if (guild.features.includes(GuildFeatures.Discoverable)) this.add(GuildToggle.discoverable);
101
+ if (guild.features.includes(GuildFeatures.EnhancedRoleColors)) this.add(GuildToggle.enhancedRoleColors);
99
102
  if (guild.features.includes(GuildFeatures.Featurable)) this.add(GuildToggle.featurable);
103
+ if (guild.features.includes(GuildFeatures.GuildTags)) this.add(GuildToggle.guildTags);
104
+ if (guild.features.includes(GuildFeatures.GuestsEnabled)) this.add(GuildToggle.guestsEnabled);
100
105
  if (guild.features.includes(GuildFeatures.InvitesDisabled)) this.add(GuildToggle.invitesDisabled);
101
106
  if (guild.features.includes(GuildFeatures.InviteSplash)) this.add(GuildToggle.inviteSplash);
102
107
  if (guild.features.includes(GuildFeatures.MemberVerificationGateEnabled)) this.add(GuildToggle.memberVerificationGateEnabled);
@@ -105,6 +110,7 @@ export class GuildToggles extends ToggleBitfieldBigint {
105
110
  if (guild.features.includes(GuildFeatures.News)) this.add(GuildToggle.news);
106
111
  if (guild.features.includes(GuildFeatures.Partnered)) this.add(GuildToggle.partnered);
107
112
  if (guild.features.includes(GuildFeatures.PreviewEnabled)) this.add(GuildToggle.previewEnabled);
113
+ if (guild.features.includes(GuildFeatures.PruneRequiresAdmin)) this.add(GuildToggle.pruneRequiresAdmin);
108
114
  if (guild.features.includes(GuildFeatures.RaidAlertsDisabled)) this.add(GuildToggle.raidAlertsDisabled);
109
115
  if (guild.features.includes(GuildFeatures.RoleIcons)) this.add(GuildToggle.roleIcons);
110
116
  if (guild.features.includes(GuildFeatures.RoleSubscriptionsAvailableForPurchase)) this.add(GuildToggle.roleSubscriptionsAvailableForPurchase);
@@ -115,9 +121,6 @@ export class GuildToggles extends ToggleBitfieldBigint {
115
121
  if (guild.features.includes(GuildFeatures.Verified)) this.add(GuildToggle.verified);
116
122
  if (guild.features.includes(GuildFeatures.VipRegions)) this.add(GuildToggle.vipRegions);
117
123
  if (guild.features.includes(GuildFeatures.WelcomeScreenEnabled)) this.add(GuildToggle.welcomeScreenEnabled);
118
- if (guild.features.includes(GuildFeatures.GuestsEnabled)) this.add(GuildToggle.guestsEnabled);
119
- if (guild.features.includes(GuildFeatures.GuildTags)) this.add(GuildToggle.guildTags);
120
- if (guild.features.includes(GuildFeatures.EnhancedRoleColors)) this.add(GuildToggle.enhancedRoleColors);
121
124
  }
122
125
  }
123
126
  get features() {
@@ -174,9 +177,18 @@ export class GuildToggles extends ToggleBitfieldBigint {
174
177
  /** Whether the guild is able to be discovered in the directory */ get discoverable() {
175
178
  return this.has('discoverable');
176
179
  }
180
+ /** Whether the guild is able to set gradient colors to roles */ get enhancedRoleColors() {
181
+ return this.has('enhancedRoleColors');
182
+ }
177
183
  /** Whether the guild is able to be featured in the directory */ get featurable() {
178
184
  return this.has('featurable');
179
185
  }
186
+ /** Whether the guild has access to set guild tags */ get guildTags() {
187
+ return this.has('guildTags');
188
+ }
189
+ /** Whether the guild has access to guest invites */ get guestsEnabled() {
190
+ return this.has('guestsEnabled');
191
+ }
180
192
  /** Whether the guild has access to set an animated guild icon */ get animatedIcon() {
181
193
  return this.has('animatedIcon');
182
194
  }
@@ -195,6 +207,9 @@ export class GuildToggles extends ToggleBitfieldBigint {
195
207
  /** Whether the guild can be previewed before joining via Membership Screening or the directory */ get previewEnabled() {
196
208
  return this.has('previewEnabled');
197
209
  }
210
+ get pruneRequiresAdmin() {
211
+ return this.has('pruneRequiresAdmin');
212
+ }
198
213
  /** Whether the guild has enabled ticketed events */ get ticketedEventsEnabled() {
199
214
  return this.has('ticketedEventsEnabled');
200
215
  }
@@ -231,15 +246,6 @@ export class GuildToggles extends ToggleBitfieldBigint {
231
246
  /** Whether the guild has created soundboard sounds. */ get soundboard() {
232
247
  return this.has('soundboard');
233
248
  }
234
- /** Whether the guild has access to guest invites */ get guestsEnabled() {
235
- return this.has('guestsEnabled');
236
- }
237
- /** Whether the guild has access to set guild tags */ get guildTags() {
238
- return this.has('guildTags');
239
- }
240
- /** Whether the guild is able to set gradient colors to roles */ get enhancedRoleColors() {
241
- return this.has('enhancedRoleColors');
242
- }
243
249
  /** Checks whether or not the permissions exist in this */ has(permissions) {
244
250
  if (!Array.isArray(permissions)) return super.contains(GuildToggle[permissions]);
245
251
  return super.contains(permissions.reduce((a, b)=>a |= GuildToggle[b], 0n));
@@ -253,4 +259,4 @@ export class GuildToggles extends ToggleBitfieldBigint {
253
259
  }
254
260
  }
255
261
 
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkQmlnaW50IH0gZnJvbSAnLi9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCBjb25zdCBndWlsZEZlYXR1cmVOYW1lcyA9IFtcbiAgJ2FuaW1hdGVkQmFubmVyJyxcbiAgJ2FuaW1hdGVkSWNvbicsXG4gICdhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyJyxcbiAgJ2F1dG9Nb2RlcmF0aW9uJyxcbiAgJ2Jhbm5lcicsXG4gICdjb21tdW5pdHknLFxuICAnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnLFxuICAnY3JlYXRvclN0b3JlUGFnZScsXG4gICdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyxcbiAgJ2Rpc2NvdmVyYWJsZScsXG4gICdmZWF0dXJhYmxlJyxcbiAgJ2ludml0ZXNEaXNhYmxlZCcsXG4gICdpbnZpdGVTcGxhc2gnLFxuICAnbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQnLFxuICAnbW9yZVNvdW5kYm9hcmQnLFxuICAnbW9yZVN0aWNrZXJzJyxcbiAgJ25ld3MnLFxuICAncGFydG5lcmVkJyxcbiAgJ3ByZXZpZXdFbmFibGVkJyxcbiAgJ3JhaWRBbGVydHNEaXNhYmxlZCcsXG4gICdyb2xlSWNvbnMnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZScsXG4gICdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnLFxuICAndGlja2V0ZWRFdmVudHNFbmFibGVkJyxcbiAgJ3Zhbml0eVVybCcsXG4gICd2ZXJpZmllZCcsXG4gICd2aXBSZWdpb25zJyxcbiAgJ3dlbGNvbWVTY3JlZW5FbmFibGVkJyxcbiAgJ2d1ZXN0c0VuYWJsZWQnLFxuICAnZ3VpbGRUYWdzJyxcbiAgJ2VuaGFuY2VkUm9sZUNvbG9ycycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn07XG5cbmV4cG9ydCBjbGFzcyBHdWlsZFRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB7XG4gIGNvbnN0cnVjdG9yKGd1aWxkT3JUb2dnbGVzQmlnaW50OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD4gfCBiaWdpbnQpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKHR5cGVvZiBndWlsZE9yVG9nZ2xlc0JpZ2ludCA9PT0gJ2JpZ2ludCcpIHRoaXMuYml0ZmllbGQgPSBndWlsZE9yVG9nZ2xlc0JpZ2ludDtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnQ7XG4gICAgICAvLyBDYXVzZSBkaXNjb3JkIGJlIHNtYXJ0IGxpa2UgdGhhdFxuICAgICAgaWYgKCFndWlsZC5mZWF0dXJlcykgZ3VpbGQuZmVhdHVyZXMgPSBbXTtcblxuICAgICAgaWYgKGd1aWxkLm93bmVyKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5vd25lcik7XG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmxhcmdlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5sYXJnZSk7XG4gICAgICBpZiAoZ3VpbGQudW5hdmFpbGFibGUpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnVuYXZhaWxhYmxlKTtcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKTtcblxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRCYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEJhbm5lcik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEljb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEljb24pO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXV0b01vZGVyYXRpb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hdXRvTW9kZXJhdGlvbik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5CYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5iYW5uZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvclN0b3JlUGFnZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmNyZWF0b3JTdG9yZVBhZ2UpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGlzY292ZXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZGlzY292ZXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkZlYXR1cmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5mZWF0dXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5JbnZpdGVTcGxhc2gpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5pbnZpdGVTcGxhc2gpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5tZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1vcmVTdGlja2VycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTdGlja2Vycyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5OZXdzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubmV3cyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUHJldmlld0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmV2aWV3RW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5SYWlkQWxlcnRzRGlzYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yYWlkQWxlcnRzRGlzYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5UaWNrZXRlZEV2ZW50c0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS50aWNrZXRlZEV2ZW50c0VuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmFuaXR5VXJsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmFuaXR5VXJsKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmlwUmVnaW9ucykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZpcFJlZ2lvbnMpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuV2VsY29tZVNjcmVlbkVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS53ZWxjb21lU2NyZWVuRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWlsZFRhZ3MpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5ndWlsZFRhZ3MpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRW5oYW5jZWRSb2xlQ29sb3JzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZW5oYW5jZWRSb2xlQ29sb3JzKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBpZiAoIWd1aWxkRmVhdHVyZU5hbWVzLmluY2x1ZGVzKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKSkgY29udGludWU7XG4gICAgICBpZiAoIXN1cGVyLmNvbnRhaW5zKEd1aWxkVG9nZ2xlW2tleSBhcyBHdWlsZFRvZ2dsZUtleXNdKSkgY29udGludWU7XG5cbiAgICAgIGZlYXR1cmVzLnB1c2goa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpO1xuICAgIH1cblxuICAgIHJldHVybiBmZWF0dXJlcztcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBnZXQgb3duZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdvd25lcicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBnZXQgd2lkZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dpZGdldEVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGdldCBsYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2xhcmdlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgZ2V0IHVuYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndW5hdmFpbGFibGUnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIGdldCBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGludml0ZSBzcGxhc2ggYmFja2dyb3VuZCAqL1xuICBnZXQgaW52aXRlU3BsYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlU3BsYXNoJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgMzg0IGticHMgYml0cmF0ZSBpbiB2b2ljZSAocHJldmlvdXNseSBWSVAgdm9pY2Ugc2VydmVycykgKi9cbiAgZ2V0IHZpcFJlZ2lvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2aXBSZWdpb25zJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSB2YW5pdHkgVVJMICovXG4gIGdldCB2YW5pdHlVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2YW5pdHlVcmwnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB2ZXJpZmllZCAqL1xuICBnZXQgdmVyaWZpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2ZXJpZmllZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHBhcnRuZXJlZCAqL1xuICBnZXQgcGFydG5lcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncGFydG5lcmVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGVuYWJsZSB3ZWxjb21lIHNjcmVlbiwgTWVtYmVyc2hpcCBTY3JlZW5pbmcsIHN0YWdlIGNoYW5uZWxzIGFuZCBkaXNjb3ZlcnksIGFuZCByZWNlaXZlcyBjb21tdW5pdHkgdXBkYXRlcyAqL1xuICBnZXQgY29tbXVuaXR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY29tbXVuaXR5Jyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgR3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZ2V0IGRldmVsb3BlclN1cHBvcnRTZXJ2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBhbmltYXRlZEJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkQmFubmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBjcmVhdGUgbmV3cyBjaGFubmVscyAqL1xuICBnZXQgbmV3cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld3MnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZGlzY292ZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlzY292ZXJhYmxlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBmZWF0dXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBmZWF0dXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZmVhdHVyYWJsZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGljb24gKi9cbiAgZ2V0IGFuaW1hdGVkSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkSWNvbicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBiYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdiYW5uZXInKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZ2V0IHdlbGNvbWVTY3JlZW5FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnd2VsY29tZVNjcmVlbkVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBbTWVtYmVyc2hpcCBTY3JlZW5pbmddKGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL3Jlc291cmNlcy9ndWlsZCNtZW1iZXJzaGlwLXNjcmVlbmluZy1vYmplY3QpICovXG4gIGdldCBtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIG1vcmUgc291bmRib2FyZCBzb3VuZCBzbG90ICovXG4gIGdldCBtb3JlU291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21vcmVTb3VuZGJvYXJkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGJlIHByZXZpZXdlZCBiZWZvcmUgam9pbmluZyB2aWEgTWVtYmVyc2hpcCBTY3JlZW5pbmcgb3IgdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgcHJldmlld0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwcmV2aWV3RW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICBnZXQgdGlja2V0ZWRFdmVudHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndGlja2V0ZWRFdmVudHNFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBnZXQgbW9yZVN0aWNrZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVN0aWNrZXJzJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgcm9sZSBpY29ucyAqL1xuICBnZXQgcm9sZUljb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncm9sZUljb25zJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHNldCB1cCBhdXRvIG1vZGVyYXRpb24gcnVsZXMgKi9cbiAgZ2V0IGF1dG9Nb2RlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b01vZGVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcGF1c2VkIGludml0ZXMsIHByZXZlbnRpbmcgbmV3IHVzZXJzIGZyb20gam9pbmluZyAqL1xuICBnZXQgaW52aXRlc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlc0Rpc2FibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGdldCBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIG1vbmV0aXphdGlvbi4gKi9cbiAgZ2V0IGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgZ2V0IGNyZWF0b3JTdG9yZVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjcmVhdG9yU3RvcmVQYWdlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGRpc2FibGVkIGFsZXJ0cyBmb3Igam9pbiByYWlkcyBpbiB0aGUgY29uZmlndXJlZCBzYWZldHkgYWxlcnRzIGNoYW5uZWwgKi9cbiAgZ2V0IHJhaWRBbGVydHNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JhaWRBbGVydHNEaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByb2xlIHN1YnNjcmlwdGlvbnMuICovXG4gIGdldCByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgY3JlYXRlZCBzb3VuZGJvYXJkIHNvdW5kcy4gKi9cbiAgZ2V0IHNvdW5kYm9hcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdzb3VuZGJvYXJkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBndWVzdCBpbnZpdGVzICovXG4gIGdldCBndWVzdHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3Vlc3RzRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ2V0IGd1aWxkVGFncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1aWxkVGFncycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBnZXQgZW5oYW5jZWRSb2xlQ29sb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZW5oYW5jZWRSb2xlQ29sb3JzJyk7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogR3VpbGRUb2dnbGVLZXlzIHwgR3VpbGRUb2dnbGVLZXlzW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpKSByZXR1cm4gc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVbcGVybWlzc2lvbnNdKTtcblxuICAgIHJldHVybiBzdXBlci5jb250YWlucyhwZXJtaXNzaW9ucy5yZWR1Y2UoKGEsIGIpID0+IChhIHw9IEd1aWxkVG9nZ2xlW2JdKSwgMG4pKTtcbiAgfVxuXG4gIC8qKiBMaXN0cyBhbGwgdGhlIHRvZ2dsZXMgZm9yIHRoZSByb2xlIGFuZCB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHRydWUgb3IgZmFsc2UuICovXG4gIGxpc3QoKTogUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj4ge1xuICAgIGNvbnN0IGpzb246IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj47XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgR3VpbGRUb2dnbGVLZXlzID0ga2V5b2YgdHlwZW9mIEd1aWxkVG9nZ2xlO1xuXG5leHBvcnQgdHlwZSBHdWlsZEZlYXR1cmVLZXlzID0gKHR5cGVvZiBndWlsZEZlYXR1cmVOYW1lcylbbnVtYmVyXTtcbiJdLCJuYW1lcyI6WyJHdWlsZEZlYXR1cmVzIiwiVG9nZ2xlQml0ZmllbGRCaWdpbnQiLCJndWlsZEZlYXR1cmVOYW1lcyIsIkd1aWxkVG9nZ2xlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwibGFyZ2UiLCJ1bmF2YWlsYWJsZSIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJhbmltYXRlZEJhbm5lciIsImFuaW1hdGVkSWNvbiIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIiLCJhdXRvTW9kZXJhdGlvbiIsImJhbm5lciIsImNvbW11bml0eSIsImNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsIiwiY3JlYXRvclN0b3JlUGFnZSIsImRldmVsb3BlclN1cHBvcnRTZXJ2ZXIiLCJkaXNjb3ZlcmFibGUiLCJmZWF0dXJhYmxlIiwiaW52aXRlc0Rpc2FibGVkIiwiaW52aXRlU3BsYXNoIiwibWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQiLCJtb3JlU291bmRib2FyZCIsIm1vcmVTdGlja2VycyIsIm5ld3MiLCJwYXJ0bmVyZWQiLCJwcmV2aWV3RW5hYmxlZCIsInJhaWRBbGVydHNEaXNhYmxlZCIsInJvbGVJY29ucyIsInJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UiLCJyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQiLCJzb3VuZGJvYXJkIiwidGlja2V0ZWRFdmVudHNFbmFibGVkIiwidmFuaXR5VXJsIiwidmVyaWZpZWQiLCJ2aXBSZWdpb25zIiwid2VsY29tZVNjcmVlbkVuYWJsZWQiLCJndWVzdHNFbmFibGVkIiwiZ3VpbGRUYWdzIiwiZW5oYW5jZWRSb2xlQ29sb3JzIiwiR3VpbGRUb2dnbGVzIiwiZ3VpbGRPclRvZ2dsZXNCaWdpbnQiLCJiaXRmaWVsZCIsImd1aWxkIiwiZmVhdHVyZXMiLCJhZGQiLCJ3aWRnZXRfZW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJpbmNsdWRlcyIsIkFuaW1hdGVkQmFubmVyIiwiQW5pbWF0ZWRJY29uIiwiQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsIkF1dG9Nb2RlcmF0aW9uIiwiQmFubmVyIiwiQ29tbXVuaXR5IiwiQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJDcmVhdG9yU3RvcmVQYWdlIiwiRGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsIkRpc2NvdmVyYWJsZSIsIkZlYXR1cmFibGUiLCJJbnZpdGVzRGlzYWJsZWQiLCJJbnZpdGVTcGxhc2giLCJNZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIk1vcmVTb3VuZGJvYXJkIiwiTW9yZVN0aWNrZXJzIiwiTmV3cyIsIlBhcnRuZXJlZCIsIlByZXZpZXdFbmFibGVkIiwiUmFpZEFsZXJ0c0Rpc2FibGVkIiwiUm9sZUljb25zIiwiUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsIlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsIlNvdW5kYm9hcmQiLCJUaWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJWYW5pdHlVcmwiLCJWZXJpZmllZCIsIlZpcFJlZ2lvbnMiLCJXZWxjb21lU2NyZWVuRW5hYmxlZCIsIkd1ZXN0c0VuYWJsZWQiLCJHdWlsZFRhZ3MiLCJFbmhhbmNlZFJvbGVDb2xvcnMiLCJrZXkiLCJPYmplY3QiLCJrZXlzIiwiY29udGFpbnMiLCJwdXNoIiwiaGFzIiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJyZWR1Y2UiLCJhIiwiYiIsImxpc3QiLCJqc29uIiwidmFsdWUiLCJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUE0QkEsYUFBYSxRQUFRLG9CQUFvQjtBQUNyRSxTQUFTQyxvQkFBb0IsUUFBUSxzQkFBc0I7QUFFM0QsaUVBQWlFLEdBQ2pFLE9BQU8sTUFBTUMsb0JBQW9CO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0QsQ0FBVTtBQUVYLE9BQU8sTUFBTUMsY0FBYztJQUN6Qiw4Q0FBOEMsR0FDOUNDLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDZix5Q0FBeUMsR0FDekNDLGVBQWUsRUFBRSxJQUFJLEVBQUU7SUFDdkIsNkNBQTZDLEdBQzdDQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ2YsdURBQXVELEdBQ3ZEQyxhQUFhLEVBQUUsSUFBSSxFQUFFO0lBQ3JCLHlEQUF5RCxHQUN6REMsMkJBQTJCLEVBQUUsSUFBSSxFQUFFO0lBRW5DLGdDQUFnQztJQUVoQyx1RUFBdUUsR0FDdkVDLGdCQUFnQixFQUFFLElBQUksR0FBRztJQUN6QiwrREFBK0QsR0FD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
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkQmlnaW50IH0gZnJvbSAnLi9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCBjb25zdCBndWlsZEZlYXR1cmVOYW1lcyA9IFtcbiAgJ2FuaW1hdGVkQmFubmVyJyxcbiAgJ2FuaW1hdGVkSWNvbicsXG4gICdhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyJyxcbiAgJ2F1dG9Nb2RlcmF0aW9uJyxcbiAgJ2Jhbm5lcicsXG4gICdjb21tdW5pdHknLFxuICAnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnLFxuICAnY3JlYXRvclN0b3JlUGFnZScsXG4gICdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyxcbiAgJ2Rpc2NvdmVyYWJsZScsXG4gICdlbmhhbmNlZFJvbGVDb2xvcnMnLFxuICAnZmVhdHVyYWJsZScsXG4gICdndWlsZFRhZ3MnLFxuICAnZ3Vlc3RzRW5hYmxlZCcsXG4gICdpbnZpdGVzRGlzYWJsZWQnLFxuICAnaW52aXRlU3BsYXNoJyxcbiAgJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyxcbiAgJ21vcmVTb3VuZGJvYXJkJyxcbiAgJ21vcmVTdGlja2VycycsXG4gICduZXdzJyxcbiAgJ3BhcnRuZXJlZCcsXG4gICdwcmV2aWV3RW5hYmxlZCcsXG4gICdwcnVuZVJlcXVpcmVzQWRtaW4nLFxuICAncmFpZEFsZXJ0c0Rpc2FibGVkJyxcbiAgJ3JvbGVJY29ucycsXG4gICdyb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlJyxcbiAgJ3JvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCcsXG4gICd0aWNrZXRlZEV2ZW50c0VuYWJsZWQnLFxuICAndmFuaXR5VXJsJyxcbiAgJ3ZlcmlmaWVkJyxcbiAgJ3ZpcFJlZ2lvbnMnLFxuICAnd2VsY29tZVNjcmVlbkVuYWJsZWQnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IEd1aWxkVG9nZ2xlID0ge1xuICAvKiogV2hldGhlciB0aGUgYm90IGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI6IDFuIDw8IDBuLFxuICAvKiogV2hldGhlciB0aGUgc2VydmVyIHdpZGdldCBpcyBlbmFibGVkICovXG4gIHdpZGdldEVuYWJsZWQ6IDFuIDw8IDFuLFxuICAvKiogV2hldGhlciB0aGlzIGlzIGNvbnNpZGVyZWQgYSBsYXJnZSBndWlsZCAqL1xuICBsYXJnZTogMW4gPDwgMm4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgZ3VpbGQgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGFuIG91dGFnZSAqL1xuICB1bmF2YWlsYWJsZTogMW4gPDwgM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIHByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQ6IDFuIDw8IDRuLFxuXG4gIC8vIEdVSUxEIEZFQVRVUkVTIEFSRSBCRUxPVyBUSElTXG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBhbmltYXRlZEJhbm5lcjogMW4gPDwgMTFuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgaWNvbiAqL1xuICBhbmltYXRlZEljb246IDFuIDw8IDE2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHVzaW5nIHRoZSBvbGQgcGVybWlzc2lvbnMgY29uZmlndXJhdGlvbiBiZWhhdmlvciAqL1xuICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyOiAxbiA8PCAxNG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgc2V0IHVwIGF1dG8gbW9kZXJhdGlvbiBydWxlcyAqL1xuICBhdXRvTW9kZXJhdGlvbjogMW4gPDwgMjhuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSBndWlsZCBiYW5uZXIgaW1hZ2UgKi9cbiAgYmFubmVyOiAxbiA8PCAxN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gZW5hYmxlIHdlbGNvbWUgc2NyZWVuLCBNZW1iZXJzaGlwIFNjcmVlbmluZywgc3RhZ2UgY2hhbm5lbHMgYW5kIGRpc2NvdmVyeSwgYW5kIHJlY2VpdmVzIGNvbW11bml0eSB1cGRhdGVzICovXG4gIGNvbW11bml0eTogMW4gPDwgMTBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgbW9uZXRpemF0aW9uLiAqL1xuICBjcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbDogMW4gPDwgMzFuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHJvbGUgc3Vic2NyaXB0aW9uIHByb21vIHBhZ2UuICovXG4gIGNyZWF0b3JTdG9yZVBhZ2U6IDFuIDw8IDMybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBiZWVuIHNldCBhcyBhIHN1cHBvcnQgc2VydmVyIG9uIHRoZSBBcHAgRGlyZWN0b3J5ICovXG4gIGRldmVsb3BlclN1cHBvcnRTZXJ2ZXI6IDFuIDw8IDMwbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZGlzY292ZXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGRpc2NvdmVyYWJsZTogMW4gPDwgMTNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgZ3JhZGllbnQgY29sb3JzIHRvIHJvbGVzICovXG4gIGVuaGFuY2VkUm9sZUNvbG9yczogMW4gPDwgMzVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBmZWF0dXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGZlYXR1cmFibGU6IDFuIDw8IDE1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ3VpbGRUYWdzOiAxbiA8PCAzNm4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByZXF1aXJpbmcgYWRtaW4gdG8gcHJ1bmUgbWVtYmVycyAqL1xuICBwcnVuZVJlcXVpcmVzQWRtaW46IDFuIDw8IDM3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBkaXNhYmxlZCBhbGVydHMgZm9yIGpvaW4gcmFpZHMgaW4gdGhlIGNvbmZpZ3VyZWQgc2FmZXR5IGFsZXJ0cyBjaGFubmVsICovXG4gIHJhaWRBbGVydHNEaXNhYmxlZDogMW4gPDwgMjJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgcm9sZSBpY29ucyAqL1xuICByb2xlSWNvbnM6IDFuIDw8IDI3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlOiAxbiA8PCAzM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByb2xlIHN1YnNjcmlwdGlvbnMuICovXG4gIHJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZDogMW4gPDwgMzRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGNyZWF0ZWQgc291bmRib2FyZCBzb3VuZHMuICovXG4gIHNvdW5kYm9hcmQ6IDFuIDw8IDI1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICB0aWNrZXRlZEV2ZW50c0VuYWJsZWQ6IDFuIDw8IDIxbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgdmFuaXR5IFVSTCAqL1xuICB2YW5pdHlVcmw6IDFuIDw8IDduLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ6IDFuIDw8IDhuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgMzg0IGticHMgYml0cmF0ZSBpbiB2b2ljZSAocHJldmlvdXNseSBWSVAgdm9pY2Ugc2VydmVycykgKi9cbiAgdmlwUmVnaW9uczogMW4gPDwgNm4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgd2VsY29tZVNjcmVlbkVuYWJsZWQ6IDFuIDw8IDE4bixcbn07XG5cbmV4cG9ydCBjbGFzcyBHdWlsZFRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB7XG4gIGNvbnN0cnVjdG9yKGd1aWxkT3JUb2dnbGVzQmlnaW50OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD4gfCBiaWdpbnQpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKHR5cGVvZiBndWlsZE9yVG9nZ2xlc0JpZ2ludCA9PT0gJ2JpZ2ludCcpIHRoaXMuYml0ZmllbGQgPSBndWlsZE9yVG9nZ2xlc0JpZ2ludDtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnQ7XG4gICAgICAvLyBDYXVzZSBkaXNjb3JkIGJlIHNtYXJ0IGxpa2UgdGhhdFxuICAgICAgaWYgKCFndWlsZC5mZWF0dXJlcykgZ3VpbGQuZmVhdHVyZXMgPSBbXTtcblxuICAgICAgaWYgKGd1aWxkLm93bmVyKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5vd25lcik7XG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmxhcmdlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5sYXJnZSk7XG4gICAgICBpZiAoZ3VpbGQudW5hdmFpbGFibGUpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnVuYXZhaWxhYmxlKTtcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKTtcblxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRCYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEJhbm5lcik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEljb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEljb24pO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXV0b01vZGVyYXRpb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hdXRvTW9kZXJhdGlvbik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5CYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5iYW5uZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvclN0b3JlUGFnZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmNyZWF0b3JTdG9yZVBhZ2UpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGlzY292ZXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZGlzY292ZXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkVuaGFuY2VkUm9sZUNvbG9ycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmVuaGFuY2VkUm9sZUNvbG9ycyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5GZWF0dXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZmVhdHVyYWJsZSk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWlsZFRhZ3MpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5ndWlsZFRhZ3MpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuR3Vlc3RzRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmd1ZXN0c0VuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuSW52aXRlc0Rpc2FibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuaW52aXRlc0Rpc2FibGVkKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZVNwbGFzaCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZVNwbGFzaCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5NZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1vcmVTb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubW9yZVNvdW5kYm9hcmQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTW9yZVN0aWNrZXJzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubW9yZVN0aWNrZXJzKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk5ld3MpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5uZXdzKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlBhcnRuZXJlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnBhcnRuZXJlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QcmV2aWV3RW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnByZXZpZXdFbmFibGVkKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlBydW5lUmVxdWlyZXNBZG1pbikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnBydW5lUmVxdWlyZXNBZG1pbik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5SYWlkQWxlcnRzRGlzYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yYWlkQWxlcnRzRGlzYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5UaWNrZXRlZEV2ZW50c0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS50aWNrZXRlZEV2ZW50c0VuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmFuaXR5VXJsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmFuaXR5VXJsKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmlwUmVnaW9ucykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZpcFJlZ2lvbnMpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuV2VsY29tZVNjcmVlbkVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS53ZWxjb21lU2NyZWVuRW5hYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZlYXR1cmVzKCk6IEd1aWxkRmVhdHVyZUtleXNbXSB7XG4gICAgY29uc3QgZmVhdHVyZXM6IEd1aWxkRmVhdHVyZUtleXNbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKEd1aWxkVG9nZ2xlKSkge1xuICAgICAgaWYgKCFndWlsZEZlYXR1cmVOYW1lcy5pbmNsdWRlcyhrZXkgYXMgR3VpbGRGZWF0dXJlS2V5cykpIGNvbnRpbnVlO1xuICAgICAgaWYgKCFzdXBlci5jb250YWlucyhHdWlsZFRvZ2dsZVtrZXkgYXMgR3VpbGRUb2dnbGVLZXlzXSkpIGNvbnRpbnVlO1xuXG4gICAgICBmZWF0dXJlcy5wdXNoKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmVhdHVyZXM7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgYm90IGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgZ2V0IG93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnb3duZXInKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZ2V0IHdpZGdldEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd3aWRnZXRFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIGlzIGNvbnNpZGVyZWQgYSBsYXJnZSBndWlsZCAqL1xuICBnZXQgbGFyZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdsYXJnZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIGdldCB1bmF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3VuYXZhaWxhYmxlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHRoZSBib29zdCBwcm9ncmVzcyBiYXIgZW5hYmxlZCAqL1xuICBnZXQgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgZ2V0IGludml0ZVNwbGFzaCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2ludml0ZVNwbGFzaCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIGdldCB2aXBSZWdpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmlwUmVnaW9ucycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgdmFuaXR5IFVSTCAqL1xuICBnZXQgdmFuaXR5VXJsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmFuaXR5VXJsJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdmVyaWZpZWQgKi9cbiAgZ2V0IHZlcmlmaWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmVyaWZpZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBwYXJ0bmVyZWQgKi9cbiAgZ2V0IHBhcnRuZXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3BhcnRuZXJlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgZ2V0IGNvbW11bml0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbW11bml0eScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIEd1aWxkIGhhcyBiZWVuIHNldCBhcyBhIHN1cHBvcnQgc2VydmVyIG9uIHRoZSBBcHAgRGlyZWN0b3J5ICovXG4gIGdldCBkZXZlbG9wZXJTdXBwb3J0U2VydmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBnZXQgYW5pbWF0ZWRCYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEJhbm5lcicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgZ2V0IG5ld3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCduZXdzJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IGRpc2NvdmVyYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2Rpc2NvdmVyYWJsZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBnZXQgZW5oYW5jZWRSb2xlQ29sb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZW5oYW5jZWRSb2xlQ29sb3JzJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBmZWF0dXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBmZWF0dXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZmVhdHVyYWJsZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ2V0IGd1aWxkVGFncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1aWxkVGFncycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gZ3Vlc3QgaW52aXRlcyAqL1xuICBnZXQgZ3Vlc3RzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1ZXN0c0VuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGdldCBhbmltYXRlZEljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEljb24nKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBnZXQgYmFubmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYmFubmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGdldCB3ZWxjb21lU2NyZWVuRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dlbGNvbWVTY3JlZW5FbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgW01lbWJlcnNoaXAgU2NyZWVuaW5nXShodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy9yZXNvdXJjZXMvZ3VpbGQjbWVtYmVyc2hpcC1zY3JlZW5pbmctb2JqZWN0KSAqL1xuICBnZXQgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBnZXQgbW9yZVNvdW5kYm9hcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtb3JlU291bmRib2FyZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBiZSBwcmV2aWV3ZWQgYmVmb3JlIGpvaW5pbmcgdmlhIE1lbWJlcnNoaXAgU2NyZWVuaW5nIG9yIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IHByZXZpZXdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJldmlld0VuYWJsZWQnKTtcbiAgfVxuXG4gIGdldCBwcnVuZVJlcXVpcmVzQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwcnVuZVJlcXVpcmVzQWRtaW4nKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgZ2V0IHRpY2tldGVkRXZlbnRzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBpbmNyZWFzZWQgY3VzdG9tIHN0aWNrZXIgc2xvdHMgKi9cbiAgZ2V0IG1vcmVTdGlja2VycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21vcmVTdGlja2VycycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgZ2V0IHJvbGVJY29ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVJY29ucycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGdldCBhdXRvTW9kZXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9Nb2RlcmF0aW9uJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgZ2V0IGludml0ZXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2ludml0ZXNEaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHVzaW5nIHRoZSBvbGQgcGVybWlzc2lvbnMgY29uZmlndXJhdGlvbiBiZWhhdmlvciAqL1xuICBnZXQgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjInKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGdldCBjcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHJvbGUgc3Vic2NyaXB0aW9uIHByb21vIHBhZ2UuICovXG4gIGdldCBjcmVhdG9yU3RvcmVQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvclN0b3JlUGFnZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBkaXNhYmxlZCBhbGVydHMgZm9yIGpvaW4gcmFpZHMgaW4gdGhlIGNvbmZpZ3VyZWQgc2FmZXR5IGFsZXJ0cyBjaGFubmVsICovXG4gIGdldCByYWlkQWxlcnRzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyYWlkQWxlcnRzRGlzYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgZ2V0IHJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGNyZWF0ZWQgc291bmRib2FyZCBzb3VuZHMuICovXG4gIGdldCBzb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc291bmRib2FyZCcpO1xuICB9XG5cbiAgLyoqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcGVybWlzc2lvbnMgZXhpc3QgaW4gdGhpcyAqL1xuICBoYXMocGVybWlzc2lvbnM6IEd1aWxkVG9nZ2xlS2V5cyB8IEd1aWxkVG9nZ2xlS2V5c1tdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcm1pc3Npb25zKSkgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKEd1aWxkVG9nZ2xlW3Blcm1pc3Npb25zXSk7XG5cbiAgICByZXR1cm4gc3VwZXIuY29udGFpbnMocGVybWlzc2lvbnMucmVkdWNlKChhLCBiKSA9PiAoYSB8PSBHdWlsZFRvZ2dsZVtiXSksIDBuKSk7XG4gIH1cblxuICAvKiogTGlzdHMgYWxsIHRoZSB0b2dnbGVzIGZvciB0aGUgcm9sZSBhbmQgd2hldGhlciBvciBub3QgZWFjaCBpcyB0cnVlIG9yIGZhbHNlLiAqL1xuICBsaXN0KCk6IFJlY29yZDxHdWlsZFRvZ2dsZUtleXMsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBqc29uOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKEd1aWxkVG9nZ2xlKSkge1xuICAgICAganNvbltrZXldID0gc3VwZXIuY29udGFpbnModmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBqc29uIGFzIFJlY29yZDxHdWlsZFRvZ2dsZUtleXMsIGJvb2xlYW4+O1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEd1aWxkVG9nZ2xlS2V5cyA9IGtleW9mIHR5cGVvZiBHdWlsZFRvZ2dsZTtcblxuZXhwb3J0IHR5cGUgR3VpbGRGZWF0dXJlS2V5cyA9ICh0eXBlb2YgZ3VpbGRGZWF0dXJlTmFtZXMpW251bWJlcl07XG4iXSwibmFtZXMiOlsiR3VpbGRGZWF0dXJlcyIsIlRvZ2dsZUJpdGZpZWxkQmlnaW50IiwiZ3VpbGRGZWF0dXJlTmFtZXMiLCJHdWlsZFRvZ2dsZSIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsImxhcmdlIiwidW5hdmFpbGFibGUiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwiYW5pbWF0ZWRCYW5uZXIiLCJhbmltYXRlZEljb24iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiYXV0b01vZGVyYXRpb24iLCJiYW5uZXIiLCJjb21tdW5pdHkiLCJjcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsImNyZWF0b3JTdG9yZVBhZ2UiLCJkZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiZGlzY292ZXJhYmxlIiwiZW5oYW5jZWRSb2xlQ29sb3JzIiwiZmVhdHVyYWJsZSIsImd1aWxkVGFncyIsImd1ZXN0c0VuYWJsZWQiLCJpbnZpdGVzRGlzYWJsZWQiLCJpbnZpdGVTcGxhc2giLCJtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIm1vcmVTb3VuZGJvYXJkIiwibW9yZVN0aWNrZXJzIiwibmV3cyIsInBhcnRuZXJlZCIsInByZXZpZXdFbmFibGVkIiwicHJ1bmVSZXF1aXJlc0FkbWluIiwicmFpZEFsZXJ0c0Rpc2FibGVkIiwicm9sZUljb25zIiwicm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsInJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsInNvdW5kYm9hcmQiLCJ0aWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJ2YW5pdHlVcmwiLCJ2ZXJpZmllZCIsInZpcFJlZ2lvbnMiLCJ3ZWxjb21lU2NyZWVuRW5hYmxlZCIsIkd1aWxkVG9nZ2xlcyIsImd1aWxkT3JUb2dnbGVzQmlnaW50IiwiYml0ZmllbGQiLCJndWlsZCIsImZlYXR1cmVzIiwiYWRkIiwid2lkZ2V0X2VuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwiaW5jbHVkZXMiLCJBbmltYXRlZEJhbm5lciIsIkFuaW1hdGVkSWNvbiIsIkFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIiLCJBdXRvTW9kZXJhdGlvbiIsIkJhbm5lciIsIkNvbW11bml0eSIsIkNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsIiwiQ3JlYXRvclN0b3JlUGFnZSIsIkRldmVsb3BlclN1cHBvcnRTZXJ2ZXIiLCJEaXNjb3ZlcmFibGUiLCJFbmhhbmNlZFJvbGVDb2xvcnMiLCJGZWF0dXJhYmxlIiwiR3VpbGRUYWdzIiwiR3Vlc3RzRW5hYmxlZCIsIkludml0ZXNEaXNhYmxlZCIsIkludml0ZVNwbGFzaCIsIk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwiTW9yZVNvdW5kYm9hcmQiLCJNb3JlU3RpY2tlcnMiLCJOZXdzIiwiUGFydG5lcmVkIiwiUHJldmlld0VuYWJsZWQiLCJQcnVuZVJlcXVpcmVzQWRtaW4iLCJSYWlkQWxlcnRzRGlzYWJsZWQiLCJSb2xlSWNvbnMiLCJSb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwiUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwiU291bmRib2FyZCIsIlRpY2tldGVkRXZlbnRzRW5hYmxlZCIsIlZhbml0eVVybCIsIlZlcmlmaWVkIiwiVmlwUmVnaW9ucyIsIldlbGNvbWVTY3JlZW5FbmFibGVkIiwia2V5IiwiT2JqZWN0Iiwia2V5cyIsImNvbnRhaW5zIiwicHVzaCIsImhhcyIsInBlcm1pc3Npb25zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVkdWNlIiwiYSIsImIiLCJsaXN0IiwianNvbiIsInZhbHVlIiwiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBNEJBLGFBQWEsUUFBUSxvQkFBb0I7QUFDckUsU0FBU0Msb0JBQW9CLFFBQVEsc0JBQXNCO0FBRTNELGlFQUFpRSxHQUNqRSxPQUFPLE1BQU1DLG9CQUFvQjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJ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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@discordeno/bot",
3
- "version": "22.0.1-next.c1b6f91",
3
+ "version": "22.0.1-next.c221682",
4
4
  "exports": "./dist/index.js",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -25,10 +25,10 @@
25
25
  "test:type": "tsc --noEmit"
26
26
  },
27
27
  "dependencies": {
28
- "@discordeno/gateway": "22.0.1-next.c1b6f91",
29
- "@discordeno/rest": "22.0.1-next.c1b6f91",
30
- "@discordeno/types": "22.0.1-next.c1b6f91",
31
- "@discordeno/utils": "22.0.1-next.c1b6f91"
28
+ "@discordeno/gateway": "22.0.1-next.c221682",
29
+ "@discordeno/rest": "22.0.1-next.c221682",
30
+ "@discordeno/types": "22.0.1-next.c221682",
31
+ "@discordeno/utils": "22.0.1-next.c221682"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@biomejs/biome": "2.5.15",