@discordeno/utils 22.0.1-next.a85207e → 22.0.1-next.abff4d2
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/dist/images.d.ts.map +1 -1
- package/dist/images.js +4 -2
- package/dist/oauth2.d.ts +6 -6
- package/dist/oauth2.js +1 -1
- package/package.json +7 -7
package/dist/images.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,wBAAwB,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGxI,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,SAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"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"}
|
package/dist/images.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { StickerFormatTypes } from '@discordeno/types';
|
|
2
2
|
import { iconBigintToHash } from './hash.js';
|
|
3
3
|
/** Help format an image url. */ export function formatImageUrl(url, size = 128, format) {
|
|
4
|
-
|
|
4
|
+
const animated = url.includes('/a_');
|
|
5
|
+
format ??= animated ? 'gif' : 'webp';
|
|
6
|
+
return `${url}.${format}?size=${size}${animated && format === 'webp' ? '&animated=true' : ''}`;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
9
|
* Get the url for an emoji.
|
|
@@ -223,4 +225,4 @@ export function avatarDecorationUrl(avatarDecoration) {
|
|
|
223
225
|
return formatImageUrl(`https://cdn.discordapp.com/guild-tag-badges/${guildId}/${badgeHash}`, options?.size ?? 128, options?.format);
|
|
224
226
|
}
|
|
225
227
|
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaWdTdHJpbmcsIHR5cGUgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCB0eXBlIEltYWdlRm9ybWF0LCB0eXBlIEltYWdlU2l6ZSwgU3RpY2tlckZvcm1hdFR5cGVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkJpZ2ludFRvSGFzaCB9IGZyb20gJy4vaGFzaC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VPcHRpb25zIHtcbiAgc2l6ZT86IEltYWdlU2l6ZTtcbiAgZm9ybWF0PzogSW1hZ2VGb3JtYXQ7XG59XG5cbi8qKiBIZWxwIGZvcm1hdCBhbiBpbWFnZSB1cmwuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SW1hZ2VVcmwodXJsOiBzdHJpbmcsIHNpemU6IEltYWdlU2l6ZSA9IDEyOCwgZm9ybWF0PzogSW1hZ2VGb3JtYXQpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7dXJsfS4ke2Zvcm1hdCA/PyAodXJsLmluY2x1ZGVzKCcvYV8nKSA/ICdnaWYnIDogJ3dlYnAnKX0/c2l6ZT0ke3NpemV9YDtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHVybCBmb3IgYW4gZW1vamkuXG4gKlxuICogQHBhcmFtIGVtb2ppSWQgVGhlIGlkIG9mIHRoZSBlbW9qaVxuICogQHBhcmFtIGFuaW1hdGVkIFdoZXRoZXIgb3Igbm90IHRoZSBlbW9qaSBpcyBhbmltYXRlZFxuICogQHBhcmFtIGZvcm1hdCBUaGUgZm9ybWF0IG9mIHRoZSBpbWFnZSwgZGVmYXVsdHMgdG8gcG5nXG4gKiBAcmV0dXJucyBzdHJpbmdcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIGFuaW1hdGVkIHBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGFuaW1hdGVkIHF1ZXJ5IHBhcmFtZXRlciB2YWxpZCBmb3Igd2VicCBpbWFnZXMgb3IgdG8gZm9yY2UgdGhlIGdpZiBpZiB0aGUgZm9ybWF0IGlzIG5vdCBzZXQgdG8gd2VicC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtb2ppVXJsKGVtb2ppSWQ6IEJpZ1N0cmluZywgYW5pbWF0ZWQgPSBmYWxzZSwgZm9ybWF0OiBJbWFnZUZvcm1hdCA9ICdwbmcnKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbW9qaXMvJHtlbW9qaUlkfS4ke2FuaW1hdGVkID8gKGZvcm1hdCA9PT0gJ3dlYnAnID8gJ3dlYnAnIDogJ2dpZicpIDogZm9ybWF0fSR7YW5pbWF0ZWQgJiYgZm9ybWF0ID09PSAnd2VicCcgPyAnP2FuaW1hdGVkPXRydWUnIDogJyd9YDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSB1c2VyJ3MgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGF2YXRhciBvZi5cbiAqIEBwYXJhbSBhdmF0YXIgLSBUaGUgdXNlcidzIGF2YXRhciBoYXNoLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgdXNlciBhdmF0YXIgYXMgYSBVUkwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdmF0YXJVcmwodXNlcklkOiBCaWdTdHJpbmcsIGF2YXRhcjogQmlnU3RyaW5nLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdEltYWdlVXJsKFxuICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXJzLyR7dXNlcklkfS8ke3R5cGVvZiBhdmF0YXIgPT09ICdzdHJpbmcnID8gYXZhdGFyIDogaWNvbkJpZ2ludFRvSGFzaChhdmF0YXIpfWAsXG4gICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgb3B0aW9ucz8uZm9ybWF0LFxuICApO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBkZWZhdWx0IGF2YXRhciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gZGlzY3JpbWluYXRvciAtIFRoZSB1c2VyJ3MgZGlzY3JpbWluYXRvci4gKDQtZGlnaXQgdGFnIGFmdGVyIHRoZSBoYXNodGFnLilcbiAqIEByZXR1cm5zIFRoZSB1c2VyIGRlZmF1bHQgYXZhdGFyIGFzIGFuIFVSTC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRBdmF0YXJVcmwodXNlcklkOiBCaWdTdHJpbmcsIGRpc2NyaW1pbmF0b3I6IHN0cmluZykge1xuICBjb25zdCBpc0xlZ2FjeSA9IGRpc2NyaW1pbmF0b3IgPT09ICcwJyB8fCBkaXNjcmltaW5hdG9yID09PSAnMDAwMCc7XG4gIGNvbnN0IGluZGV4ID0gaXNMZWdhY3kgPyAoQmlnSW50KHVzZXJJZCkgPj4gMjJuKSAlIDZuIDogTnVtYmVyKGRpc2NyaW1pbmF0b3IpICUgNTtcblxuICByZXR1cm4gYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2VtYmVkL2F2YXRhcnMvJHtpbmRleH0ucG5nYDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSB1c2VyJ3MgZGlzcGxheSBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgLSBUaGUgdXNlcidzIGRpc2NyaW1pbmF0b3IuICg0LWRpZ2l0IHRhZyBhZnRlciB0aGUgaGFzaHRhZy4pXG4gKiBAcGFyYW0gYXZhdGFyIC0gVGhlIHVzZXIncyBhdmF0YXIgaGFzaC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIHVzZXIgZGlzcGxheSBhdmF0YXIgYXMgYW4gVVJMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheUF2YXRhclVybCh1c2VySWQ6IEJpZ1N0cmluZywgZGlzY3JpbWluYXRvcjogc3RyaW5nLCBhdmF0YXI6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB7XG4gIHJldHVybiBhdmF0YXIgPyBhdmF0YXJVcmwodXNlcklkLCBhdmF0YXIsIG9wdGlvbnMpIDogZGVmYXVsdEF2YXRhclVybCh1c2VySWQsIGRpc2NyaW1pbmF0b3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXZhdGFyRGVjb3JhdGlvblVybChhdmF0YXJEZWNvcmF0aW9uOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2F2YXRhci1kZWNvcmF0aW9uLXByZXNldHMvJHtcbiAgICB0eXBlb2YgYXZhdGFyRGVjb3JhdGlvbiA9PT0gJ3N0cmluZycgPyBhdmF0YXJEZWNvcmF0aW9uIDogaWNvbkJpZ2ludFRvSGFzaChhdmF0YXJEZWNvcmF0aW9uKVxuICB9LnBuZ2A7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIG5vdCBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhbm5lclVybCh1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEltYWdlT3B0aW9ucyAmIHsgYmFubmVyPzogQmlnU3RyaW5nIH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIGxpbmsgdG8gdGhlIGJhbm5lciBmb3IuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRCYW5uZXJVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBJbWFnZU9wdGlvbnMgJiB7IGJhbm5lcj86IEJpZ1N0cmluZyB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnMuYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHtndWlsZElkfS8ke3R5cGVvZiBvcHRpb25zLmJhbm5lciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmJhbm5lciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5iYW5uZXIpfWAsXG4gICAgICAgIG9wdGlvbnMuc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnMuZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIGxpbmsgdG8gdGhlIGJhbm5lciBmb3IuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGV2ZW50IGNvdmVyIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkSWNvblVybChndWlsZElkOiBCaWdTdHJpbmcsIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9pY29ucy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgc3BsYXNoIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGd1aWxkIGRvZXMgbm90IGhhdmUgYSBzcGxhc2ggaW1hZ2Ugc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTcGxhc2hVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBpbWFnZUhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpbWFnZUhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBkaXNjb3Zlcnkgc3BsYXNoIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgc3BsYXNoIG9mLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBkaXNjb3Zlcnkgc3BsYXNoIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGd1aWxkIGRvZXMgbm90IGhhdmUgYSBzcGxhc2ggaW1hZ2Ugc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBpbWFnZUhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpbWFnZUhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZGlzY292ZXJ5LXNwbGFzaGVzLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGNvdmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGV2ZW50SWQgLSBUaGUgSUQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwoZXZlbnRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBJbWFnZU9wdGlvbnMgJiB7IGNvdmVyPzogQmlnU3RyaW5nIH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5jb3ZlclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZC1ldmVudHMvJHtldmVudElkfS8ke3R5cGVvZiBvcHRpb25zLmNvdmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuY292ZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuY292ZXIpfWAsXG4gICAgICAgIG9wdGlvbnMuc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnMuZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgd2lkZ2V0IGltYWdlIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgd2lkZ2V0IGltYWdlIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2lkZ2V0SW1hZ2VVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5KTogc3RyaW5nIHtcbiAgbGV0IHVybCA9IGBodHRwczovL2Rpc2NvcmRhcHAuY29tL2FwaS9ndWlsZHMvJHtndWlsZElkfS93aWRnZXQucG5nYDtcblxuICBpZiAob3B0aW9ucz8uc3R5bGUpIHtcbiAgICB1cmwgKz0gYD9zdHlsZT0ke29wdGlvbnMuc3R5bGV9YDtcbiAgfVxuXG4gIHJldHVybiB1cmw7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQXZhdGFyVXJsKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMgJiB7IGF2YXRhcj86IEJpZ1N0cmluZyB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYXZhdGFycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIG1lbWJlcidzIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB3aGVyZSB0aGUgbWVtYmVyIGlzXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYmFubmVyIG9mLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlckJhbm5lclVybChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zICYgeyBiYW5uZXI/OiBCaWdTdHJpbmcgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zPy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGRzLyR7Z3VpbGRJZH0vdXNlcnMvJHt1c2VySWR9L2Jhbm5lcnMvJHtcbiAgICAgICAgICB0eXBlb2Ygb3B0aW9ucy5iYW5uZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5iYW5uZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYmFubmVyKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgaWNvbiBvZi5cbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uSWNvblVybChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGljb25IYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaWNvbkhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgaWNvbkhhc2ggPT09ICdzdHJpbmcnID8gaWNvbkhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGljb25IYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGNvdmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgY292ZXIgb2YuXG4gKiBAcGFyYW0gY292ZXJIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGNvdmVyLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkNvdmVyVXJsKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgY292ZXJIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gY292ZXJIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1pY29ucy8ke2FwcGxpY2F0aW9uSWR9LyR7dHlwZW9mIGNvdmVySGFzaCA9PT0gJ3N0cmluZycgPyBjb3Zlckhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGNvdmVySGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBhc3NldCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGFzc2V0IG9mLlxuICogQHBhcmFtIGFzc2V0SWQgLSBUaGUgaWQgaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGFzc2V0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkFzc2V0VXJsKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgYXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgYXNzZXRJZCA9PT0gJ3N0cmluZycgPyBhc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChhc3NldElkKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBwYWNrIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBiYW5uZXJBc3NldElkIC0gVGhlIElEIG9mIHRoZSBiYW5uZXIgYXNzZXQgZm9yIHRoZSBzdGlja2VyIHBhY2suXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJQYWNrQmFubmVyVXJsKGJhbm5lckFzc2V0SWQ6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBiYW5uZXJBc3NldElkXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1hc3NldHMvNzEwOTgyNDE0MzAxNzkwMjE2L3N0b3JlLyR7XG4gICAgICAgICAgdHlwZW9mIGJhbm5lckFzc2V0SWQgPT09ICdzdHJpbmcnID8gYmFubmVyQXNzZXRJZCA6IGljb25CaWdpbnRUb0hhc2goYmFubmVyQXNzZXRJZClcbiAgICAgICAgfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBzdGlja2VyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHN0aWNrZXJJZCAtIFRoZSBJRCBvZiB0aGUgc3RpY2tlciB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RpY2tlclVybChzdGlja2VySWQ6IEJpZ1N0cmluZyB8IG51bWJlciwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyAmIHsgdHlwZT86IFN0aWNrZXJGb3JtYXRUeXBlcyB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFzdGlja2VySWQpIHJldHVybjtcblxuICBjb25zdCB1cmwgPVxuICAgIG9wdGlvbnM/LnR5cGUgPT09IFN0aWNrZXJGb3JtYXRUeXBlcy5HaWZcbiAgICAgID8gYGh0dHBzOi8vbWVkaWEuZGlzY29yZGFwcC5uZXQvc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3RpY2tlcnMvJHtzdGlja2VySWR9YDtcblxuICByZXR1cm4gZm9ybWF0SW1hZ2VVcmwodXJsLCBvcHRpb25zPy5zaXplID8/IDEyOCwgb3B0aW9ucz8uZm9ybWF0KTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHRlYW0gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB0ZWFtSWQgLSBUaGUgSUQgb2YgdGhlIHRlYW0gdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBvZiB0aGUgdGVhbSBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZWFtSWNvblVybCh0ZWFtSWQ6IEJpZ1N0cmluZywgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS90ZWFtLWljb25zLyR7dGVhbUlkfS9zdG9yZS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSByb2xlIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gcm9sZUlkIC0gVGhlIElEIG9mIHRoZSByb2xlIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHJvbGUgaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUljb25Vcmwocm9sZUlkOiBCaWdTdHJpbmcsIGljb25IYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaWNvbkhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vcm9sZS1pY29ucy8ke3JvbGVJZH0vJHt0eXBlb2YgaWNvbkhhc2ggPT09ICdzdHJpbmcnID8gaWNvbkhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGljb25IYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgdGFnIGJhZGdlIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgdGFnIGJhZGdlIG9mXG4gKiBAcGFyYW0gYmFkZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGd1aWxkIHRhZyBiYWRnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhZGdlIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkVGFnQmFkZ2VVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBiYWRnZUhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChiYWRnZUhhc2ggPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICByZXR1cm4gZm9ybWF0SW1hZ2VVcmwoYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2d1aWxkLXRhZy1iYWRnZXMvJHtndWlsZElkfS8ke2JhZGdlSGFzaH1gLCBvcHRpb25zPy5zaXplID8/IDEyOCwgb3B0aW9ucz8uZm9ybWF0KTtcbn1cbiJdLCJuYW1lcyI6WyJTdGlja2VyRm9ybWF0VHlwZXMiLCJpY29uQmlnaW50VG9IYXNoIiwiZm9ybWF0SW1hZ2VVcmwiLCJ1cmwiLCJzaXplIiwiZm9ybWF0IiwiaW5jbHVkZXMiLCJlbW9qaVVybCIsImVtb2ppSWQiLCJhbmltYXRlZCIsImF2YXRhclVybCIsInVzZXJJZCIsImF2YXRhciIsIm9wdGlvbnMiLCJkZWZhdWx0QXZhdGFyVXJsIiwiZGlzY3JpbWluYXRvciIsImlzTGVnYWN5IiwiaW5kZXgiLCJCaWdJbnQiLCJOdW1iZXIiLCJkaXNwbGF5QXZhdGFyVXJsIiwiYXZhdGFyRGVjb3JhdGlvblVybCIsImF2YXRhckRlY29yYXRpb24iLCJiYW5uZXJVcmwiLCJiYW5uZXIiLCJ1bmRlZmluZWQiLCJndWlsZEJhbm5lclVybCIsImd1aWxkSWQiLCJndWlsZEljb25VcmwiLCJpbWFnZUhhc2giLCJndWlsZFNwbGFzaFVybCIsImd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsIiwiZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsIiwiZXZlbnRJZCIsImNvdmVyIiwiZ2V0V2lkZ2V0SW1hZ2VVcmwiLCJzdHlsZSIsIm1lbWJlckF2YXRhclVybCIsIm1lbWJlckJhbm5lclVybCIsImFwcGxpY2F0aW9uSWNvblVybCIsImFwcGxpY2F0aW9uSWQiLCJpY29uSGFzaCIsImFwcGxpY2F0aW9uQ292ZXJVcmwiLCJjb3Zlckhhc2giLCJhcHBsaWNhdGlvbkFzc2V0VXJsIiwiYXNzZXRJZCIsInN0aWNrZXJQYWNrQmFubmVyVXJsIiwiYmFubmVyQXNzZXRJZCIsInN0aWNrZXJVcmwiLCJzdGlja2VySWQiLCJ0eXBlIiwiR2lmIiwidGVhbUljb25VcmwiLCJ0ZWFtSWQiLCJyb2xlSWNvblVybCIsInJvbGVJZCIsImd1aWxkVGFnQmFkZ2VVcmwiLCJiYWRnZUhhc2giXSwibWFwcGluZ3MiOiJBQUFBLFNBQTBGQSxrQkFBa0IsUUFBUSxvQkFBb0I7QUFDeEksU0FBU0MsZ0JBQWdCLFFBQVEsWUFBWTtBQU83Qyw4QkFBOEIsR0FDOUIsT0FBTyxTQUFTQyxlQUFlQyxHQUFXLEVBQUVDLE9BQWtCLEdBQUcsRUFBRUMsTUFBb0I7SUFDckYsT0FBTyxHQUFHRixJQUFJLENBQUMsRUFBRUUsVUFBV0YsQ0FBQUEsSUFBSUcsUUFBUSxDQUFDLFNBQVMsUUFBUSxNQUFLLEVBQUcsTUFBTSxFQUFFRixNQUFNO0FBQ2xGO0FBRUE7Ozs7Ozs7Ozs7Q0FVQyxHQUNELE9BQU8sU0FBU0csU0FBU0MsT0FBa0IsRUFBRUMsV0FBVyxLQUFLLEVBQUVKLFNBQXNCLEtBQUs7SUFDeEYsT0FBTyxDQUFDLGtDQUFrQyxFQUFFRyxRQUFRLENBQUMsRUFBRUMsV0FBWUosV0FBVyxTQUFTLFNBQVMsUUFBU0EsU0FBU0ksWUFBWUosV0FBVyxTQUFTLG1CQUFtQixJQUFJO0FBQzNLO0FBRUE7Ozs7Ozs7Q0FPQyxHQUNELE9BQU8sU0FBU0ssVUFBVUMsTUFBaUIsRUFBRUMsTUFBaUIsRUFBRUMsT0FBc0I7SUFDcEYsT0FBT1gsZUFDTCxDQUFDLG1DQUFtQyxFQUFFUyxPQUFPLENBQUMsRUFBRSxPQUFPQyxXQUFXLFdBQVdBLFNBQVNYLGlCQUFpQlcsU0FBUyxFQUNoSEMsU0FBU1QsUUFBUSxLQUNqQlMsU0FBU1I7QUFFYjtBQUVBOzs7Ozs7Q0FNQyxHQUNELE9BQU8sU0FBU1MsaUJB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
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaWdTdHJpbmcsIHR5cGUgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCB0eXBlIEltYWdlRm9ybWF0LCB0eXBlIEltYWdlU2l6ZSwgU3RpY2tlckZvcm1hdFR5cGVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkJpZ2ludFRvSGFzaCB9IGZyb20gJy4vaGFzaC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VPcHRpb25zIHtcbiAgc2l6ZT86IEltYWdlU2l6ZTtcbiAgZm9ybWF0PzogSW1hZ2VGb3JtYXQ7XG59XG5cbi8qKiBIZWxwIGZvcm1hdCBhbiBpbWFnZSB1cmwuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SW1hZ2VVcmwodXJsOiBzdHJpbmcsIHNpemU6IEltYWdlU2l6ZSA9IDEyOCwgZm9ybWF0PzogSW1hZ2VGb3JtYXQpOiBzdHJpbmcge1xuICBjb25zdCBhbmltYXRlZCA9IHVybC5pbmNsdWRlcygnL2FfJyk7XG4gIGZvcm1hdCA/Pz0gYW5pbWF0ZWQgPyAnZ2lmJyA6ICd3ZWJwJztcblxuICByZXR1cm4gYCR7dXJsfS4ke2Zvcm1hdH0/c2l6ZT0ke3NpemV9JHthbmltYXRlZCAmJiBmb3JtYXQgPT09ICd3ZWJwJyA/ICcmYW5pbWF0ZWQ9dHJ1ZScgOiAnJ31gO1xufVxuXG4vKipcbiAqIEdldCB0aGUgdXJsIGZvciBhbiBlbW9qaS5cbiAqXG4gKiBAcGFyYW0gZW1vamlJZCBUaGUgaWQgb2YgdGhlIGVtb2ppXG4gKiBAcGFyYW0gYW5pbWF0ZWQgV2hldGhlciBvciBub3QgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gKiBAcGFyYW0gZm9ybWF0IFRoZSBmb3JtYXQgb2YgdGhlIGltYWdlLCBkZWZhdWx0cyB0byBwbmdcbiAqIEByZXR1cm5zIHN0cmluZ1xuICpcbiAqIEByZW1hcmtzXG4gKiBUaGUgYW5pbWF0ZWQgcGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgYW5pbWF0ZWQgcXVlcnkgcGFyYW1ldGVyIHZhbGlkIGZvciB3ZWJwIGltYWdlcyBvciB0byBmb3JjZSB0aGUgZ2lmIGlmIHRoZSBmb3JtYXQgaXMgbm90IHNldCB0byB3ZWJwLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1vamlVcmwoZW1vamlJZDogQmlnU3RyaW5nLCBhbmltYXRlZCA9IGZhbHNlLCBmb3JtYXQ6IEltYWdlRm9ybWF0ID0gJ3BuZycpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Vtb2ppcy8ke2Vtb2ppSWR9LiR7YW5pbWF0ZWQgPyAoZm9ybWF0ID09PSAnd2VicCcgPyAnd2VicCcgOiAnZ2lmJykgOiBmb3JtYXR9JHthbmltYXRlZCAmJiBmb3JtYXQgPT09ICd3ZWJwJyA/ICc/YW5pbWF0ZWQ9dHJ1ZScgOiAnJ31gO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGF2YXRhciAtIFRoZSB1c2VyJ3MgYXZhdGFyIGhhc2guXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSB1c2VyIGF2YXRhciBhcyBhIFVSTC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhclVybCh1c2VySWQ6IEJpZ1N0cmluZywgYXZhdGFyOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMpOiBzdHJpbmcge1xuICByZXR1cm4gZm9ybWF0SW1hZ2VVcmwoXG4gICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2F2YXRhcnMvJHt1c2VySWR9LyR7dHlwZW9mIGF2YXRhciA9PT0gJ3N0cmluZycgPyBhdmF0YXIgOiBpY29uQmlnaW50VG9IYXNoKGF2YXRhcil9YCxcbiAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICBvcHRpb25zPy5mb3JtYXQsXG4gICk7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGRlZmF1bHQgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGF2YXRhciBvZi5cbiAqIEBwYXJhbSBkaXNjcmltaW5hdG9yIC0gVGhlIHVzZXIncyBkaXNjcmltaW5hdG9yLiAoNC1kaWdpdCB0YWcgYWZ0ZXIgdGhlIGhhc2h0YWcuKVxuICogQHJldHVybnMgVGhlIHVzZXIgZGVmYXVsdCBhdmF0YXIgYXMgYW4gVVJMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEF2YXRhclVybCh1c2VySWQ6IEJpZ1N0cmluZywgZGlzY3JpbWluYXRvcjogc3RyaW5nKSB7XG4gIGNvbnN0IGlzTGVnYWN5ID0gZGlzY3JpbWluYXRvciA9PT0gJzAnIHx8IGRpc2NyaW1pbmF0b3IgPT09ICcwMDAwJztcbiAgY29uc3QgaW5kZXggPSBpc0xlZ2FjeSA/IChCaWdJbnQodXNlcklkKSA+PiAyMm4pICUgNm4gOiBOdW1iZXIoZGlzY3JpbWluYXRvcikgJSA1O1xuXG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1iZWQvYXZhdGFycy8ke2luZGV4fS5wbmdgO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBkaXNwbGF5IGF2YXRhciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gZGlzY3JpbWluYXRvciAtIFRoZSB1c2VyJ3MgZGlzY3JpbWluYXRvci4gKDQtZGlnaXQgdGFnIGFmdGVyIHRoZSBoYXNodGFnLilcbiAqIEBwYXJhbSBhdmF0YXIgLSBUaGUgdXNlcidzIGF2YXRhciBoYXNoLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgdXNlciBkaXNwbGF5IGF2YXRhciBhcyBhbiBVUkwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXNwbGF5QXZhdGFyVXJsKHVzZXJJZDogQmlnU3RyaW5nLCBkaXNjcmltaW5hdG9yOiBzdHJpbmcsIGF2YXRhcjogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHtcbiAgcmV0dXJuIGF2YXRhciA/IGF2YXRhclVybCh1c2VySWQsIGF2YXRhciwgb3B0aW9ucykgOiBkZWZhdWx0QXZhdGFyVXJsKHVzZXJJZCwgZGlzY3JpbWluYXRvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdmF0YXJEZWNvcmF0aW9uVXJsKGF2YXRhckRlY29yYXRpb246IEJpZ1N0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXZhdGFyLWRlY29yYXRpb24tcHJlc2V0cy8ke1xuICAgIHR5cGVvZiBhdmF0YXJEZWNvcmF0aW9uID09PSAnc3RyaW5nJyA/IGF2YXRhckRlY29yYXRpb24gOiBpY29uQmlnaW50VG9IYXNoKGF2YXRhckRlY29yYXRpb24pXG4gIH0ucG5nYDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSB1c2VyJ3MgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGJhbm5lciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgbm90IGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFubmVyVXJsKHVzZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zICYgeyBiYW5uZXI/OiBCaWdTdHJpbmcgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zPy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke3VzZXJJZH0vJHt0eXBlb2Ygb3B0aW9ucy5iYW5uZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5iYW5uZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYmFubmVyKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEJhbm5lclVybChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEltYWdlT3B0aW9ucyAmIHsgYmFubmVyPzogQmlnU3RyaW5nIH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke2d1aWxkSWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZXZlbnQgY292ZXIgaW1hZ2UuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRJY29uVXJsKGd1aWxkSWQ6IEJpZ1N0cmluZywgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2ljb25zLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgc3BsYXNoIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgc3BsYXNoIG9mLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBzcGxhc2ggaW1hZ2UuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiB0aGUgZ3VpbGQgZG9lcyBub3QgaGF2ZSBhIHNwbGFzaCBpbWFnZSBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZFNwbGFzaFVybChndWlsZElkOiBCaWdTdHJpbmcsIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIGRpc2NvdmVyeSBzcGxhc2ggc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBzcGxhc2ggb2YuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGRpc2NvdmVyeSBzcGxhc2ggaW1hZ2UuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiB0aGUgZ3VpbGQgZG9lcyBub3QgaGF2ZSBhIHNwbGFzaCBpbWFnZSBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZERpc2NvdmVyeVNwbGFzaFVybChndWlsZElkOiBCaWdTdHJpbmcsIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9kaXNjb3Zlcnktc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBzY2hlZHVsZWQgZXZlbnQgY292ZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZXZlbnRJZCAtIFRoZSBJRCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50IHRvIGdldCB0aGUgY292ZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU2NoZWR1bGVkRXZlbnRDb3ZlclVybChldmVudElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEltYWdlT3B0aW9ucyAmIHsgY292ZXI/OiBCaWdTdHJpbmcgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zLmNvdmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2d1aWxkLWV2ZW50cy8ke2V2ZW50SWR9LyR7dHlwZW9mIG9wdGlvbnMuY292ZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5jb3ZlciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5jb3Zlcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCB3aWRnZXQgaW1hZ2Ugc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSB3aWRnZXQgaW1hZ2UgZm9yLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRXaWRnZXRJbWFnZVVybChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZFdpZGdldEltYWdlUXVlcnkpOiBzdHJpbmcge1xuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZGFwcC5jb20vYXBpL2d1aWxkcy8ke2d1aWxkSWR9L3dpZGdldC5wbmdgO1xuXG4gIGlmIChvcHRpb25zPy5zdHlsZSkge1xuICAgIHVybCArPSBgP3N0eWxlPSR7b3B0aW9ucy5zdHlsZX1gO1xuICB9XG5cbiAgcmV0dXJuIHVybDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSBtZW1iZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgd2hlcmUgdGhlIG1lbWJlciBpc1xuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGF2YXRhciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1iZXJBdmF0YXJVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEltYWdlT3B0aW9ucyAmIHsgYXZhdGFyPzogQmlnU3RyaW5nIH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYXZhdGFyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2d1aWxkcy8ke2d1aWxkSWR9L3VzZXJzLyR7dXNlcklkfS9hdmF0YXJzLyR7XG4gICAgICAgICAgdHlwZW9mIG9wdGlvbnMuYXZhdGFyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYXZhdGFyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmF2YXRhcilcbiAgICAgICAgfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQmFubmVyVXJsKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMgJiB7IGJhbm5lcj86IEJpZ1N0cmluZyB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmJhbm5lclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYmFubmVycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmJhbm5lciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmJhbm5lciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5iYW5uZXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBpY29uIG9mLlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25JY29uVXJsKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gY292ZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBjb3Zlckhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gY292ZXIuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uQ292ZXJVcmwoYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLCBjb3Zlckhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBjb3Zlckhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgY292ZXJIYXNoID09PSAnc3RyaW5nJyA/IGNvdmVySGFzaCA6IGljb25CaWdpbnRUb0hhc2goY292ZXJIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGFzc2V0IHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgYXNzZXQgb2YuXG4gKiBAcGFyYW0gYXNzZXRJZCAtIFRoZSBpZCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gYXNzZXQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uQXNzZXRVcmwoYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLCBhc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM/OiBJbWFnZU9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBhc3NldElkID09PSAnc3RyaW5nJyA/IGFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGFzc2V0SWQpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBzdGlja2VyIHBhY2sgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGJhbm5lckFzc2V0SWQgLSBUaGUgSUQgb2YgdGhlIGJhbm5lciBhc3NldCBmb3IgdGhlIHN0aWNrZXIgcGFjay5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RpY2tlclBhY2tCYW5uZXJVcmwoYmFubmVyQXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGJhbm5lckFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWFzc2V0cy83MTA5ODI0MTQzMDE3OTAyMTYvc3RvcmUvJHtcbiAgICAgICAgICB0eXBlb2YgYmFubmVyQXNzZXRJZCA9PT0gJ3N0cmluZycgPyBiYW5uZXJBc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChiYW5uZXJBc3NldElkKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHN0aWNrZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gc3RpY2tlcklkIC0gVGhlIElEIG9mIHRoZSBzdGlja2VyIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGlja2VyVXJsKHN0aWNrZXJJZDogQmlnU3RyaW5nIHwgbnVtYmVyLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zICYgeyB0eXBlPzogU3RpY2tlckZvcm1hdFR5cGVzIH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoIXN0aWNrZXJJZCkgcmV0dXJuO1xuXG4gIGNvbnN0IHVybCA9XG4gICAgb3B0aW9ucz8udHlwZSA9PT0gU3RpY2tlckZvcm1hdFR5cGVzLkdpZlxuICAgICAgPyBgaHR0cHM6Ly9tZWRpYS5kaXNjb3JkYXBwLm5ldC9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG4gICAgICA6IGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zdGlja2Vycy8ke3N0aWNrZXJJZH1gO1xuXG4gIHJldHVybiBmb3JtYXRJbWFnZVVybCh1cmwsIG9wdGlvbnM/LnNpemUgPz8gMTI4LCBvcHRpb25zPy5mb3JtYXQpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgdGVhbSBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHRlYW1JZCAtIFRoZSBJRCBvZiB0aGUgdGVhbSB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIG9mIHRoZSB0ZWFtIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlYW1JY29uVXJsKHRlYW1JZDogQmlnU3RyaW5nLCBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3RlYW0taWNvbnMvJHt0ZWFtSWR9L3N0b3JlLyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHJvbGUgaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSByb2xlSWQgLSBUaGUgSUQgb2YgdGhlIHJvbGUgdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBvZiB0aGUgcm9sZSBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByb2xlSWNvblVybChyb2xlSWQ6IEJpZ1N0cmluZywgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9ucz86IEltYWdlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9yb2xlLWljb25zLyR7cm9sZUlkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCB0YWcgYmFkZ2Ugc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSB0YWcgYmFkZ2Ugb2ZcbiAqIEBwYXJhbSBiYWRnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZ3VpbGQgdGFnIGJhZGdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFkZ2UgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRUYWdCYWRnZVVybChndWlsZElkOiBCaWdTdHJpbmcsIGJhZGdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLCBvcHRpb25zPzogSW1hZ2VPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGJhZGdlSGFzaCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIHJldHVybiBmb3JtYXRJbWFnZVVybChgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGQtdGFnLWJhZGdlcy8ke2d1aWxkSWR9LyR7YmFkZ2VIYXNofWAsIG9wdGlvbnM/LnNpemUgPz8gMTI4LCBvcHRpb25zPy5mb3JtYXQpO1xufVxuIl0sIm5hbWVzIjpbIlN0aWNrZXJGb3JtYXRUeXBlcyIsImljb25CaWdpbnRUb0hhc2giLCJmb3JtYXRJbWFnZVVybCIsInVybCIsInNpemUiLCJmb3JtYXQiLCJhbmltYXRlZCIsImluY2x1ZGVzIiwiZW1vamlVcmwiLCJlbW9qaUlkIiwiYXZhdGFyVXJsIiwidXNlcklkIiwiYXZhdGFyIiwib3B0aW9ucyIsImRlZmF1bHRBdmF0YXJVcmwiLCJkaXNjcmltaW5hdG9yIiwiaXNMZWdhY3kiLCJpbmRleCIsIkJpZ0ludCIsIk51bWJlciIsImRpc3BsYXlBdmF0YXJVcmwiLCJhdmF0YXJEZWNvcmF0aW9uVXJsIiwiYXZhdGFyRGVjb3JhdGlvbiIsImJhbm5lclVybCIsImJhbm5lciIsInVuZGVmaW5lZCIsImd1aWxkQmFubmVyVXJsIiwiZ3VpbGRJZCIsImd1aWxkSWNvblVybCIsImltYWdlSGFzaCIsImd1aWxkU3BsYXNoVXJsIiwiZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwiLCJndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwiLCJldmVudElkIiwiY292ZXIiLCJnZXRXaWRnZXRJbWFnZVVybCIsInN0eWxlIiwibWVtYmVyQXZhdGFyVXJsIiwibWVtYmVyQmFubmVyVXJsIiwiYXBwbGljYXRpb25JY29uVXJsIiwiYXBwbGljYXRpb25JZCIsImljb25IYXNoIiwiYXBwbGljYXRpb25Db3ZlclVybCIsImNvdmVySGFzaCIsImFwcGxpY2F0aW9uQXNzZXRVcmwiLCJhc3NldElkIiwic3RpY2tlclBhY2tCYW5uZXJVcmwiLCJiYW5uZXJBc3NldElkIiwic3RpY2tlclVybCIsInN0aWNrZXJJZCIsInR5cGUiLCJHaWYiLCJ0ZWFtSWNvblVybCIsInRlYW1JZCIsInJvbGVJY29uVXJsIiwicm9sZUlkIiwiZ3VpbGRUYWdCYWRnZVVybCIsImJhZGdlSGFzaCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBMEZBLGtCQUFrQixRQUFRLG9CQUFvQjtBQUN4SSxTQUFTQyxnQkFBZ0IsUUFBUSxZQUFZO0FBTzdDLDhCQUE4QixHQUM5QixPQUFPLFNBQVNDLGVBQWVDLEdBQVcsRUFBRUMsT0FBa0IsR0FBRyxFQUFFQyxNQUFvQjtJQUNyRixNQUFNQyxXQUFXSCxJQUFJSSxRQUFRLENBQUM7SUFDOUJGLFdBQVdDLFdBQVcsUUFBUTtJQUU5QixPQUFPLEdBQUdILElBQUksQ0FBQyxFQUFFRSxPQUFPLE1BQU0sRUFBRUQsT0FBT0UsWUFBWUQsV0FBVyxTQUFTLG1CQUFtQixJQUFJO0FBQ2hHO0FBRUE7Ozs7Ozs7Ozs7Q0FVQyxHQUNELE9BQU8sU0FBU0csU0FBU0MsT0FBa0IsRUFBRUgsV0FBVyxLQUFLLEVBQUVELFNBQXNCLEtBQUs7SUFDeEYsT0FBTyxDQUFDLGtDQUFrQyxFQUFFSSxRQUFRLENBQUMsRUFBRUgsV0FBWUQsV0FBVyxTQUFTLFNBQVMsUUFBU0EsU0FBU0MsWUFBWUQsV0FBVyxTQUFTLG1CQUFtQixJQUFJO0FBQzNLO0FBRUE7Ozs7Ozs7Q0FPQyxHQUNELE9BQU8sU0FBU0ssVUFBVUMsTUFBaUIsRUFBRUMsTUFBaUIsRUFBRUMsT0FBc0I7SUFDcEYsT0FBT1gsZUFD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
|
package/dist/oauth2.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export interface CreateOAuth2LinkOptions {
|
|
|
28
28
|
* The type of response
|
|
29
29
|
*
|
|
30
30
|
* @remarks
|
|
31
|
-
* Should be defined only if using either OAuth2 authorization, implicit or not, or [advanced bot authorization](https://discord.com/developers/
|
|
31
|
+
* Should be defined only if using either OAuth2 authorization, implicit or not, or [advanced bot authorization](https://docs.discord.com/developers/topics/oauth2#advanced-bot-authorization)
|
|
32
32
|
*/
|
|
33
33
|
responseType?: 'code' | 'token';
|
|
34
34
|
/** The id of the application */
|
|
@@ -38,14 +38,14 @@ export interface CreateOAuth2LinkOptions {
|
|
|
38
38
|
/**
|
|
39
39
|
* The optional state for security
|
|
40
40
|
*
|
|
41
|
-
* @see https://discord.com/developers/
|
|
41
|
+
* @see https://docs.discord.com/developers/topics/oauth2#state-and-security
|
|
42
42
|
*/
|
|
43
43
|
state?: string;
|
|
44
44
|
/**
|
|
45
45
|
* The redirect uri for after the authentication
|
|
46
46
|
*
|
|
47
47
|
* @remarks
|
|
48
|
-
* Should be defined only if using either OAuth2 authorization, implicit or not, or [advanced bot authorization](https://discord.com/developers/
|
|
48
|
+
* Should be defined only if using either OAuth2 authorization, implicit or not, or [advanced bot authorization](https://docs.discord.com/developers/topics/oauth2#advanced-bot-authorization)
|
|
49
49
|
*/
|
|
50
50
|
redirectUri?: string;
|
|
51
51
|
/**
|
|
@@ -60,21 +60,21 @@ export interface CreateOAuth2LinkOptions {
|
|
|
60
60
|
* The permissions of the invited bot
|
|
61
61
|
*
|
|
62
62
|
* @remarks
|
|
63
|
-
* Should be defined only in a [bot authorization flow](https://discord.com/developers/
|
|
63
|
+
* Should be defined only in a [bot authorization flow](https://docs.discord.com/developers/topics/oauth2#bot-authorization-flow) or with [advanced bot authorization](https://docs.discord.com/developers/topics/oauth2#advanced-bot-authorization)
|
|
64
64
|
*/
|
|
65
65
|
permissions?: BigString | PermissionStrings[];
|
|
66
66
|
/**
|
|
67
67
|
* Pre-fills the dropdown picker with a guild for the user
|
|
68
68
|
*
|
|
69
69
|
* @remarks
|
|
70
|
-
* Should be defined only in a [bot authorization flow](https://discord.com/developers/
|
|
70
|
+
* Should be defined only in a [bot authorization flow](https://docs.discord.com/developers/topics/oauth2#bot-authorization-flow) or with [advanced bot authorization](https://docs.discord.com/developers/topics/oauth2#advanced-bot-authorization) or with the `webhook.incoming` scope
|
|
71
71
|
*/
|
|
72
72
|
guildId?: BigString;
|
|
73
73
|
/**
|
|
74
74
|
* Disallows the user from changing the guild dropdown if set to true
|
|
75
75
|
*
|
|
76
76
|
* @remarks
|
|
77
|
-
* Should be defined only in a [bot authorization flow](https://discord.com/developers/
|
|
77
|
+
* Should be defined only in a [bot authorization flow](https://docs.discord.com/developers/topics/oauth2#bot-authorization-flow), with [advanced bot authorization](https://docs.discord.com/developers/topics/oauth2#advanced-bot-authorization) or with the `webhook.incoming` scope
|
|
78
78
|
*/
|
|
79
79
|
disableGuildSelect?: boolean;
|
|
80
80
|
/**
|
package/dist/oauth2.js
CHANGED
|
@@ -45,4 +45,4 @@ export function createOAuth2Link(options) {
|
|
|
45
45
|
return encodeBase64Url(hashed);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgT0F1dGgyU2NvcGUsIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgZW5jb2RlQmFzZTY0VXJsIH0gZnJvbSAnLi9iYXNlNjQuanMnO1xuaW1wb3J0IHsgY2FsY3VsYXRlQml0cyB9IGZyb20gJy4vcGVybWlzc2lvbnMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlT0F1dGgyTGluayhvcHRpb25zOiBDcmVhdGVPQXV0aDJMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IGpvaW5lZFNjb3BlU3RyaW5nID0gb3B0aW9ucy5zY29wZS5qb2luKCclMjAnKTtcblxuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZC5jb20vb2F1dGgyL2F1dGhvcml6ZT9jbGllbnRfaWQ9JHtvcHRpb25zLmNsaWVudElkfSZzY29wZT0ke2pvaW5lZFNjb3BlU3RyaW5nfWA7XG5cbiAgaWYgKG9wdGlvbnMucmVzcG9uc2VUeXBlKSB1cmwgKz0gYCZyZXNwb25zZV90eXBlPSR7b3B0aW9ucy5yZXNwb25zZVR5cGV9YDtcbiAgaWYgKG9wdGlvbnMuc3RhdGUpIHVybCArPSBgJnN0YXRlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuc3RhdGUpfWA7XG4gIGlmIChvcHRpb25zLnJlZGlyZWN0VXJpKSB1cmwgKz0gYCZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5yZWRpcmVjdFVyaSl9YDtcbiAgaWYgKG9wdGlvbnMucHJvbXB0KSB1cmwgKz0gYCZwcm9tcHQ9JHtvcHRpb25zLnByb21wdH1gO1xuICBpZiAob3B0aW9ucy5wZXJtaXNzaW9ucykgdXJsICs9IGAmcGVybWlzc2lvbnM9JHtBcnJheS5pc0FycmF5KG9wdGlvbnMucGVybWlzc2lvbnMpID8gY2FsY3VsYXRlQml0cyhvcHRpb25zLnBlcm1pc3Npb25zKSA6IG9wdGlvbnMucGVybWlzc2lvbnN9YDtcbiAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YDtcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZUd1aWxkU2VsZWN0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmRpc2FibGVfZ3VpbGRfc2VsZWN0PSR7b3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3R9YDtcbiAgaWYgKG9wdGlvbnMuaW50ZWdyYXRpb25UeXBlKSB1cmwgKz0gYCZpbnRlZ3JhdGlvbl90eXBlPSR7b3B0aW9ucy5pbnRlZ3JhdGlvblR5cGV9YDtcblxuICAvLyBPcHRpb25zIGRlZmluZWQgYnkgUkZDIDc2MzYgKGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzYzNilcbiAgaWYgKG9wdGlvbnMuY29kZUNoYWxsZW5nZSkgdXJsICs9IGAmY29kZV9jaGFsbGVuZ2U9JHtvcHRpb25zLmNvZGVDaGFsbGVuZ2V9YDtcbiAgaWYgKG9wdGlvbnMuY29kZUNoYWxsZW5nZU1ldGhvZCkgdXJsICs9IGAmY29kZV9jaGFsbGVuZ2VfbWV0aG9kPSR7b3B0aW9ucy5jb2RlQ2hhbGxlbmdlTWV0aG9kfWA7XG5cbiAgcmV0dXJuIHVybDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBjb2RlIHZlcmlmaWVyIGZvciB1c2UgaW4gdGhlIFBLQ0UgZXh0ZW5zaW9uIHRvIE9BdXRoMi5cbiAqXG4gKiBAcGFyYW0gb2N0ZXRMZW5ndGggLSBUaGUgbGVuZ3RoIG9mIHRoZSBjb2RlIHZlcmlmaWVyIGluIG9jdGV0cyAoZGVmYXVsdCBpcyAzMikuXG4gKiBAcmV0dXJuIFRoZSBiYXNlNjR1cmwgZW5jb2RlZCBjb2RlIHZlcmlmaWVyXG4gKlxuICogQHJlbWFya3NcbiAqIFRoZSBlbnRyb3B5IG9mIHRoZSBjb2RlIHZlcmlmaWVyIHNob3VsZCBiZSBiZXR3ZWVuIDI1NiBhbmQgNzY4IGJpdHMgKDMyIHRvIDk2IG9jdGV0cyksIGFzIHRoZSByZXN1bHRpbmcgYmFzZTY0dXJsIGVuY29kZWQgc3RyaW5nIGhhcyB0byBiZSBiZXR3ZWVuIDQzIGFuZCAxMjggY2hhcmFjdGVycyBsb25nLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3NjM2I3NlY3Rpb24tNy4xIGZvciB0aGUgb2N0ZXQgbGVuZ3RoXG4gKiBAc2VlIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzYzNiNzZWN0aW9uLTQuMSBmb3Igd2h5IDMyIG9jdGV0cyBpcyB0aGUgZGVmYXVsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDb2RlVmVyaWZpZXIob2N0ZXRMZW5ndGg6IG51bWJlciA9IDMyKSB7XG4gIGNvbnN0IHJhbmRvbUJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkob2N0ZXRMZW5ndGgpO1xuICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHJhbmRvbUJ5dGVzKTtcbiAgcmV0dXJuIGVuY29kZUJhc2U2NFVybChyYW5kb21CeXRlcyk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvZGUgY2hhbGxlbmdlIGZyb20gdGhlIGNvZGUgdmVyaWZpZXIgdXNpbmcgdGhlIHNwZWNpZmllZCBtZXRob2QuXG4gKlxuICogQHBhcmFtIHZlcmlmaWVyIC0gVGhlIGNvZGUgdmVyaWZpZXIgdG8gdXNlLlxuICogQHJldHVybnMgVGhlIGNvZGUgY2hhbGxlbmdlLlxuICpcbiAqIEByZW1hcmtzXG4gKiBUaGlzIHBlcmZvcm1zIGEgU0hBLTI1NiBoYXNoIG9uIHRoZSB2ZXJpZmllciBhbmQgZW5jb2RlcyBpdCB1c2luZyBiYXNlNjR1cmwgZW5jb2RpbmcuIERpc2NvcmQgb25seSBzdXBwb3J0cyAnUzI1NicgYXMgdGhlIGNvZGUgY2hhbGxlbmdlIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvZGVDaGFsbGVuZ2UodmVyaWZpZXI6IHN0cmluZykge1xuICBjb25zdCBoYXNoZWQgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgnU0hBLTI1NicsIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh2ZXJpZmllcikpO1xuICByZXR1cm4gZW5jb2RlQmFzZTY0VXJsKGhhc2hlZCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcmVzcG9uc2VcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVzcG9uc2VUeXBlPzogJ2NvZGUnIHwgJ3Rva2VuJztcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgY2xpZW50SWQ6IEJpZ1N0cmluZztcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBzY29wZTogT0F1dGgyU2NvcGVbXTtcbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBzdGF0ZSBmb3Igc2VjdXJpdHlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI3N0YXRlLWFuZC1zZWN1cml0eVxuICAgKi9cbiAgc3RhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgdXJpIGZvciBhZnRlciB0aGUgYXV0aGVudGljYXRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVkaXJlY3RVcmk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwcm9tcHQgdG8gZ2l2ZSB0byB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBzZXQgdG8gYG5vbmVgLCBpdCB3aWxsIHNraXAgdGhlIGF1dGhvcml6YXRpb24gc2NyZWVuIGFuZCByZWRpcmVjdCB0aGVtIGJhY2sgdG8geW91ciByZWRpcmVjdCBVUkkgd2l0aG91dCByZXF1ZXN0aW5nIHRoZWlyIGF1dGhvcml6YXRpb24uXG4gICAqIEZvciBwYXNzdGhyb3VnaCBzY29wZXMsIGxpa2UgYm90IGFuZCB3ZWJob29rLmluY29taW5nLCBhdXRob3JpemF0aW9uIGlzIGFsd2F5cyByZXF1aXJlZC5cbiAgICovXG4gIHByb21wdD86ICdjb25zZW50JyB8ICdub25lJztcbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgaW52aXRlZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcGVybWlzc2lvbnM/OiBCaWdTdHJpbmcgfCBQZXJtaXNzaW9uU3RyaW5nc1tdO1xuICAvKipcbiAgICogUHJlLWZpbGxzIHRoZSBkcm9wZG93biBwaWNrZXIgd2l0aCBhIGd1aWxkIGZvciB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdykgb3Igd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pIG9yIHdpdGggdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZVxuICAgKi9cbiAgZ3VpbGRJZD86IEJpZ1N0cmluZztcbiAgLyoqXG4gICAqIERpc2FsbG93cyB0aGUgdXNlciBmcm9tIGNoYW5naW5nIHRoZSBndWlsZCBkcm9wZG93biBpZiBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdyksIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGRpc2FibGVHdWlsZFNlbGVjdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluc3RhbGxhdGlvbiBjb250ZXh0IGZvciB0aGUgYXV0aG9yaXphdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IHdoZW4ge0BsaW5rIHNjb3BlfSBpbmNsdWRlcyB7QGxpbmsgT0F1dGgyU2NvcGUuQXBwbGljYXRpb25zQ29tbWFuZHN9LlxuICAgKlxuICAgKiBXaGVuIHNldCB0byBHdWlsZEluc3RhbGwgKDApIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGJlIGF1dGhvcml6ZWQgZm9yIGluc3RhbGxhdGlvbiB0byBhIHNlcnZlciwgYW5kIHdoZW4gc2V0IHRvIFVzZXJJbnN0YWxsICgxKSB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBhdXRob3JpemVkIGZvciBpbnN0YWxsYXRpb24gdG8gYSB1c2VyLlxuICAgKlxuICAgKiBUaGUgYXBwbGljYXRpb24gbXVzdCBiZSBjb25maWd1cmVkIGluIHRoZSBEZXZlbG9wZXIgUG9ydGFsIHRvIHN1cHBvcnQgdGhlIHByb3ZpZGVkIGBpbnRlZ3JhdGlvblR5cGVgLlxuICAgKi9cbiAgaW50ZWdyYXRpb25UeXBlPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlO1xuICAvKipcbiAgICogVGhlIGNvZGUgY2hhbGxlbmdlIHVzZWQgdG8gdmVyaWZ5IHRoZSBhdXRob3JpemF0aW9uIHJlcXVlc3RcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzc2MzYjc2VjdGlvbi00LjFcbiAgICovXG4gIGNvZGVDaGFsbGVuZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY2hhbGxlbmdlIG1ldGhvZCB1c2VkIHRvIGdlbmVyYXRlIHRoZSBjb2RlIGNoYWxsZW5nZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGlsZSB0aGUgUkZDIGFsbG93cyBmb3IgdGhlICdwbGFpbicgdmFsdWUgdG8gYmUgc2V0LCBkaXNjb3JkIGRvZXMgbm90IGFsbG93IGl0XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3NjM2I3NlY3Rpb24tNC4yXG4gICAqL1xuICBjb2RlQ2hhbGxlbmdlTWV0aG9kPzogJ1MyNTYnO1xufVxuIl0sIm5hbWVzIjpbImVuY29kZUJhc2U2NFVybCIsImNhbGN1bGF0ZUJpdHMiLCJjcmVhdGVPQXV0aDJMaW5rIiwib3B0aW9ucyIsImpvaW5lZFNjb3BlU3RyaW5nIiwic2NvcGUiLCJqb2luIiwidXJsIiwiY2xpZW50SWQiLCJyZXNwb25zZVR5cGUiLCJzdGF0ZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlZGlyZWN0VXJpIiwicHJvbXB0IiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJndWlsZElkIiwiZGlzYWJsZUd1aWxkU2VsZWN0IiwidW5kZWZpbmVkIiwiaW50ZWdyYXRpb25UeXBlIiwiY29kZUNoYWxsZW5nZSIsImNvZGVDaGFsbGVuZ2VNZXRob2QiLCJnZW5lcmF0ZUNvZGVWZXJpZmllciIsIm9jdGV0TGVuZ3RoIiwicmFuZG9tQnl0ZXMiLCJVaW50OEFycmF5IiwiY3J5cHRvIiwiZ2V0UmFuZG9tVmFsdWVzIiwiY3JlYXRlQ29kZUNoYWxsZW5nZSIsInZlcmlmaWVyIiwiaGFzaGVkIiwic3VidGxlIiwiZGlnZXN0IiwiVGV4dEVuY29kZXIiLCJlbmNvZGUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGVBQWUsUUFBUSxjQUFjO0FBQzlDLFNBQVNDLGFBQWEsUUFBUSxtQkFBbUI7QUFFakQsT0FBTyxTQUFTQyxpQkFBaUJDLE9BQWdDO0lBQy9ELE1BQU1DLG9CQUFvQkQsUUFBUUUsS0FBSyxDQUFDQyxJQUFJLENBQUM7SUFFN0MsSUFBSUMsTUFBTSxDQUFDLCtDQUErQyxFQUFFSixRQUFRSyxRQUFRLENBQUMsT0FBTyxFQUFFSixtQkFBbUI7SUFFekcsSUFBSUQsUUFBUU0sWUFBWSxFQUFFRixPQUFPLENBQUMsZUFBZSxFQUFFSixRQUFRTSxZQUFZLEVBQUU7SUFDekUsSUFBSU4sUUFBUU8sS0FBSyxFQUFFSCxPQUFPLENBQUMsT0FBTyxFQUFFSSxtQkFBbUJSLFFBQVFPLEtBQUssR0FBRztJQUN2RSxJQUFJUCxRQUFRUyxXQUFXLEVBQUVMLE9BQU8sQ0FBQyxjQUFjLEVBQUVJLG1CQUFtQlIsUUFBUVMsV0FBVyxHQUFHO0lBQzFGLElBQUlULFFBQVFVLE1BQU0sRUFBRU4sT0FBTyxDQUFDLFFBQVEsRUFBRUosUUFBUVUsTUFBTSxFQUFFO0lBQ3RELElBQUlWLFFBQVFXLFdBQVcsRUFBRVAsT0FBTyxDQUFDLGFBQWEsRUFBRVEsTUFBTUMsT0FBTyxDQUFDYixRQUFRVyxXQUFXLElBQUliLGNBQWNFLFFBQVFXLFdBQVcsSUFBSVgsUUFBUVcsV0FBVyxFQUFFO0lBQy9JLElBQUlYLFFBQVFjLE9BQU8sRUFBRVYsT0FBTyxDQUFDLFVBQVUsRUFBRUosUUFBUWMsT0FBTyxFQUFFO0lBQzFELElBQUlkLFFBQVFlLGtCQUFrQixLQUFLQyxXQUFXWixPQUFPLENBQUMsc0JBQXNCLEVBQUVKLFFBQVFlLGtCQUFrQixFQUFFO0lBQzFHLElBQUlmLFFBQVFpQixlQUFlLEVBQUViLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRUosUUFBUWlCLGVBQWUsRUFBRTtJQUVsRiw4RUFBOEU7SUFDOUUsSUFBSWpCLFFBQVFrQixhQUFhLEVBQUVkLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRUosUUFBUWtCLGFBQWEsRUFBRTtJQUM1RSxJQUFJbEIsUUFBUW1CLG1CQUFtQixFQUFFZixPQUFPLENBQUMsdUJBQXVCLEVBQUVKLFFBQVFtQixtQkFBbUIsRUFBRTtJQUUvRixPQUFPZjtBQUNUO0FBRUE7Ozs7Ozs7Ozs7O0NBV0MsR0FDRCxPQUFPLFNBQVNnQixxQkFBcUJDLGNBQXNCLEVBQUU7SUFDM0QsTUFBTUMsY0FBYyxJQUFJQyxXQUFXRjtJQUNuQ0csT0FBT0MsZUFBZSxDQUFDSDtJQUN2QixPQUFPekIsZ0JBQWdCeUI7QUFDekI7QUFFQTs7Ozs7Ozs7Q0FRQyxHQUNELE9BQU8sZUFBZUksb0JBQW9CQyxRQUFnQjtJQUN4RCxNQUFNQyxTQUFTLE1BQU1KLE9BQU9LLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLFdBQVcsSUFBSUMsY0FBY0MsTUFBTSxDQUFDTDtJQUM5RSxPQUFPOUIsZ0JBQWdCK0I7QUFDekIifQ==
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgT0F1dGgyU2NvcGUsIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgZW5jb2RlQmFzZTY0VXJsIH0gZnJvbSAnLi9iYXNlNjQuanMnO1xuaW1wb3J0IHsgY2FsY3VsYXRlQml0cyB9IGZyb20gJy4vcGVybWlzc2lvbnMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlT0F1dGgyTGluayhvcHRpb25zOiBDcmVhdGVPQXV0aDJMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IGpvaW5lZFNjb3BlU3RyaW5nID0gb3B0aW9ucy5zY29wZS5qb2luKCclMjAnKTtcblxuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZC5jb20vb2F1dGgyL2F1dGhvcml6ZT9jbGllbnRfaWQ9JHtvcHRpb25zLmNsaWVudElkfSZzY29wZT0ke2pvaW5lZFNjb3BlU3RyaW5nfWA7XG5cbiAgaWYgKG9wdGlvbnMucmVzcG9uc2VUeXBlKSB1cmwgKz0gYCZyZXNwb25zZV90eXBlPSR7b3B0aW9ucy5yZXNwb25zZVR5cGV9YDtcbiAgaWYgKG9wdGlvbnMuc3RhdGUpIHVybCArPSBgJnN0YXRlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuc3RhdGUpfWA7XG4gIGlmIChvcHRpb25zLnJlZGlyZWN0VXJpKSB1cmwgKz0gYCZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5yZWRpcmVjdFVyaSl9YDtcbiAgaWYgKG9wdGlvbnMucHJvbXB0KSB1cmwgKz0gYCZwcm9tcHQ9JHtvcHRpb25zLnByb21wdH1gO1xuICBpZiAob3B0aW9ucy5wZXJtaXNzaW9ucykgdXJsICs9IGAmcGVybWlzc2lvbnM9JHtBcnJheS5pc0FycmF5KG9wdGlvbnMucGVybWlzc2lvbnMpID8gY2FsY3VsYXRlQml0cyhvcHRpb25zLnBlcm1pc3Npb25zKSA6IG9wdGlvbnMucGVybWlzc2lvbnN9YDtcbiAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YDtcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZUd1aWxkU2VsZWN0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmRpc2FibGVfZ3VpbGRfc2VsZWN0PSR7b3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3R9YDtcbiAgaWYgKG9wdGlvbnMuaW50ZWdyYXRpb25UeXBlKSB1cmwgKz0gYCZpbnRlZ3JhdGlvbl90eXBlPSR7b3B0aW9ucy5pbnRlZ3JhdGlvblR5cGV9YDtcblxuICAvLyBPcHRpb25zIGRlZmluZWQgYnkgUkZDIDc2MzYgKGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzYzNilcbiAgaWYgKG9wdGlvbnMuY29kZUNoYWxsZW5nZSkgdXJsICs9IGAmY29kZV9jaGFsbGVuZ2U9JHtvcHRpb25zLmNvZGVDaGFsbGVuZ2V9YDtcbiAgaWYgKG9wdGlvbnMuY29kZUNoYWxsZW5nZU1ldGhvZCkgdXJsICs9IGAmY29kZV9jaGFsbGVuZ2VfbWV0aG9kPSR7b3B0aW9ucy5jb2RlQ2hhbGxlbmdlTWV0aG9kfWA7XG5cbiAgcmV0dXJuIHVybDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBjb2RlIHZlcmlmaWVyIGZvciB1c2UgaW4gdGhlIFBLQ0UgZXh0ZW5zaW9uIHRvIE9BdXRoMi5cbiAqXG4gKiBAcGFyYW0gb2N0ZXRMZW5ndGggLSBUaGUgbGVuZ3RoIG9mIHRoZSBjb2RlIHZlcmlmaWVyIGluIG9jdGV0cyAoZGVmYXVsdCBpcyAzMikuXG4gKiBAcmV0dXJuIFRoZSBiYXNlNjR1cmwgZW5jb2RlZCBjb2RlIHZlcmlmaWVyXG4gKlxuICogQHJlbWFya3NcbiAqIFRoZSBlbnRyb3B5IG9mIHRoZSBjb2RlIHZlcmlmaWVyIHNob3VsZCBiZSBiZXR3ZWVuIDI1NiBhbmQgNzY4IGJpdHMgKDMyIHRvIDk2IG9jdGV0cyksIGFzIHRoZSByZXN1bHRpbmcgYmFzZTY0dXJsIGVuY29kZWQgc3RyaW5nIGhhcyB0byBiZSBiZXR3ZWVuIDQzIGFuZCAxMjggY2hhcmFjdGVycyBsb25nLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3NjM2I3NlY3Rpb24tNy4xIGZvciB0aGUgb2N0ZXQgbGVuZ3RoXG4gKiBAc2VlIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzYzNiNzZWN0aW9uLTQuMSBmb3Igd2h5IDMyIG9jdGV0cyBpcyB0aGUgZGVmYXVsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDb2RlVmVyaWZpZXIob2N0ZXRMZW5ndGg6IG51bWJlciA9IDMyKSB7XG4gIGNvbnN0IHJhbmRvbUJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkob2N0ZXRMZW5ndGgpO1xuICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHJhbmRvbUJ5dGVzKTtcbiAgcmV0dXJuIGVuY29kZUJhc2U2NFVybChyYW5kb21CeXRlcyk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvZGUgY2hhbGxlbmdlIGZyb20gdGhlIGNvZGUgdmVyaWZpZXIgdXNpbmcgdGhlIHNwZWNpZmllZCBtZXRob2QuXG4gKlxuICogQHBhcmFtIHZlcmlmaWVyIC0gVGhlIGNvZGUgdmVyaWZpZXIgdG8gdXNlLlxuICogQHJldHVybnMgVGhlIGNvZGUgY2hhbGxlbmdlLlxuICpcbiAqIEByZW1hcmtzXG4gKiBUaGlzIHBlcmZvcm1zIGEgU0hBLTI1NiBoYXNoIG9uIHRoZSB2ZXJpZmllciBhbmQgZW5jb2RlcyBpdCB1c2luZyBiYXNlNjR1cmwgZW5jb2RpbmcuIERpc2NvcmQgb25seSBzdXBwb3J0cyAnUzI1NicgYXMgdGhlIGNvZGUgY2hhbGxlbmdlIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvZGVDaGFsbGVuZ2UodmVyaWZpZXI6IHN0cmluZykge1xuICBjb25zdCBoYXNoZWQgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgnU0hBLTI1NicsIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh2ZXJpZmllcikpO1xuICByZXR1cm4gZW5jb2RlQmFzZTY0VXJsKGhhc2hlZCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcmVzcG9uc2VcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVzcG9uc2VUeXBlPzogJ2NvZGUnIHwgJ3Rva2VuJztcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgY2xpZW50SWQ6IEJpZ1N0cmluZztcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBzY29wZTogT0F1dGgyU2NvcGVbXTtcbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBzdGF0ZSBmb3Igc2VjdXJpdHlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy90b3BpY3Mvb2F1dGgyI3N0YXRlLWFuZC1zZWN1cml0eVxuICAgKi9cbiAgc3RhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgdXJpIGZvciBhZnRlciB0aGUgYXV0aGVudGljYXRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVkaXJlY3RVcmk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwcm9tcHQgdG8gZ2l2ZSB0byB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBzZXQgdG8gYG5vbmVgLCBpdCB3aWxsIHNraXAgdGhlIGF1dGhvcml6YXRpb24gc2NyZWVuIGFuZCByZWRpcmVjdCB0aGVtIGJhY2sgdG8geW91ciByZWRpcmVjdCBVUkkgd2l0aG91dCByZXF1ZXN0aW5nIHRoZWlyIGF1dGhvcml6YXRpb24uXG4gICAqIEZvciBwYXNzdGhyb3VnaCBzY29wZXMsIGxpa2UgYm90IGFuZCB3ZWJob29rLmluY29taW5nLCBhdXRob3JpemF0aW9uIGlzIGFsd2F5cyByZXF1aXJlZC5cbiAgICovXG4gIHByb21wdD86ICdjb25zZW50JyB8ICdub25lJztcbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgaW52aXRlZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcGVybWlzc2lvbnM/OiBCaWdTdHJpbmcgfCBQZXJtaXNzaW9uU3RyaW5nc1tdO1xuICAvKipcbiAgICogUHJlLWZpbGxzIHRoZSBkcm9wZG93biBwaWNrZXIgd2l0aCBhIGd1aWxkIGZvciB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdykgb3Igd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pIG9yIHdpdGggdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZVxuICAgKi9cbiAgZ3VpbGRJZD86IEJpZ1N0cmluZztcbiAgLyoqXG4gICAqIERpc2FsbG93cyB0aGUgdXNlciBmcm9tIGNoYW5naW5nIHRoZSBndWlsZCBkcm9wZG93biBpZiBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdyksIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2RvY3MuZGlzY29yZC5jb20vZGV2ZWxvcGVycy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGRpc2FibGVHdWlsZFNlbGVjdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluc3RhbGxhdGlvbiBjb250ZXh0IGZvciB0aGUgYXV0aG9yaXphdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IHdoZW4ge0BsaW5rIHNjb3BlfSBpbmNsdWRlcyB7QGxpbmsgT0F1dGgyU2NvcGUuQXBwbGljYXRpb25zQ29tbWFuZHN9LlxuICAgKlxuICAgKiBXaGVuIHNldCB0byBHdWlsZEluc3RhbGwgKDApIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGJlIGF1dGhvcml6ZWQgZm9yIGluc3RhbGxhdGlvbiB0byBhIHNlcnZlciwgYW5kIHdoZW4gc2V0IHRvIFVzZXJJbnN0YWxsICgxKSB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBhdXRob3JpemVkIGZvciBpbnN0YWxsYXRpb24gdG8gYSB1c2VyLlxuICAgKlxuICAgKiBUaGUgYXBwbGljYXRpb24gbXVzdCBiZSBjb25maWd1cmVkIGluIHRoZSBEZXZlbG9wZXIgUG9ydGFsIHRvIHN1cHBvcnQgdGhlIHByb3ZpZGVkIGBpbnRlZ3JhdGlvblR5cGVgLlxuICAgKi9cbiAgaW50ZWdyYXRpb25UeXBlPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlO1xuICAvKipcbiAgICogVGhlIGNvZGUgY2hhbGxlbmdlIHVzZWQgdG8gdmVyaWZ5IHRoZSBhdXRob3JpemF0aW9uIHJlcXVlc3RcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzc2MzYjc2VjdGlvbi00LjFcbiAgICovXG4gIGNvZGVDaGFsbGVuZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY2hhbGxlbmdlIG1ldGhvZCB1c2VkIHRvIGdlbmVyYXRlIHRoZSBjb2RlIGNoYWxsZW5nZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGlsZSB0aGUgUkZDIGFsbG93cyBmb3IgdGhlICdwbGFpbicgdmFsdWUgdG8gYmUgc2V0LCBkaXNjb3JkIGRvZXMgbm90IGFsbG93IGl0XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3NjM2I3NlY3Rpb24tNC4yXG4gICAqL1xuICBjb2RlQ2hhbGxlbmdlTWV0aG9kPzogJ1MyNTYnO1xufVxuIl0sIm5hbWVzIjpbImVuY29kZUJhc2U2NFVybCIsImNhbGN1bGF0ZUJpdHMiLCJjcmVhdGVPQXV0aDJMaW5rIiwib3B0aW9ucyIsImpvaW5lZFNjb3BlU3RyaW5nIiwic2NvcGUiLCJqb2luIiwidXJsIiwiY2xpZW50SWQiLCJyZXNwb25zZVR5cGUiLCJzdGF0ZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlZGlyZWN0VXJpIiwicHJvbXB0IiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJndWlsZElkIiwiZGlzYWJsZUd1aWxkU2VsZWN0IiwidW5kZWZpbmVkIiwiaW50ZWdyYXRpb25UeXBlIiwiY29kZUNoYWxsZW5nZSIsImNvZGVDaGFsbGVuZ2VNZXRob2QiLCJnZW5lcmF0ZUNvZGVWZXJpZmllciIsIm9jdGV0TGVuZ3RoIiwicmFuZG9tQnl0ZXMiLCJVaW50OEFycmF5IiwiY3J5cHRvIiwiZ2V0UmFuZG9tVmFsdWVzIiwiY3JlYXRlQ29kZUNoYWxsZW5nZSIsInZlcmlmaWVyIiwiaGFzaGVkIiwic3VidGxlIiwiZGlnZXN0IiwiVGV4dEVuY29kZXIiLCJlbmNvZGUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGVBQWUsUUFBUSxjQUFjO0FBQzlDLFNBQVNDLGFBQWEsUUFBUSxtQkFBbUI7QUFFakQsT0FBTyxTQUFTQyxpQkFBaUJDLE9BQWdDO0lBQy9ELE1BQU1DLG9CQUFvQkQsUUFBUUUsS0FBSyxDQUFDQyxJQUFJLENBQUM7SUFFN0MsSUFBSUMsTUFBTSxDQUFDLCtDQUErQyxFQUFFSixRQUFRSyxRQUFRLENBQUMsT0FBTyxFQUFFSixtQkFBbUI7SUFFekcsSUFBSUQsUUFBUU0sWUFBWSxFQUFFRixPQUFPLENBQUMsZUFBZSxFQUFFSixRQUFRTSxZQUFZLEVBQUU7SUFDekUsSUFBSU4sUUFBUU8sS0FBSyxFQUFFSCxPQUFPLENBQUMsT0FBTyxFQUFFSSxtQkFBbUJSLFFBQVFPLEtBQUssR0FBRztJQUN2RSxJQUFJUCxRQUFRUyxXQUFXLEVBQUVMLE9BQU8sQ0FBQyxjQUFjLEVBQUVJLG1CQUFtQlIsUUFBUVMsV0FBVyxHQUFHO0lBQzFGLElBQUlULFFBQVFVLE1BQU0sRUFBRU4sT0FBTyxDQUFDLFFBQVEsRUFBRUosUUFBUVUsTUFBTSxFQUFFO0lBQ3RELElBQUlWLFFBQVFXLFdBQVcsRUFBRVAsT0FBTyxDQUFDLGFBQWEsRUFBRVEsTUFBTUMsT0FBTyxDQUFDYixRQUFRVyxXQUFXLElBQUliLGNBQWNFLFFBQVFXLFdBQVcsSUFBSVgsUUFBUVcsV0FBVyxFQUFFO0lBQy9JLElBQUlYLFFBQVFjLE9BQU8sRUFBRVYsT0FBTyxDQUFDLFVBQVUsRUFBRUosUUFBUWMsT0FBTyxFQUFFO0lBQzFELElBQUlkLFFBQVFlLGtCQUFrQixLQUFLQyxXQUFXWixPQUFPLENBQUMsc0JBQXNCLEVBQUVKLFFBQVFlLGtCQUFrQixFQUFFO0lBQzFHLElBQUlmLFFBQVFpQixlQUFlLEVBQUViLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRUosUUFBUWlCLGVBQWUsRUFBRTtJQUVsRiw4RUFBOEU7SUFDOUUsSUFBSWpCLFFBQVFrQixhQUFhLEVBQUVkLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRUosUUFBUWtCLGFBQWEsRUFBRTtJQUM1RSxJQUFJbEIsUUFBUW1CLG1CQUFtQixFQUFFZixPQUFPLENBQUMsdUJBQXVCLEVBQUVKLFFBQVFtQixtQkFBbUIsRUFBRTtJQUUvRixPQUFPZjtBQUNUO0FBRUE7Ozs7Ozs7Ozs7O0NBV0MsR0FDRCxPQUFPLFNBQVNnQixxQkFBcUJDLGNBQXNCLEVBQUU7SUFDM0QsTUFBTUMsY0FBYyxJQUFJQyxXQUFXRjtJQUNuQ0csT0FBT0MsZUFBZSxDQUFDSDtJQUN2QixPQUFPekIsZ0JBQWdCeUI7QUFDekI7QUFFQTs7Ozs7Ozs7Q0FRQyxHQUNELE9BQU8sZUFBZUksb0JBQW9CQyxRQUFnQjtJQUN4RCxNQUFNQyxTQUFTLE1BQU1KLE9BQU9LLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLFdBQVcsSUFBSUMsY0FBY0MsTUFBTSxDQUFDTDtJQUM5RSxPQUFPOUIsZ0JBQWdCK0I7QUFDekIifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@discordeno/utils",
|
|
3
|
-
"version": "22.0.1-next.
|
|
3
|
+
"version": "22.0.1-next.abff4d2",
|
|
4
4
|
"exports": "./dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
"test:type": "tsc --noEmit"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@discordeno/types": "22.0.1-next.
|
|
27
|
+
"@discordeno/types": "22.0.1-next.abff4d2"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@biomejs/biome": "2.
|
|
31
|
-
"@swc/cli": "^0.
|
|
32
|
-
"@swc/core": "^1.15.
|
|
30
|
+
"@biomejs/biome": "2.4.4",
|
|
31
|
+
"@swc/cli": "^0.8.0",
|
|
32
|
+
"@swc/core": "^1.15.18",
|
|
33
33
|
"@types/chai": "^5.2.3",
|
|
34
34
|
"@types/mocha": "^10.0.10",
|
|
35
|
-
"@types/node": "^25.
|
|
35
|
+
"@types/node": "^25.3.3",
|
|
36
36
|
"@types/sinon": "^21.0.0",
|
|
37
|
-
"c8": "^
|
|
37
|
+
"c8": "^11.0.0",
|
|
38
38
|
"chai": "^6.2.2",
|
|
39
39
|
"mocha": "^11.7.5",
|
|
40
40
|
"sinon": "^21.0.1",
|