@discordeno/rest 21.0.1-next.fca0b40 → 22.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/index.d.ts.map +1 -0
  2. package/dist/index.js +8 -0
  3. package/dist/invalidBucket.d.ts.map +1 -0
  4. package/dist/invalidBucket.js +82 -0
  5. package/dist/manager.d.ts.map +1 -0
  6. package/dist/manager.js +1623 -0
  7. package/dist/queue.d.ts.map +1 -0
  8. package/dist/queue.js +154 -0
  9. package/dist/routes.d.ts.map +1 -0
  10. package/dist/routes.js +621 -0
  11. package/dist/{types/types.d.ts → types.d.ts} +2 -2
  12. package/dist/types.d.ts.map +1 -0
  13. package/dist/{esm/types.js → types.js} +1 -1
  14. package/dist/typings/routes.d.ts.map +1 -0
  15. package/dist/typings/routes.js +3 -0
  16. package/package.json +15 -22
  17. package/dist/cjs/index.cjs +0 -25
  18. package/dist/cjs/invalidBucket.cjs +0 -86
  19. package/dist/cjs/manager.cjs +0 -1665
  20. package/dist/cjs/queue.cjs +0 -164
  21. package/dist/cjs/routes.cjs +0 -631
  22. package/dist/cjs/types.cjs +0 -6
  23. package/dist/cjs/typings/routes.cjs +0 -6
  24. package/dist/esm/index.js +0 -8
  25. package/dist/esm/invalidBucket.js +0 -82
  26. package/dist/esm/manager.js +0 -1623
  27. package/dist/esm/queue.js +0 -154
  28. package/dist/esm/routes.js +0 -621
  29. package/dist/esm/typings/routes.js +0 -3
  30. package/dist/types/index.d.ts.map +0 -1
  31. package/dist/types/invalidBucket.d.ts.map +0 -1
  32. package/dist/types/manager.d.ts.map +0 -1
  33. package/dist/types/queue.d.ts.map +0 -1
  34. package/dist/types/routes.d.ts.map +0 -1
  35. package/dist/types/types.d.ts.map +0 -1
  36. package/dist/types/typings/routes.d.ts.map +0 -1
  37. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  38. /package/dist/{types/invalidBucket.d.ts → invalidBucket.d.ts} +0 -0
  39. /package/dist/{types/manager.d.ts → manager.d.ts} +0 -0
  40. /package/dist/{types/queue.d.ts → queue.d.ts} +0 -0
  41. /package/dist/{types/routes.d.ts → routes.d.ts} +0 -0
  42. /package/dist/{types/typings → typings}/routes.d.ts +0 -0
