@gomomento/sdk-core 1.110.2 → 1.111.0
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.
@@ -6,9 +6,12 @@ import { PutWebhookCallOptions } from '../../../utils/webhook-call-options';
|
|
6
6
|
export declare abstract class AbstractTopicClient implements ITopicClient {
|
7
7
|
protected readonly logger: MomentoLogger;
|
8
8
|
protected readonly pubsubClients: IPubsubClient[];
|
9
|
+
protected readonly pubsubStreamClients: IPubsubClient[];
|
10
|
+
protected readonly pubsubUnaryClients: IPubsubClient[];
|
9
11
|
protected readonly webhookClient: IWebhookClient;
|
10
|
-
private
|
11
|
-
|
12
|
+
private nextPubsubStreamClientIndex;
|
13
|
+
private nextPubsubUnaryClientIndex;
|
14
|
+
protected constructor(logger: MomentoLogger, pubsubStreamClients: IPubsubClient[], pubsubUnaryClients: IPubsubClient[], webhookClient: IWebhookClient);
|
12
15
|
/**
|
13
16
|
* Publishes a value to a topic.
|
14
17
|
*
|
@@ -85,5 +88,6 @@ export declare abstract class AbstractTopicClient implements ITopicClient {
|
|
85
88
|
* {@link RotateWebhookSecret.Error} on failure.
|
86
89
|
*/
|
87
90
|
rotateWebhookSecret(cacheName: string, webhookName: string): Promise<RotateWebhookSecret.Response>;
|
88
|
-
protected
|
91
|
+
protected getNextPublishClient(): IPubsubClient;
|
92
|
+
protected getNextSubscribeClient(): IPubsubClient;
|
89
93
|
}
|
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractTopicClient = void 0;
|
4
4
|
const index_1 = require("../../../index");
|
5
5
|
class AbstractTopicClient {
|
6
|
-
constructor(logger,
|
7
|
-
this.
|
6
|
+
constructor(logger, pubsubStreamClients, pubsubUnaryClients, webhookClient) {
|
7
|
+
this.nextPubsubStreamClientIndex = 0;
|
8
|
+
this.nextPubsubUnaryClientIndex = 0;
|
8
9
|
this.logger = logger;
|
9
|
-
this.
|
10
|
+
this.pubsubStreamClients = pubsubStreamClients;
|
11
|
+
this.pubsubUnaryClients = pubsubUnaryClients;
|
10
12
|
this.webhookClient = webhookClient;
|
11
13
|
}
|
12
14
|
/**
|
@@ -20,7 +22,7 @@ class AbstractTopicClient {
|
|
20
22
|
* {@link TopicPublish.Error} on failure.
|
21
23
|
*/
|
22
24
|
async publish(cacheName, topicName, value) {
|
23
|
-
return await this.
|
25
|
+
return await this.getNextPublishClient().publish(cacheName, topicName, value);
|
24
26
|
}
|
25
27
|
/**
|
26
28
|
* Subscribes to a topic.
|
@@ -35,7 +37,7 @@ class AbstractTopicClient {
|
|
35
37
|
* {@link TopicSubscribe.Error} on failure.
|
36
38
|
*/
|
37
39
|
async subscribe(cacheName, topicName, options) {
|
38
|
-
return await this.
|
40
|
+
return await this.getNextSubscribeClient().subscribe(cacheName, topicName, options);
|
39
41
|
}
|
40
42
|
/**
|
41
43
|
* Deletes a webhook
|
@@ -113,12 +115,18 @@ class AbstractTopicClient {
|
|
113
115
|
webhookName,
|
114
116
|
});
|
115
117
|
}
|
116
|
-
|
117
|
-
const client = this.
|
118
|
-
this.
|
119
|
-
(this.
|
118
|
+
getNextPublishClient() {
|
119
|
+
const client = this.pubsubUnaryClients[this.nextPubsubUnaryClientIndex];
|
120
|
+
this.nextPubsubUnaryClientIndex =
|
121
|
+
(this.nextPubsubUnaryClientIndex + 1) % this.pubsubUnaryClients.length;
|
122
|
+
return client;
|
123
|
+
}
|
124
|
+
getNextSubscribeClient() {
|
125
|
+
const client = this.pubsubStreamClients[this.nextPubsubStreamClientIndex];
|
126
|
+
this.nextPubsubStreamClientIndex =
|
127
|
+
(this.nextPubsubStreamClientIndex + 1) % this.pubsubStreamClients.length;
|
120
128
|
return client;
|
121
129
|
}
|
122
130
|
}
|
123
131
|
exports.AbstractTopicClient = AbstractTopicClient;
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RUb3BpY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3B1YnN1Yi9BYnN0cmFjdFRvcGljQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQVd3QjtBQUt4QixNQUFzQixtQkFBbUI7SUFNdkMsWUFDRSxNQUFxQixFQUNyQixhQUE4QixFQUM5QixhQUE2QjtRQUx2QiwwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFPaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQTBCO1FBRTFCLE9BQU8sTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQzdDLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUNwQixTQUFpQixFQUNqQixTQUFpQixFQUNqQixPQUE2QjtRQUU3QixPQUFPLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUMvQyxTQUFTLEVBQ1QsU0FBUyxFQUNULE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FDeEIsU0FBaUIsRUFDakIsV0FBbUI7UUFFbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQWlCO1FBQ3pDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUNyQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixPQUE4QjtRQUU5QixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ2hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLEtBQUssR0FBRyxJQUFJLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ3pDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixFQUFFLEVBQUU7Z0JBQ0YsU0FBUztnQkFDVCxXQUFXO2FBQ1o7WUFDRCxXQUFXLEVBQUUsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCLENBQzNCLFNBQWlCLEVBQ2pCLFdBQW1CO1FBRW5CLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQixDQUM5QixTQUFpQixFQUNqQixXQUFtQjtRQUVuQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRCxTQUFTO1lBQ1QsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMscUJBQXFCO1lBQ3hCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQy9ELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQWxLRCxrREFrS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lUb3BpY0NsaWVudH0gZnJvbSAnLi4vLi4vLi4vY2xpZW50cy9JVG9waWNDbGllbnQnO1xuaW1wb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNTdWJzY3JpYmUsXG4gIExpc3RXZWJob29rcyxcbiAgUHV0V2ViaG9vayxcbiAgRGVsZXRlV2ViaG9vayxcbiAgR2V0V2ViaG9va1NlY3JldCxcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUm90YXRlV2ViaG9va1NlY3JldCxcbn0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHtJUHVic3ViQ2xpZW50fSBmcm9tICcuL0lQdWJzdWJDbGllbnQnO1xuaW1wb3J0IHtJV2ViaG9va0NsaWVudH0gZnJvbSAnLi9JV2ViaG9va0NsaWVudCc7XG5pbXBvcnQge1B1dFdlYmhvb2tDYWxsT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd2ViaG9vay1jYWxsLW9wdGlvbnMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUb3BpY0NsaWVudCBpbXBsZW1lbnRzIElUb3BpY0NsaWVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXI6IE1vbWVudG9Mb2dnZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBwdWJzdWJDbGllbnRzOiBJUHVic3ViQ2xpZW50W107XG4gIHByb3RlY3RlZCByZWFkb25seSB3ZWJob29rQ2xpZW50OiBJV2ViaG9va0NsaWVudDtcbiAgcHJpdmF0ZSBuZXh0UHVic3ViQ2xpZW50SW5kZXggPSAwO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBsb2dnZXI6IE1vbWVudG9Mb2dnZXIsXG4gICAgcHVic3ViQ2xpZW50czogSVB1YnN1YkNsaWVudFtdLFxuICAgIHdlYmhvb2tDbGllbnQ6IElXZWJob29rQ2xpZW50XG4gICkge1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMucHVic3ViQ2xpZW50cyA9IHB1YnN1YkNsaWVudHM7XG4gICAgdGhpcy53ZWJob29rQ2xpZW50ID0gd2ViaG9va0NsaWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdWJsaXNoZXMgYSB2YWx1ZSB0byBhIHRvcGljLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGNvbnRhaW5pbmcgdGhlIHRvcGljIHRvIHB1Ymxpc2ggdG8uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0b3BpY05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdG9waWMgdG8gcHVibGlzaCB0by5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBVaW50OEFycmF5fSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBwdWJsaXNoLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUb3BpY1B1Ymxpc2guUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBUb3BpY1B1Ymxpc2guU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFRvcGljUHVibGlzaC5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0TmV4dFB1YnN1YkNsaWVudCgpLnB1Ymxpc2goXG4gICAgICBjYWNoZU5hbWUsXG4gICAgICB0b3BpY05hbWUsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBhIHRvcGljLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGNvbnRhaW5pbmcgdGhlIHRvcGljIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyB0byBzdWJzY3JpYmUgdG8uXG4gICAqIEBwYXJhbSB7U3Vic2NyaWJlQ2FsbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHN1YnNjcmlwdGlvbi4gRGVmYXVsdHMgdG8gbm8tb3AgaGFuZGxlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMub25JdGVtIC0gVGhlIGNhbGxiYWNrIHRvIGludm9rZSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLm9uRXJyb3IgLSBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYW4gZXJyb3IgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbn0gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0TmV4dFB1YnN1YkNsaWVudCgpLnN1YnNjcmliZShcbiAgICAgIGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZSxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSB3ZWJob29rXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERlbGV0ZVdlYmhvb2suUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBEZWxldGVXZWJob29rLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBEZWxldGVXZWJob29rLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlbGV0ZVdlYmhvb2soXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPERlbGV0ZVdlYmhvb2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LmRlbGV0ZVdlYmhvb2soe2NhY2hlTmFtZSwgd2ViaG9va05hbWV9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0cyB3ZWJob29rcyBhc3NvY2lhdGVkIHdpdGggYSBjYWNoZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIGNhY2hlIHRvIGxpc3Qgd2ViaG9va3MgYXNzb2NpYXRlZCB3aXRoIGl0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPExpc3RXZWJob29rcy5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIExpc3RXZWJob29rcy5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgTGlzdFdlYmhvb2tzLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxpc3RXZWJob29rcyhjYWNoZU5hbWU6IHN0cmluZyk6IFByb21pc2U8TGlzdFdlYmhvb2tzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5saXN0V2ViaG9va3MoY2FjaGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHdlYmhvb2ssIG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgdG8gYXNzb2NpYXRlIHRoZSB3ZWJob29rIHdpdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtQdXRXZWJob29rQ2FsbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyBmb3IgdGhlIHdlYmhvb2sgdG8gbGlzdGVuIHRvXG4gICAqIEBwYXJhbSB7V2ViaG9va0Rlc3RpbmF0aW9uIHwgc3RyaW5nfSB3ZWJob29rRGVzdGluYXRpb24gLSBUaGUgdXJsIHRvIGFzc29jaWF0ZSB0aGUgd2ViaG9vayB3aXRoXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFB1dFdlYmhvb2suUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBQdXRXZWJob29rLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBQdXRXZWJob29rLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1dFdlYmhvb2soXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBQdXRXZWJob29rQ2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxQdXRXZWJob29rLlJlc3BvbnNlPiB7XG4gICAgbGV0IF9kZXN0ID0gb3B0aW9ucy5kZXN0aW5hdGlvbjtcbiAgICBpZiAodHlwZW9mIF9kZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgX2Rlc3QgPSBuZXcgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbihfZGVzdCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQucHV0V2ViaG9vayh7XG4gICAgICB0b3BpY05hbWU6IG9wdGlvbnMudG9waWNOYW1lLFxuICAgICAgaWQ6IHtcbiAgICAgICAgY2FjaGVOYW1lLFxuICAgICAgICB3ZWJob29rTmFtZSxcbiAgICAgIH0sXG4gICAgICBkZXN0aW5hdGlvbjogX2Rlc3QsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2lnbmluZyBzZWNyZXQgZm9yIGEgd2ViaG9va1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxHZXRXZWJob29rU2VjcmV0LlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgR2V0V2ViaG9va1NlY3JldC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgR2V0V2ViaG9va1NlY3JldC5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRXZWJob29rU2VjcmV0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxHZXRXZWJob29rU2VjcmV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5nZXRXZWJob29rU2VjcmV0KHtjYWNoZU5hbWUsIHdlYmhvb2tOYW1lfSk7XG4gIH1cblxuICAvKipcbiAgICogUm90YXRlcyB0aGUgc2lnbmluZyBzZWNyZXQgZm9yIGEgd2ViaG9va1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSb3RhdGVXZWJob29rU2VjcmV0LlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgUm90YXRlV2ViaG9va1NlY3JldC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgUm90YXRlV2ViaG9va1NlY3JldC5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyByb3RhdGVXZWJob29rU2VjcmV0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSb3RhdGVXZWJob29rU2VjcmV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5yb3RhdGVXZWJob29rU2VjcmV0KHtcbiAgICAgIGNhY2hlTmFtZSxcbiAgICAgIHdlYmhvb2tOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE5leHRQdWJzdWJDbGllbnQoKTogSVB1YnN1YkNsaWVudCB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5wdWJzdWJDbGllbnRzW3RoaXMubmV4dFB1YnN1YkNsaWVudEluZGV4XTtcbiAgICB0aGlzLm5leHRQdWJzdWJDbGllbnRJbmRleCA9XG4gICAgICAodGhpcy5uZXh0UHVic3ViQ2xpZW50SW5kZXggKyAxKSAlIHRoaXMucHVic3ViQ2xpZW50cy5sZW5ndGg7XG4gICAgcmV0dXJuIGNsaWVudDtcbiAgfVxufVxuIl19
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RUb3BpY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3B1YnN1Yi9BYnN0cmFjdFRvcGljQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQVd3QjtBQUt4QixNQUFzQixtQkFBbUI7SUFTdkMsWUFDRSxNQUFxQixFQUNyQixtQkFBb0MsRUFDcEMsa0JBQW1DLEVBQ25DLGFBQTZCO1FBUHZCLGdDQUEyQixHQUFHLENBQUMsQ0FBQztRQUNoQywrQkFBMEIsR0FBRyxDQUFDLENBQUM7UUFRckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQy9DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FDbEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsS0FBMEI7UUFFMUIsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FDOUMsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQ3BCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLE9BQTZCO1FBRTdCLE9BQU8sTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQ2xELFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsYUFBYSxDQUN4QixTQUFpQixFQUNqQixXQUFtQjtRQUVuQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDekMsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQ3JCLFNBQWlCLEVBQ2pCLFdBQW1CLEVBQ25CLE9BQThCO1FBRTlCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsS0FBSyxHQUFHLElBQUksaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDekMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLEVBQUUsRUFBRTtnQkFDRixTQUFTO2dCQUNULFdBQVc7YUFDWjtZQUNELFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDM0IsU0FBaUIsRUFDakIsV0FBbUI7UUFFbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQzlCLFNBQWlCLEVBQ2pCLFdBQW1CO1FBRW5CLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1lBQ2xELFNBQVM7WUFDVCxXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLDBCQUEwQjtZQUM3QixDQUFDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxzQkFBc0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQywyQkFBMkI7WUFDOUIsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMzRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUE5S0Qsa0RBOEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVG9waWNDbGllbnR9IGZyb20gJy4uLy4uLy4uL2NsaWVudHMvSVRvcGljQ2xpZW50JztcbmltcG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBMaXN0V2ViaG9va3MsXG4gIFB1dFdlYmhvb2ssXG4gIERlbGV0ZVdlYmhvb2ssXG4gIEdldFdlYmhvb2tTZWNyZXQsXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFJvdGF0ZVdlYmhvb2tTZWNyZXQsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SVdlYmhvb2tDbGllbnR9IGZyb20gJy4vSVdlYmhvb2tDbGllbnQnO1xuaW1wb3J0IHtQdXRXZWJob29rQ2FsbE9wdGlvbnN9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3dlYmhvb2stY2FsbC1vcHRpb25zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VG9waWNDbGllbnQgaW1wbGVtZW50cyBJVG9waWNDbGllbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHVic3ViQ2xpZW50czogSVB1YnN1YkNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHVic3ViU3RyZWFtQ2xpZW50czogSVB1YnN1YkNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHVic3ViVW5hcnlDbGllbnRzOiBJUHVic3ViQ2xpZW50W107XG4gIHByb3RlY3RlZCByZWFkb25seSB3ZWJob29rQ2xpZW50OiBJV2ViaG9va0NsaWVudDtcbiAgcHJpdmF0ZSBuZXh0UHVic3ViU3RyZWFtQ2xpZW50SW5kZXggPSAwO1xuICBwcml2YXRlIG5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4ID0gMDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyLFxuICAgIHB1YnN1YlN0cmVhbUNsaWVudHM6IElQdWJzdWJDbGllbnRbXSxcbiAgICBwdWJzdWJVbmFyeUNsaWVudHM6IElQdWJzdWJDbGllbnRbXSxcbiAgICB3ZWJob29rQ2xpZW50OiBJV2ViaG9va0NsaWVudFxuICApIHtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgICB0aGlzLnB1YnN1YlN0cmVhbUNsaWVudHMgPSBwdWJzdWJTdHJlYW1DbGllbnRzO1xuICAgIHRoaXMucHVic3ViVW5hcnlDbGllbnRzID0gcHVic3ViVW5hcnlDbGllbnRzO1xuICAgIHRoaXMud2ViaG9va0NsaWVudCA9IHdlYmhvb2tDbGllbnQ7XG4gIH1cblxuICAvKipcbiAgICogUHVibGlzaGVzIGEgdmFsdWUgdG8gYSB0b3BpYy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSB0byBjb250YWluaW5nIHRoZSB0b3BpYyB0byBwdWJsaXNoIHRvLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9waWNOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRvcGljIHRvIHB1Ymxpc2ggdG8uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgVWludDhBcnJheX0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gcHVibGlzaC5cbiAgICogQHJldHVybnMge1Byb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgVG9waWNQdWJsaXNoLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBUb3BpY1B1Ymxpc2guRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmdldE5leHRQdWJsaXNoQ2xpZW50KCkucHVibGlzaChcbiAgICAgIGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZSxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGEgdG9waWMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgdG8gY29udGFpbmluZyB0aGUgdG9waWMgdG8gc3Vic2NyaWJlIHRvLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9waWNOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRvcGljIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHtTdWJzY3JpYmVDYWxsT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgc3Vic2NyaXB0aW9uLiBEZWZhdWx0cyB0byBuby1vcCBoYW5kbGVycy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb3B0aW9ucy5vbkl0ZW0gLSBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZGF0YSBpcyByZWNlaXZlZC4gRGVmYXVsdHMgdG8gbm8tb3AuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMub25FcnJvciAtIFRoZSBjYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhbiBlcnJvciBpcyByZWNlaXZlZC4gRGVmYXVsdHMgdG8gbm8tb3AuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgVG9waWNTdWJzY3JpYmUuU3Vic2NyaXB0aW9ufSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgVG9waWNTdWJzY3JpYmUuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3Vic2NyaWJlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFN1YnNjcmliZUNhbGxPcHRpb25zXG4gICk6IFByb21pc2U8VG9waWNTdWJzY3JpYmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXROZXh0U3Vic2NyaWJlQ2xpZW50KCkuc3Vic2NyaWJlKFxuICAgICAgY2FjaGVOYW1lLFxuICAgICAgdG9waWNOYW1lLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhIHdlYmhvb2tcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSBhc3NvY2lhdGVkIHdpdGggdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHJldHVybnMge1Byb21pc2U8RGVsZXRlV2ViaG9vay5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIERlbGV0ZVdlYmhvb2suU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIERlbGV0ZVdlYmhvb2suRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlV2ViaG9vayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8RGVsZXRlV2ViaG9vay5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQuZGVsZXRlV2ViaG9vayh7Y2FjaGVOYW1lLCB3ZWJob29rTmFtZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIHdlYmhvb2tzIGFzc29jaWF0ZWQgd2l0aCBhIGNhY2hlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgY2FjaGUgdG8gbGlzdCB3ZWJob29rcyBhc3NvY2lhdGVkIHdpdGggaXRcbiAgICogQHJldHVybnMge1Byb21pc2U8TGlzdFdlYmhvb2tzLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgTGlzdFdlYmhvb2tzLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBMaXN0V2ViaG9va3MuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbGlzdFdlYmhvb2tzKGNhY2hlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxMaXN0V2ViaG9va3MuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50Lmxpc3RXZWJob29rcyhjYWNoZU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgd2ViaG9vaywgb3IgdXBkYXRlcyBhbiBleGlzdGluZyBvbmVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSB0byBhc3NvY2lhdGUgdGhlIHdlYmhvb2sgd2l0aFxuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge1B1dFdlYmhvb2tDYWxsT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9waWNOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRvcGljIGZvciB0aGUgd2ViaG9vayB0byBsaXN0ZW4gdG9cbiAgICogQHBhcmFtIHtXZWJob29rRGVzdGluYXRpb24gfCBzdHJpbmd9IHdlYmhvb2tEZXN0aW5hdGlvbiAtIFRoZSB1cmwgdG8gYXNzb2NpYXRlIHRoZSB3ZWJob29rIHdpdGhcbiAgICogQHJldHVybnMge1Byb21pc2U8UHV0V2ViaG9vay5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFB1dFdlYmhvb2suU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFB1dFdlYmhvb2suRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcHV0V2ViaG9vayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFB1dFdlYmhvb2tDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFB1dFdlYmhvb2suUmVzcG9uc2U+IHtcbiAgICBsZXQgX2Rlc3QgPSBvcHRpb25zLmRlc3RpbmF0aW9uO1xuICAgIGlmICh0eXBlb2YgX2Rlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICBfZGVzdCA9IG5ldyBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uKF9kZXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5wdXRXZWJob29rKHtcbiAgICAgIHRvcGljTmFtZTogb3B0aW9ucy50b3BpY05hbWUsXG4gICAgICBpZDoge1xuICAgICAgICBjYWNoZU5hbWUsXG4gICAgICAgIHdlYmhvb2tOYW1lLFxuICAgICAgfSxcbiAgICAgIGRlc3RpbmF0aW9uOiBfZGVzdCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzaWduaW5nIHNlY3JldCBmb3IgYSB3ZWJob29rXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEdldFdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBHZXRXZWJob29rU2VjcmV0LlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBHZXRXZWJob29rU2VjcmV0LkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFdlYmhvb2tTZWNyZXQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPEdldFdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LmdldFdlYmhvb2tTZWNyZXQoe2NhY2hlTmFtZSwgd2ViaG9va05hbWV9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3RhdGVzIHRoZSBzaWduaW5nIHNlY3JldCBmb3IgYSB3ZWJob29rXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJvdGF0ZVdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBSb3RhdGVXZWJob29rU2VjcmV0LlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBSb3RhdGVXZWJob29rU2VjcmV0LkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJvdGF0ZVdlYmhvb2tTZWNyZXQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFJvdGF0ZVdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LnJvdGF0ZVdlYmhvb2tTZWNyZXQoe1xuICAgICAgY2FjaGVOYW1lLFxuICAgICAgd2ViaG9va05hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TmV4dFB1Ymxpc2hDbGllbnQoKTogSVB1YnN1YkNsaWVudCB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5wdWJzdWJVbmFyeUNsaWVudHNbdGhpcy5uZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleF07XG4gICAgdGhpcy5uZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleCA9XG4gICAgICAodGhpcy5uZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleCArIDEpICUgdGhpcy5wdWJzdWJVbmFyeUNsaWVudHMubGVuZ3RoO1xuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TmV4dFN1YnNjcmliZUNsaWVudCgpOiBJUHVic3ViQ2xpZW50IHtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLnB1YnN1YlN0cmVhbUNsaWVudHNbdGhpcy5uZXh0UHVic3ViU3RyZWFtQ2xpZW50SW5kZXhdO1xuICAgIHRoaXMubmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4ID1cbiAgICAgICh0aGlzLm5leHRQdWJzdWJTdHJlYW1DbGllbnRJbmRleCArIDEpICUgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzLmxlbmd0aDtcbiAgICByZXR1cm4gY2xpZW50O1xuICB9XG59XG4iXX0=
|