@discordeno/utils 19.0.0-next.e2d86ea → 19.0.0-next.e30e5a2
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.
- package/README.md +6 -143
- package/dist/cjs/Collection.cjs +123 -0
- package/dist/cjs/base64.cjs +276 -0
- package/dist/cjs/bucket.cjs +96 -0
- package/dist/cjs/builders/embeds.cjs +292 -0
- package/dist/cjs/builders.cjs +27 -0
- package/dist/cjs/casing.cjs +75 -0
- package/dist/cjs/colors.cjs +456 -0
- package/dist/cjs/hash.cjs +37 -0
- package/dist/cjs/images.cjs +136 -0
- package/dist/cjs/index.cjs +36 -0
- package/dist/cjs/logger.cjs +157 -0
- package/dist/cjs/oauth2.cjs +26 -0
- package/dist/cjs/permissions.cjs +35 -0
- package/dist/cjs/reactions.cjs +21 -0
- package/dist/cjs/token.cjs +39 -0
- package/dist/cjs/typeguards.cjs +45 -0
- package/dist/cjs/urlToBase64.cjs +19 -0
- package/dist/cjs/urls.cjs +26 -0
- package/dist/cjs/utils.cjs +30 -0
- package/dist/esm/Collection.js +113 -0
- package/dist/esm/base64.js +262 -0
- package/dist/esm/bucket.js +81 -0
- package/dist/esm/builders/embeds.js +295 -0
- package/dist/esm/builders.js +5 -0
- package/dist/esm/casing.js +51 -0
- package/dist/esm/colors.js +467 -0
- package/dist/esm/hash.js +19 -0
- package/dist/esm/images.js +179 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/logger.js +130 -0
- package/dist/esm/oauth2.js +16 -0
- package/dist/esm/permissions.js +17 -0
- package/dist/esm/reactions.js +11 -0
- package/dist/esm/token.js +21 -0
- package/dist/esm/typeguards.js +18 -0
- package/dist/esm/urlToBase64.js +9 -0
- package/dist/esm/urls.js +8 -0
- package/dist/esm/utils.js +15 -0
- package/dist/{Collection.d.ts → types/Collection.d.ts} +2 -3
- package/dist/types/Collection.d.ts.map +1 -0
- package/dist/types/base64.d.ts.map +1 -0
- package/dist/{bucket.d.ts → types/bucket.d.ts} +9 -2
- package/dist/types/bucket.d.ts.map +1 -0
- package/dist/types/builders/embeds.d.ts +146 -0
- package/dist/types/builders/embeds.d.ts.map +1 -0
- package/dist/types/builders.d.ts +4 -0
- package/dist/types/builders.d.ts.map +1 -0
- package/dist/types/casing.d.ts.map +1 -0
- package/dist/types/colors.d.ts.map +1 -0
- package/dist/types/hash.d.ts.map +1 -0
- package/dist/types/images.d.ts +202 -0
- package/dist/types/images.d.ts.map +1 -0
- package/dist/{index.d.ts → types/index.d.ts} +4 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/oauth2.d.ts +69 -0
- package/dist/types/oauth2.d.ts.map +1 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/reactions.d.ts.map +1 -0
- package/dist/{token.d.ts → types/token.d.ts} +1 -1
- package/dist/types/token.d.ts.map +1 -0
- package/dist/{typeguards.d.ts → types/typeguards.d.ts} +2 -1
- package/dist/types/typeguards.d.ts.map +1 -0
- package/dist/types/urlToBase64.d.ts.map +1 -0
- package/dist/types/urls.d.ts +4 -0
- package/dist/types/urls.d.ts.map +1 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +27 -22
- package/dist/Collection.d.ts.map +0 -1
- package/dist/Collection.js +0 -113
- package/dist/Collection.js.map +0 -1
- package/dist/base64.d.ts.map +0 -1
- package/dist/base64.js +0 -262
- package/dist/base64.js.map +0 -1
- package/dist/bucket.d.ts.map +0 -1
- package/dist/bucket.js +0 -74
- package/dist/bucket.js.map +0 -1
- package/dist/casing.d.ts.map +0 -1
- package/dist/casing.js +0 -51
- package/dist/casing.js.map +0 -1
- package/dist/colors.d.ts.map +0 -1
- package/dist/colors.js +0 -467
- package/dist/colors.js.map +0 -1
- package/dist/hash.d.ts.map +0 -1
- package/dist/hash.js +0 -19
- package/dist/hash.js.map +0 -1
- package/dist/images.d.ts +0 -68
- package/dist/images.d.ts.map +0 -1
- package/dist/images.js +0 -66
- package/dist/images.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/interactions.d.ts +0 -3
- package/dist/interactions.d.ts.map +0 -1
- package/dist/interactions.js +0 -41
- package/dist/interactions.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -130
- package/dist/logger.js.map +0 -1
- package/dist/permissions.d.ts.map +0 -1
- package/dist/permissions.js +0 -17
- package/dist/permissions.js.map +0 -1
- package/dist/reactions.d.ts.map +0 -1
- package/dist/reactions.js +0 -11
- package/dist/reactions.js.map +0 -1
- package/dist/token.d.ts.map +0 -1
- package/dist/token.js +0 -16
- package/dist/token.js.map +0 -1
- package/dist/typeguards.d.ts.map +0 -1
- package/dist/typeguards.js +0 -15
- package/dist/typeguards.js.map +0 -1
- package/dist/urlToBase64.d.ts.map +0 -1
- package/dist/urlToBase64.js +0 -9
- package/dist/urlToBase64.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -15
- package/dist/utils.js.map +0 -1
- /package/dist/{base64.d.ts → types/base64.d.ts} +0 -0
- /package/dist/{casing.d.ts → types/casing.d.ts} +0 -0
- /package/dist/{colors.d.ts → types/colors.d.ts} +0 -0
- /package/dist/{hash.d.ts → types/hash.d.ts} +0 -0
- /package/dist/{logger.d.ts → types/logger.d.ts} +0 -0
- /package/dist/{permissions.d.ts → types/permissions.d.ts} +0 -0
- /package/dist/{reactions.d.ts → types/reactions.d.ts} +0 -0
- /package/dist/{urlToBase64.d.ts → types/urlToBase64.d.ts} +0 -0
- /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/restrict-template-expressions */ "use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
applicationAssetUrl: function() {
|
|
13
|
+
return applicationAssetUrl;
|
|
14
|
+
},
|
|
15
|
+
applicationCoverUrl: function() {
|
|
16
|
+
return applicationCoverUrl;
|
|
17
|
+
},
|
|
18
|
+
applicationIconUrl: function() {
|
|
19
|
+
return applicationIconUrl;
|
|
20
|
+
},
|
|
21
|
+
avatarDecorationUrl: function() {
|
|
22
|
+
return avatarDecorationUrl;
|
|
23
|
+
},
|
|
24
|
+
avatarUrl: function() {
|
|
25
|
+
return avatarUrl;
|
|
26
|
+
},
|
|
27
|
+
bannerUrl: function() {
|
|
28
|
+
return bannerUrl;
|
|
29
|
+
},
|
|
30
|
+
emojiUrl: function() {
|
|
31
|
+
return emojiUrl;
|
|
32
|
+
},
|
|
33
|
+
formatImageUrl: function() {
|
|
34
|
+
return formatImageUrl;
|
|
35
|
+
},
|
|
36
|
+
getWidgetImageUrl: function() {
|
|
37
|
+
return getWidgetImageUrl;
|
|
38
|
+
},
|
|
39
|
+
guildBannerUrl: function() {
|
|
40
|
+
return guildBannerUrl;
|
|
41
|
+
},
|
|
42
|
+
guildDiscoverySplashUrl: function() {
|
|
43
|
+
return guildDiscoverySplashUrl;
|
|
44
|
+
},
|
|
45
|
+
guildIconUrl: function() {
|
|
46
|
+
return guildIconUrl;
|
|
47
|
+
},
|
|
48
|
+
guildScheduledEventCoverUrl: function() {
|
|
49
|
+
return guildScheduledEventCoverUrl;
|
|
50
|
+
},
|
|
51
|
+
guildSplashUrl: function() {
|
|
52
|
+
return guildSplashUrl;
|
|
53
|
+
},
|
|
54
|
+
memberAvatarUrl: function() {
|
|
55
|
+
return memberAvatarUrl;
|
|
56
|
+
},
|
|
57
|
+
roleIconUrl: function() {
|
|
58
|
+
return roleIconUrl;
|
|
59
|
+
},
|
|
60
|
+
stickerPackBannerUrl: function() {
|
|
61
|
+
return stickerPackBannerUrl;
|
|
62
|
+
},
|
|
63
|
+
stickerUrl: function() {
|
|
64
|
+
return stickerUrl;
|
|
65
|
+
},
|
|
66
|
+
teamIconUrl: function() {
|
|
67
|
+
return teamIconUrl;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const _types = require("@discordeno/types");
|
|
71
|
+
const _hash = require("./hash.cjs");
|
|
72
|
+
function formatImageUrl(url, size = 128, format) {
|
|
73
|
+
return `${url}.${format ?? (url.includes('/a_') ? 'gif' : 'jpg')}?size=${size}`;
|
|
74
|
+
}
|
|
75
|
+
function emojiUrl(emojiId, animated = false) {
|
|
76
|
+
return `https://cdn.discordapp.com/emojis/${emojiId}.${animated ? 'gif' : 'png'}`;
|
|
77
|
+
}
|
|
78
|
+
function avatarUrl(userId, discriminator, options) {
|
|
79
|
+
return options?.avatar ? formatImageUrl(`https://cdn.discordapp.com/avatars/${userId}/${typeof options.avatar === 'string' ? options.avatar : (0, _hash.iconBigintToHash)(options.avatar)}`, options?.size ?? 128, options?.format) : `https://cdn.discordapp.com/embed/avatars/${discriminator === '0' ? (BigInt(userId) >> BigInt(22)) % BigInt(6) : Number(discriminator) % 5}.png`;
|
|
80
|
+
}
|
|
81
|
+
function avatarDecorationUrl(avatarDecoration) {
|
|
82
|
+
return `https://cdn.discordapp.com/avatar-decoration-presets/${typeof avatarDecoration === 'string' ? avatarDecoration : (0, _hash.iconBigintToHash)(avatarDecoration)}.png`;
|
|
83
|
+
}
|
|
84
|
+
function bannerUrl(userId, options) {
|
|
85
|
+
return options?.banner ? formatImageUrl(`https://cdn.discordapp.com/banners/${userId}/${typeof options.banner === 'string' ? options.banner : (0, _hash.iconBigintToHash)(options.banner)}`, options?.size ?? 128, options?.format) : undefined;
|
|
86
|
+
}
|
|
87
|
+
function guildBannerUrl(guildId, options) {
|
|
88
|
+
return options.banner ? formatImageUrl(`https://cdn.discordapp.com/banners/${guildId}/${typeof options.banner === 'string' ? options.banner : (0, _hash.iconBigintToHash)(options.banner)}`, options.size ?? 128, options.format) : undefined;
|
|
89
|
+
}
|
|
90
|
+
function guildIconUrl(guildId, imageHash, options) {
|
|
91
|
+
return imageHash ? formatImageUrl(`https://cdn.discordapp.com/icons/${guildId}/${typeof imageHash === 'string' ? imageHash : (0, _hash.iconBigintToHash)(imageHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
92
|
+
}
|
|
93
|
+
function guildSplashUrl(guildId, imageHash, options) {
|
|
94
|
+
return imageHash ? formatImageUrl(`https://cdn.discordapp.com/splashes/${guildId}/${typeof imageHash === 'string' ? imageHash : (0, _hash.iconBigintToHash)(imageHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
95
|
+
}
|
|
96
|
+
function guildDiscoverySplashUrl(guildId, imageHash, options) {
|
|
97
|
+
return imageHash ? formatImageUrl(`https://cdn.discordapp.com/discovery-splashes/${guildId}/${typeof imageHash === 'string' ? imageHash : (0, _hash.iconBigintToHash)(imageHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
98
|
+
}
|
|
99
|
+
function guildScheduledEventCoverUrl(eventId, options) {
|
|
100
|
+
return options.cover ? formatImageUrl(`https://cdn.discordapp.com/guild-events/${eventId}/${typeof options.cover === 'string' ? options.cover : (0, _hash.iconBigintToHash)(options.cover)}`, options.size ?? 128, options.format) : undefined;
|
|
101
|
+
}
|
|
102
|
+
function getWidgetImageUrl(guildId, options) {
|
|
103
|
+
let url = `https://discordapp.com/api/guilds/${guildId}/widget.png`;
|
|
104
|
+
if (options?.style) {
|
|
105
|
+
url += `?style=${options.style}`;
|
|
106
|
+
}
|
|
107
|
+
return url;
|
|
108
|
+
}
|
|
109
|
+
function memberAvatarUrl(guildId, userId, options) {
|
|
110
|
+
return options?.avatar ? formatImageUrl(`https://cdn.discordapp.com/guilds/${guildId}/users/${userId}/avatars/${typeof options.avatar === 'string' ? options.avatar : (0, _hash.iconBigintToHash)(options.avatar)}`, options?.size ?? 128, options?.format) : undefined;
|
|
111
|
+
}
|
|
112
|
+
function applicationIconUrl(applicationId, iconHash, options) {
|
|
113
|
+
return iconHash ? formatImageUrl(`https://cdn.discordapp.com/app-icons/${applicationId}/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
114
|
+
}
|
|
115
|
+
function applicationCoverUrl(applicationId, coverHash, options) {
|
|
116
|
+
return coverHash ? formatImageUrl(`https://cdn.discordapp.com/app-icons/${applicationId}/${typeof coverHash === 'string' ? coverHash : (0, _hash.iconBigintToHash)(coverHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
117
|
+
}
|
|
118
|
+
function applicationAssetUrl(applicationId, assetId, options) {
|
|
119
|
+
return assetId ? formatImageUrl(`https://cdn.discordapp.com/app-icons/${applicationId}/${typeof assetId === 'string' ? assetId : (0, _hash.iconBigintToHash)(assetId)}`, options?.size ?? 128, options?.format) : undefined;
|
|
120
|
+
}
|
|
121
|
+
function stickerPackBannerUrl(bannerAssetId, options) {
|
|
122
|
+
return bannerAssetId ? formatImageUrl(`https://cdn.discordapp.com/app-assets/710982414301790216/store/${typeof bannerAssetId === 'string' ? bannerAssetId : (0, _hash.iconBigintToHash)(bannerAssetId)}`, options?.size ?? 128, options?.format) : undefined;
|
|
123
|
+
}
|
|
124
|
+
function stickerUrl(stickerId, options) {
|
|
125
|
+
if (!stickerId) return;
|
|
126
|
+
const url = options?.type === _types.StickerFormatTypes.Gif ? `https://media.discordapp.net/stickers/${stickerId}` : `https://cdn.discordapp.com/stickers/${stickerId}`;
|
|
127
|
+
return formatImageUrl(url, options?.size ?? 128, options?.format);
|
|
128
|
+
}
|
|
129
|
+
function teamIconUrl(teamId, iconHash, options) {
|
|
130
|
+
return iconHash ? formatImageUrl(`https://cdn.discordapp.com/team-icons/${teamId}/store/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
131
|
+
}
|
|
132
|
+
function roleIconUrl(roleId, iconHash, options) {
|
|
133
|
+
return iconHash ? formatImageUrl(`https://cdn.discordapp.com/role-icons/${roleId}/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zICovXG5pbXBvcnQgeyB0eXBlIEJpZ1N0cmluZywgdHlwZSBHZXRHdWlsZFdpZGdldEltYWdlUXVlcnksIHR5cGUgSW1hZ2VGb3JtYXQsIHR5cGUgSW1hZ2VTaXplLCBTdGlja2VyRm9ybWF0VHlwZXMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGljb25CaWdpbnRUb0hhc2ggfSBmcm9tICcuL2hhc2guanMnXG5cbi8qKiBIZWxwIGZvcm1hdCBhbiBpbWFnZSB1cmwuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SW1hZ2VVcmwodXJsOiBzdHJpbmcsIHNpemU6IEltYWdlU2l6ZSA9IDEyOCwgZm9ybWF0PzogSW1hZ2VGb3JtYXQpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7dXJsfS4ke2Zvcm1hdCA/PyAodXJsLmluY2x1ZGVzKCcvYV8nKSA/ICdnaWYnIDogJ2pwZycpfT9zaXplPSR7c2l6ZX1gXG59XG5cbi8qKlxuICogR2V0IHRoZSB1cmwgZm9yIGFuIGVtb2ppLlxuICpcbiAqIEBwYXJhbSBlbW9qaUlkIFRoZSBpZCBvZiB0aGUgZW1vamlcbiAqIEBwYXJhbSBhbmltYXRlZCBXaGV0aGVyIG9yIG5vdCB0aGUgZW1vamkgaXMgYW5pbWF0ZWRcbiAqIEByZXR1cm5zIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZW1vamlVcmwoZW1vamlJZDogQmlnU3RyaW5nLCBhbmltYXRlZCA9IGZhbHNlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbW9qaXMvJHtlbW9qaUlkfS4ke2FuaW1hdGVkID8gJ2dpZicgOiAncG5nJ31gXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGF2YXRhciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gZGlzY3JpbWluYXRvciAtIFRoZSB1c2VyJ3MgZGlzY3JpbWluYXRvci4gKDQtZGlnaXQgdGFnIGFmdGVyIHRoZSBoYXNodGFnLilcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXZhdGFyVXJsKFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbiAgZGlzY3JpbWluYXRvcjogc3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGF2YXRhcjogQmlnU3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcge1xuICByZXR1cm4gb3B0aW9ucz8uYXZhdGFyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2F2YXRhcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYXZhdGFyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYXZhdGFyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmF2YXRhcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbWJlZC9hdmF0YXJzLyR7ZGlzY3JpbWluYXRvciA9PT0gJzAnID8gKEJpZ0ludCh1c2VySWQpID4+IEJpZ0ludCgyMikpICUgQmlnSW50KDYpIDogTnVtYmVyKGRpc2NyaW1pbmF0b3IpICUgNX0ucG5nYFxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXZhdGFyRGVjb3JhdGlvblVybChhdmF0YXJEZWNvcmF0aW9uOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2F2YXRhci1kZWNvcmF0aW9uLXByZXNldHMvJHtcbiAgICB0eXBlb2YgYXZhdGFyRGVjb3JhdGlvbiA9PT0gJ3N0cmluZycgPyBhdmF0YXJEZWNvcmF0aW9uIDogaWNvbkJpZ2ludFRvSGFzaChhdmF0YXJEZWNvcmF0aW9uKVxuICB9LnBuZ2Bcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSB1c2VyJ3MgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGJhbm5lciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgbm90IGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFubmVyVXJsKFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBiYW5uZXI/OiBCaWdTdHJpbmdcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zPy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke3VzZXJJZH0vJHt0eXBlb2Ygb3B0aW9ucy5iYW5uZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5iYW5uZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYmFubmVyKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSBiYW5uZXIgZm9yLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkQmFubmVyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICBiYW5uZXI/OiBCaWdTdHJpbmdcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zLmJhbm5lclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9iYW5uZXJzLyR7Z3VpbGRJZH0vJHt0eXBlb2Ygb3B0aW9ucy5iYW5uZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5iYW5uZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYmFubmVyKX1gLFxuICAgICAgICBvcHRpb25zLnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIGxpbmsgdG8gdGhlIGJhbm5lciBmb3IuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGV2ZW50IGNvdmVyIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkSWNvblVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICBpbWFnZUhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpbWFnZUhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vaWNvbnMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgc3BsYXNoIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGd1aWxkIGRvZXMgbm90IGhhdmUgYSBzcGxhc2ggaW1hZ2Ugc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTcGxhc2hVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3NwbGFzaGVzLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBkaXNjb3Zlcnkgc3BsYXNoIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgc3BsYXNoIG9mLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBkaXNjb3Zlcnkgc3BsYXNoIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGd1aWxkIGRvZXMgbm90IGhhdmUgYSBzcGxhc2ggaW1hZ2Ugc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Rpc2NvdmVyeS1zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGNvdmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGV2ZW50SWQgLSBUaGUgSUQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwoXG4gIGV2ZW50SWQ6IEJpZ1N0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIGNvdmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5jb3ZlclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZC1ldmVudHMvJHtldmVudElkfS8ke3R5cGVvZiBvcHRpb25zLmNvdmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuY292ZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuY292ZXIpfWAsXG4gICAgICAgIG9wdGlvbnMuc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnMuZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCB3aWRnZXQgaW1hZ2Ugc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSB3aWRnZXQgaW1hZ2UgZm9yLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRXaWRnZXRJbWFnZVVybChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZFdpZGdldEltYWdlUXVlcnkpOiBzdHJpbmcge1xuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZGFwcC5jb20vYXBpL2d1aWxkcy8ke2d1aWxkSWR9L3dpZGdldC5wbmdgXG5cbiAgaWYgKG9wdGlvbnM/LnN0eWxlKSB7XG4gICAgdXJsICs9IGA/c3R5bGU9JHtvcHRpb25zLnN0eWxlfWBcbiAgfVxuXG4gIHJldHVybiB1cmxcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSBtZW1iZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgd2hlcmUgdGhlIG1lbWJlciBpc1xuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGF2YXRhciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1iZXJBdmF0YXJVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM/OiB7XG4gICAgYXZhdGFyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYXZhdGFyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2d1aWxkcy8ke2d1aWxkSWR9L3VzZXJzLyR7dXNlcklkfS9hdmF0YXJzLyR7XG4gICAgICAgICAgdHlwZW9mIG9wdGlvbnMuYXZhdGFyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYXZhdGFyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmF2YXRhcilcbiAgICAgICAgfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgaWNvbiBvZi5cbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uSWNvblVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1pY29ucy8ke2FwcGxpY2F0aW9uSWR9LyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGNvdmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgY292ZXIgb2YuXG4gKiBAcGFyYW0gY292ZXJIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGNvdmVyLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkNvdmVyVXJsKFxuICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gIGNvdmVySGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGNvdmVySGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBjb3Zlckhhc2ggPT09ICdzdHJpbmcnID8gY292ZXJIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChjb3Zlckhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBhc3NldCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGFzc2V0IG9mLlxuICogQHBhcmFtIGFzc2V0SWQgLSBUaGUgaWQgaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGFzc2V0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkFzc2V0VXJsKFxuICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gIGFzc2V0SWQ6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBhc3NldElkXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1pY29ucy8ke2FwcGxpY2F0aW9uSWR9LyR7dHlwZW9mIGFzc2V0SWQgPT09ICdzdHJpbmcnID8gYXNzZXRJZCA6IGljb25CaWdpbnRUb0hhc2goYXNzZXRJZCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBwYWNrIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBiYW5uZXJBc3NldElkIC0gVGhlIElEIG9mIHRoZSBiYW5uZXIgYXNzZXQgZm9yIHRoZSBzdGlja2VyIHBhY2suXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJQYWNrQmFubmVyVXJsKFxuICBiYW5uZXJBc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYmFubmVyQXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtYXNzZXRzLzcxMDk4MjQxNDMwMTc5MDIxNi9zdG9yZS8ke1xuICAgICAgICAgIHR5cGVvZiBiYW5uZXJBc3NldElkID09PSAnc3RyaW5nJyA/IGJhbm5lckFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGJhbm5lckFzc2V0SWQpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBzdGlja2VyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHN0aWNrZXJJZCAtIFRoZSBJRCBvZiB0aGUgc3RpY2tlciB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RpY2tlclVybChcbiAgc3RpY2tlcklkOiBCaWdTdHJpbmcgfCBudW1iZXIsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gICAgdHlwZT86IFN0aWNrZXJGb3JtYXRUeXBlc1xuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFzdGlja2VySWQpIHJldHVyblxuXG4gIGNvbnN0IHVybCA9XG4gICAgb3B0aW9ucz8udHlwZSA9PT0gU3RpY2tlckZvcm1hdFR5cGVzLkdpZlxuICAgICAgPyBgaHR0cHM6Ly9tZWRpYS5kaXNjb3JkYXBwLm5ldC9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG4gICAgICA6IGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG5cbiAgcmV0dXJuIGZvcm1hdEltYWdlVXJsKHVybCwgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsIG9wdGlvbnM/LmZvcm1hdClcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHRlYW0gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB0ZWFtSWQgLSBUaGUgSUQgb2YgdGhlIHRlYW0gdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBvZiB0aGUgdGVhbSBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZWFtSWNvblVybChcbiAgdGVhbUlkOiBCaWdTdHJpbmcsXG4gIGljb25IYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaWNvbkhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vdGVhbS1pY29ucy8ke3RlYW1JZH0vc3RvcmUvJHt0eXBlb2YgaWNvbkhhc2ggPT09ICdzdHJpbmcnID8gaWNvbkhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGljb25IYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSByb2xlIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gcm9sZUlkIC0gVGhlIElEIG9mIHRoZSByb2xlIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHJvbGUgaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUljb25VcmwoXG4gIHJvbGVJZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3JvbGUtaWNvbnMvJHtyb2xlSWR9LyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuIl0sIm5hbWVzIjpbImFwcGxpY2F0aW9uQXNzZXRVcmwiLCJhcHBsaWNhdGlvbkNvdmVyVXJsIiwiYXBwbGljYXRpb25JY29uVXJsIiwiYXZhdGFyRGVjb3JhdGlvblVybCIsImF2YXRhclVybCIsImJhbm5lclVybCIsImVtb2ppVXJsIiwiZm9ybWF0SW1hZ2VVcmwiLCJnZXRXaWRnZXRJbWFnZVVybCIsImd1aWxkQmFubmVyVXJsIiwiZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwiLCJndWlsZEljb25VcmwiLCJndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwiLCJndWlsZFNwbGFzaFVybCIsIm1lbWJlckF2YXRhclVybCIsInJvbGVJY29uVXJsIiwic3RpY2tlclBhY2tCYW5uZXJVcmwiLCJzdGlja2VyVXJsIiwidGVhbUljb25VcmwiLCJ1cmwiLCJzaXplIiwiZm9ybWF0IiwiaW5jbHVkZXMiLCJlbW9qaUlkIiwiYW5pbWF0ZWQiLCJ1c2VySWQiLCJkaXNjcmltaW5hdG9yIiwib3B0aW9ucyIsImF2YXRhciIsImljb25CaWdpbnRUb0hhc2giLCJCaWdJbnQiLCJOdW1iZXIiLCJhdmF0YXJEZWNvcmF0aW9uIiwiYmFubmVyIiwidW5kZWZpbmVkIiwiZ3VpbGRJZCIsImltYWdlSGFzaCIsImV2ZW50SWQiLCJjb3ZlciIsInN0eWxlIiwiYXBwbGljYXRpb25JZCIsImljb25IYXNoIiwiY292ZXJIYXNoIiwiYXNzZXRJZCIsImJhbm5lckFzc2V0SWQiLCJzdGlja2VySWQiLCJ0eXBlIiwiU3RpY2tlckZvcm1hdFR5cGVzIiwiR2lmIiwidGVhbUlkIiwicm9sZUlkIl0sIm1hcHBpbmdzIjoiQUFBQSxtRUFBbUU7Ozs7Ozs7Ozs7O0lBOFNuREEsbUJBQW1CO2VBQW5CQTs7SUF6QkFDLG1CQUFtQjtlQUFuQkE7O0lBekJBQyxrQkFBa0I7ZUFBbEJBOztJQTlNQUMsbUJBQW1CO2VBQW5CQTs7SUFsQkFDLFNBQVM7ZUFBVEE7O0lBK0JBQyxTQUFTO2VBQVRBOztJQTNDQUMsUUFBUTtlQUFSQTs7SUFYQUMsY0FBYztlQUFkQTs7SUF5TUFDLGlCQUFpQjtlQUFqQkE7O0lBM0hBQyxjQUFjO2VBQWRBOztJQTJFQUMsdUJBQXVCO2VBQXZCQTs7SUFsREFDLFlBQVk7ZUFBWkE7O0lBMEVBQywyQkFBMkI7ZUFBM0JBOztJQWpEQUMsY0FBYztlQUFkQTs7SUEyRkFDLGVBQWU7ZUFBZkE7O0lBa0xBQyxXQUFXO2VBQVhBOztJQTVFQUMsb0JBQW9CO2VBQXBCQTs7SUF5QkFDLFVBQVU7ZUFBVkE7O0lBMEJBQyxXQUFXO2VBQVhBOzs7dUJBeFhvRztzQkFDbkY7QUFHMUIsU0FBU1gsZUFBZVksR0FBVyxFQUFFQyxPQUFrQixHQUFHLEVBQUVDLE1BQW9CO0lBQ3JGLE9BQU8sQ0FBQyxFQUFFRixJQUFJLENBQUMsRUFBRUUsVUFBV0YsQ0FBQUEsSUFBSUcsUUFBUSxDQUFDLFNBQVMsUUFBUSxLQUFJLEVBQUcsTUFBTSxFQUFFRixLQUFLLENBQUM7QUFDakY7QUFTTyxTQUFTZCxTQUFTaUIsT0FBa0IsRUFBRUMsV0FBVyxLQUFLO0lBQzNELE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRUQsUUFBUSxDQUFDLEVBQUVDLFdBQVcsUUFBUSxNQUFNLENBQUM7QUFDbkY7QUFVTyxTQUFTcEIsVUFDZHFCLE1BQWlCLEVBQ2pCQyxhQUFxQixFQUNyQkMsT0FJQztJQUVELE9BQU9BLFNBQVNDLFNBQ1pyQixlQUNFLENBQUMsbUNBQW1DLEVBQUVrQixPQUFPLENBQUMsRUFBRSxPQUFPRSxRQUFRQyxNQUFNLEtBQUssV0FBV0QsUUFBUUMsTUFBTSxHQUFHQyxJQUFBQSxzQkFBZ0IsRUFBQ0YsUUFBUUMsTUFBTSxFQUFFLENBQUMsRUFDeElELFNBQVNQLFFBQVEsS0FDakJPLFNBQVNOLFVBRVgsQ0FBQyx5Q0FBeUMsRUFBRUssa0JBQWtCLE1BQU0sQUFBQ0ksQ0FBQUEsT0FBT0wsV0FBV0ssT0FBTyxHQUFFLElBQUtBLE9BQU8sS0FBS0MsT0FBT0wsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO0FBQ3RKO0FBRU8sU0FBU3ZCLG9CQUFvQjZCLGdCQUEyQjtJQUM3RCxPQUFPLENBQUMscURBQXFELEVBQzNELE9BQU9BLHFCQUFxQixXQUFXQSxtQkFBbUJILElBQUFBLHNCQUFnQixFQUFDRyxrQkFDNUUsSUFBSSxDQUFDO0FBQ1I7QUFTTyxTQUFTM0IsVUFDZG9CLE1BQWlCLEVBQ2pCRSxPQUlDO0lBRUQsT0FBT0EsU0FBU00sU0FDWjFCLGVBQ0UsQ0FBQyxtQ0FBbUMsRUFBRWtCLE9BQU8sQ0FBQyxFQUFFLE9BQU9FLFFBQVFNLE1BQU0sS0FBSyxXQUFXTixRQUFRTSxNQUFNLEdBQUdKLElBQUFBLHNCQUFnQixFQUFDRixRQUFRTSxNQUFNLEVBQUUsQ0FBQyxFQUN4SU4sU0FBU1AsUUFBUSxLQUNqQk8sU0FBU04sVUFFWGE7QUFDTjtBQVNPLFNBQVN6QixlQUNkMEIsT0FBa0IsRUFDbEJSLE9BSUM7SUFFRCxPQUFPQSxRQUFRTSxNQUFNLEdBQ2pCMUIsZUFDRSxDQUFDLG1DQUFtQyxFQUFFNEIsUUFBUSxDQUFDLEVBQUUsT0FBT1IsUUFBUU0sTUFBTSxLQUFLLFdBQVdOLFFBQVFNLE1BQU0sR0FBR0osSUFBQUEsc0JBQWdCLEVBQUNGLFFBQVFNLE1BQU0sRUFBRSxDQUFDLEVBQ3pJTixRQUFRUCxJQUFJLElBQUksS0FDaEJPLFFBQVFOLE1BQU0sSUFFaEJhO0FBQ047QUFVTyxTQUFTdkIsYUFDZHdCLE9BQWtCLEVBQ2xCQyxTQUFnQyxFQUNoQ1QsT0FHQztJQUVELE9BQU9TLFlBQ0g3QixlQUNFLENBQUMsaUNBQWlDLEVBQUU0QixRQUFRLENBQUMsRUFBRSxPQUFPQyxjQUFjLFdBQVdBLFlBQVlQLElBQUFBLHNCQUFnQixFQUFDTyxXQUFXLENBQUMsRUFDeEhULFNBQVNQLFFBQVEsS0FDakJPLFNBQVNOLFVBRVhhO0FBQ047QUFVTyxTQUFTckIsZUFDZHNCLE9BQWtCLEVBQ2xCQyxTQUFnQyxFQUNoQ1QsT0FHQztJQUVELE9BQU9TLFlBQ0g3QixlQUNFLENBQUMsb0NBQW9DLEVBQUU0QixRQUFRLENBQUMsRUFBRSxPQUFPQyxjQUFjLFdBQVdBLFlBQVlQLElBQUFBLHNCQUFnQixFQUFDTyxXQUFXLENBQUMsRUFDM0hULFNBQVNQLFFBQVEsS0FDakJPLFNBQVNOLFVBRVhhO0FBQ047QUFVTyxTQUFTeEIsd0JBQ2R5QixPQUFrQixFQUNsQkMsU0FBZ0MsRUFDaENULE9BR0M7SUFFRCxPQUFPUyxZQUNIN0IsZUFDRSxDQUFDLDhDQUE4QyxFQUFFNEIsUUFBUSxDQUFDLEVBQUUsT0FBT0MsY0FBYyxXQUFXQSxZQUFZUCxJQUFBQSxzQkFBZ0IsRUFBQ08sV0FBVyxDQUFDLEVBQ3JJVCxTQUFTUCxRQUFRLEtBQ2pCTyxTQUFTTixVQUVYYTtBQUNOO0FBU08sU0FBU3RCLDRCQUNkeUIsT0FBa0IsRUFDbEJWLE9BSUM7SUFFRCxPQUFPQSxRQUFRVyxLQUFLLEdBQ2hCL0IsZUFDRSxDQUFDLHdDQUF3QyxFQUFFOEIsUUFBUSxDQUFDLEVBQUUsT0FBT1YsUUFBUVcsS0FBSyxLQUFLLFdBQVdYLFFBQVFXLEtBQUssR0FBR1QsSUFBQUEsc0JBQWdCLEVBQUNGLFFBQVFXLEtBQUssRUFBRSxDQUFDLEVBQzNJWCxRQUFRUCxJQUFJLElBQUksS0FDaEJPLFFBQVFOLE1BQU0sSUFFaEJhO0FBQ047QUFTTyxTQUFTMUIsa0JBQWtCMkIsT0FBa0IsRUFBRVIsT0FBa0M7SUFDdEYsSUFBSVIsTUFBTSxDQUFDLGtDQUFrQyxFQUFFZ0IsUUFBUSxXQUFXLENBQUM7SUFFbkUsSUFBSVIsU0FBU1ksT0FBTztRQUNsQnBCLE9BQU8sQ0FBQyxPQUFPLEVBQUVRLFFBQVFZLEtBQUssQ0FBQyxDQUFDO0lBQ2xDO0lBRUEsT0FBT3BCO0FBQ1Q7QUFVTyxTQUFTTCxnQkFDZHFCLE9BQWtCLEVBQ2xCVixNQUFpQixFQUNqQkUsT0FJQztJQUVELE9BQU9BLFNBQVNDLFNBQ1pyQixlQUNFLENBQUMsa0NBQWtDLEVBQUU0QixRQUFRLE9BQU8sRUFBRVYsT0FBTyxTQUFTLEVBQ3BFLE9BQU9FLFFBQVFDLE1BQU0sS0FBSyxXQUFXRCxRQUFRQyxNQUFNLEdBQUdDLElBQUFBLHNCQUFnQixFQUFDRixRQUFRQyxNQUFNLEVBQ3RGLENBQUMsRUFDRkQsU0FBU1AsUUFBUSxLQUNqQk8sU0FBU04sVUFFWGE7QUFDTjtBQVVPLFNBQVNoQyxtQkFDZHNDLGFBQXdCLEVBQ3hCQyxRQUErQixFQUMvQmQsT0FHQztJQUVELE9BQU9jLFdBQ0hsQyxlQUNFLENBQUMscUNBQXFDLEVBQUVpQyxjQUFjLENBQUMsRUFBRSxPQUFPQyxhQUFhLFdBQVdBLFdBQVdaLElBQUFBLHNCQUFnQixFQUFDWSxVQUFVLENBQUMsRUFDL0hkLFNBQVNQLFFBQVEsS0FDakJPLFNBQVNOLFVBRVhhO0FBQ047QUFVTyxTQUFTakMsb0JBQ2R1QyxhQUF3QixFQUN4QkUsU0FBZ0MsRUFDaENmLE9BR0M7SUFFRCxPQUFPZSxZQUNIbkMsZUFDRSxDQUFDLHFDQUFxQyxFQUFFaUMsY0FBYyxDQUFDLEVBQUUsT0FBT0UsY0FBYyxXQUFXQSxZQUFZYixJQUFBQSxzQkFBZ0IsRUFBQ2EsV0FBVyxDQUFDLEVBQ2xJZixTQUFTUCxRQUFRLEtBQ2pCTyxTQUFTTixVQUVYYTtBQUNOO0FBVU8sU0FBU2xDLG9CQUNkd0MsYUFBd0IsRUFDeEJHLE9BQThCLEVBQzlCaEIsT0FHQztJQUVELE9BQU9nQixVQUNIcEMsZUFDRSxDQUFDLHFDQUFxQyxFQUFFaUMsY0FBYyxDQUFDLEVBQUUsT0FBT0csWUFBWSxXQUFXQSxVQUFVZCxJQUFBQSxzQkFBZ0IsRUFBQ2MsU0FBUyxDQUFDLEVBQzVIaEIsU0FBU1AsUUFBUSxLQUNqQk8sU0FBU04sVUFFWGE7QUFDTjtBQVNPLFNBQVNsQixxQkFDZDRCLGFBQW9DLEVBQ3BDakIsT0FHQztJQUVELE9BQU9pQixnQkFDSHJDLGVBQ0UsQ0FBQywrREFBK0QsRUFDOUQsT0FBT3FDLGtCQUFrQixXQUFXQSxnQkFBZ0JmLElBQUFBLHNCQUFnQixFQUFDZSxlQUN0RSxDQUFDLEVBQ0ZqQixTQUFTUCxRQUFRLEtBQ2pCTyxTQUFTTixVQUVYYTtBQUNOO0FBU08sU0FBU2pCLFdBQ2Q0QixTQUE2QixFQUM3QmxCLE9BSUM7SUFFRCxJQUFJLENBQUNrQixXQUFXO0lBRWhCLE1BQU0xQixNQUNKUSxTQUFTbUIsU0FBU0MseUJBQWtCLENBQUNDLEdBQUcsR0FDcEMsQ0FBQyxzQ0FBc0MsRUFBRUgsVUFBVSxDQUFDLEdBQ3BELENBQUMsb0NBQW9DLEVBQUVBLFVBQVUsQ0FBQztJQUV4RCxPQUFPdEMsZUFBZVksS0FBS1EsU0FBU1AsUUFBUSxLQUFLTyxTQUFTTjtBQUM1RDtBQVVPLFNBQVNILFlBQ2QrQixNQUFpQixFQUNqQlIsUUFBK0IsRUFDL0JkLE9BR0M7SUFFRCxPQUFPYyxXQUNIbEMsZUFDRSxDQUFDLHNDQUFzQyxFQUFFMEMsT0FBTyxPQUFPLEVBQUUsT0FBT1IsYUFBYSxXQUFXQSxXQUFXWixJQUFBQSxzQkFBZ0IsRUFBQ1ksVUFBVSxDQUFDLEVBQy9IZCxTQUFTUCxRQUFRLEtBQ2pCTyxTQUFTTixVQUVYYTtBQUNOO0FBVU8sU0FBU25CLFlBQ2RtQyxNQUFpQixFQUNqQlQsUUFBK0IsRUFDL0JkLE9BR0M7SUFFRCxPQUFPYyxXQUNIbEMsZUFDRSxDQUFDLHNDQUFzQyxFQUFFMkMsT0FBTyxDQUFDLEVBQUUsT0FBT1QsYUFBYSxXQUFXQSxXQUFXWixJQUFBQSxzQkFBZ0IsRUFBQ1ksVUFBVSxDQUFDLEVBQ3pIZCxTQUFTUCxRQUFRLEtBQ2pCTyxTQUFTTixVQUVYYTtBQUNOIn0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./Collection.cjs"), exports);
|
|
6
|
+
_export_star(require("./base64.cjs"), exports);
|
|
7
|
+
_export_star(require("./bucket.cjs"), exports);
|
|
8
|
+
_export_star(require("./builders.cjs"), exports);
|
|
9
|
+
_export_star(require("./casing.cjs"), exports);
|
|
10
|
+
_export_star(require("./colors.cjs"), exports);
|
|
11
|
+
_export_star(require("./hash.cjs"), exports);
|
|
12
|
+
_export_star(require("./images.cjs"), exports);
|
|
13
|
+
_export_star(require("./logger.cjs"), exports);
|
|
14
|
+
_export_star(require("./oauth2.cjs"), exports);
|
|
15
|
+
_export_star(require("./permissions.cjs"), exports);
|
|
16
|
+
_export_star(require("./reactions.cjs"), exports);
|
|
17
|
+
_export_star(require("./token.cjs"), exports);
|
|
18
|
+
_export_star(require("./typeguards.cjs"), exports);
|
|
19
|
+
_export_star(require("./urlToBase64.cjs"), exports);
|
|
20
|
+
_export_star(require("./urls.cjs"), exports);
|
|
21
|
+
_export_star(require("./utils.cjs"), exports);
|
|
22
|
+
function _export_star(from, to) {
|
|
23
|
+
Object.keys(from).forEach(function(k) {
|
|
24
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
25
|
+
Object.defineProperty(to, k, {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function() {
|
|
28
|
+
return from[k];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return from;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0NvbGxlY3Rpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2Jhc2U2NC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYnVja2V0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZGVycy5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2FzaW5nLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvcnMuanMnXG5leHBvcnQgKiBmcm9tICcuL2hhc2guanMnXG5leHBvcnQgKiBmcm9tICcuL2ltYWdlcy5qcydcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9vYXV0aDIuanMnXG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb25zLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdGlvbnMuanMnXG5leHBvcnQgKiBmcm9tICcuL3Rva2VuLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlZ3VhcmRzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi91cmxUb0Jhc2U2NC5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXJscy5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMuanMnXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQSJ9
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-confusing-void-expression */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/no-unsafe-argument */ "use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
LogDepth: function() {
|
|
13
|
+
return LogDepth;
|
|
14
|
+
},
|
|
15
|
+
LogLevels: function() {
|
|
16
|
+
return LogLevels;
|
|
17
|
+
},
|
|
18
|
+
createLogger: function() {
|
|
19
|
+
return createLogger;
|
|
20
|
+
},
|
|
21
|
+
default: function() {
|
|
22
|
+
return _default;
|
|
23
|
+
},
|
|
24
|
+
logger: function() {
|
|
25
|
+
return logger;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const _colors = require("./colors.cjs");
|
|
29
|
+
var LogLevels;
|
|
30
|
+
(function(LogLevels) {
|
|
31
|
+
LogLevels[LogLevels["Debug"] = 0] = "Debug";
|
|
32
|
+
LogLevels[LogLevels["Info"] = 1] = "Info";
|
|
33
|
+
LogLevels[LogLevels["Warn"] = 2] = "Warn";
|
|
34
|
+
LogLevels[LogLevels["Error"] = 3] = "Error";
|
|
35
|
+
LogLevels[LogLevels["Fatal"] = 4] = "Fatal";
|
|
36
|
+
})(LogLevels || (LogLevels = {}));
|
|
37
|
+
var LogDepth;
|
|
38
|
+
(function(LogDepth) {
|
|
39
|
+
LogDepth[LogDepth["Minimal"] = 0] = "Minimal";
|
|
40
|
+
LogDepth[LogDepth["Full"] = 1] = "Full";
|
|
41
|
+
})(LogDepth || (LogDepth = {}));
|
|
42
|
+
const prefixes = new Map([
|
|
43
|
+
[
|
|
44
|
+
0,
|
|
45
|
+
'DEBUG'
|
|
46
|
+
],
|
|
47
|
+
[
|
|
48
|
+
1,
|
|
49
|
+
'INFO'
|
|
50
|
+
],
|
|
51
|
+
[
|
|
52
|
+
2,
|
|
53
|
+
'WARN'
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
3,
|
|
57
|
+
'ERROR'
|
|
58
|
+
],
|
|
59
|
+
[
|
|
60
|
+
4,
|
|
61
|
+
'FATAL'
|
|
62
|
+
]
|
|
63
|
+
]);
|
|
64
|
+
const noColor = (msg)=>msg;
|
|
65
|
+
const colorFunctions = new Map([
|
|
66
|
+
[
|
|
67
|
+
0,
|
|
68
|
+
_colors.gray
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
1,
|
|
72
|
+
_colors.cyan
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
2,
|
|
76
|
+
_colors.yellow
|
|
77
|
+
],
|
|
78
|
+
[
|
|
79
|
+
3,
|
|
80
|
+
(str)=>(0, _colors.red)(str)
|
|
81
|
+
],
|
|
82
|
+
[
|
|
83
|
+
4,
|
|
84
|
+
(str)=>(0, _colors.red)((0, _colors.bold)((0, _colors.italic)(str)))
|
|
85
|
+
]
|
|
86
|
+
]);
|
|
87
|
+
function createLogger({ logLevel = 1, name } = {}) {
|
|
88
|
+
let depth = 0;
|
|
89
|
+
function log(level, ...args) {
|
|
90
|
+
if (level < logLevel) return;
|
|
91
|
+
let color = colorFunctions.get(level);
|
|
92
|
+
if (!color) color = noColor;
|
|
93
|
+
const date = new Date();
|
|
94
|
+
const log1 = [
|
|
95
|
+
(0, _colors.bgBrightMagenta)((0, _colors.black)(`[${date.toLocaleDateString()} ${date.toLocaleTimeString()}]`)),
|
|
96
|
+
color(prefixes.get(level) ?? 'DEBUG'),
|
|
97
|
+
name ? `${name} >` : '>',
|
|
98
|
+
...args
|
|
99
|
+
];
|
|
100
|
+
switch(level){
|
|
101
|
+
case 0:
|
|
102
|
+
return console.debug(...log1);
|
|
103
|
+
case 1:
|
|
104
|
+
return console.info(...log1);
|
|
105
|
+
case 2:
|
|
106
|
+
return console.warn(...log1);
|
|
107
|
+
case 3:
|
|
108
|
+
return console.error(...log1);
|
|
109
|
+
case 4:
|
|
110
|
+
return console.error(...log1);
|
|
111
|
+
default:
|
|
112
|
+
return console.log(...log1);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function setLevel(level) {
|
|
116
|
+
logLevel = level;
|
|
117
|
+
}
|
|
118
|
+
function setDepth(level) {
|
|
119
|
+
depth = level;
|
|
120
|
+
}
|
|
121
|
+
function debug(...args) {
|
|
122
|
+
if (0 === depth) log(0, args[0]);
|
|
123
|
+
else log(0, ...args);
|
|
124
|
+
}
|
|
125
|
+
function info(...args) {
|
|
126
|
+
if (0 === depth) log(1, args[0]);
|
|
127
|
+
else log(1, ...args);
|
|
128
|
+
}
|
|
129
|
+
function warn(...args) {
|
|
130
|
+
if (0 === depth) log(2, args[0]);
|
|
131
|
+
else log(2, ...args);
|
|
132
|
+
}
|
|
133
|
+
function error(...args) {
|
|
134
|
+
if (0 === depth) log(3, args[0]);
|
|
135
|
+
else log(3, ...args);
|
|
136
|
+
}
|
|
137
|
+
function fatal(...args) {
|
|
138
|
+
if (0 === depth) log(4, args[0]);
|
|
139
|
+
else log(4, ...args);
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
log,
|
|
143
|
+
setDepth,
|
|
144
|
+
setLevel,
|
|
145
|
+
debug,
|
|
146
|
+
info,
|
|
147
|
+
warn,
|
|
148
|
+
error,
|
|
149
|
+
fatal
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
const logger = createLogger({
|
|
153
|
+
name: 'Discordeno'
|
|
154
|
+
});
|
|
155
|
+
const _default = logger;
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCAqL1xuaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nZ2VyIiwibG9nZ2VyIiwiTG9nTGV2ZWxzIiwiTG9nRGVwdGgiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsImdyYXkiLCJjeWFuIiwieWVsbG93Iiwic3RyIiwicmVkIiwiYm9sZCIsIml0YWxpYyIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJsYWNrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVUaW1lU3RyaW5nIiwiY29uc29sZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInNldExldmVsIiwic2V0RGVwdGgiLCJmYXRhbCJdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFLEdBQ2xFLG1FQUFtRSxHQUNuRSx3REFBd0Q7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUN4Q0EsWUFBWTtlQUFaQTs7SUFxRmhCLE9BQXFCO2VBQXJCOztJQURhQyxNQUFNO2VBQU5BOzs7d0JB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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createOAuth2Link", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createOAuth2Link;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _permissions = require("./permissions.cjs");
|
|
12
|
+
function createOAuth2Link(options) {
|
|
13
|
+
const joinedScopeString = options.scope.join('%20');
|
|
14
|
+
let url = `https://discord.com/oauth2/authorize?client_id=${options.clientId}&scope=${joinedScopeString}`;
|
|
15
|
+
if (options.responseType) url += `&response_type=${options.responseType}`;
|
|
16
|
+
if (options.state) url += `&state=${encodeURIComponent(options.state)}`;
|
|
17
|
+
if (options.redirectUri) url += `&redirect_uri=${encodeURIComponent(options.redirectUri)}`;
|
|
18
|
+
if (options.prompt) url += `&prompt=${options.prompt}`;
|
|
19
|
+
if (options.permissions) url += `&permissions=${Array.isArray(options.permissions) ? (0, _permissions.calculateBits)(options.permissions) : options.permissions}`;
|
|
20
|
+
if (options.guildId) url += `&guild_id=${options.guildId}`;
|
|
21
|
+
if (options.disableGuildSelect !== undefined) url += `&disable_guild_select=${options.disableGuildSelect}`;
|
|
22
|
+
if (options.integrationType) url += `&integration_type=${options.integrationType}`;
|
|
23
|
+
return url;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgT0F1dGgyU2NvcGUsIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBjYWxjdWxhdGVCaXRzIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9BdXRoMkxpbmsob3B0aW9uczogQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCBqb2luZWRTY29wZVN0cmluZyA9IG9wdGlvbnMuc2NvcGUuam9pbignJTIwJylcblxuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZC5jb20vb2F1dGgyL2F1dGhvcml6ZT9jbGllbnRfaWQ9JHtvcHRpb25zLmNsaWVudElkfSZzY29wZT0ke2pvaW5lZFNjb3BlU3RyaW5nfWBcblxuICBpZiAob3B0aW9ucy5yZXNwb25zZVR5cGUpIHVybCArPSBgJnJlc3BvbnNlX3R5cGU9JHtvcHRpb25zLnJlc3BvbnNlVHlwZX1gXG4gIGlmIChvcHRpb25zLnN0YXRlKSB1cmwgKz0gYCZzdGF0ZT0ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnN0YXRlKX1gXG4gIGlmIChvcHRpb25zLnJlZGlyZWN0VXJpKSB1cmwgKz0gYCZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5yZWRpcmVjdFVyaSl9YFxuICBpZiAob3B0aW9ucy5wcm9tcHQpIHVybCArPSBgJnByb21wdD0ke29wdGlvbnMucHJvbXB0fWBcbiAgaWYgKG9wdGlvbnMucGVybWlzc2lvbnMpIHVybCArPSBgJnBlcm1pc3Npb25zPSR7QXJyYXkuaXNBcnJheShvcHRpb25zLnBlcm1pc3Npb25zKSA/IGNhbGN1bGF0ZUJpdHMob3B0aW9ucy5wZXJtaXNzaW9ucykgOiBvcHRpb25zLnBlcm1pc3Npb25zfWBcbiAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YFxuICBpZiAob3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3QgIT09IHVuZGVmaW5lZCkgdXJsICs9IGAmZGlzYWJsZV9ndWlsZF9zZWxlY3Q9JHtvcHRpb25zLmRpc2FibGVHdWlsZFNlbGVjdH1gXG4gIGlmIChvcHRpb25zLmludGVncmF0aW9uVHlwZSkgdXJsICs9IGAmaW50ZWdyYXRpb25fdHlwZT0ke29wdGlvbnMuaW50ZWdyYXRpb25UeXBlfWBcblxuICByZXR1cm4gdXJsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcmVzcG9uc2VcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVzcG9uc2VUeXBlPzogJ2NvZGUnIHwgJ3Rva2VuJ1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBjbGllbnRJZDogQmlnU3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYXBwbGljYXRpb24gKi9cbiAgc2NvcGU6IE9BdXRoMlNjb3BlW11cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBzdGF0ZSBmb3Igc2VjdXJpdHlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI3N0YXRlLWFuZC1zZWN1cml0eVxuICAgKi9cbiAgc3RhdGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCB1cmkgZm9yIGFmdGVyIHRoZSBhdXRoZW50aWNhdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGlmIHVzaW5nIGVpdGhlciBPQXV0aDIgYXV0aG9yaXphdGlvbiwgaW1wbGljaXQgb3Igbm90LCBvciBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICByZWRpcmVjdFVyaT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcHJvbXB0IHRvIGdpdmUgdG8gdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSWYgc2V0IHRvIGBub25lYCwgaXQgd2lsbCBza2lwIHRoZSBhdXRob3JpemF0aW9uIHNjcmVlbiBhbmQgcmVkaXJlY3QgdGhlbSBiYWNrIHRvIHlvdXIgcmVkaXJlY3QgVVJJIHdpdGhvdXQgcmVxdWVzdGluZyB0aGVpciBhdXRob3JpemF0aW9uLlxuICAgKiBGb3IgcGFzc3Rocm91Z2ggc2NvcGVzLCBsaWtlIGJvdCBhbmQgd2ViaG9vay5pbmNvbWluZywgYXV0aG9yaXphdGlvbiBpcyBhbHdheXMgcmVxdWlyZWQuXG4gICAqL1xuICBwcm9tcHQ/OiAnY29uc2VudCcgfCAnbm9uZSdcbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgaW52aXRlZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcGVybWlzc2lvbnM/OiBCaWdTdHJpbmcgfCBQZXJtaXNzaW9uU3RyaW5nc1tdXG4gIC8qKlxuICAgKiBQcmUtZmlsbHMgdGhlIGRyb3Bkb3duIHBpY2tlciB3aXRoIGEgZ3VpbGQgZm9yIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaW4gYSBbYm90IGF1dGhvcml6YXRpb24gZmxvd10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNib3QtYXV0aG9yaXphdGlvbi1mbG93KSBvciB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbikgb3Igd2l0aCB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlXG4gICAqL1xuICBndWlsZElkPzogQmlnU3RyaW5nXG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgdGhlIHVzZXIgZnJvbSBjaGFuZ2luZyB0aGUgZ3VpbGQgZHJvcGRvd24gaWYgc2V0IHRvIHRydWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpLCB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbikgb3Igd2l0aCB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlXG4gICAqL1xuICBkaXNhYmxlR3VpbGRTZWxlY3Q/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluc3RhbGxhdGlvbiBjb250ZXh0IGZvciB0aGUgYXV0aG9yaXphdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IHdoZW4ge0BsaW5rIHNjb3BlfSBpbmNsdWRlcyB7QGxpbmsgT0F1dGgyU2NvcGUuQXBwbGljYXRpb25zQ29tbWFuZHN9LlxuICAgKlxuICAgKiBXaGVuIHNldCB0byBHdWlsZEluc3RhbGwgKDApIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGJlIGF1dGhvcml6ZWQgZm9yIGluc3RhbGxhdGlvbiB0byBhIHNlcnZlciwgYW5kIHdoZW4gc2V0IHRvIFVzZXJJbnN0YWxsICgxKSB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBhdXRob3JpemVkIGZvciBpbnN0YWxsYXRpb24gdG8gYSB1c2VyLlxuICAgKlxuICAgKiBUaGUgYXBwbGljYXRpb24gbXVzdCBiZSBjb25maWd1cmVkIGluIHRoZSBEZXZlbG9wZXIgUG9ydGFsIHRvIHN1cHBvcnQgdGhlIHByb3ZpZGVkIGBpbnRlZ3JhdGlvblR5cGVgLlxuICAgKi9cbiAgaW50ZWdyYXRpb25UeXBlPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlT0F1dGgyTGluayIsIm9wdGlvbnMiLCJqb2luZWRTY29wZVN0cmluZyIsInNjb3BlIiwiam9pbiIsInVybCIsImNsaWVudElkIiwicmVzcG9uc2VUeXBlIiwic3RhdGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZWRpcmVjdFVyaSIsInByb21wdCIsInBlcm1pc3Npb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2FsY3VsYXRlQml0cyIsImd1aWxkSWQiLCJkaXNhYmxlR3VpbGRTZWxlY3QiLCJ1bmRlZmluZWQiLCJpbnRlZ3JhdGlvblR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2dCQTs7O2VBQUFBOzs7NkJBRmM7QUFFdkIsU0FBU0EsaUJBQWlCQyxPQUFnQztJQUMvRCxNQUFNQyxvQkFBb0JELFFBQVFFLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO0lBRTdDLElBQUlDLE1BQU0sQ0FBQywrQ0FBK0MsRUFBRUosUUFBUUssUUFBUSxDQUFDLE9BQU8sRUFBRUosa0JBQWtCLENBQUM7SUFFekcsSUFBSUQsUUFBUU0sWUFBWSxFQUFFRixPQUFPLENBQUMsZUFBZSxFQUFFSixRQUFRTSxZQUFZLENBQUMsQ0FBQztJQUN6RSxJQUFJTixRQUFRTyxLQUFLLEVBQUVILE9BQU8sQ0FBQyxPQUFPLEVBQUVJLG1CQUFtQlIsUUFBUU8sS0FBSyxFQUFFLENBQUM7SUFDdkUsSUFBSVAsUUFBUVMsV0FBVyxFQUFFTCxPQUFPLENBQUMsY0FBYyxFQUFFSSxtQkFBbUJSLFFBQVFTLFdBQVcsRUFBRSxDQUFDO0lBQzFGLElBQUlULFFBQVFVLE1BQU0sRUFBRU4sT0FBTyxDQUFDLFFBQVEsRUFBRUosUUFBUVUsTUFBTSxDQUFDLENBQUM7SUFDdEQsSUFBSVYsUUFBUVcsV0FBVyxFQUFFUCxPQUFPLENBQUMsYUFBYSxFQUFFUSxNQUFNQyxPQUFPLENBQUNiLFFBQVFXLFdBQVcsSUFBSUcsSUFBQUEsMEJBQWEsRUFBQ2QsUUFBUVcsV0FBVyxJQUFJWCxRQUFRVyxXQUFXLENBQUMsQ0FBQztJQUMvSSxJQUFJWCxRQUFRZSxPQUFPLEVBQUVYLE9BQU8sQ0FBQyxVQUFVLEVBQUVKLFFBQVFlLE9BQU8sQ0FBQyxDQUFDO0lBQzFELElBQUlmLFFBQVFnQixrQkFBa0IsS0FBS0MsV0FBV2IsT0FBTyxDQUFDLHNCQUFzQixFQUFFSixRQUFRZ0Isa0JBQWtCLENBQUMsQ0FBQztJQUMxRyxJQUFJaEIsUUFBUWtCLGVBQWUsRUFBRWQsT0FBTyxDQUFDLGtCQUFrQixFQUFFSixRQUFRa0IsZUFBZSxDQUFDLENBQUM7SUFFbEYsT0FBT2Q7QUFDVCJ9
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
calculateBits: function() {
|
|
13
|
+
return calculateBits;
|
|
14
|
+
},
|
|
15
|
+
calculatePermissions: function() {
|
|
16
|
+
return calculatePermissions;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _types = require("@discordeno/types");
|
|
20
|
+
function calculatePermissions(permissionBits) {
|
|
21
|
+
return Object.keys(_types.BitwisePermissionFlags).filter((permission)=>{
|
|
22
|
+
// Since Object.keys() not only returns the permission names but also the bit values we need to return false if it is a Number
|
|
23
|
+
if (Number(permission)) return false;
|
|
24
|
+
// Check if permissionBits has this permission
|
|
25
|
+
return permissionBits & _types.BitwisePermissionFlags[permission];
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function calculateBits(permissions) {
|
|
29
|
+
return permissions.reduce((bits, perm)=>{
|
|
30
|
+
bits |= _types.BitwisePermissionFlags[perm];
|
|
31
|
+
return bits;
|
|
32
|
+
}, 0n).toString();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBCaXR3aXNlUGVybWlzc2lvbkZsYWdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgYml0d2lzZSBzdHJpbmcgdG8gcGVybWlzc2lvbiBzdHJpbmdzICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUGVybWlzc2lvbnMocGVybWlzc2lvbkJpdHM6IGJpZ2ludCk6IFBlcm1pc3Npb25TdHJpbmdzW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoQml0d2lzZVBlcm1pc3Npb25GbGFncykuZmlsdGVyKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgLy8gU2luY2UgT2JqZWN0LmtleXMoKSBub3Qgb25seSByZXR1cm5zIHRoZSBwZXJtaXNzaW9uIG5hbWVzIGJ1dCBhbHNvIHRoZSBiaXQgdmFsdWVzIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlIGlmIGl0IGlzIGEgTnVtYmVyXG4gICAgaWYgKE51bWJlcihwZXJtaXNzaW9uKSkgcmV0dXJuIGZhbHNlXG4gICAgLy8gQ2hlY2sgaWYgcGVybWlzc2lvbkJpdHMgaGFzIHRoaXMgcGVybWlzc2lvblxuICAgIHJldHVybiBwZXJtaXNzaW9uQml0cyAmIEJpdHdpc2VQZXJtaXNzaW9uRmxhZ3NbcGVybWlzc2lvbiBhcyBQZXJtaXNzaW9uU3RyaW5nc11cbiAgfSkgYXMgUGVybWlzc2lvblN0cmluZ3NbXVxufVxuXG4vKiogVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyBhbiBhcnJheSBvZiBwZXJtaXNzaW9ucyBpbnRvIHRoZSBiaXR3aXNlIHN0cmluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVCaXRzKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uU3RyaW5nc1tdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBlcm1pc3Npb25zXG4gICAgLnJlZHVjZSgoYml0cywgcGVybSkgPT4ge1xuICAgICAgYml0cyB8PSBCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1dXG4gICAgICByZXR1cm4gYml0c1xuICAgIH0sIDBuKVxuICAgIC50b1N0cmluZygpXG59XG4iXSwibmFtZXMiOlsiY2FsY3VsYXRlQml0cyIsImNhbGN1bGF0ZVBlcm1pc3Npb25zIiwicGVybWlzc2lvbkJpdHMiLCJPYmplY3QiLCJrZXlzIiwiQml0d2lzZVBlcm1pc3Npb25GbGFncyIsImZpbHRlciIsInBlcm1pc3Npb24iLCJOdW1iZXIiLCJwZXJtaXNzaW9ucyIsInJlZHVjZSIsImJpdHMiLCJwZXJtIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBY2dCQSxhQUFhO2VBQWJBOztJQVZBQyxvQkFBb0I7ZUFBcEJBOzs7dUJBSHVCO0FBR2hDLFNBQVNBLHFCQUFxQkMsY0FBc0I7SUFDekQsT0FBT0MsT0FBT0MsSUFBSSxDQUFDQyw2QkFBc0IsRUFBRUMsTUFBTSxDQUFDLENBQUNDO1FBQ2pELDhIQUE4SDtRQUM5SCxJQUFJQyxPQUFPRCxhQUFhLE9BQU87UUFDL0IsOENBQThDO1FBQzlDLE9BQU9MLGlCQUFpQkcsNkJBQXNCLENBQUNFLFdBQWdDO0lBQ2pGO0FBQ0Y7QUFHTyxTQUFTUCxjQUFjUyxXQUFnQztJQUM1RCxPQUFPQSxZQUNKQyxNQUFNLENBQUMsQ0FBQ0MsTUFBTUM7UUFDYkQsUUFBUU4sNkJBQXNCLENBQUNPLEtBQUs7UUFDcEMsT0FBT0Q7SUFDVCxHQUFHLEVBQUUsRUFDSkUsUUFBUTtBQUNiIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Converts an reaction emoji unicode string to the discord required form of name:id */ "use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "processReactionString", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return processReactionString;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function processReactionString(reaction) {
|
|
12
|
+
if (reaction.startsWith('<:')) {
|
|
13
|
+
return reaction.substring(2, reaction.length - 1);
|
|
14
|
+
}
|
|
15
|
+
if (reaction.startsWith('<a:')) {
|
|
16
|
+
return reaction.substring(3, reaction.length - 1);
|
|
17
|
+
}
|
|
18
|
+
return reaction;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIENvbnZlcnRzIGFuIHJlYWN0aW9uIGVtb2ppIHVuaWNvZGUgc3RyaW5nIHRvIHRoZSBkaXNjb3JkIHJlcXVpcmVkIGZvcm0gb2YgbmFtZTppZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NSZWFjdGlvblN0cmluZyhyZWFjdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHJlYWN0aW9uLnN0YXJ0c1dpdGgoJzw6JykpIHtcbiAgICByZXR1cm4gcmVhY3Rpb24uc3Vic3RyaW5nKDIsIHJlYWN0aW9uLmxlbmd0aCAtIDEpXG4gIH1cblxuICBpZiAocmVhY3Rpb24uc3RhcnRzV2l0aCgnPGE6JykpIHtcbiAgICByZXR1cm4gcmVhY3Rpb24uc3Vic3RyaW5nKDMsIHJlYWN0aW9uLmxlbmd0aCAtIDEpXG4gIH1cblxuICByZXR1cm4gcmVhY3Rpb25cbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzUmVhY3Rpb25TdHJpbmciLCJyZWFjdGlvbiIsInN0YXJ0c1dpdGgiLCJzdWJzdHJpbmciLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLHNGQUFzRjs7OzsrQkFDdEVBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHNCQUFzQkMsUUFBZ0I7SUFDcEQsSUFBSUEsU0FBU0MsVUFBVSxDQUFDLE9BQU87UUFDN0IsT0FBT0QsU0FBU0UsU0FBUyxDQUFDLEdBQUdGLFNBQVNHLE1BQU0sR0FBRztJQUNqRDtJQUVBLElBQUlILFNBQVNDLFVBQVUsQ0FBQyxRQUFRO1FBQzlCLE9BQU9ELFNBQVNFLFNBQVMsQ0FBQyxHQUFHRixTQUFTRyxNQUFNLEdBQUc7SUFDakQ7SUFFQSxPQUFPSDtBQUNUIn0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
getBotIdFromToken: function() {
|
|
13
|
+
return getBotIdFromToken;
|
|
14
|
+
},
|
|
15
|
+
removeTokenPrefix: function() {
|
|
16
|
+
return removeTokenPrefix;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _nodebuffer = require("node:buffer");
|
|
20
|
+
const validTokenPrefixes = [
|
|
21
|
+
'Bot',
|
|
22
|
+
'Bearer'
|
|
23
|
+
];
|
|
24
|
+
function removeTokenPrefix(token, type = 'REST') {
|
|
25
|
+
// If no token is provided, throw an error
|
|
26
|
+
if (token === undefined) {
|
|
27
|
+
throw new Error(`The ${type} was not given a token. Please provide a token and try again.`);
|
|
28
|
+
}
|
|
29
|
+
const splittedToken = token.split(' ');
|
|
30
|
+
// If the token does not have a prefix just return token
|
|
31
|
+
if (splittedToken.length < 2 || !validTokenPrefixes.includes(splittedToken[0])) return token;
|
|
32
|
+
// Remove the prefix and return only the token.
|
|
33
|
+
return splittedToken.splice(1).join(' ');
|
|
34
|
+
}
|
|
35
|
+
function getBotIdFromToken(token) {
|
|
36
|
+
return BigInt(_nodebuffer.Buffer.from(token.split('.')[0], 'base64').toString());
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdub2RlOmJ1ZmZlcidcblxuY29uc3QgdmFsaWRUb2tlblByZWZpeGVzID0gWydCb3QnLCAnQmVhcmVyJ11cblxuLyoqIFJlbW92ZXMgdGhlIEJvdC9CZWFyZXIgYmVmb3JlIHRoZSB0b2tlbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUb2tlblByZWZpeCh0b2tlbj86IHN0cmluZywgdHlwZTogJ0dBVEVXQVknIHwgJ1JFU1QnID0gJ1JFU1QnKTogc3RyaW5nIHtcbiAgLy8gSWYgbm8gdG9rZW4gaXMgcHJvdmlkZWQsIHRocm93IGFuIGVycm9yXG4gIGlmICh0b2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJHt0eXBlfSB3YXMgbm90IGdpdmVuIGEgdG9rZW4uIFBsZWFzZSBwcm92aWRlIGEgdG9rZW4gYW5kIHRyeSBhZ2Fpbi5gKVxuICB9XG5cbiAgY29uc3Qgc3BsaXR0ZWRUb2tlbiA9IHRva2VuLnNwbGl0KCcgJylcblxuICAvLyBJZiB0aGUgdG9rZW4gZG9lcyBub3QgaGF2ZSBhIHByZWZpeCBqdXN0IHJldHVybiB0b2tlblxuICBpZiAoc3BsaXR0ZWRUb2tlbi5sZW5ndGggPCAyIHx8ICF2YWxpZFRva2VuUHJlZml4ZXMuaW5jbHVkZXMoc3BsaXR0ZWRUb2tlblswXSkpIHJldHVybiB0b2tlblxuICAvLyBSZW1vdmUgdGhlIHByZWZpeCBhbmQgcmV0dXJuIG9ubHkgdGhlIHRva2VuLlxuICByZXR1cm4gc3BsaXR0ZWRUb2tlbi5zcGxpY2UoMSkuam9pbignICcpXG59XG5cbi8qKiBHZXQgdGhlIGJvdCBpZCBmcm9tIHRoZSBib3QgdG9rZW4uIFdBUk5JTkc6IERpc2NvcmQgc3RhZmYgaGFzIG1lbnRpb25lZCB0aGlzIG1heSBub3QgYmUgc3RhYmxlIGZvcmV2ZXIuIFVzZSBhdCB5b3VyIG93biByaXNrLiBIb3dldmVyLCBub3RlIGZvciBvdmVyIDUgeWVhcnMgdGhpcyBoYXMgbmV2ZXIgYnJva2VuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJvdElkRnJvbVRva2VuKHRva2VuOiBzdHJpbmcpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KEJ1ZmZlci5mcm9tKHRva2VuLnNwbGl0KCcuJylbMF0sICdiYXNlNjQnKS50b1N0cmluZygpKVxufVxuIl0sIm5hbWVzIjpbImdldEJvdElkRnJvbVRva2VuIiwicmVtb3ZlVG9rZW5QcmVmaXgiLCJ2YWxpZFRva2VuUHJlZml4ZXMiLCJ0b2tlbiIsInR5cGUiLCJ1bmRlZmluZWQiLCJFcnJvciIsInNwbGl0dGVkVG9rZW4iLCJzcGxpdCIsImxlbmd0aCIsImluY2x1ZGVzIiwic3BsaWNlIiwiam9pbiIsIkJpZ0ludCIsIkJ1ZmZlciIsImZyb20iLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvQmdCQSxpQkFBaUI7ZUFBakJBOztJQWZBQyxpQkFBaUI7ZUFBakJBOzs7NEJBTE87QUFFdkIsTUFBTUMscUJBQXFCO0lBQUM7SUFBTztDQUFTO0FBR3JDLFNBQVNELGtCQUFrQkUsS0FBYyxFQUFFQyxPQUEyQixNQUFNO0lBQ2pGLDBDQUEwQztJQUMxQyxJQUFJRCxVQUFVRSxXQUFXO1FBQ3ZCLE1BQU0sSUFBSUMsTUFBTSxDQUFDLElBQUksRUFBRUYsS0FBSyw2REFBNkQsQ0FBQztJQUM1RjtJQUVBLE1BQU1HLGdCQUFnQkosTUFBTUssS0FBSyxDQUFDO0lBRWxDLHdEQUF3RDtJQUN4RCxJQUFJRCxjQUFjRSxNQUFNLEdBQUcsS0FBSyxDQUFDUCxtQkFBbUJRLFFBQVEsQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsR0FBRyxPQUFPSjtJQUN2RiwrQ0FBK0M7SUFDL0MsT0FBT0ksY0FBY0ksTUFBTSxDQUFDLEdBQUdDLElBQUksQ0FBQztBQUN0QztBQUdPLFNBQVNaLGtCQUFrQkcsS0FBYTtJQUM3QyxPQUFPVSxPQUFPQyxrQkFBTSxDQUFDQyxJQUFJLENBQUNaLE1BQU1LLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVVRLFFBQVE7QUFDbkUifQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
isGetMessagesAfter: function() {
|
|
13
|
+
return isGetMessagesAfter;
|
|
14
|
+
},
|
|
15
|
+
isGetMessagesAround: function() {
|
|
16
|
+
return isGetMessagesAround;
|
|
17
|
+
},
|
|
18
|
+
isGetMessagesBefore: function() {
|
|
19
|
+
return isGetMessagesBefore;
|
|
20
|
+
},
|
|
21
|
+
isGetMessagesLimit: function() {
|
|
22
|
+
return isGetMessagesLimit;
|
|
23
|
+
},
|
|
24
|
+
isInviteWithMetadata: function() {
|
|
25
|
+
return isInviteWithMetadata;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const _utils = require("./utils.cjs");
|
|
29
|
+
function isGetMessagesAfter(options) {
|
|
30
|
+
return (0, _utils.hasProperty)(options, 'after');
|
|
31
|
+
}
|
|
32
|
+
function isGetMessagesBefore(options) {
|
|
33
|
+
return (0, _utils.hasProperty)(options, 'before');
|
|
34
|
+
}
|
|
35
|
+
function isGetMessagesAround(options) {
|
|
36
|
+
return (0, _utils.hasProperty)(options, 'around');
|
|
37
|
+
}
|
|
38
|
+
function isGetMessagesLimit(options) {
|
|
39
|
+
return (0, _utils.hasProperty)(options, 'limit');
|
|
40
|
+
}
|
|
41
|
+
function isInviteWithMetadata(options) {
|
|
42
|
+
return !(0, _utils.hasProperty)(options, 'channel_id');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlZ3VhcmRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRGlzY29yZEludml0ZUNyZWF0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBHZXRNZXNzYWdlc0FmdGVyLFxuICBHZXRNZXNzYWdlc0Fyb3VuZCxcbiAgR2V0TWVzc2FnZXNCZWZvcmUsXG4gIEdldE1lc3NhZ2VzTGltaXQsXG4gIEdldE1lc3NhZ2VzT3B0aW9ucyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQWZ0ZXIob3B0aW9uczogR2V0TWVzc2FnZXNPcHRpb25zKTogb3B0aW9ucyBpcyBHZXRNZXNzYWdlc0FmdGVyIHtcbiAgcmV0dXJuIGhhc1Byb3BlcnR5KG9wdGlvbnMsICdhZnRlcicpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQmVmb3JlKG9wdGlvbnM6IEdldE1lc3NhZ2VzT3B0aW9ucyk6IG9wdGlvbnMgaXMgR2V0TWVzc2FnZXNCZWZvcmUge1xuICByZXR1cm4gaGFzUHJvcGVydHkob3B0aW9ucywgJ2JlZm9yZScpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQXJvdW5kKG9wdGlvbnM6IEdldE1lc3NhZ2VzT3B0aW9ucyk6IG9wdGlvbnMgaXMgR2V0TWVzc2FnZXNBcm91bmQge1xuICByZXR1cm4gaGFzUHJvcGVydHkob3B0aW9ucywgJ2Fyb3VuZCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzTGltaXQob3B0aW9uczogR2V0TWVzc2FnZXNPcHRpb25zKTogb3B0aW9ucyBpcyBHZXRNZXNzYWdlc0xpbWl0IHtcbiAgcmV0dXJuIGhhc1Byb3BlcnR5KG9wdGlvbnMsICdsaW1pdCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludml0ZVdpdGhNZXRhZGF0YShvcHRpb25zOiBEaXNjb3JkSW52aXRlQ3JlYXRlIHwgRGlzY29yZEludml0ZU1ldGFkYXRhKTogb3B0aW9ucyBpcyBEaXNjb3JkSW52aXRlTWV0YWRhdGEge1xuICByZXR1cm4gIWhhc1Byb3BlcnR5KG9wdGlvbnMsICdjaGFubmVsX2lkJylcbn1cbiJdLCJuYW1lcyI6WyJpc0dldE1lc3NhZ2VzQWZ0ZXIiLCJpc0dldE1lc3NhZ2VzQXJvdW5kIiwiaXNHZXRNZXNzYWdlc0JlZm9yZSIsImlzR2V0TWVzc2FnZXNMaW1pdCIsImlzSW52aXRlV2l0aE1ldGFkYXRhIiwib3B0aW9ucyIsImhhc1Byb3BlcnR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQVdnQkEsa0JBQWtCO2VBQWxCQTs7SUFRQUMsbUJBQW1CO2VBQW5CQTs7SUFKQUMsbUJBQW1CO2VBQW5CQTs7SUFRQUMsa0JBQWtCO2VBQWxCQTs7SUFJQUMsb0JBQW9CO2VBQXBCQTs7O3VCQWxCWTtBQUVyQixTQUFTSixtQkFBbUJLLE9BQTJCO0lBQzVELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTSCxvQkFBb0JHLE9BQTJCO0lBQzdELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTSixvQkFBb0JJLE9BQTJCO0lBQzdELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTRixtQkFBbUJFLE9BQTJCO0lBQzVELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTRCxxQkFBcUJDLE9BQW9EO0lBQ3ZGLE9BQU8sQ0FBQ0MsSUFBQUEsa0JBQVcsRUFBQ0QsU0FBUztBQUMvQiJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "urlToBase64", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return urlToBase64;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _base64 = require("./base64.cjs");
|
|
12
|
+
async function urlToBase64(url) {
|
|
13
|
+
const buffer = await fetch(url).then(async (res)=>await res.arrayBuffer());
|
|
14
|
+
const imageStr = (0, _base64.encode)(buffer);
|
|
15
|
+
const type = url.substring(url.lastIndexOf('.') + 1);
|
|
16
|
+
return `data:image/${type};base64,${imageStr}`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmxUb0Jhc2U2NC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmNvZGUgfSBmcm9tICcuL2Jhc2U2NC5qcydcblxuLyoqIENvbnZlcnRzIGEgdXJsIHRvIGJhc2UgNjQuIFVzZWZ1bCBmb3IgZXhhbXBsZSwgdXBsb2FkaW5nL2NyZWF0aW5nIHNlcnZlciBlbW9qaXMuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXJsVG9CYXNlNjQodXJsOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBidWZmZXIgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4oYXN5bmMgKHJlcykgPT4gYXdhaXQgcmVzLmFycmF5QnVmZmVyKCkpXG4gIGNvbnN0IGltYWdlU3RyID0gZW5jb2RlKGJ1ZmZlcilcbiAgY29uc3QgdHlwZSA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcuJykgKyAxKVxuICByZXR1cm4gYGRhdGE6aW1hZ2UvJHt0eXBlfTtiYXNlNjQsJHtpbWFnZVN0cn1gXG59XG4iXSwibmFtZXMiOlsidXJsVG9CYXNlNjQiLCJ1cmwiLCJidWZmZXIiLCJmZXRjaCIsInRoZW4iLCJyZXMiLCJhcnJheUJ1ZmZlciIsImltYWdlU3RyIiwiZW5jb2RlIiwidHlwZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdzQkE7OztlQUFBQTs7O3dCQUhDO0FBR2hCLGVBQWVBLFlBQVlDLEdBQVc7SUFDM0MsTUFBTUMsU0FBUyxNQUFNQyxNQUFNRixLQUFLRyxJQUFJLENBQUMsT0FBT0MsTUFBUSxNQUFNQSxJQUFJQyxXQUFXO0lBQ3pFLE1BQU1DLFdBQVdDLElBQUFBLGNBQU0sRUFBQ047SUFDeEIsTUFBTU8sT0FBT1IsSUFBSVMsU0FBUyxDQUFDVCxJQUFJVSxXQUFXLENBQUMsT0FBTztJQUNsRCxPQUFPLENBQUMsV0FBVyxFQUFFRixLQUFLLFFBQVEsRUFBRUYsU0FBUyxDQUFDO0FBQ2hEIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
skuLink: function() {
|
|
13
|
+
return skuLink;
|
|
14
|
+
},
|
|
15
|
+
storeLink: function() {
|
|
16
|
+
return storeLink;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function skuLink(appId, skuId) {
|
|
20
|
+
return `https://discord.com/application-directory/${appId}/store/${skuId}`;
|
|
21
|
+
}
|
|
22
|
+
function storeLink(appId) {
|
|
23
|
+
return `https://discord.com/application-directory/${appId}/store`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiBza3VMaW5rKGFwcElkOiBCaWdTdHJpbmcsIHNrdUlkOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZGlzY29yZC5jb20vYXBwbGljYXRpb24tZGlyZWN0b3J5LyR7YXBwSWR9L3N0b3JlLyR7c2t1SWR9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVMaW5rKGFwcElkOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZGlzY29yZC5jb20vYXBwbGljYXRpb24tZGlyZWN0b3J5LyR7YXBwSWR9L3N0b3JlYFxufVxuIl0sIm5hbWVzIjpbInNrdUxpbmsiLCJzdG9yZUxpbmsiLCJhcHBJZCIsInNrdUlkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVnQkEsT0FBTztlQUFQQTs7SUFJQUMsU0FBUztlQUFUQTs7O0FBSlQsU0FBU0QsUUFBUUUsS0FBZ0IsRUFBRUMsS0FBZ0I7SUFDeEQsT0FBTyxDQUFDLDBDQUEwQyxFQUFFRCxNQUFNLE9BQU8sRUFBRUMsTUFBTSxDQUFDO0FBQzVFO0FBRU8sU0FBU0YsVUFBVUMsS0FBZ0I7SUFDeEMsT0FBTyxDQUFDLDBDQUEwQyxFQUFFQSxNQUFNLE1BQU0sQ0FBQztBQUNuRSJ9
|