@@ -1,631 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "createRoutes", {
6
- enumerable: true,
7
- get: function() {
8
- return createRoutes;
9
- }
10
- });
11
- const _utils = require("@discordeno/utils");
12
- function createRoutes() {
13
- return {
14
- webhooks: {
15
- id: (webhookId)=>{
16
- return `/webhooks/${webhookId}`;
17
- },
18
- message: (webhookId, token, messageId, options)=>{
19
- let url = `/webhooks/${webhookId}/${token}/messages/${messageId}?`;
20
- if (options) {
21
- if (options.threadId) url += `thread_id=${options.threadId}`;
22
- if (options.withComponents) url += `&with_components=${options.withComponents}`;
23
- }
24
- return url;
25
- },
26
- webhook: (webhookId, token, options)=>{
27
- let url = `/webhooks/${webhookId}/${token}?`;
28
- if (options) {
29
- if (options?.wait !== undefined) url += `wait=${options.wait.toString()}`;
30
- if (options.threadId) url += `&thread_id=${options.threadId}`;
31
- if (options.withComponents) url += `&with_components=${options.withComponents}`;
32
- }
33
- return url;
34
- }
35
- },
36
- // Channel Endpoints
37
- channels: {
38
- bulk: (channelId)=>{
39
- return `/channels/${channelId}/messages/bulk-delete`;
40
- },
41
- dm: ()=>{
42
- return '/users/@me/channels';
43
- },
44
- dmRecipient: (channelId, userId)=>{
45
- return `/channels/${channelId}/recipients/${userId}`;
46
- },
47
- pin: (channelId, messageId)=>{
48
- return `/channels/${channelId}/pins/${messageId}`;
49
- },
50
- pins: (channelId)=>{
51
- return `/channels/${channelId}/pins`;
52
- },
53
- messagePins: (channelId, options)=>{
54
- let url = `/channels/${channelId}/messages/pins?`;
55
- if (options) {
56
- if (options.before) url += `before=${options.before}`;
57
- if (options.limit) url += `&limit=${options.limit}`;
58
- }
59
- return url;
60
- },
61
- messagePin: (channelId, messageId)=>{
62
- return `/channels/${channelId}/messages/pins/${messageId}`;
63
- },
64
- reactions: {
65
- bot: (channelId, messageId, emoji)=>{
66
- return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/@me`;
67
- },
68
- user: (channelId, messageId, emoji, userId)=>{
69
- return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/${userId}`;
70
- },
71
- all: (channelId, messageId)=>{
72
- return `/channels/${channelId}/messages/${messageId}/reactions`;
73
- },
74
- emoji: (channelId, messageId, emoji, options)=>{
75
- let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`;
76
- if (options) {
77
- if (options.type) url += `type=${options.type}`;
78
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
79
- if (options.after) url += `&after=${options.after}`;
80
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
81
- if (options.limit) url += `&limit=${options.limit}`;
82
- }
83
- return url;
84
- },
85
- message: (channelId, messageId, emoji, options)=>{
86
- let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`;
87
- if (options) {
88
- if (options.after) url += `after=${options.after}`;
89
- if (options.limit) url += `&limit=${options.limit}`;
90
- }
91
- return url;
92
- }
93
- },
94
- webhooks: (channelId)=>{
95
- return `/channels/${channelId}/webhooks`;
96
- },
97
- channel: (channelId)=>{
98
- return `/channels/${channelId}`;
99
- },
100
- follow: (channelId)=>{
101
- return `/channels/${channelId}/followers`;
102
- },
103
- forum: (channelId)=>{
104
- return `/channels/${channelId}/threads`;
105
- },
106
- invites: (channelId)=>{
107
- return `/channels/${channelId}/invites`;
108
- },
109
- message: (channelId, messageId)=>{
110
- return `/channels/${channelId}/messages/${messageId}`;
111
- },
112
- messages: (channelId, options)=>{
113
- let url = `/channels/${channelId}/messages?`;
114
- if (options) {
115
- if ((0, _utils.isGetMessagesAfter)(options) && options.after) {
116
- url += `after=${options.after}`;
117
- }
118
- if ((0, _utils.isGetMessagesBefore)(options) && options.before) {
119
- url += `&before=${options.before}`;
120
- }
121
- if ((0, _utils.isGetMessagesAround)(options) && options.around) {
122
- url += `&around=${options.around}`;
123
- }
124
- if ((0, _utils.isGetMessagesLimit)(options) && options.limit) {
125
- url += `&limit=${options.limit}`;
126
- }
127
- }
128
- return url;
129
- },
130
- overwrite: (channelId, overwriteId)=>{
131
- return `/channels/${channelId}/permissions/${overwriteId}`;
132
- },
133
- crosspost: (channelId, messageId)=>{
134
- return `/channels/${channelId}/messages/${messageId}/crosspost`;
135
- },
136
- stages: ()=>{
137
- return '/stage-instances';
138
- },
139
- stage: (channelId)=>{
140
- return `/stage-instances/${channelId}`;
141
- },
142
- // Thread Endpoints
143
- threads: {
144
- message: (channelId, messageId)=>{
145
- return `/channels/${channelId}/messages/${messageId}/threads`;
146
- },
147
- all: (channelId)=>{
148
- return `/channels/${channelId}/threads`;
149
- },
150
- active: (guildId)=>{
151
- return `/guilds/${guildId}/threads/active`;
152
- },
153
- members: (channelId, options)=>{
154
- let url = `/channels/${channelId}/thread-members?`;
155
- if (options) {
156
- if (options.withMember) url += `with_member=${options.withMember}`;
157
- if (options.limit) url += `&limit=${options.limit}`;
158
- if (options.after) url += `&after=${options.after}`;
159
- }
160
- return url;
161
- },
162
- me: (channelId)=>{
163
- return `/channels/${channelId}/thread-members/@me`;
164
- },
165
- getUser (channelId, userId, options) {
166
- let url = `/channels/${channelId}/thread-members/${userId}?`;
167
- if (options) {
168
- if (options.withMember) url += `with_member=${options.withMember}`;
169
- }
170
- return url;
171
- },
172
- user: (channelId, userId)=>{
173
- return `/channels/${channelId}/thread-members/${userId}`;
174
- },
175
- archived: (channelId)=>{
176
- return `/channels/${channelId}/threads/archived`;
177
- },
178
- public: (channelId, options)=>{
179
- let url = `/channels/${channelId}/threads/archived/public?`;
180
- if (options) {
181
- if (options.before) {
182
- url += `before=${new Date(options.before).toISOString()}`;
183
- }
184
- if (options.limit) url += `&limit=${options.limit}`;
185
- }
186
- return url;
187
- },
188
- private: (channelId, options)=>{
189
- let url = `/channels/${channelId}/threads/archived/private?`;
190
- if (options) {
191
- if (options.before) {
192
- url += `before=${new Date(options.before).toISOString()}`;
193
- }
194
- if (options.limit) url += `&limit=${options.limit}`;
195
- }
196
- return url;
197
- },
198
- joined: (channelId, options)=>{
199
- let url = `/channels/${channelId}/users/@me/threads/archived/private?`;
200
- if (options) {
201
- if (options.before) {
202
- url += `before=${new Date(options.before).toISOString()}`;
203
- }
204
- if (options.limit) url += `&limit=${options.limit}`;
205
- }
206
- return url;
207
- }
208
- },
209
- typing: (channelId)=>{
210
- return `/channels/${channelId}/typing`;
211
- },
212
- polls: {
213
- votes: (channelId, messageId, answerId, options)=>{
214
- let url = `/channels/${channelId}/polls/${messageId}/answers/${answerId}?`;
215
- if (options) {
216
- if (options.after) url += `after=${options.after}`;
217
- if (options.limit) url += `&limit=${options.limit}`;
218
- }
219
- return url;
220
- },
221
- expire: (channelId, messageId)=>{
222
- return `/channels/${channelId}/polls/${messageId}/expire`;
223
- }
224
- }
225
- },
226
- // Guild Endpoints
227
- guilds: {
228
- all: ()=>{
229
- return '/guilds';
230
- },
231
- userGuilds: (options)=>{
232
- let url = '/users/@me/guilds?';
233
- if (options) {
234
- if (options.after) url += `after=${options.after}`;
235
- if (options.before) url += `&before=${options.before}`;
236
- if (options.limit) url += `&limit=${options.limit}`;
237
- if (options.withCounts) url += `&with_counts=${options.withCounts}`;
238
- }
239
- return url;
240
- },
241
- auditlogs: (guildId, options)=>{
242
- let url = `/guilds/${guildId}/audit-logs?`;
243
- if (options) {
244
- if (options.actionType) url += `action_type=${options.actionType}`;
245
- if (options.before) url += `&before=${options.before}`;
246
- if (options.after) url += `&after=${options.after}`;
247
- if (options.limit) url += `&limit=${options.limit}`;
248
- if (options.userId) url += `&user_id=${options.userId}`;
249
- }
250
- return url;
251
- },
252
- automod: {
253
- rule: (guildId, ruleId)=>{
254
- return `/guilds/${guildId}/auto-moderation/rules/${ruleId}`;
255
- },
256
- rules: (guildId)=>{
257
- return `/guilds/${guildId}/auto-moderation/rules`;
258
- }
259
- },
260
- channels: (guildId)=>{
261
- return `/guilds/${guildId}/channels`;
262
- },
263
- emoji: (guildId, emojiId)=>{
264
- return `/guilds/${guildId}/emojis/${emojiId}`;
265
- },
266
- emojis: (guildId)=>{
267
- return `/guilds/${guildId}/emojis`;
268
- },
269
- events: {
270
- events: (guildId, withUserCount)=>{
271
- let url = `/guilds/${guildId}/scheduled-events?`;
272
- if (withUserCount !== undefined) {
273
- url += `with_user_count=${withUserCount.toString()}`;
274
- }
275
- return url;
276
- },
277
- event: (guildId, eventId, withUserCount)=>{
278
- let url = `/guilds/${guildId}/scheduled-events/${eventId}`;
279
- if (withUserCount !== undefined) {
280
- url += `with_user_count=${withUserCount.toString()}`;
281
- }
282
- return url;
283
- },
284
- users: (guildId, eventId, options)=>{
285
- let url = `/guilds/${guildId}/scheduled-events/${eventId}/users?`;
286
- if (options) {
287
- if (options.limit !== undefined) url += `limit=${options.limit}`;
288
- if (options.withMember !== undefined) {
289
- url += `&with_member=${options.withMember.toString()}`;
290
- }
291
- if (options.after !== undefined) url += `&after=${options.after}`;
292
- if (options.before !== undefined) url += `&before=${options.before}`;
293
- }
294
- return url;
295
- }
296
- },
297
- guild (guildId, withCounts) {
298
- let url = `/guilds/${guildId}?`;
299
- if (withCounts !== undefined) {
300
- url += `with_counts=${withCounts.toString()}`;
301
- }
302
- return url;
303
- },
304
- integration (guildId, integrationId) {
305
- return `/guilds/${guildId}/integrations/${integrationId}`;
306
- },
307
- integrations: (guildId)=>{
308
- return `/guilds/${guildId}/integrations?include_applications=true`;
309
- },
310
- invite (inviteCode, options) {
311
- let url = `/invites/${inviteCode}?`;
312
- if (options) {
313
- if (options.withCounts !== undefined) {
314
- url += `with_counts=${options.withCounts.toString()}`;
315
- }
316
- if (options.scheduledEventId) {
317
- url += `&guild_scheduled_event_id=${options.scheduledEventId}`;
318
- }
319
- }
320
- return url;
321
- },
322
- invites: (guildId)=>{
323
- return `/guilds/${guildId}/invites`;
324
- },
325
- leave: (guildId)=>{
326
- return `/users/@me/guilds/${guildId}`;
327
- },
328
- members: {
329
- ban: (guildId, userId)=>{
330
- return `/guilds/${guildId}/bans/${userId}`;
331
- },
332
- bans: (guildId, options)=>{
333
- let url = `/guilds/${guildId}/bans?`;
334
- if (options) {
335
- if (options.limit) url += `limit=${options.limit}`;
336
- if (options.after) url += `&after=${options.after}`;
337
- if (options.before) url += `&before=${options.before}`;
338
- }
339
- return url;
340
- },
341
- bulkBan: (guildId)=>{
342
- return `/guilds/${guildId}/bulk-ban`;
343
- },
344
- bot: (guildId)=>{
345
- return `/guilds/${guildId}/members/@me`;
346
- },
347
- member: (guildId, userId)=>{
348
- return `/guilds/${guildId}/members/${userId}`;
349
- },
350
- currentMember: (guildId)=>{
351
- return `/users/@me/guilds/${guildId}/member`;
352
- },
353
- members: (guildId, options)=>{
354
- let url = `/guilds/${guildId}/members?`;
355
- if (options !== undefined) {
356
- if (options.limit) url += `limit=${options.limit}`;
357
- if (options.after) url += `&after=${options.after}`;
358
- }
359
- return url;
360
- },
361
- search: (guildId, query, options)=>{
362
- let url = `/guilds/${guildId}/members/search?query=${encodeURIComponent(query)}`;
363
- if (options) {
364
- if (options.limit !== undefined) url += `&limit=${options.limit}`;
365
- }
366
- return url;
367
- },
368
- prune: (guildId, options)=>{
369
- let url = `/guilds/${guildId}/prune?`;
370
- if (options) {
371
- if (options.days) url += `days=${options.days}`;
372
- if (Array.isArray(options.includeRoles)) {
373
- url += `&include_roles=${options.includeRoles.join(',')}`;
374
- } else if (options.includeRoles) {
375
- url += `&include_roles=${options.includeRoles}`;
376
- }
377
- }
378
- return url;
379
- }
380
- },
381
- preview: (guildId)=>{
382
- return `/guilds/${guildId}/preview`;
383
- },
384
- prune: (guildId, options)=>{
385
- let url = `/guilds/${guildId}/prune?`;
386
- if (options) {
387
- if (options.days) url += `days=${options.days}`;
388
- if (Array.isArray(options.includeRoles)) {
389
- url += `&include_roles=${options.includeRoles.join(',')}`;
390
- } else if (options.includeRoles) {
391
- url += `&include_roles=${options.includeRoles}`;
392
- }
393
- }
394
- return url;
395
- },
396
- roles: {
397
- one: (guildId, roleId)=>{
398
- return `/guilds/${guildId}/roles/${roleId}`;
399
- },
400
- all: (guildId)=>{
401
- return `/guilds/${guildId}/roles`;
402
- },
403
- member: (guildId, memberId, roleId)=>{
404
- return `/guilds/${guildId}/members/${memberId}/roles/${roleId}`;
405
- }
406
- },
407
- stickers: (guildId)=>{
408
- return `/guilds/${guildId}/stickers`;
409
- },
410
- sticker: (guildId, stickerId)=>{
411
- return `/guilds/${guildId}/stickers/${stickerId}`;
412
- },
413
- voice: (guildId, userId)=>{
414
- return `/guilds/${guildId}/voice-states/${userId ?? '@me'}`;
415
- },
416
- templates: {
417
- code: (code)=>{
418
- return `/guilds/templates/${code}`;
419
- },
420
- guild: (guildId, code)=>{
421
- return `/guilds/${guildId}/templates/${code}`;
422
- },
423
- all: (guildId)=>{
424
- return `/guilds/${guildId}/templates`;
425
- }
426
- },
427
- vanity: (guildId)=>{
428
- return `/guilds/${guildId}/vanity-url`;
429
- },
430
- regions: (guildId)=>{
431
- return `/guilds/${guildId}/regions`;
432
- },
433
- webhooks: (guildId)=>{
434
- return `/guilds/${guildId}/webhooks`;
435
- },
436
- welcome: (guildId)=>{
437
- return `/guilds/${guildId}/welcome-screen`;
438
- },
439
- widget: (guildId)=>{
440
- return `/guilds/${guildId}/widget`;
441
- },
442
- widgetJson: (guildId)=>{
443
- return `/guilds/${guildId}/widget.json`;
444
- },
445
- onboarding: (guildId)=>{
446
- return `/guilds/${guildId}/onboarding`;
447
- },
448
- incidentActions: (guildId)=>{
449
- return `/guilds/${guildId}/incident-actions`;
450
- }
451
- },
452
- sticker: (stickerId)=>{
453
- return `/stickers/${stickerId}`;
454
- },
455
- regions: ()=>{
456
- return '/voice/regions';
457
- },
458
- // Interaction Endpoints
459
- interactions: {
460
- commands: {
461
- // Application Endpoints
462
- commands: (applicationId, withLocalizations)=>{
463
- let url = `/applications/${applicationId}/commands?`;
464
- if (withLocalizations !== undefined) {
465
- url += `with_localizations=${withLocalizations.toString()}`;
466
- }
467
- return url;
468
- },
469
- guilds: {
470
- all (applicationId, guildId, withLocalizations) {
471
- let url = `/applications/${applicationId}/guilds/${guildId}/commands?`;
472
- if (withLocalizations !== undefined) {
473
- url += `with_localizations=${withLocalizations.toString()}`;
474
- }
475
- return url;
476
- },
477
- one (applicationId, guildId, commandId) {
478
- return `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}`;
479
- }
480
- },
481
- permissions: (applicationId, guildId)=>{
482
- return `/applications/${applicationId}/guilds/${guildId}/commands/permissions`;
483
- },
484
- permission: (applicationId, guildId, commandId)=>{
485
- return `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}/permissions`;
486
- },
487
- command: (applicationId, commandId, withLocalizations)=>{
488
- let url = `/applications/${applicationId}/commands/${commandId}?`;
489
- if (withLocalizations !== undefined) {
490
- url += `withLocalizations=${withLocalizations.toString()}`;
491
- }
492
- return url;
493
- }
494
- },
495
- responses: {
496
- // Interaction Endpoints
497
- callback: (interactionId, token, options)=>{
498
- return `/interactions/${interactionId}/${token}/callback?with_response=${!!options?.withResponse}`;
499
- },
500
- original: (interactionId, token)=>{
501
- return `/webhooks/${interactionId}/${token}/messages/@original`;
502
- },
503
- message: (applicationId, token, messageId)=>{
504
- return `/webhooks/${applicationId}/${token}/messages/${messageId}`;
505
- }
506
- }
507
- },
508
- // OAuth2 endpoints
509
- oauth2: {
510
- tokenExchange: ()=>{
511
- return '/oauth2/token';
512
- },
513
- tokenRevoke: ()=>{
514
- return '/oauth2/token/revoke';
515
- },
516
- currentAuthorization: ()=>{
517
- return '/oauth2/@me';
518
- },
519
- application: ()=>{
520
- return '/oauth2/applications/@me';
521
- },
522
- connections: ()=>{
523
- return '/users/@me/connections';
524
- },
525
- roleConnections: (applicationId)=>{
526
- return `/users/@me/applications/${applicationId}/role-connection`;
527
- }
528
- },
529
- monetization: {
530
- entitlements: (applicationId, options)=>{
531
- let url = `/applications/${applicationId}/entitlements?`;
532
- if (options) {
533
- if (options.after) url += `after=${options.after}`;
534
- if (options.before) url += `&before=${options.before}`;
535
- if (options.excludeEnded) url += `&exclude_ended=${options.excludeEnded}`;
536
- if (options.guildId) url += `&guild_id=${options.guildId}`;
537
- if (options.limit) url += `&limit=${options.limit}`;
538
- if (options.skuIds) url += `&sku_ids=${options.skuIds.join(',')}`;
539
- if (options.userId) url += `&user_id=${options.userId}`;
540
- }
541
- return url;
542
- },
543
- entitlement: (applicationId, entitlementId)=>{
544
- return `/applications/${applicationId}/entitlements/${entitlementId}`;
545
- },
546
- consumeEntitlement: (applicationId, entitlementId)=>{
547
- return `/applications/${applicationId}/entitlements/${entitlementId}/consume`;
548
- },
549
- skus: (applicationId)=>{
550
- return `/applications/${applicationId}/skus`;
551
- },
552
- subscription: (skuId, subscriptionId)=>{
553
- return `/skus/${skuId}/subscriptions/${subscriptionId}`;
554
- },
555
- subscriptions: (skuId, options)=>{
556
- let url = `/skus/${skuId}/subscriptions?`;
557
- if (options) {
558
- if (options.after) url += `after=${options.after}`;
559
- if (options.before) url += `&before=${options.before}`;
560
- if (options.userId) url += `&user_id=${options.userId}`;
561
- if (options.limit) url += `&limit=${options.limit}`;
562
- }
563
- return url;
564
- }
565
- },
566
- soundboard: {
567
- sendSound: (channelId)=>{
568
- return `/channels/${channelId}`;
569
- },
570
- listDefault: ()=>{
571
- return `/soundboard-default-sounds`;
572
- },
573
- guildSounds: (guildId)=>{
574
- return `/guilds/${guildId}/soundboard-sounds`;
575
- },
576
- guildSound: (guildId, soundId)=>{
577
- return `/guilds/${guildId}/soundboard-sounds/${soundId}`;
578
- }
579
- },
580
- lobby: {
581
- create: ()=>{
582
- return '/lobbies';
583
- },
584
- lobby: (lobbyId)=>{
585
- return `/lobbies/${lobbyId}`;
586
- },
587
- member: (lobbyId, userId)=>{
588
- return `/lobbies/${lobbyId}/members/${userId}`;
589
- },
590
- leave: (lobbyId)=>{
591
- return `/lobbies/${lobbyId}/members/@me`;
592
- },
593
- link: (lobbyId)=>{
594
- return `/lobbies/${lobbyId}/channel-linking`;
595
- }
596
- },
597
- applicationEmoji (applicationId, emojiId) {
598
- return `/applications/${applicationId}/emojis/${emojiId}`;
599
- },
600
- applicationEmojis (applicationId) {
601
- return `/applications/${applicationId}/emojis`;
602
- },
603
- applicationRoleConnectionMetadata (applicationId) {
604
- return `/applications/${applicationId}/role-connections/metadata`;
605
- },
606
- // User endpoints
607
- user (userId) {
608
- return `/users/${userId}`;
609
- },
610
- application () {
611
- return '/applications/@me';
612
- },
613
- applicationActivityInstance (applicationId, instanceId) {
614
- return `/applications/${applicationId}/activity-instances/${instanceId}`;
615
- },
616
- currentUser () {
617
- return '/users/@me';
618
- },
619
- gatewayBot () {
620
- return '/gateway/bot';
621
- },
622
- stickerPack (stickerPackId) {
623
- return `/sticker-packs/${stickerPackId}`;
624
- },
625
- stickerPacks () {
626
- return '/sticker-packs';
627
- }
628
- };
629
- }
630
-
631
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZXRNZXNzYWdlc09wdGlvbnMsIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzR2V0TWVzc2FnZXNBZnRlciwgaXNHZXRNZXNzYWdlc0Fyb3VuZCwgaXNHZXRNZXNzYWdlc0JlZm9yZSwgaXNHZXRNZXNzYWdlc0xpbWl0IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IFJlc3RSb3V0ZXMgfSBmcm9tICcuL3R5cGluZ3Mvcm91dGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVzKCk6IFJlc3RSb3V0ZXMge1xuICByZXR1cm4ge1xuICAgIHdlYmhvb2tzOiB7XG4gICAgICBpZDogKHdlYmhvb2tJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC93ZWJob29rcy8ke3dlYmhvb2tJZH1gXG4gICAgICB9LFxuICAgICAgbWVzc2FnZTogKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0vbWVzc2FnZXMvJHttZXNzYWdlSWR9P2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYHRocmVhZF9pZD0ke29wdGlvbnMudGhyZWFkSWR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLndpdGhDb21wb25lbnRzKSB1cmwgKz0gYCZ3aXRoX2NvbXBvbmVudHM9JHtvcHRpb25zLndpdGhDb21wb25lbnRzfWBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG4gICAgICB3ZWJob29rOiAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnM/LndhaXQgIT09IHVuZGVmaW5lZCkgdXJsICs9IGB3YWl0PSR7b3B0aW9ucy53YWl0LnRvU3RyaW5nKCl9YFxuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYCZ0aHJlYWRfaWQ9JHtvcHRpb25zLnRocmVhZElkfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy53aXRoQ29tcG9uZW50cykgdXJsICs9IGAmd2l0aF9jb21wb25lbnRzPSR7b3B0aW9ucy53aXRoQ29tcG9uZW50c31gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBDaGFubmVsIEVuZHBvaW50c1xuICAgIGNoYW5uZWxzOiB7XG4gICAgICBidWxrOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy9idWxrLWRlbGV0ZWBcbiAgICAgIH0sXG4gICAgICBkbTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy91c2Vycy9AbWUvY2hhbm5lbHMnXG4gICAgICB9LFxuICAgICAgZG1SZWNpcGllbnQ6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcmVjaXBpZW50cy8ke3VzZXJJZH1gXG4gICAgICB9LFxuICAgICAgcGluOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnMvJHttZXNzYWdlSWR9YFxuICAgICAgfSxcbiAgICAgIHBpbnM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnNgXG4gICAgICB9LFxuICAgICAgbWVzc2FnZVBpbnM6IChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzL3BpbnM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB1cmwgKz0gYGJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG4gICAgICBtZXNzYWdlUGluOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzL3BpbnMvJHttZXNzYWdlSWR9YFxuICAgICAgfSxcbiAgICAgIHJlYWN0aW9uczoge1xuICAgICAgICBib3Q6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgZW1vamkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9L0BtZWBcbiAgICAgICAgfSxcbiAgICAgICAgdXNlcjogKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBlbW9qaSwgdXNlcklkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9yZWFjdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZW1vamkpfS8ke3VzZXJJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIGFsbDogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9yZWFjdGlvbnNgXG4gICAgICAgIH0sXG4gICAgICAgIGVtb2ppOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIGVtb2ppLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9yZWFjdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZW1vamkpfT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMudHlwZSkgdXJsICs9IGB0eXBlPSR7b3B0aW9ucy50eXBlfWBcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBtZXNzYWdlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIGVtb2ppLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9yZWFjdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZW1vamkpfT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB3ZWJob29rczogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vd2ViaG9va3NgXG4gICAgICB9LFxuXG4gICAgICBjaGFubmVsOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfWBcbiAgICAgIH0sXG5cbiAgICAgIGZvbGxvdzogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vZm9sbG93ZXJzYFxuICAgICAgfSxcblxuICAgICAgZm9ydW06IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHNgXG4gICAgICB9LFxuXG4gICAgICBpbnZpdGVzOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9pbnZpdGVzYFxuICAgICAgfSxcblxuICAgICAgbWVzc2FnZTogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gXG4gICAgICB9LFxuXG4gICAgICBtZXNzYWdlczogKGNoYW5uZWxJZCwgb3B0aW9ucz86IEdldE1lc3NhZ2VzT3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNBZnRlcihvcHRpb25zKSAmJiBvcHRpb25zLmFmdGVyKSB7XG4gICAgICAgICAgICB1cmwgKz0gYGFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc0dldE1lc3NhZ2VzQmVmb3JlKG9wdGlvbnMpICYmIG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZiZWZvcmU9JHtvcHRpb25zLmJlZm9yZX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc0dldE1lc3NhZ2VzQXJvdW5kKG9wdGlvbnMpICYmIG9wdGlvbnMuYXJvdW5kKSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZhcm91bmQ9JHtvcHRpb25zLmFyb3VuZH1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc0dldE1lc3NhZ2VzTGltaXQob3B0aW9ucykgJiYgb3B0aW9ucy5saW1pdCkge1xuICAgICAgICAgICAgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuXG4gICAgICBvdmVyd3JpdGU6IChjaGFubmVsSWQsIG92ZXJ3cml0ZUlkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9wZXJtaXNzaW9ucy8ke292ZXJ3cml0ZUlkfWBcbiAgICAgIH0sXG5cbiAgICAgIGNyb3NzcG9zdDogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vY3Jvc3Nwb3N0YFxuICAgICAgfSxcblxuICAgICAgc3RhZ2VzOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL3N0YWdlLWluc3RhbmNlcydcbiAgICAgIH0sXG5cbiAgICAgIHN0YWdlOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3N0YWdlLWluc3RhbmNlcy8ke2NoYW5uZWxJZH1gXG4gICAgICB9LFxuXG4gICAgICAvLyBUaHJlYWQgRW5kcG9pbnRzXG4gICAgICB0aHJlYWRzOiB7XG4gICAgICAgIG1lc3NhZ2U6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vdGhyZWFkc2BcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHNgXG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2ZTogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS90aHJlYWRzL2FjdGl2ZWBcbiAgICAgICAgfSxcbiAgICAgICAgbWVtYmVyczogKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycz9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMud2l0aE1lbWJlcikgdXJsICs9IGB3aXRoX21lbWJlcj0ke29wdGlvbnMud2l0aE1lbWJlcn1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgbWU6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkLW1lbWJlcnMvQG1lYFxuICAgICAgICB9LFxuICAgICAgICBnZXRVc2VyKGNoYW5uZWxJZCwgdXNlcklkLCBvcHRpb25zKSB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZC1tZW1iZXJzLyR7dXNlcklkfT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMud2l0aE1lbWJlcikgdXJsICs9IGB3aXRoX21lbWJlcj0ke29wdGlvbnMud2l0aE1lbWJlcn1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkLW1lbWJlcnMvJHt1c2VySWR9YFxuICAgICAgICB9LFxuICAgICAgICBhcmNoaXZlZDogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWRzL2FyY2hpdmVkYFxuICAgICAgICB9LFxuICAgICAgICBwdWJsaWM6IChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkcy9hcmNoaXZlZC9wdWJsaWM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkge1xuICAgICAgICAgICAgICB1cmwgKz0gYGJlZm9yZT0ke25ldyBEYXRlKG9wdGlvbnMuYmVmb3JlKS50b0lTT1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgcHJpdmF0ZTogKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWRzL2FyY2hpdmVkL3ByaXZhdGU/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkge1xuICAgICAgICAgICAgICB1cmwgKz0gYGJlZm9yZT0ke25ldyBEYXRlKG9wdGlvbnMuYmVmb3JlKS50b0lTT1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgam9pbmVkOiAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3VzZXJzL0BtZS90aHJlYWRzL2FyY2hpdmVkL3ByaXZhdGU/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkge1xuICAgICAgICAgICAgICB1cmwgKz0gYGJlZm9yZT0ke25ldyBEYXRlKG9wdGlvbnMuYmVmb3JlKS50b0lTT1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG5cbiAgICAgIHR5cGluZzogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdHlwaW5nYFxuICAgICAgfSxcblxuICAgICAgcG9sbHM6IHtcbiAgICAgICAgdm90ZXM6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgYW5zd2VySWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcG9sbHMvJHttZXNzYWdlSWR9L2Fuc3dlcnMvJHthbnN3ZXJJZH0/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYGFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIGV4cGlyZTogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BvbGxzLyR7bWVzc2FnZUlkfS9leHBpcmVgXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBHdWlsZCBFbmRwb2ludHNcbiAgICBndWlsZHM6IHtcbiAgICAgIGFsbDogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy9ndWlsZHMnXG4gICAgICB9LFxuICAgICAgdXNlckd1aWxkczogKG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9ICcvdXNlcnMvQG1lL2d1aWxkcz8nXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGBhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLndpdGhDb3VudHMpIHVybCArPSBgJndpdGhfY291bnRzPSR7b3B0aW9ucy53aXRoQ291bnRzfWBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG4gICAgICBhdWRpdGxvZ3M6IChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L2F1ZGl0LWxvZ3M/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWN0aW9uVHlwZSkgdXJsICs9IGBhY3Rpb25fdHlwZT0ke29wdGlvbnMuYWN0aW9uVHlwZX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB1cmwgKz0gYCZiZWZvcmU9JHtvcHRpb25zLmJlZm9yZX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMudXNlcklkKSB1cmwgKz0gYCZ1c2VyX2lkPSR7b3B0aW9ucy51c2VySWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGF1dG9tb2Q6IHtcbiAgICAgICAgcnVsZTogKGd1aWxkSWQsIHJ1bGVJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2F1dG8tbW9kZXJhdGlvbi9ydWxlcy8ke3J1bGVJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIHJ1bGVzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2F1dG8tbW9kZXJhdGlvbi9ydWxlc2BcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjaGFubmVsczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vY2hhbm5lbHNgXG4gICAgICB9LFxuICAgICAgZW1vamk6IChndWlsZElkLCBlbW9qaUlkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2Vtb2ppcy8ke2Vtb2ppSWR9YFxuICAgICAgfSxcbiAgICAgIGVtb2ppczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vZW1vamlzYFxuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBldmVudHM6IChndWlsZElkLCB3aXRoVXNlckNvdW50PzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L3NjaGVkdWxlZC1ldmVudHM/YFxuXG4gICAgICAgICAgaWYgKHdpdGhVc2VyQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdXJsICs9IGB3aXRoX3VzZXJfY291bnQ9JHt3aXRoVXNlckNvdW50LnRvU3RyaW5nKCl9YFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIGV2ZW50OiAoZ3VpbGRJZCwgZXZlbnRJZCwgd2l0aFVzZXJDb3VudD86IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9zY2hlZHVsZWQtZXZlbnRzLyR7ZXZlbnRJZH1gXG5cbiAgICAgICAgICBpZiAod2l0aFVzZXJDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYHdpdGhfdXNlcl9jb3VudD0ke3dpdGhVc2VyQ291bnQudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICB1c2VyczogKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnM/OiBHZXRTY2hlZHVsZWRFdmVudFVzZXJzKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc2NoZWR1bGVkLWV2ZW50cy8ke2V2ZW50SWR9L3VzZXJzP2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCAhPT0gdW5kZWZpbmVkKSB1cmwgKz0gYGxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy53aXRoTWVtYmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdXJsICs9IGAmd2l0aF9tZW1iZXI9JHtvcHRpb25zLndpdGhNZW1iZXIudG9TdHJpbmcoKX1gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlciAhPT0gdW5kZWZpbmVkKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZ3VpbGQoZ3VpbGRJZCwgd2l0aENvdW50cykge1xuICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfT9gXG5cbiAgICAgICAgaWYgKHdpdGhDb3VudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHVybCArPSBgd2l0aF9jb3VudHM9JHt3aXRoQ291bnRzLnRvU3RyaW5nKCl9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGludGVncmF0aW9uKGd1aWxkSWQsIGludGVncmF0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vaW50ZWdyYXRpb25zLyR7aW50ZWdyYXRpb25JZH1gXG4gICAgICB9LFxuICAgICAgaW50ZWdyYXRpb25zOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9pbnRlZ3JhdGlvbnM/aW5jbHVkZV9hcHBsaWNhdGlvbnM9dHJ1ZWBcbiAgICAgIH0sXG4gICAgICBpbnZpdGUoaW52aXRlQ29kZSwgb3B0aW9ucykge1xuICAgICAgICBsZXQgdXJsID0gYC9pbnZpdGVzLyR7aW52aXRlQ29kZX0/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMud2l0aENvdW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYHdpdGhfY291bnRzPSR7b3B0aW9ucy53aXRoQ291bnRzLnRvU3RyaW5nKCl9YFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3B0aW9ucy5zY2hlZHVsZWRFdmVudElkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ9JHtvcHRpb25zLnNjaGVkdWxlZEV2ZW50SWR9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG4gICAgICBpbnZpdGVzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9pbnZpdGVzYFxuICAgICAgfSxcbiAgICAgIGxlYXZlOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC91c2Vycy9AbWUvZ3VpbGRzLyR7Z3VpbGRJZH1gXG4gICAgICB9LFxuICAgICAgbWVtYmVyczoge1xuICAgICAgICBiYW46IChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9iYW5zLyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgYmFuczogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9iYW5zP2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGBsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIGJ1bGtCYW46IChndWlsZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYnVsay1iYW5gXG4gICAgICAgIH0sXG4gICAgICAgIGJvdDogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzL0BtZWBcbiAgICAgICAgfSxcbiAgICAgICAgbWVtYmVyOiAoZ3VpbGRJZCwgdXNlcklkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVycy8ke3VzZXJJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIGN1cnJlbnRNZW1iZXI6IChndWlsZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvdXNlcnMvQG1lL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcmBcbiAgICAgICAgfSxcbiAgICAgICAgbWVtYmVyczogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzP2BcblxuICAgICAgICAgIGlmIChvcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYGxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGAmYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIHNlYXJjaDogKGd1aWxkSWQsIHF1ZXJ5LCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVycy9zZWFyY2g/cXVlcnk9JHtlbmNvZGVVUklDb21wb25lbnQocXVlcnkpfWBcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCAhPT0gdW5kZWZpbmVkKSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgcHJ1bmU6IChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcHJ1bmU/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmRheXMpIHVybCArPSBgZGF5cz0ke29wdGlvbnMuZGF5c31gXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLmluY2x1ZGVSb2xlcykpIHtcbiAgICAgICAgICAgICAgdXJsICs9IGAmaW5jbHVkZV9yb2xlcz0ke29wdGlvbnMuaW5jbHVkZVJvbGVzLmpvaW4oJywnKX1gXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuaW5jbHVkZVJvbGVzKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlc31gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHByZXZpZXc6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3ByZXZpZXdgXG4gICAgICB9LFxuICAgICAgcHJ1bmU6IChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L3BydW5lP2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLmRheXMpIHVybCArPSBgZGF5cz0ke29wdGlvbnMuZGF5c31gXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucy5pbmNsdWRlUm9sZXMpKSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZpbmNsdWRlX3JvbGVzPSR7b3B0aW9ucy5pbmNsdWRlUm9sZXMuam9pbignLCcpfWBcbiAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuaW5jbHVkZVJvbGVzKSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZpbmNsdWRlX3JvbGVzPSR7b3B0aW9ucy5pbmNsdWRlUm9sZXN9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG4gICAgICByb2xlczoge1xuICAgICAgICBvbmU6IChndWlsZElkLCByb2xlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9yb2xlcy8ke3JvbGVJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIGFsbDogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9yb2xlc2BcbiAgICAgICAgfSxcbiAgICAgICAgbWVtYmVyOiAoZ3VpbGRJZCwgbWVtYmVySWQsIHJvbGVJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnMvJHttZW1iZXJJZH0vcm9sZXMvJHtyb2xlSWR9YFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHN0aWNrZXJzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9zdGlja2Vyc2BcbiAgICAgIH0sXG4gICAgICBzdGlja2VyOiAoZ3VpbGRJZCwgc3RpY2tlcklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3N0aWNrZXJzLyR7c3RpY2tlcklkfWBcbiAgICAgIH0sXG4gICAgICB2b2ljZTogKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS92b2ljZS1zdGF0ZXMvJHt1c2VySWQgPz8gJ0BtZSd9YFxuICAgICAgfSxcbiAgICAgIHRlbXBsYXRlczoge1xuICAgICAgICBjb2RlOiAoY29kZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy90ZW1wbGF0ZXMvJHtjb2RlfWBcbiAgICAgICAgfSxcbiAgICAgICAgZ3VpbGQ6IChndWlsZElkLCBjb2RlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vdGVtcGxhdGVzLyR7Y29kZX1gXG4gICAgICAgIH0sXG4gICAgICAgIGFsbDogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS90ZW1wbGF0ZXNgXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdmFuaXR5OiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS92YW5pdHktdXJsYFxuICAgICAgfSxcbiAgICAgIHJlZ2lvbnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3JlZ2lvbnNgXG4gICAgICB9LFxuICAgICAgd2ViaG9va3M6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3dlYmhvb2tzYFxuICAgICAgfSxcbiAgICAgIHdlbGNvbWU6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3dlbGNvbWUtc2NyZWVuYFxuICAgICAgfSxcbiAgICAgIHdpZGdldDogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2lkZ2V0YFxuICAgICAgfSxcbiAgICAgIHdpZGdldEpzb246IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3dpZGdldC5qc29uYFxuICAgICAgfSxcbiAgICAgIG9uYm9hcmRpbmc6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L29uYm9hcmRpbmdgXG4gICAgICB9LFxuICAgICAgaW5jaWRlbnRBY3Rpb25zOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9pbmNpZGVudC1hY3Rpb25zYFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgc3RpY2tlcjogKHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGAvc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgIH0sXG5cbiAgICByZWdpb25zOiAoKSA9PiB7XG4gICAgICByZXR1cm4gJy92b2ljZS9yZWdpb25zJ1xuICAgIH0sXG5cbiAgICAvLyBJbnRlcmFjdGlvbiBFbmRwb2ludHNcbiAgICBpbnRlcmFjdGlvbnM6IHtcbiAgICAgIGNvbW1hbmRzOiB7XG4gICAgICAgIC8vIEFwcGxpY2F0aW9uIEVuZHBvaW50c1xuICAgICAgICBjb21tYW5kczogKGFwcGxpY2F0aW9uSWQsIHdpdGhMb2NhbGl6YXRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vY29tbWFuZHM/YFxuXG4gICAgICAgICAgaWYgKHdpdGhMb2NhbGl6YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aF9sb2NhbGl6YXRpb25zPSR7d2l0aExvY2FsaXphdGlvbnMudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuXG4gICAgICAgIGd1aWxkczoge1xuICAgICAgICAgIGFsbChhcHBsaWNhdGlvbklkLCBndWlsZElkLCB3aXRoTG9jYWxpemF0aW9ucykge1xuICAgICAgICAgICAgbGV0IHVybCA9IGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vZ3VpbGRzLyR7Z3VpbGRJZH0vY29tbWFuZHM/YFxuXG4gICAgICAgICAgICBpZiAod2l0aExvY2FsaXphdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICB1cmwgKz0gYHdpdGhfbG9jYWxpemF0aW9ucz0ke3dpdGhMb2NhbGl6YXRpb25zLnRvU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgICAgfSxcblxuICAgICAgICAgIG9uZShhcHBsaWNhdGlvbklkLCBndWlsZElkLCBjb21tYW5kSWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfWBcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczogKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9ndWlsZHMvJHtndWlsZElkfS9jb21tYW5kcy9wZXJtaXNzaW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbjogKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQsIGNvbW1hbmRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfS9wZXJtaXNzaW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWFuZDogKGFwcGxpY2F0aW9uSWQsIGNvbW1hbmRJZCwgd2l0aExvY2FsaXphdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9jb21tYW5kcy8ke2NvbW1hbmRJZH0/YFxuXG4gICAgICAgICAgaWYgKHdpdGhMb2NhbGl6YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aExvY2FsaXphdGlvbnM9JHt3aXRoTG9jYWxpemF0aW9ucy50b1N0cmluZygpfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICB9LFxuXG4gICAgICByZXNwb25zZXM6IHtcbiAgICAgICAgLy8gSW50ZXJhY3Rpb24gRW5kcG9pbnRzXG4gICAgICAgIGNhbGxiYWNrOiAoaW50ZXJhY3Rpb25JZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9pbnRlcmFjdGlvbnMvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9jYWxsYmFjaz93aXRoX3Jlc3BvbnNlPSR7ISFvcHRpb25zPy53aXRoUmVzcG9uc2V9YFxuICAgICAgICB9LFxuICAgICAgICBvcmlnaW5hbDogKGludGVyYWN0aW9uSWQsIHRva2VuKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy9Ab3JpZ2luYWxgXG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2U6IChhcHBsaWNhdGlvbklkLCB0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHthcHBsaWNhdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBPQXV0aDIgZW5kcG9pbnRzXG4gICAgb2F1dGgyOiB7XG4gICAgICB0b2tlbkV4Y2hhbmdlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi90b2tlbidcbiAgICAgIH0sXG4gICAgICB0b2tlblJldm9rZTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy9vYXV0aDIvdG9rZW4vcmV2b2tlJ1xuICAgICAgfSxcbiAgICAgIGN1cnJlbnRBdXRob3JpemF0aW9uOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi9AbWUnXG4gICAgICB9LFxuICAgICAgYXBwbGljYXRpb246ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvb2F1dGgyL2FwcGxpY2F0aW9ucy9AbWUnXG4gICAgICB9LFxuICAgICAgY29ubmVjdGlvbnM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zJ1xuICAgICAgfSxcbiAgICAgIHJvbGVDb25uZWN0aW9uczogKGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvdXNlcnMvQG1lL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L3JvbGUtY29ubmVjdGlvbmBcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIG1vbmV0aXphdGlvbjoge1xuICAgICAgZW50aXRsZW1lbnRzOiAoYXBwbGljYXRpb25JZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbnRpdGxlbWVudHM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5leGNsdWRlRW5kZWQpIHVybCArPSBgJmV4Y2x1ZGVfZW5kZWQ9JHtvcHRpb25zLmV4Y2x1ZGVFbmRlZH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLnNrdUlkcykgdXJsICs9IGAmc2t1X2lkcz0ke29wdGlvbnMuc2t1SWRzLmpvaW4oJywnKX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMudXNlcklkKSB1cmwgKz0gYCZ1c2VyX2lkPSR7b3B0aW9ucy51c2VySWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGVudGl0bGVtZW50OiAoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbnRpdGxlbWVudHMvJHtlbnRpdGxlbWVudElkfWBcbiAgICAgIH0sXG4gICAgICBjb25zdW1lRW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2VudGl0bGVtZW50cy8ke2VudGl0bGVtZW50SWR9L2NvbnN1bWVgXG4gICAgICB9LFxuXG4gICAgICBza3VzOiAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9za3VzYFxuICAgICAgfSxcblxuICAgICAgc3Vic2NyaXB0aW9uOiAoc2t1SWQsIHN1YnNjcmlwdGlvbklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3NrdXMvJHtza3VJZH0vc3Vic2NyaXB0aW9ucy8ke3N1YnNjcmlwdGlvbklkfWBcbiAgICAgIH0sXG5cbiAgICAgIHN1YnNjcmlwdGlvbnM6IChza3VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9za3VzLyR7c2t1SWR9L3N1YnNjcmlwdGlvbnM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy51c2VySWQpIHVybCArPSBgJnVzZXJfaWQ9JHtvcHRpb25zLnVzZXJJZH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBzb3VuZGJvYXJkOiB7XG4gICAgICBzZW5kU291bmQ6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9YFxuICAgICAgfSxcbiAgICAgIGxpc3REZWZhdWx0OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3NvdW5kYm9hcmQtZGVmYXVsdC1zb3VuZHNgXG4gICAgICB9LFxuICAgICAgZ3VpbGRTb3VuZHM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3NvdW5kYm9hcmQtc291bmRzYFxuICAgICAgfSxcbiAgICAgIGd1aWxkU291bmQ6IChndWlsZElkLCBzb3VuZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3NvdW5kYm9hcmQtc291bmRzLyR7c291bmRJZH1gXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBsb2JieToge1xuICAgICAgY3JlYXRlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL2xvYmJpZXMnXG4gICAgICB9LFxuXG4gICAgICBsb2JieTogKGxvYmJ5SWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvbG9iYmllcy8ke2xvYmJ5SWR9YFxuICAgICAgfSxcblxuICAgICAgbWVtYmVyOiAobG9iYnlJZCwgdXNlcklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2xvYmJpZXMvJHtsb2JieUlkfS9tZW1iZXJzLyR7dXNlcklkfWBcbiAgICAgIH0sXG5cbiAgICAgIGxlYXZlOiAobG9iYnlJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9sb2JiaWVzLyR7bG9iYnlJZH0vbWVtYmVycy9AbWVgXG4gICAgICB9LFxuXG4gICAgICBsaW5rOiAobG9iYnlJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9sb2JiaWVzLyR7bG9iYnlJZH0vY2hhbm5lbC1saW5raW5nYFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgYXBwbGljYXRpb25FbW9qaShhcHBsaWNhdGlvbklkLCBlbW9qaUlkKSB7XG4gICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbW9qaXMvJHtlbW9qaUlkfWBcbiAgICB9LFxuXG4gICAgYXBwbGljYXRpb25FbW9qaXMoYXBwbGljYXRpb25JZCkge1xuICAgICAgcmV0dXJuIGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vZW1vamlzYFxuICAgIH0sXG5cbiAgICBhcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uTWV0YWRhdGEoYXBwbGljYXRpb25JZCkge1xuICAgICAgcmV0dXJuIGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vcm9sZS1jb25uZWN0aW9ucy9tZXRhZGF0YWBcbiAgICB9LFxuXG4gICAgLy8gVXNlciBlbmRwb2ludHNcbiAgICB1c2VyKHVzZXJJZCkge1xuICAgICAgcmV0dXJuIGAvdXNlcnMvJHt1c2VySWR9YFxuICAgIH0sXG5cbiAgICBhcHBsaWNhdGlvbigpIHtcbiAgICAgIHJldHVybiAnL2FwcGxpY2F0aW9ucy9AbWUnXG4gICAgfSxcblxuICAgIGFwcGxpY2F0aW9uQWN0aXZpdHlJbnN0YW5jZShhcHBsaWNhdGlvbklkLCBpbnN0YW5jZUlkKSB7XG4gICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9hY3Rpdml0eS1pbnN0YW5jZXMvJHtpbnN0YW5jZUlkfWBcbiAgICB9LFxuXG4gICAgY3VycmVudFVzZXIoKSB7XG4gICAgICByZXR1cm4gJy91c2Vycy9AbWUnXG4gICAgfSxcblxuICAgIGdhdGV3YXlCb3QoKSB7XG4gICAgICByZXR1cm4gJy9nYXRld2F5L2JvdCdcbiAgICB9LFxuXG4gICAgc3RpY2tlclBhY2soc3RpY2tlclBhY2tJZCkge1xuICAgICAgcmV0dXJuIGAvc3RpY2tlci1wYWNrcy8ke3N0aWNrZXJQYWNrSWR9YFxuICAgIH0sXG5cbiAgICBzdGlja2VyUGFja3MoKSB7XG4gICAgICByZXR1cm4gJy9zdGlja2VyLXBhY2tzJ1xuICAgIH0sXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSb3V0ZXMiLCJ3ZWJob29rcyIsImlkIiwid2ViaG9va0lkIiwibWVzc2FnZSIsInRva2VuIiwibWVzc2FnZUlkIiwib3B0aW9ucyIsInVybCIsInRocmVhZElkIiwid2l0aENvbXBvbmVudHMiLCJ3ZWJob29rIiwid2FpdCIsInVuZGVmaW5lZCIsInRvU3RyaW5nIiwiY2hhbm5lbHMiLCJidWxrIiwiY2hhbm5lbElkIiwiZG0iLCJkbVJlY2lwaWVudCIsInVzZXJJZCIsInBpbiIsInBpbnMiLCJtZXNzYWdlUGlucyIsImJlZm9yZSIsImxpbWl0IiwibWVzc2FnZVBpbiIsInJlYWN0aW9ucyIsImJvdCIsImVtb2ppIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwidXNlciIsImFsbCIsInR5cGUiLCJhZnRlciIsImNoYW5uZWwiLCJmb2xsb3ciLCJmb3J1bSIsImludml0ZXMiLCJtZXNzYWdlcyIsImlzR2V0TWVzc2FnZXNBZnRlciIsImlzR2V0TWVzc2FnZXNCZWZvcmUiLCJpc0dldE1lc3NhZ2VzQXJvdW5kIiwiYXJvdW5kIiwiaXNHZXRNZXNzYWdlc0xpbWl0Iiwib3ZlcndyaXRlIiwib3ZlcndyaXRlSWQiLCJjcm9zc3Bvc3QiLCJzdGFnZXMiLCJzdGFnZSIsInRocmVhZHMiLCJhY3RpdmUiLCJndWlsZElkIiwibWVtYmVycyIsIndpdGhNZW1iZXIiLCJtZSIsImdldFVzZXIiLCJhcmNoaXZlZCIsInB1YmxpYyIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInByaXZhdGUiLCJqb2luZWQiLCJ0eXBpbmciLCJwb2xscyIsInZvdGVzIiwiYW5zd2VySWQiLCJleHBpcmUiLCJndWlsZHMiLCJ1c2VyR3VpbGRzIiwid2l0aENvdW50cyIsImF1ZGl0bG9ncyIsImFjdGlvblR5cGUiLCJhdXRvbW9kIiwicnVsZSIsInJ1bGVJZCIsInJ1bGVzIiwiZW1vamlJZCIsImVtb2ppcyIsImV2ZW50cyIsIndpdGhVc2VyQ291bnQiLCJldmVudCIsImV2ZW50SWQiLCJ1c2VycyIsImd1aWxkIiwiaW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiaW50ZWdyYXRpb25zIiwiaW52aXRlIiwiaW52aXRlQ29kZSIsInNjaGVkdWxlZEV2ZW50SWQiLCJsZWF2ZSIsImJhbiIsImJhbnMiLCJidWxrQmFuIiwibWVtYmVyIiwiY3VycmVudE1lbWJlciIsInNlYXJjaCIsInF1ZXJ5IiwicHJ1bmUiLCJkYXlzIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5jbHVkZVJvbGVzIiwiam9pbiIsInByZXZpZXciLCJyb2xlcyIsIm9uZSIsInJvbGVJZCIsIm1lbWJlcklkIiwic3RpY2tlcnMiLCJzdGlja2VyIiwic3RpY2tlcklkIiwidm9pY2UiLCJ0ZW1wbGF0ZXMiLCJjb2RlIiwidmFuaXR5IiwicmVnaW9ucyIsIndlbGNvbWUiLCJ3aWRnZXQiLCJ3aWRnZXRKc29uIiwib25ib2FyZGluZyIsImluY2lkZW50QWN0aW9ucyIsImludGVyYWN0aW9ucyIsImNvbW1hbmRzIiwiYXBwbGljYXRpb25JZCIsIndpdGhMb2NhbGl6YXRpb25zIiwiY29tbWFuZElkIiwicGVybWlzc2lvbnMiLCJwZXJtaXNzaW9uIiwiY29tbWFuZCIsInJlc3BvbnNlcyIsImNhbGxiYWNrIiwiaW50ZXJhY3Rpb25JZCIsIndpdGhSZXNwb25zZSIsIm9yaWdpbmFsIiwib2F1dGgyIiwidG9rZW5FeGNoYW5nZSIsInRva2VuUmV2b2tlIiwiY3VycmVudEF1dGhvcml6YXRpb24iLCJhcHBsaWNhdGlvbiIsImNvbm5lY3Rpb25zIiwicm9sZUNvbm5lY3Rpb25zIiwibW9uZXRpemF0aW9uIiwiZW50aXRsZW1lbnRzIiwiZXhjbHVkZUVuZGVkIiwic2t1SWRzIiwiZW50aXRsZW1lbnQiLCJlbnRpdGxlbWVudElkIiwiY29uc3VtZUVudGl0bGVtZW50Iiwic2t1cyIsInN1YnNjcmlwdGlvbiIsInNrdUlkIiwic3Vic2NyaXB0aW9uSWQiLCJzdWJzY3JpcHRpb25zIiwic291bmRib2FyZCIsInNlbmRTb3VuZCIsImxpc3REZWZhdWx0IiwiZ3VpbGRTb3VuZHMiLCJndWlsZFNvdW5kIiwic291bmRJZCIsImxvYmJ5IiwiY3JlYXRlIiwibG9iYnlJZCIsImxpbmsiLCJhcHBsaWNhdGlvbkVtb2ppIiwiYXBwbGljYXRpb25FbW9qaXMiLCJhcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uTWV0YWRhdGEiLCJhcHBsaWNhdGlvbkFjdGl2aXR5SW5zdGFuY2UiLCJpbnN0YW5jZUlkIiwiY3VycmVudFVzZXIiLCJnYXRld2F5Qm90Iiwic3RpY2tlclBhY2siLCJzdGlja2VyUGFja0lkIiwic3RpY2tlclBhY2tzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUlnQkE7OztlQUFBQTs7O3VCQUhpRjtBQUcxRixTQUFTQTtJQUNkLE9BQU87UUFDTEMsVUFBVTtZQUNSQyxJQUFJLENBQUNDO2dCQUNILE9BQU8sQ0FBQyxVQUFVLEVBQUVBLFdBQVc7WUFDakM7WUFDQUMsU0FBUyxDQUFDRCxXQUFXRSxPQUFPQyxXQUFXQztnQkFDckMsSUFBSUMsTUFBTSxDQUFDLFVBQVUsRUFBRUwsVUFBVSxDQUFDLEVBQUVFLE1BQU0sVUFBVSxFQUFFQyxVQUFVLENBQUMs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