@discordeno/rest 19.0.0-next.e7d32e4 → 19.0.0-next.eb20050
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 +15 -1
- package/dist/cjs/index.cjs +16 -14
- package/dist/cjs/invalidBucket.cjs +8 -6
- package/dist/cjs/manager.cjs +249 -76
- package/dist/cjs/queue.cjs +23 -24
- package/dist/cjs/routes.cjs +69 -40
- package/dist/esm/invalidBucket.js +5 -5
- package/dist/esm/manager.js +209 -56
- package/dist/esm/queue.js +21 -24
- package/dist/esm/routes.js +65 -38
- package/dist/esm/types.js +1 -1
- package/dist/esm/typings/routes.js +1 -1
- package/dist/types/invalidBucket.d.ts +5 -0
- package/dist/types/invalidBucket.d.ts.map +1 -1
- package/dist/types/manager.d.ts.map +1 -1
- package/dist/types/queue.d.ts +12 -6
- package/dist/types/queue.d.ts.map +1 -1
- package/dist/types/routes.d.ts.map +1 -1
- package/dist/types/types.d.ts +347 -113
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/typings/routes.d.ts +32 -4
- package/dist/types/typings/routes.d.ts.map +1 -1
- package/package.json +24 -26
package/README.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# Discordeno Rest
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<img align="right" src="https://raw.githubusercontent.com/discordeno/discordeno/main/website/static/img/logo.png" height="150px" />
|
|
4
|
+
|
|
5
|
+
Discord API library for [Node.JS](https://nodejs.org), [Deno](https://deno.land) & [Bun](https://bun.sh/)
|
|
6
|
+
|
|
7
|
+
[](https://discord.com/invite/5vBgXk3UcZ)
|
|
8
|
+
[](https://codecov.io/gh/discordeno/discordeno)
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
A standalone REST module with functionality of REST, independently.
|
|
4
12
|
|
|
5
13
|
- Easily host on any serverless infrastructure.
|
|
6
14
|
- Easy to use and setup with Cloudflare Workers (FREE for 100K requests per day!)
|
|
@@ -14,3 +22,9 @@ A standalone and server-less REST module with functionality of REST, independent
|
|
|
14
22
|
- Seamless updates! When you want to update and reboot the bot, you could potentially lose tons of messages or
|
|
15
23
|
responses that are in queue. Using this you could restart your bot without ever worrying about losing any responses.
|
|
16
24
|
- Scalability! Scalability! Scalability!
|
|
25
|
+
|
|
26
|
+
## Links
|
|
27
|
+
|
|
28
|
+
- [Website](https://discordeno.js.org/)
|
|
29
|
+
- [Documentation](https://doc.deno.land/https/deno.land/x/discordeno/mod.ts)
|
|
30
|
+
- [Discord](https://discord.com/invite/5vBgXk3UcZ)
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -2,22 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function
|
|
5
|
+
_export_star(require("./typings/routes.cjs"), exports);
|
|
6
|
+
_export_star(require("./invalidBucket.cjs"), exports);
|
|
7
|
+
_export_star(require("./manager.cjs"), exports);
|
|
8
|
+
_export_star(require("./queue.cjs"), exports);
|
|
9
|
+
_export_star(require("./routes.cjs"), exports);
|
|
10
|
+
_export_star(require("./types.cjs"), exports);
|
|
11
|
+
function _export_star(from, to) {
|
|
12
12
|
Object.keys(from).forEach(function(k) {
|
|
13
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k))
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
14
|
+
Object.defineProperty(to, k, {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function() {
|
|
17
|
+
return from[k];
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
19
21
|
});
|
|
20
22
|
return from;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGluZ3Mvcm91dGVzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnZhbGlkQnVja2V0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2VyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9xdWV1ZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy5qcydcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUFjO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBIn0=
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "createInvalidRequestBucket", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return createInvalidRequestBucket;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _utils = require("@discordeno/utils");
|
|
10
12
|
function createInvalidRequestBucket(options) {
|
|
@@ -21,6 +23,7 @@ function createInvalidRequestBucket(options) {
|
|
|
21
23
|
],
|
|
22
24
|
activeRequests: options.requested ?? 0,
|
|
23
25
|
processing: false,
|
|
26
|
+
logger: options.logger ?? _utils.logger,
|
|
24
27
|
waiting: [],
|
|
25
28
|
requestsAllowed: function() {
|
|
26
29
|
if (bucket.resetAt !== undefined && Date.now() >= bucket.resetAt) {
|
|
@@ -33,7 +36,6 @@ function createInvalidRequestBucket(options) {
|
|
|
33
36
|
return bucket.requestsAllowed() > 0;
|
|
34
37
|
},
|
|
35
38
|
waitUntilRequestAvailable: async function() {
|
|
36
|
-
// eslint-disable-next-line no-async-promise-executor
|
|
37
39
|
return await new Promise(async (resolve)=>{
|
|
38
40
|
// If whatever amount of requests is left is more than the safety margin, allow the request
|
|
39
41
|
if (bucket.isRequestAllowed()) {
|
|
@@ -51,9 +53,9 @@ function createInvalidRequestBucket(options) {
|
|
|
51
53
|
// Mark as processing so other loops don't start
|
|
52
54
|
bucket.processing = true;
|
|
53
55
|
while(bucket.waiting.length > 0){
|
|
54
|
-
|
|
56
|
+
bucket.logger.info(`[InvalidBucket] processing waiting queue while loop ran with ${bucket.waiting.length} pending requests to be made. ${JSON.stringify(bucket)}`);
|
|
55
57
|
if (!bucket.isRequestAllowed() && bucket.resetAt !== undefined) {
|
|
56
|
-
|
|
58
|
+
bucket.logger.warn(`[InvalidBucket] processing waiting queue is now paused until more requests are available. ${bucket.waiting.length} pending requests. ${JSON.stringify(bucket)}`);
|
|
57
59
|
await (0, _utils.delay)(bucket.resetAt - Date.now());
|
|
58
60
|
}
|
|
59
61
|
bucket.activeRequests += 1;
|
|
@@ -75,10 +77,10 @@ function createInvalidRequestBucket(options) {
|
|
|
75
77
|
bucket.resetAt = Date.now() + bucket.interval;
|
|
76
78
|
}
|
|
77
79
|
bucket.invalidRequests += 1;
|
|
78
|
-
|
|
80
|
+
bucket.logger.warn(`[InvalidBucket] an invalid request was made. Increasing invalidRequests count to ${bucket.invalidRequests}`);
|
|
79
81
|
}
|
|
80
82
|
};
|
|
81
83
|
return bucket;
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnZhbGlkQnVja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlbGF5LCBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcblxuLyoqXG4gKiBBIGludmFsaWQgcmVxdWVzdCBidWNrZXQgaXMgdXNlZCBpbiBhIHNpbWlsYXIgbWFubmVyIGFzIGEgbGVha3kgYnVja2V0IGJ1dCBhIGludmFsaWQgcmVxdWVzdCBidWNrZXQgY2FuIGJlIHJlZmlsbGVkIGFzIG5lZWRlZC5cbiAqIEl0J3MgcHVycG9zZSBpcyB0byBtYWtlIHN1cmUgdGhlIGJvdCBkb2VzIG5vdCBoaXQgdGhlIGxpbWl0IHRvIGdldHRpbmcgYSAxIGhyIGJhbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGlzIGJ1Y2tldC5cbiAqIEByZXR1cm5zIFJlZmlsbGluZ0J1Y2tldFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW52YWxpZFJlcXVlc3RCdWNrZXQob3B0aW9uczogSW52YWxpZFJlcXVlc3RCdWNrZXRPcHRpb25zKTogSW52YWxpZFJlcXVlc3RCdWNrZXQge1xuICBjb25zdCBidWNrZXQ6IEludmFsaWRSZXF1ZXN0QnVja2V0ID0ge1xuICAgIGludmFsaWRSZXF1ZXN0czogb3B0aW9ucy5jdXJyZW50ID8/IDAsXG4gICAgbWF4OiBvcHRpb25zLm1heCA/PyAxMDAwMCxcbiAgICBpbnRlcnZhbDogb3B0aW9ucy5pbnRlcnZhbCA/PyA2MDBfMDAwLCAvLyAxMCBtaW51dGVzXG4gICAgcmVzZXRBdDogb3B0aW9ucy5yZXNldEF0LFxuICAgIHNhZmV0eTogb3B0aW9ucy5zYWZldHkgPz8gMSxcbiAgICBlcnJvclN0YXR1c2VzOiBvcHRpb25zLmVycm9yU3RhdHVzZXMgPz8gWzQwMSwgNDAzLCA0MjldLFxuICAgIGFjdGl2ZVJlcXVlc3RzOiBvcHRpb25zLnJlcXVlc3RlZCA/PyAwLFxuICAgIHByb2Nlc3Npbmc6IGZhbHNlLFxuXG4gICAgd2FpdGluZzogW10sXG5cbiAgICByZXF1ZXN0c0FsbG93ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChidWNrZXQucmVzZXRBdCAhPT0gdW5kZWZpbmVkICYmIERhdGUubm93KCkgPj0gYnVja2V0LnJlc2V0QXQpIHtcbiAgICAgICAgYnVja2V0LmludmFsaWRSZXF1ZXN0cyA9IDBcbiAgICAgICAgYnVja2V0LnJlc2V0QXQgPSBEYXRlLm5vdygpICsgYnVja2V0LmludGVydmFsXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBidWNrZXQubWF4IC0gYnVja2V0LmludmFsaWRSZXF1ZXN0cyAtIGJ1Y2tldC5hY3RpdmVSZXF1ZXN0cyAtIGJ1Y2tldC5zYWZldHlcbiAgICB9LFxuXG4gICAgaXNSZXF1ZXN0QWxsb3dlZDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1Y2tldC5yZXF1ZXN0c0FsbG93ZWQoKSA+IDBcbiAgICB9LFxuXG4gICAgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZTogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3JcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgICAvLyBJZiB3aGF0ZXZlciBhbW91bnQgb2YgcmVxdWVzdHMgaXMgbGVmdCBpcyBtb3JlIHRoYW4gdGhlIHNhZmV0eSBtYXJnaW4sIGFsbG93IHRoZSByZXF1ZXN0XG4gICAgICAgIGlmIChidWNrZXQuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgICAgYnVja2V0LmFjdGl2ZVJlcXVlc3RzICs9IDFcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBidWNrZXQud2FpdGluZy5wdXNoKHJlc29sdmUpXG4gICAgICAgICAgYXdhaXQgYnVja2V0LnByb2Nlc3NXYWl0aW5nKClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LFxuXG4gICAgcHJvY2Vzc1dhaXRpbmc6IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCB3YWl0aW5nIHJlcXVlc3RzLlxuICAgICAgaWYgKGJ1Y2tldC5wcm9jZXNzaW5nKSByZXR1cm5cblxuICAgICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgICBidWNrZXQucHJvY2Vzc2luZyA9IHRydWVcblxuICAgICAgd2hpbGUgKGJ1Y2tldC53YWl0aW5nLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFtJbnZhbGlkQnVja2V0XSBwcm9jZXNzaW5nIHdhaXRpbmcgcXVldWUgd2hpbGUgbG9vcCByYW4gd2l0aCAke2J1Y2tldC53YWl0aW5nLmxlbmd0aH0gcGVuZGluZyByZXF1ZXN0cyB0byBiZSBtYWRlLiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgYnVja2V0LFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmICghYnVja2V0LmlzUmVxdWVzdEFsbG93ZWQoKSAmJiBidWNrZXQucmVzZXRBdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oXG4gICAgICAgICAgICBgW0ludmFsaWRCdWNrZXRdIHByb2Nlc3Npbmcgd2FpdGluZyBxdWV1ZSBpcyBub3cgcGF1c2VkIHVudGlsIG1vcmUgcmVxdWVzdHMgYXJlIGF2YWlsYWJsZS4gJHtcbiAgICAgICAgICAgICAgYnVja2V0LndhaXRpbmcubGVuZ3RoXG4gICAgICAgICAgICB9IHBlbmRpbmcgcmVxdWVzdHMuICR7SlNPTi5zdHJpbmdpZnkoYnVja2V0KX1gLFxuICAgICAgICAgIClcbiAgICAgICAgICBhd2FpdCBkZWxheShidWNrZXQucmVzZXRBdCAtIERhdGUubm93KCkpXG4gICAgICAgIH1cblxuICAgICAgICBidWNrZXQuYWN0aXZlUmVxdWVzdHMgKz0gMVxuICAgICAgICAvLyBSZXNvbHZlIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHF1ZXVlXG4gICAgICAgIGJ1Y2tldC53YWl0aW5nLnNoaWZ0KCk/LigpXG4gICAgICB9XG5cbiAgICAgIC8vIE1hcmsgYXMgZmFsc2Ugc28gbmV4dCBwZW5kaW5nIHJlcXVlc3QgY2FuIGJlIHRyaWdnZXJlZCBieSBuZXcgbG9vcC5cbiAgICAgIGJ1Y2tldC5wcm9jZXNzaW5nID0gZmFsc2VcbiAgICB9LFxuXG4gICAgaGFuZGxlQ29tcGxldGVkUmVxdWVzdDogZnVuY3Rpb24gKGNvZGUsIHNoYXJlZFNjb3BlKSB7XG4gICAgICAvLyBTaW5jZSByZXF1ZXN0IGlzIGNvbXBsZXRlLCB3ZSBjYW4gcmVtb3ZlIG9uZSBmcm9tIHJlcXVlc3RlZC5cbiAgICAgIGJ1Y2tldC5hY3RpdmVSZXF1ZXN0cyAtPSAxXG4gICAgICAvLyBTaW5jZSBpdCBpcyBhcyBhIHZhbGlkIHJlcXVlc3QsIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmdcbiAgICAgIGlmICghYnVja2V0LmVycm9yU3RhdHVzZXMuaW5jbHVkZXMoY29kZSkpIHJldHVyblxuICAgICAgLy8gU2hhcmVkIHNjb3BlIGlzIG5vdCBjb25zaWRlcmVkIGludmFsaWRcbiAgICAgIGlmIChjb2RlID09PSA0MjkgJiYgc2hhcmVkU2NvcGUpIHJldHVyblxuXG4gICAgICAvLyBJTlZBTElEIFJFUVVFU1QgV0FTIE1BREVcbiAgICAgIGlmIChidWNrZXQucmVzZXRBdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGJ1Y2tldC5yZXNldEF0ID0gRGF0ZS5ub3coKSArIGJ1Y2tldC5pbnRlcnZhbFxuICAgICAgfVxuXG4gICAgICBidWNrZXQuaW52YWxpZFJlcXVlc3RzICs9IDFcbiAgICAgIGxvZ2dlci53YXJuKGBbSW52YWxpZEJ1Y2tldF0gYW4gaW52YWxpZCByZXF1ZXN0IHdhcyBtYWRlLiBJbmNyZWFzaW5nIGludmFsaWRSZXF1ZXN0cyBjb3VudCB0byAke2J1Y2tldC5pbnZhbGlkUmVxdWVzdHN9YClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIGJ1Y2tldFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRSZXF1ZXN0QnVja2V0T3B0aW9ucyB7XG4gIC8qKiBjdXJyZW50IGludmFsaWQgYW1vdW50ICovXG4gIGN1cnJlbnQ/OiBudW1iZXJcbiAgLyoqIG1heCBpbnZhbGlkIHJlcXVlc3RzIGFsbG93ZWQgdW50aWwgYmFuLiBEZWZhdWx0cyB0byAxMCwwMDAgKi9cbiAgbWF4PzogbnVtYmVyXG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgaW52YWxpZCByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMTAgbWludXRlcyAqL1xuICBpbnRlcnZhbD86IG51bWJlclxuICAvKiogV2hlbiB0aGUgdGltZW91dCBmb3IgdGhlIGJ1Y2tldCBoYXMgc3RhcnRlZCBhdC4gKi9cbiAgcmVzZXRBdD86IG51bWJlclxuICAvKiogaG93IHNhZmUgdG8gYmUgZnJvbSBtYXguIERlZmF1bHRzIHRvIDEgKi9cbiAgc2FmZXR5PzogbnVtYmVyXG4gIC8qKiBUaGUgcmVxdWVzdCBzdGF0dXNlcyB0aGF0IGNvdW50IGFzIGFuIGludmFsaWQgcmVxdWVzdC4gKi9cbiAgZXJyb3JTdGF0dXNlcz86IG51bWJlcltdXG4gIC8qKiBUaGUgYW1vdW50IG9mIHJlcXVlc3RzIHRoYXQgd2VyZSByZXF1ZXN0ZWQgZnJvbSB0aGlzIGJ1Y2tldC4gKi9cbiAgcmVxdWVzdGVkPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52YWxpZFJlcXVlc3RCdWNrZXQge1xuICAvKiogY3VycmVudCBpbnZhbGlkIGFtb3VudCAqL1xuICBpbnZhbGlkUmVxdWVzdHM6IG51bWJlclxuICAvKiogbWF4IGludmFsaWQgcmVxdWVzdHMgYWxsb3dlZCB1bnRpbCBiYW4uIERlZmF1bHRzIHRvIDEwLDAwMCAqL1xuICBtYXg6IG51bWJlclxuICAvKiogVGhlIHRpbWUgdGhhdCBkaXNjb3JkIGFsbG93cyB0byBtYWtlIHRoZSBtYXggbnVtYmVyIG9mIGludmFsaWQgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDEwIG1pbnV0ZXMgKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogV2hlbiB0aGUgdGltZW91dCBmb3IgdGhpcyBidWNrZXQgaGFzIHN0YXJ0ZWQgYXQuICovXG4gIHJlc2V0QXQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICAvKiogaG93IHNhZmUgdG8gYmUgZnJvbSBtYXguIERlZmF1bHRzIHRvIDEgKi9cbiAgc2FmZXR5OiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0IHN0YXR1c2VzIHRoYXQgY291bnQgYXMgYW4gaW52YWxpZCByZXF1ZXN0LiAqL1xuICBlcnJvclN0YXR1c2VzOiBudW1iZXJbXVxuICAvKiogVGhlIGFtb3VudCBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgcmVxdWVzdGVkIGZyb20gdGhpcyBidWNrZXQuICovXG4gIGFjdGl2ZVJlcXVlc3RzOiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgcGVuZGluZy4gKi9cbiAgd2FpdGluZzogQXJyYXk8KHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgd2FpdGluZyBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3Npbmc6IGJvb2xlYW5cblxuICAvKiogR2l2ZXMgdGhlIG51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgYWxsb3dlZC4gKi9cbiAgcmVxdWVzdHNBbGxvd2VkOiAoKSA9PiBudW1iZXJcbiAgLyoqIENoZWNrcyBpZiBhIHJlcXVlc3QgaXMgYWxsb3dlZCBhdCB0aGlzIHRpbWUuICovXG4gIGlzUmVxdWVzdEFsbG93ZWQ6ICgpID0+IGJvb2xlYW5cbiAgLyoqIFdhaXRzIHVudGlsIGEgcmVxdWVzdCBpcyBhdmFpbGFibGUgKi9cbiAgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZTogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogQmVnaW5zIHByb2Nlc3NpbmcgdGhlIHdhaXRpbmcgcXVldWUgb2YgcmVxdWVzdHMuICovXG4gIHByb2Nlc3NXYWl0aW5nOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBIYW5kbGVyIGZvciB3aGVuZXZlciBhIHJlcXVlc3QgaXMgdmFsaWRhdGVkLiBUaGlzIHNob3VsZCB1cGRhdGUgdGhlIHJlcXVlc3RlZCB2YWx1ZXMgb3IgdHJpZ2dlciBhbnkgb3RoZXIgbmVjZXNzYXJ5IHN0dWZmLiAqL1xuICBoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0OiAoY29kZTogbnVtYmVyLCBzaGFyZWRTY29wZTogYm9vbGVhbikgPT4gdm9pZFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUludmFsaWRSZXF1ZXN0QnVja2V0Iiwib3B0aW9ucyIsImJ1Y2tldCIsImludmFsaWRSZXF1ZXN0cyIsImN1cnJlbnQiLCJtYXgiLCJpbnRlcnZhbCIsInJlc2V0QXQiLCJzYWZldHkiLCJlcnJvclN0YXR1c2VzIiwiYWN0aXZlUmVxdWVzdHMiLCJyZXF1ZXN0ZWQiLCJwcm9jZXNzaW5nIiwid2FpdGluZyIsInJlcXVlc3RzQWxsb3dlZCIsInVuZGVmaW5lZCIsIkRhdGUiLCJub3ciLCJpc1JlcXVlc3RBbGxvd2VkIiwid2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicHVzaCIsInByb2Nlc3NXYWl0aW5nIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ3YXJuIiwiZGVsYXkiLCJzaGlmdCIsImhhbmRsZUNvbXBsZXRlZFJlcXVlc3QiLCJjb2RlIiwic2hhcmVkU2NvcGUiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTZ0JB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
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnZhbGlkQnVja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlbGF5LCBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcblxuLyoqXG4gKiBBIGludmFsaWQgcmVxdWVzdCBidWNrZXQgaXMgdXNlZCBpbiBhIHNpbWlsYXIgbWFubmVyIGFzIGEgbGVha3kgYnVja2V0IGJ1dCBhIGludmFsaWQgcmVxdWVzdCBidWNrZXQgY2FuIGJlIHJlZmlsbGVkIGFzIG5lZWRlZC5cbiAqIEl0J3MgcHVycG9zZSBpcyB0byBtYWtlIHN1cmUgdGhlIGJvdCBkb2VzIG5vdCBoaXQgdGhlIGxpbWl0IHRvIGdldHRpbmcgYSAxIGhyIGJhbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGlzIGJ1Y2tldC5cbiAqIEByZXR1cm5zIFJlZmlsbGluZ0J1Y2tldFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW52YWxpZFJlcXVlc3RCdWNrZXQob3B0aW9uczogSW52YWxpZFJlcXVlc3RCdWNrZXRPcHRpb25zKTogSW52YWxpZFJlcXVlc3RCdWNrZXQge1xuICBjb25zdCBidWNrZXQ6IEludmFsaWRSZXF1ZXN0QnVja2V0ID0ge1xuICAgIGludmFsaWRSZXF1ZXN0czogb3B0aW9ucy5jdXJyZW50ID8/IDAsXG4gICAgbWF4OiBvcHRpb25zLm1heCA/PyAxMDAwMCxcbiAgICBpbnRlcnZhbDogb3B0aW9ucy5pbnRlcnZhbCA/PyA2MDBfMDAwLCAvLyAxMCBtaW51dGVzXG4gICAgcmVzZXRBdDogb3B0aW9ucy5yZXNldEF0LFxuICAgIHNhZmV0eTogb3B0aW9ucy5zYWZldHkgPz8gMSxcbiAgICBlcnJvclN0YXR1c2VzOiBvcHRpb25zLmVycm9yU3RhdHVzZXMgPz8gWzQwMSwgNDAzLCA0MjldLFxuICAgIGFjdGl2ZVJlcXVlc3RzOiBvcHRpb25zLnJlcXVlc3RlZCA/PyAwLFxuICAgIHByb2Nlc3Npbmc6IGZhbHNlLFxuICAgIGxvZ2dlcjogb3B0aW9ucy5sb2dnZXIgPz8gbG9nZ2VyLFxuXG4gICAgd2FpdGluZzogW10sXG5cbiAgICByZXF1ZXN0c0FsbG93ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChidWNrZXQucmVzZXRBdCAhPT0gdW5kZWZpbmVkICYmIERhdGUubm93KCkgPj0gYnVja2V0LnJlc2V0QXQpIHtcbiAgICAgICAgYnVja2V0LmludmFsaWRSZXF1ZXN0cyA9IDBcbiAgICAgICAgYnVja2V0LnJlc2V0QXQgPSBEYXRlLm5vdygpICsgYnVja2V0LmludGVydmFsXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBidWNrZXQubWF4IC0gYnVja2V0LmludmFsaWRSZXF1ZXN0cyAtIGJ1Y2tldC5hY3RpdmVSZXF1ZXN0cyAtIGJ1Y2tldC5zYWZldHlcbiAgICB9LFxuXG4gICAgaXNSZXF1ZXN0QWxsb3dlZDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1Y2tldC5yZXF1ZXN0c0FsbG93ZWQoKSA+IDBcbiAgICB9LFxuXG4gICAgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZTogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICAgIC8vIElmIHdoYXRldmVyIGFtb3VudCBvZiByZXF1ZXN0cyBpcyBsZWZ0IGlzIG1vcmUgdGhhbiB0aGUgc2FmZXR5IG1hcmdpbiwgYWxsb3cgdGhlIHJlcXVlc3RcbiAgICAgICAgaWYgKGJ1Y2tldC5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgICBidWNrZXQuYWN0aXZlUmVxdWVzdHMgKz0gMVxuICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1Y2tldC53YWl0aW5nLnB1c2gocmVzb2x2ZSlcbiAgICAgICAgICBhd2FpdCBidWNrZXQucHJvY2Vzc1dhaXRpbmcoKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG5cbiAgICBwcm9jZXNzV2FpdGluZzogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gSWYgYWxyZWFkeSBwcm9jZXNzaW5nLCB0aGF0IGxvb3Agd2lsbCBoYW5kbGUgYWxsIHdhaXRpbmcgcmVxdWVzdHMuXG4gICAgICBpZiAoYnVja2V0LnByb2Nlc3NpbmcpIHJldHVyblxuXG4gICAgICAvLyBNYXJrIGFzIHByb2Nlc3Npbmcgc28gb3RoZXIgbG9vcHMgZG9uJ3Qgc3RhcnRcbiAgICAgIGJ1Y2tldC5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgICB3aGlsZSAoYnVja2V0LndhaXRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBidWNrZXQubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFtJbnZhbGlkQnVja2V0XSBwcm9jZXNzaW5nIHdhaXRpbmcgcXVldWUgd2hpbGUgbG9vcCByYW4gd2l0aCAke2J1Y2tldC53YWl0aW5nLmxlbmd0aH0gcGVuZGluZyByZXF1ZXN0cyB0byBiZSBtYWRlLiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgYnVja2V0LFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmICghYnVja2V0LmlzUmVxdWVzdEFsbG93ZWQoKSAmJiBidWNrZXQucmVzZXRBdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYnVja2V0LmxvZ2dlci53YXJuKFxuICAgICAgICAgICAgYFtJbnZhbGlkQnVja2V0XSBwcm9jZXNzaW5nIHdhaXRpbmcgcXVldWUgaXMgbm93IHBhdXNlZCB1bnRpbCBtb3JlIHJlcXVlc3RzIGFyZSBhdmFpbGFibGUuICR7XG4gICAgICAgICAgICAgIGJ1Y2tldC53YWl0aW5nLmxlbmd0aFxuICAgICAgICAgICAgfSBwZW5kaW5nIHJlcXVlc3RzLiAke0pTT04uc3RyaW5naWZ5KGJ1Y2tldCl9YCxcbiAgICAgICAgICApXG4gICAgICAgICAgYXdhaXQgZGVsYXkoYnVja2V0LnJlc2V0QXQgLSBEYXRlLm5vdygpKVxuICAgICAgICB9XG5cbiAgICAgICAgYnVja2V0LmFjdGl2ZVJlcXVlc3RzICs9IDFcbiAgICAgICAgLy8gUmVzb2x2ZSB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAgICBidWNrZXQud2FpdGluZy5zaGlmdCgpPy4oKVxuICAgICAgfVxuXG4gICAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgICBidWNrZXQucHJvY2Vzc2luZyA9IGZhbHNlXG4gICAgfSxcblxuICAgIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3Q6IGZ1bmN0aW9uIChjb2RlLCBzaGFyZWRTY29wZSkge1xuICAgICAgLy8gU2luY2UgcmVxdWVzdCBpcyBjb21wbGV0ZSwgd2UgY2FuIHJlbW92ZSBvbmUgZnJvbSByZXF1ZXN0ZWQuXG4gICAgICBidWNrZXQuYWN0aXZlUmVxdWVzdHMgLT0gMVxuICAgICAgLy8gU2luY2UgaXQgaXMgYXMgYSB2YWxpZCByZXF1ZXN0LCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nXG4gICAgICBpZiAoIWJ1Y2tldC5lcnJvclN0YXR1c2VzLmluY2x1ZGVzKGNvZGUpKSByZXR1cm5cbiAgICAgIC8vIFNoYXJlZCBzY29wZSBpcyBub3QgY29uc2lkZXJlZCBpbnZhbGlkXG4gICAgICBpZiAoY29kZSA9PT0gNDI5ICYmIHNoYXJlZFNjb3BlKSByZXR1cm5cblxuICAgICAgLy8gSU5WQUxJRCBSRVFVRVNUIFdBUyBNQURFXG4gICAgICBpZiAoYnVja2V0LnJlc2V0QXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBidWNrZXQucmVzZXRBdCA9IERhdGUubm93KCkgKyBidWNrZXQuaW50ZXJ2YWxcbiAgICAgIH1cblxuICAgICAgYnVja2V0LmludmFsaWRSZXF1ZXN0cyArPSAxXG4gICAgICBidWNrZXQubG9nZ2VyLndhcm4oYFtJbnZhbGlkQnVja2V0XSBhbiBpbnZhbGlkIHJlcXVlc3Qgd2FzIG1hZGUuIEluY3JlYXNpbmcgaW52YWxpZFJlcXVlc3RzIGNvdW50IHRvICR7YnVja2V0LmludmFsaWRSZXF1ZXN0c31gKVxuICAgIH0sXG4gIH1cblxuICByZXR1cm4gYnVja2V0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52YWxpZFJlcXVlc3RCdWNrZXRPcHRpb25zIHtcbiAgLyoqIGN1cnJlbnQgaW52YWxpZCBhbW91bnQgKi9cbiAgY3VycmVudD86IG51bWJlclxuICAvKiogbWF4IGludmFsaWQgcmVxdWVzdHMgYWxsb3dlZCB1bnRpbCBiYW4uIERlZmF1bHRzIHRvIDEwLDAwMCAqL1xuICBtYXg/OiBudW1iZXJcbiAgLyoqIFRoZSB0aW1lIHRoYXQgZGlzY29yZCBhbGxvd3MgdG8gbWFrZSB0aGUgbWF4IG51bWJlciBvZiBpbnZhbGlkIHJlcXVlc3RzLiBEZWZhdWx0cyB0byAxMCBtaW51dGVzICovXG4gIGludGVydmFsPzogbnVtYmVyXG4gIC8qKiBXaGVuIHRoZSB0aW1lb3V0IGZvciB0aGUgYnVja2V0IGhhcyBzdGFydGVkIGF0LiAqL1xuICByZXNldEF0PzogbnVtYmVyXG4gIC8qKiBob3cgc2FmZSB0byBiZSBmcm9tIG1heC4gRGVmYXVsdHMgdG8gMSAqL1xuICBzYWZldHk/OiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0IHN0YXR1c2VzIHRoYXQgY291bnQgYXMgYW4gaW52YWxpZCByZXF1ZXN0LiAqL1xuICBlcnJvclN0YXR1c2VzPzogbnVtYmVyW11cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCB3ZXJlIHJlcXVlc3RlZCBmcm9tIHRoaXMgYnVja2V0LiAqL1xuICByZXF1ZXN0ZWQ/OiBudW1iZXJcbiAgLyoqIFRoZSBsb2dnZXIgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHRoZSBidWNrZXQgKi9cbiAgbG9nZ2VyPzogUGljazx0eXBlb2YgbG9nZ2VyLCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyB8ICdmYXRhbCc+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52YWxpZFJlcXVlc3RCdWNrZXQge1xuICAvKiogY3VycmVudCBpbnZhbGlkIGFtb3VudCAqL1xuICBpbnZhbGlkUmVxdWVzdHM6IG51bWJlclxuICAvKiogbWF4IGludmFsaWQgcmVxdWVzdHMgYWxsb3dlZCB1bnRpbCBiYW4uIERlZmF1bHRzIHRvIDEwLDAwMCAqL1xuICBtYXg6IG51bWJlclxuICAvKiogVGhlIHRpbWUgdGhhdCBkaXNjb3JkIGFsbG93cyB0byBtYWtlIHRoZSBtYXggbnVtYmVyIG9mIGludmFsaWQgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDEwIG1pbnV0ZXMgKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogV2hlbiB0aGUgdGltZW91dCBmb3IgdGhpcyBidWNrZXQgaGFzIHN0YXJ0ZWQgYXQuICovXG4gIHJlc2V0QXQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICAvKiogaG93IHNhZmUgdG8gYmUgZnJvbSBtYXguIERlZmF1bHRzIHRvIDEgKi9cbiAgc2FmZXR5OiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0IHN0YXR1c2VzIHRoYXQgY291bnQgYXMgYW4gaW52YWxpZCByZXF1ZXN0LiAqL1xuICBlcnJvclN0YXR1c2VzOiBudW1iZXJbXVxuICAvKiogVGhlIGFtb3VudCBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgcmVxdWVzdGVkIGZyb20gdGhpcyBidWNrZXQuICovXG4gIGFjdGl2ZVJlcXVlc3RzOiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgcGVuZGluZy4gKi9cbiAgd2FpdGluZzogQXJyYXk8KHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgd2FpdGluZyBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3Npbmc6IGJvb2xlYW5cbiAgLyoqIFRoZSBsb2dnZXIgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHRoZSBidWNrZXQgKi9cbiAgbG9nZ2VyOiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cblxuICAvKiogR2l2ZXMgdGhlIG51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgYWxsb3dlZC4gKi9cbiAgcmVxdWVzdHNBbGxvd2VkOiAoKSA9PiBudW1iZXJcbiAgLyoqIENoZWNrcyBpZiBhIHJlcXVlc3QgaXMgYWxsb3dlZCBhdCB0aGlzIHRpbWUuICovXG4gIGlzUmVxdWVzdEFsbG93ZWQ6ICgpID0+IGJvb2xlYW5cbiAgLyoqIFdhaXRzIHVudGlsIGEgcmVxdWVzdCBpcyBhdmFpbGFibGUgKi9cbiAgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZTogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogQmVnaW5zIHByb2Nlc3NpbmcgdGhlIHdhaXRpbmcgcXVldWUgb2YgcmVxdWVzdHMuICovXG4gIHByb2Nlc3NXYWl0aW5nOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBIYW5kbGVyIGZvciB3aGVuZXZlciBhIHJlcXVlc3QgaXMgdmFsaWRhdGVkLiBUaGlzIHNob3VsZCB1cGRhdGUgdGhlIHJlcXVlc3RlZCB2YWx1ZXMgb3IgdHJpZ2dlciBhbnkgb3RoZXIgbmVjZXNzYXJ5IHN0dWZmLiAqL1xuICBoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0OiAoY29kZTogbnVtYmVyLCBzaGFyZWRTY29wZTogYm9vbGVhbikgPT4gdm9pZFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUludmFsaWRSZXF1ZXN0QnVja2V0Iiwib3B0aW9ucyIsImJ1Y2tldCIsImludmFsaWRSZXF1ZXN0cyIsImN1cnJlbnQiLCJtYXgiLCJpbnRlcnZhbCIsInJlc2V0QXQiLCJzYWZldHkiLCJlcnJvclN0YXR1c2VzIiwiYWN0aXZlUmVxdWVzdHMiLCJyZXF1ZXN0ZWQiLCJwcm9jZXNzaW5nIiwibG9nZ2VyIiwid2FpdGluZyIsInJlcXVlc3RzQWxsb3dlZCIsInVuZGVmaW5lZCIsIkRhdGUiLCJub3ciLCJpc1JlcXVlc3RBbGxvd2VkIiwid2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicHVzaCIsInByb2Nlc3NXYWl0aW5nIiwibGVuZ3RoIiwiaW5mbyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ3YXJuIiwiZGVsYXkiLCJzaGlmdCIsImhhbmRsZUNvbXBsZXRlZFJlcXVlc3QiLCJjb2RlIiwic2hhcmVkU2NvcGUiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTZ0JBOzs7ZUFBQUE7Ozt1QkFUYztBQVN2QixTQUFTQSwyQkFBMkJDLE9BQW9DO0lBQzdFLE1BQU1DLFNBQStCO1FBQ25DQyxpQkFBaUJGLFFBQVFHLE9BQU8sSUFBSTtRQUNwQ0MsS0FBS0osUUFBUUksR0FBRyxJQUFJO1FBQ3BCQyxVQUFVTCxRQUFRSyxRQUFRLElBQUk7UUFDOUJDLFNBQVNOLFFBQVFNLE9BQU87UUFDeEJDLFFBQVFQLFFBQVFPLE1BQU0sSUFBSTtRQUMxQkMsZUFBZVIsUUFBUVEsYUFBYSxJQUFJO1lBQUM7WUFBSztZQUFLO1NBQUk7UUFDdkRDLGdCQUFnQlQsUUFBUVUsU0FBUyxJQUFJO1FBQ3JDQyxZQUFZO1FBQ1pDLFFBQVFaLFFBQVFZLE1BQU0sSUFBSUEsYUFBTTtRQUVoQ0MsU0FBUyxFQUFFO1FBRVhDLGlCQUFpQjtZQUNmLElBQUliLE9BQU9LLE9BQU8sS0FBS1MsYUFBYUMsS0FBS0MsR0FBRyxNQUFNaEIsT0FBT0ssT0FBTyxFQUFFO2dCQUNoRUwsT0FBT0MsZUFBZSxHQUFHO2dCQUN6QkQsT0FBT0ssT0FBTyxHQUFHVSxLQUFLQyxHQUFHLEtBQUtoQixPQUFPSSxRQUFRO1lBQy9DO1lBRUEsT0FBT0osT0FBT0csR0FBRyxHQUFHSCxPQUFPQyxlQUFlLEdBQUdELE9BQU9RLGNBQWMsR0FBR1IsT0FBT00sTUFBTTtRQUNwRjtRQUVBVyxrQkFBa0I7WUFDaEIsT0FBT2pCLE9BQU9hLGVBQWUsS0FBSztRQUNwQztRQUVBSywyQkFBMkI7WUFDekIsT0FBTyxNQUFNLElBQUlDLFFBQVEsT0FBT0M7Z0JBQzlCLDJGQUEyRjtnQkFDM0YsSUFBSXBCLE9BQU9pQixnQkFBZ0IsSUFBSTtvQkFDN0JqQixPQUFPUSxjQUFjLElBQUk7b0JBQ3pCWTtnQkFDRixPQUFPO29CQUNMcEIsT0FBT1ksT0FBTyxDQUFDUyxJQUFJLENBQUNEO29CQUNwQixNQUFNcEIsT0FBT3NCLGNBQWM7Z0JBQzdCO1lBQ0Y7UUFDRjtRQUVBQSxnQkFBZ0I7WUFDZCxxRUFBcUU7WUFDckUsSUFBSXRCLE9BQU9VLFVBQVUsRUFBRTtZQUV2QixnREFBZ0Q7WUFDaERWLE9BQU9VLFVBQVUsR0FBRztZQUVwQixNQUFPVixPQUFPWSxPQUFPLENBQUNXLE1BQU0sR0FBRyxFQUFHO2dCQUNoQ3ZCLE9BQU9XLE1BQU0sQ0FBQ2EsSUFBSSxDQUNoQixDQUFDLDZEQUE2RCxFQUFFeEIsT0FBT1ksT0FBTyxDQUFDVyxNQUFNLENBQUMsOEJBQThCLEVBQUVFLEtBQUtDLFNBQVMsQ0FDbEkxQixTQUNDO2dCQUdMLElBQUksQ0FBQ0EsT0FBT2lCLGdCQUFnQixNQUFNakIsT0FBT0ssT0FBTyxLQUFLUyxXQUFXO29CQUM5RGQsT0FBT1csTUFBTSxDQUFDZ0IsSUFBSSxDQUNoQixDQUFDLDBGQUEwRixFQUN6RjNCLE9BQU9ZLE9BQU8sQ0FBQ1csTUFBTSxDQUN0QixtQkFBbUIsRUFBRUUsS0FBS0MsU0FBUyxDQUFDMUIsU0FBUztvQkFFaEQsTUFBTTRCLElBQUFBLFlBQUssRUFBQzVCLE9BQU9LLE9BQU8sR0FBR1UsS0FBS0MsR0FBRztnQkFDdkM7Z0JBRUFoQixPQUFPUSxjQUFjLElBQUk7Z0JBQ3pCLHFDQUFxQztnQkFDckNSLE9BQU9ZLE9BQU8sQ0FBQ2lCLEtBQUs7WUFDdEI7WUFFQSxzRUFBc0U7WUFDdEU3QixPQUFPVSxVQUFVLEdBQUc7UUFDdEI7UUFFQW9CLHdCQUF3QixTQUFVQyxJQUFJLEVBQUVDLFdBQVc7WUFDakQsK0RBQStEO1lBQy9EaEMsT0FBT1EsY0FBYyxJQUFJO1lBQ3pCLCtEQUErRDtZQUMvRCxJQUFJLENBQUNSLE9BQU9PLGFBQWEsQ0FBQzBCLFFBQVEsQ0FBQ0YsT0FBTztZQUMxQyx5Q0FBeUM7WUFDekMsSUFBSUEsU0FBUyxPQUFPQyxhQUFhO1lBRWpDLDJCQUEyQjtZQUMzQixJQUFJaEMsT0FBT0ssT0FBTyxLQUFLUyxXQUFXO2dCQUNoQ2QsT0FBT0ssT0FBTyxHQUFHVSxLQUFLQyxHQUFHLEtBQUtoQixPQUFPSSxRQUFRO1lBQy9DO1lBRUFKLE9BQU9DLGVBQWUsSUFBSTtZQUMxQkQsT0FBT1csTUFBTSxDQUFDZ0IsSUFBSSxDQUFDLENBQUMsaUZBQWlGLEVBQUUzQixPQUFPQyxlQUFlLEVBQUU7UUFDakk7SUFDRjtJQUVBLE9BQU9EO0FBQ1QifQ==
|