stream-chat-angular 4.68.0 → 4.68.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export const version = '4.68.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICc0LjY4LjAnO1xuIl19
1
+ export const version = '4.68.1';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICc0LjY4LjEnO1xuIl19
@@ -19,6 +19,7 @@ export class ChatClientService {
19
19
  this.pendingInvitesSubject = new BehaviorSubject([]);
20
20
  this.userSubject = new ReplaySubject(1);
21
21
  this.subscriptions = [];
22
+ this.trackPendingChannelInvites = true;
22
23
  this.events$ = this.notificationSubject.asObservable();
23
24
  this.connectionState$ = this.connectionStateSubject.asObservable();
24
25
  this.appSettings$ = this.appSettingsSubject.asObservable();
@@ -38,21 +39,23 @@ export class ChatClientService {
38
39
  * @param clientOptions Setting to provide to the Stream client instance
39
40
  */
40
41
  init(apiKey, userOrId, userTokenOrProvider, clientOptions) {
41
- var _a;
42
+ var _a, _b;
42
43
  return __awaiter(this, void 0, void 0, function* () {
44
+ this.trackPendingChannelInvites =
45
+ (clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.trackPendingChannelInvites) !== false;
43
46
  this.chatClient = StreamChat.getInstance(apiKey, clientOptions);
44
47
  this.chatClient.recoverStateOnReconnect = false;
45
48
  this.chatClient.devToken;
46
49
  let result;
47
50
  yield this.ngZone.runOutsideAngular(() => __awaiter(this, void 0, void 0, function* () {
48
- var _b;
51
+ var _c;
49
52
  const user = typeof userOrId === 'string' ? { id: userOrId } : userOrId;
50
53
  try {
51
- result = yield ((_b = {
54
+ result = yield ((_c = {
52
55
  guest: () => this.chatClient.setGuestUser(user),
53
56
  anonymous: () => this.chatClient.connectAnonymousUser(),
54
57
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
55
- }[`${userTokenOrProvider}`]) !== null && _b !== void 0 ? _b : (() => this.chatClient.connectUser(user, userTokenOrProvider)))();
58
+ }[`${userTokenOrProvider}`]) !== null && _c !== void 0 ? _c : (() => this.chatClient.connectUser(user, userTokenOrProvider)))();
56
59
  }
57
60
  catch (error) {
58
61
  this.notificationService.addPermanentNotification('streamChat.Error connecting to chat, refresh the page to try again.', 'error');
@@ -64,9 +67,14 @@ export class ChatClientService {
64
67
  this.chatClient.setUserAgent(`${sdkPrefix}-${version}-${this.chatClient.getUserAgent()}`);
65
68
  }
66
69
  }));
67
- const channels = yield this.chatClient.queryChannels({ invite: 'pending' }, // TODO: find out why we need this typecast
68
- {}, { user_id: (_a = this.chatClient.user) === null || _a === void 0 ? void 0 : _a.id });
69
- this.pendingInvitesSubject.next(channels);
70
+ if (((_a = this.chatClient.user) === null || _a === void 0 ? void 0 : _a.id) && this.trackPendingChannelInvites) {
71
+ const channels = yield this.chatClient.queryChannels({
72
+ invite: 'pending',
73
+ members: { $in: [(_b = this.chatClient.user) === null || _b === void 0 ? void 0 : _b.id] },
74
+ } // TODO: find out why we need this typecast
75
+ );
76
+ this.pendingInvitesSubject.next(channels);
77
+ }
70
78
  this.appSettingsSubject.next(undefined);
71
79
  this.subscriptions.push(this.chatClient.on((e) => {
72
80
  this.updateUser(e);
@@ -149,6 +157,9 @@ export class ChatClientService {
149
157
  }
150
158
  updatePendingInvites(e) {
151
159
  var _a, _b, _c;
160
+ if (!this.trackPendingChannelInvites) {
161
+ return;
162
+ }
152
163
  if (((_b = (_a = e.member) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id) === ((_c = this.chatClient.user) === null || _c === void 0 ? void 0 : _c.id) && e.channel) {
153
164
  const pendingInvites = this.pendingInvitesSubject.getValue();
154
165
  if (e.type === 'notification.invited') {
@@ -208,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
208
219
  providedIn: 'root',
209
220
  }]
210
221
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.NotificationService }]; } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBV2xFLE9BQU8sRUFBc0IsVUFBVSxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFTdEM7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBMkM1QixZQUNVLE1BQWMsRUFDZCxtQkFBd0M7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFmMUMsd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzNELDJCQUFzQixHQUFHLElBQUksYUFBYSxDQUF1QixDQUFDLENBQUMsQ0FBQztRQUNwRSx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FDOUMsU0FBUyxDQUNWLENBQUM7UUFDTSwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FFakQsRUFBRSxDQUFDLENBQUM7UUFDRSxnQkFBVyxHQUFHLElBQUksYUFBYSxDQUVyQyxDQUFDLENBQUMsQ0FBQztRQUNHLGtCQUFhLEdBQWtDLEVBQUUsQ0FBQztRQU14RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVks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QUksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxpQ0FDaEIsSUFBSSxLQUNQLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWSxJQUM1QixDQUFDO2FBQ0o7U0FDRjtRQUNELElBQ0UsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNwQixDQUFBLE1BQUEsQ0FBQyxDQUFDLElBQUksMENBQUUsRUFBRSxNQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFDdEM7WUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksbUJBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUcsQ0FBQztTQUNwRDtJQUNILENBQUM7OzhHQS9QVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ2hhbm5lbCxcbiAgQ2hhbm5lbEZpbHRlcnMsXG4gIENoYW5uZWxSZXNwb25zZSxcbiAgQ29ubmVjdEFQSVJlc3BvbnNlLFxuICBPd25Vc2VyUmVzcG9uc2UsXG4gIFN0cmVhbUNoYXRPcHRpb25zLFxuICBVc2VyRmlsdGVycyxcbiAgVXNlclJlc3BvbnNlLFxufSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyBBcHBTZXR0aW5ncywgRXZlbnQsIFN0cmVhbUNoYXQsIFRva2VuT3JQcm92aWRlciB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IHZlcnNpb24gfSBmcm9tICcuLi9hc3NldHMvdmVyc2lvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBDbGllbnRFdmVudDxcbiAgVCBleHRlbmRzIERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3MgPSBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzXG4+ID0ge1xuICBldmVudFR5cGU6IHN0cmluZztcbiAgZXZlbnQ6IEV2ZW50PFQ+O1xufTtcblxuLyoqXG4gKiBUaGUgYENoYXRDbGllbnRgIHNlcnZpY2UgY29ubmVjdHMgdGhlIHVzZXIgdG8gdGhlIFN0cmVhbSBjaGF0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdENsaWVudFNlcnZpY2U8XG4gIFQgZXh0ZW5kcyBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzID0gRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljc1xuPiB7XG4gIC8qKlxuICAgKiBUaGUgW1N0cmVhbUNoYXQgY2xpZW50XShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWpzL2Jsb2IvbWFzdGVyL3NyYy9jbGllbnQudHMpIGluc3RhbmNlLiBJbiBnZW5lcmFsIHlvdSBzaG91bGRuJ3QgbmVlZCB0byBhY2Nlc3MgdGhlIGNsaWVudCwgYnV0IGl0J3MgdGhlcmUgaWYgeW91IHdhbnQgdG8gdXNlIGl0LlxuICAgKi9cbiAgY2hhdENsaWVudCE6IFN0cmVhbUNoYXQ8VD47XG4gIC8qKlxuICAgKiBFbWl0cyBbYENsaWVudEV2ZW50YF0oaHR0cHM6Ly9naXRodWIuY29tL0dldFN0cmVhbS9zdHJlYW0tY2hhdC1hbmd1bGFyL2Jsb2IvbWFzdGVyL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzKSBldmVudHMuIFRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uIGNvdmVycyBbdGhlIGxpc3Qgb2YgY2xpZW50LCB1c2VyIHByZXNlbmNlIGFuZCBub3RpZmljYXRpb24gZXZlbnRzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9ldmVudF9vYmplY3QvP2xhbmd1YWdlPWphdmFzY3JpcHQpLlxuICAgKiA6OjppbXBvcnRhbnRcbiAgICogRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgdGhpcyBPYnNlcnZhYmxlIG9wZXJhdGVzIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiB6b25lLiBJZiB5b3Ugc3Vic2NyaWJlIHRvIGl0LCB5b3UgbmVlZCB0byBtYW51YWxseSByZWVudGVyIEFuZ3VsYXIncyBjaGFuZ2UgZGV0ZWN0aW9uIHpvbmUsIG91ciBbQ2hhbmdlIGRldGVjdGlvbiBndWlkZV0oLi4vY29uY2VwdHMvY2hhbmdlLWRldGVjdGlvbi5tZHgpIGV4cGxhaW5zIHRoaXMgaW4gZGV0YWlsLlxuICAgKiA6OjpcbiAgICovXG4gIGV2ZW50cyQ6IE9ic2VydmFibGU8Q2xpZW50RXZlbnQ8VD4+O1xuICAvKipcbiAgICogRW1pdHMgdGhlIGN1cnJlbnQgW2FwcGxpY2F0aW9uIHNldHRpbmdzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9hcHBfc2V0dGluZ19vdmVydmlldy8/bGFuZ3VhZ2U9amF2YXNjcmlwdCkuIFNpbmNlIGdldHRpbmcgdGhlIGFwcGxpY2F0aW9uIHNldHRpbmdzIGlzIGFuIGV4cGVuc2l2ZSBBUEkgY2FsbCBhbmQgd2UgZG9uJ3QgYWx3YXlzIG5lZWQgdGhlIHJlc3VsdCwgdGhpcyBpcyBub3QgaW5pdGlhbGl6ZWQgYnkgZGVmYXVsdCwgeW91IG5lZWQgdG8gY2FsbCBgZ2V0QXBwbGljYXRpb25TZXR0aW5nc2AgdG8gbG9hZCB0aGVtLlxuICAgKi9cbiAgYXBwU2V0dGluZ3MkOiBPYnNlcnZhYmxlPEFwcFNldHRpbmdzIHwgdW5kZWZpbmVkPjtcbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24gc3RhdGUgb2YgdGhlIHVzZXIgKGBvbmxpbmVgIG9yIGBvZmZsaW5lYClcbiAgICovXG4gIGNvbm5lY3Rpb25TdGF0ZSQ6IE9ic2VydmFibGU8J29mZmxpbmUnIHwgJ29ubGluZSc+O1xuICAvKipcbiAgICogRW1pdHMgdGhlIGxpc3Qgb2YgcGVuZGluZyBpbnZpdGVzIG9mIHRoZSB1c2VyLiBJdCBlbWl0cyBldmVyeSBwZW5kaW5nIGludml0YXRpb24gZHVyaW5nIGluaXRpYWxpemF0aW9uIGFuZCB0aGVuIGV4dGVuZHMgdGhlIGxpc3Qgd2hlbiBhIG5ldyBpbnZpdGUgaXMgcmVjZWl2ZWQuIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIHRoZSBbY2hhbm5lbCBpbnZpdGF0aW9uc10oLi4vY29kZS1leGFtcGxlcy9jaGFubmVsLWludml0ZXMubWR4KSBndWlkZS5cbiAgICovXG4gIHBlbmRpbmdJbnZpdGVzJDogT2JzZXJ2YWJsZTwoQ2hhbm5lbFJlc3BvbnNlPFQ+IHwgQ2hhbm5lbDxUPilbXT47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudCBjaGF0IHVzZXJcbiAgICovXG4gIHVzZXIkOiBPYnNlcnZhYmxlPE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZD47XG4gIHByaXZhdGUgbm90aWZpY2F0aW9uU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PENsaWVudEV2ZW50PFQ+PigxKTtcbiAgcHJpdmF0ZSBjb25uZWN0aW9uU3RhdGVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8J29mZmxpbmUnIHwgJ29ubGluZSc+KDEpO1xuICBwcml2YXRlIGFwcFNldHRpbmdzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXBwU2V0dGluZ3MgfCB1bmRlZmluZWQ+KFxuICAgIHVuZGVmaW5lZFxuICApO1xuICBwcml2YXRlIHBlbmRpbmdJbnZpdGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgKENoYW5uZWxSZXNwb25zZTxUPiB8IENoYW5uZWw8VD4pW11cbiAgPihbXSk7XG4gIHByaXZhdGUgdXNlclN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWRcbiAgPigxKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZXZlbnRzJCA9IHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZSQgPSB0aGlzLmNvbm5lY3Rpb25TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5hcHBTZXR0aW5ncyQgPSB0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnBlbmRpbmdJbnZpdGVzJCA9IHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMudXNlciQgPSB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBbYFN0cmVhbUNoYXRgXShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWpzL2Jsb2IvNjY4YjNlNTUyMTMzOWY0ZTE0ZmM2NTc4MzQ1MzFiNGM4YmY4MTc2Yi9zcmMvY2xpZW50LnRzI0wxMjQpIGluc3RhbmNlIHVzaW5nIHRoZSBwcm92aWRlZCBgYXBpS2V5YCwgYW5kIGNvbm5lY3RzIGEgdXNlciB3aXRoIHRoZSBnaXZlbiBtZXRhIGRhdGEgYW5kIHRva2VuLiBNb3JlIGluZm8gYWJvdXQgW2Nvbm5lY3RpbmcgdXNlcnNdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2luaXRfYW5kX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0KSBjYW4gYmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGRvY3VtZW50YXRpb24uXG4gICAqIEBwYXJhbSBhcGlLZXlcbiAgICogQHBhcmFtIHVzZXJPcklkIHlvdSBjYW4gZW1pdCB0aGlzIGZvciBhbm9ueW1vdXMgbG9naW5zXG4gICAqIEBwYXJhbSB1c2VyVG9rZW5PclByb3ZpZGVyIFlvdSBjYW4gcHJvdmlkZTo8dWw+XG4gICAqICA8bGk+IGEgdG9rZW4sIDwvbGk+XG4gICAqICA8bGk+IGEgdG9rZW4gcHJvdmlkZXIsIGEgbWV0aG9kIHRoYXQgcmV0dXJucyBgUHJvbWlzZTxzdHJpbmc+YCwgd2hpY2ggY2FuIGJlIGNhbGxlZCB3aGVuIHRoZSBwcmV2aW91cyB0b2tlbiBleHBpcmVzIChyZWNvbW1lbmRlZCBzZXR1cCBmb3IgcHJvZHVjdGlvbiBhcHBsaWNhdGlvbnMpPC9saT5cbiAgICogIDxsaT4gdGhlIGtleXdvcmQgJ2d1ZXN0JyB0byBjb25uZWN0IGFzIFtndWVzdCB1c2VyXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9hdXRobGVzc191c2Vycy8/bGFuZ3VhZ2U9amF2YXNjcmlwdCNndWVzdC11c2VycykgPC9saT5cbiAgICogIDxsaT4gdGhlIGtleXdvcmQgJ2Fub255bW91cycgdG8gY29ubmVjdCBhcyBbYW5vbnltb3VzIHVzZXJdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2F1dGhsZXNzX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0I2Fub255bW91cy11c2VycykgPC9saT5cbiAgICogIDwvdWw+XG4gICAqIEBwYXJhbSBjbGllbnRPcHRpb25zIFNldHRpbmcgdG8gcHJvdmlkZSB0byB0aGUgU3RyZWFtIGNsaWVudCBpbnN0YW5jZVxuICAgKi9cbiAgYXN5bmMgaW5pdChcbiAgICBhcGlLZXk6IHN0cmluZyxcbiAgICB1c2VyT3JJZDogc3RyaW5nIHwgT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkLFxuICAgIHVzZXJUb2tlbk9yUHJvdmlkZXI6IFRva2VuT3JQcm92aWRlciB8ICdhbm9ueW1vdXMnIHwgJ2d1ZXN0JyxcbiAgICBjbGllbnRPcHRpb25zPzogU3RyZWFtQ2hhdE9wdGlvbnNcbiAgKTogQ29ubmVjdEFQSVJlc3BvbnNlPFQ+IHtcbiAgICB0aGlzLmNoYXRDbGllbnQgPSBTdHJlYW1DaGF0LmdldEluc3RhbmNlPFQ+KGFwaUtleSwgY2xpZW50T3B0aW9ucyk7XG4gICAgdGhpcy5jaGF0Q2xpZW50LnJlY292ZXJTdGF0ZU9uUmVjb25uZWN0ID0gZmFsc2U7XG4gICAgdGhpcy5jaGF0Q2xpZW50LmRldlRva2VuO1xuICAgIGxldCByZXN1bHQ7XG4gICAgYXdhaXQgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdXNlciA9IHR5cGVvZiB1c2VyT3JJZCA9PT0gJ3N0cmluZycgPyB7IGlkOiB1c2VyT3JJZCB9IDogdXNlck9ySWQ7XG4gICAgICB0cnkge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCAoXG4gICAgICAgICAge1xuICAgICAgICAgICAgZ3Vlc3Q6ICgpID0+IHRoaXMuY2hhdENsaWVudC5zZXRHdWVzdFVzZXIodXNlciEpLFxuICAgICAgICAgICAgYW5vbnltb3VzOiAoKSA9PiB0aGlzLmNoYXRDbGllbnQuY29ubmVjdEFub255bW91c1VzZXIoKSxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICB9W2Ake3VzZXJUb2tlbk9yUHJvdmlkZXJ9YF0gPz9cbiAgICAgICAgICAoKCkgPT4gdGhpcy5jaGF0Q2xpZW50LmNvbm5lY3RVc2VyKHVzZXIhLCB1c2VyVG9rZW5PclByb3ZpZGVyKSlcbiAgICAgICAgKSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFBlcm1hbmVudE5vdGlmaWNhdGlvbihcbiAgICAgICAgICAnc3RyZWFtQ2hhdC5FcnJvciBjb25uZWN0aW5nIHRvIGNoYXQsIHJlZnJlc2ggdGhlIHBhZ2UgdG8gdHJ5IGFnYWluLicsXG4gICAgICAgICAgJ2Vycm9yJ1xuICAgICAgICApO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dChcbiAgICAgICAgdGhpcy5jaGF0Q2xpZW50LnVzZXIgPyB7IC4uLnRoaXMuY2hhdENsaWVudC51c2VyIH0gOiB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICBjb25zdCBzZGtQcmVmaXggPSAnc3RyZWFtLWNoYXQtYW5ndWxhcic7XG4gICAgICBpZiAoIXRoaXMuY2hhdENsaWVudC5nZXRVc2VyQWdlbnQoKS5pbmNsdWRlcyhzZGtQcmVmaXgpKSB7XG4gICAgICAgIHRoaXMuY2hhdENsaWVudC5zZXRVc2VyQWdlbnQoXG4gICAgICAgICAgYCR7c2RrUHJlZml4fS0ke3ZlcnNpb259LSR7dGhpcy5jaGF0Q2xpZW50LmdldFVzZXJBZ2VudCgpfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBjaGFubmVscyA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeUNoYW5uZWxzKFxuICAgICAgeyBpbnZpdGU6ICdwZW5kaW5nJyB9IGFzIGFueSBhcyBDaGFubmVsRmlsdGVyczxUPiwgLy8gVE9ETzogZmluZCBvdXQgd2h5IHdlIG5lZWQgdGhpcyB0eXBlY2FzdFxuICAgICAge30sXG4gICAgICB7IHVzZXJfaWQ6IHRoaXMuY2hhdENsaWVudC51c2VyPy5pZCB9XG4gICAgKTtcbiAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KGNoYW5uZWxzKTtcbiAgICB0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYXRDbGllbnQub24oKGUpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVVc2VyKGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBlbmRpbmdJbnZpdGVzKGUpO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QubmV4dCh7XG4gICAgICAgICAgZXZlbnRUeXBlOiBlLnR5cGUsXG4gICAgICAgICAgZXZlbnQ6IGUsXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICAgIGxldCByZW1vdmVOb3RpZmljYXRpb246IHVuZGVmaW5lZCB8IEZ1bmN0aW9uO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50Lm9uKCdjb25uZWN0aW9uLmNoYW5nZWQnLCAoZSkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzT25saW5lID0gZS5vbmxpbmU7XG4gICAgICAgICAgaWYgKGlzT25saW5lKSB7XG4gICAgICAgICAgICBpZiAocmVtb3ZlTm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgIHJlbW92ZU5vdGlmaWNhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW1vdmVOb3RpZmljYXRpb24gPVxuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkUGVybWFuZW50Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICAgICAgICdzdHJlYW1DaGF0LkNvbm5lY3Rpb24gZmFpbHVyZSwgcmVjb25uZWN0aW5nIG5vdy4uLidcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0Lm5leHQoaXNPbmxpbmUgPyAnb25saW5lJyA6ICdvZmZsaW5lJyk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzY29ubmVjdHMgdGhlIGN1cnJlbnQgdXNlciwgYW5kIGNsb3NlcyB0aGUgV2ViU29ja2V0IGNvbm5lY3Rpb24uIFVzZWZ1bCB3aGVuIGRpc2Nvbm5lY3RpbmcgYSBjaGF0IHVzZXIsIHVzZSBpbiBjb21iaW5hdGlvbiB3aXRoIFtgcmVzZXRgXSguL0NoYW5uZWxTZXJ2aWNlLm1keC8jcmVzZXQpLlxuICAgKi9cbiAgYXN5bmMgZGlzY29ubmVjdFVzZXIoKSB7XG4gICAgdGhpcy5wZW5kaW5nSW52aXRlc1N1YmplY3QubmV4dChbXSk7XG4gICAgYXdhaXQgdGhpcy5jaGF0Q2xpZW50LmRpc2Nvbm5lY3RVc2VyKCk7XG4gICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGN1cnJlbnQgW2FwcGxpY2F0aW9uIHNldHRpbmdzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9hcHBfc2V0dGluZ19vdmVydmlldy8/bGFuZ3VhZ2U9amF2YXNjcmlwdCksIGlmIHRoZSBhcHBsaWNhdGlvbiBzZXR0aW5ncyBoYXZlIGFscmVhZHkgYmVlbiBsb2FkZWQsIGl0IGRvZXMgbm90aGluZy5cbiAgICovXG4gIGFzeW5jIGdldEFwcFNldHRpbmdzKCkge1xuICAgIGlmICh0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgdGhpcy5jaGF0Q2xpZW50LmdldEFwcFNldHRpbmdzKCk7XG4gICAgdGhpcy5hcHBTZXR0aW5nc1N1YmplY3QubmV4dCgoc2V0dGluZ3MuYXBwIGFzIEFwcFNldHRpbmdzKSB8fCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyB0aGUgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBJRC4gSWYgeW91IHdhbnQgdG8ga25vdyBbbW9yZSBhYm91dCBmbGFnc10oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvbW9kZXJhdGlvbi8/bGFuZ3VhZ2U9amF2YXNjcmlwdCkgY2hlY2sgb3V0IHRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uLlxuICAgKiBAcGFyYW0gbWVzc2FnZUlkXG4gICAqL1xuICBhc3luYyBmbGFnTWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5mbGFnTWVzc2FnZShtZXNzYWdlSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaGVzIGZvciB1c2VycyBpbiB0aGUgYXBwbGljYXRpb24gdGhhdCBoYXZlIElEIG9yIG5hbWUgbWF0Y2hpbmcgdGhlIHByb3ZpZGVkIHNlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSBzZWFyY2hUZXJtXG4gICAqIEByZXR1cm5zIFRoZSB1c2VycyBtYXRjaGluZyB0aGUgc2VhcmNoXG4gICAqL1xuICBhc3luYyBhdXRvY29tcGxldGVVc2VycyhzZWFyY2hUZXJtOiBzdHJpbmcpIHtcbiAgICBpZiAoIXNlYXJjaFRlcm0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGF0Q2xpZW50LnF1ZXJ5VXNlcnMoe1xuICAgICAgJG9yOiBbXG4gICAgICAgIHsgaWQ6IHsgJGF1dG9jb21wbGV0ZTogc2VhcmNoVGVybSB9IH0sXG4gICAgICAgIHsgbmFtZTogeyAkYXV0b2NvbXBsZXRlOiBzZWFyY2hUZXJtIH0gfSxcbiAgICAgIF0sXG4gICAgICBpZDogeyAkbmU6IHRoaXMuY2hhdENsaWVudC51c2VySUQhIH0sXG4gICAgfSBhcyBVc2VyRmlsdGVyczxUPik7IC8vIFRPRE86IGZpbmQgb3V0IHdoeSB3ZSBuZWVkIHRoaXMgdHlwZWNhc3RcbiAgICByZXR1cm4gcmVzdWx0LnVzZXJzO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQZW5kaW5nSW52aXRlcyhlOiBFdmVudDxUPikge1xuICAgIGlmIChlLm1lbWJlcj8udXNlcj8uaWQgPT09IHRoaXMuY2hhdENsaWVudC51c2VyPy5pZCAmJiBlLmNoYW5uZWwpIHtcbiAgICAgIGNvbnN0IHBlbmRpbmdJbnZpdGVzID0gdGhpcy5wZW5kaW5nSW52aXRlc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICAgIGlmIChlLnR5cGUgPT09ICdub3RpZmljYXRpb24uaW52aXRlZCcpIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nSW52aXRlc1N1YmplY3QubmV4dChbLi4ucGVuZGluZ0ludml0ZXMsIGUuY2hhbm5lbF0pO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZV9hY2NlcHRlZCcgfHxcbiAgICAgICAgZS50eXBlID09PSAnbm90aWZpY2F0aW9uLmludml0ZV9yZWplY3RlZCdcbiAgICAgICkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHBlbmRpbmdJbnZpdGVzLmZpbmRJbmRleChcbiAgICAgICAgICAoaSkgPT4gaT8uY2lkID09PSBlLmNoYW5uZWw/LmNpZFxuICAgICAgICApO1xuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgcGVuZGluZ0ludml0ZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFsuLi5wZW5kaW5nSW52aXRlc10pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVVc2VyKGU6IEV2ZW50PFQ+KSB7XG4gICAgaWYgKHR5cGVvZiBlLnRvdGFsX3VucmVhZF9jb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1c2VyOiBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCh1KSA9PiB7XG4gICAgICAgIHVzZXIgPSB1O1xuICAgICAgfSk7XG4gICAgICBpZiAodXNlciAmJiB1c2VyLnRvdGFsX3VucmVhZF9jb3VudCAhPT0gZS50b3RhbF91bnJlYWRfY291bnQpIHtcbiAgICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAuLi51c2VyLFxuICAgICAgICAgIHRvdGFsX3VucmVhZF9jb3VudDogZS50b3RhbF91bnJlYWRfY291bnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIGUudW5yZWFkX2NoYW5uZWxzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVzZXI6IE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXNlclN1YmplY3QucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHUpID0+IHtcbiAgICAgICAgdXNlciA9IHU7XG4gICAgICB9KTtcbiAgICAgIGlmICh1c2VyICYmIHVzZXIudW5yZWFkX2NoYW5uZWxzICE9PSBlLnVucmVhZF9jaGFubmVscykge1xuICAgICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgdW5yZWFkX2NoYW5uZWxzOiBlLnVucmVhZF9jaGFubmVscyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZS51bnJlYWRfY291bnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXNlcjogT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy51c2VyU3ViamVjdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgodSkgPT4ge1xuICAgICAgICB1c2VyID0gdTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHVzZXIgJiYgdXNlci51bnJlYWRfY291bnQgIT09IGUudW5yZWFkX2NvdW50KSB7XG4gICAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7XG4gICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICB1bnJlYWRfY291bnQ6IGUudW5yZWFkX2NvdW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgZS50eXBlID09PSAndXNlci51cGRhdGVkJyAmJlxuICAgICAgdGhpcy5jaGF0Q2xpZW50LnVzZXIgJiZcbiAgICAgIGUudXNlcj8uaWQgPT09IHRoaXMuY2hhdENsaWVudC51c2VyLmlkXG4gICAgKSB7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoeyAuLi50aGlzLmNoYXRDbGllbnQudXNlciB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBV2xFLE9BQU8sRUFBc0IsVUFBVSxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFTdEM7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBNEM1QixZQUNVLE1BQWMsRUFDZCxtQkFBd0M7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFoQjFDLHdCQUFtQixHQUFHLElBQUksYUFBYSxDQUFpQixDQUFDLENBQUMsQ0FBQztRQUMzRCwyQkFBc0IsR0FBRyxJQUFJLGFBQWEsQ0FBdUIsQ0FBQyxDQUFDLENBQUM7UUFDcEUsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQzlDLFNBQVMsQ0FDVixDQUFDO1FBQ00sMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBRWpELEVBQUUsQ0FBQyxDQUFDO1FBQ0UsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsQ0FFckMsQ0FBQyxDQUFDLENBQUM7UUFDRyxrQkFBYSxHQUFrQyxFQUFFLENBQUM7UUFDbEQsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO1FBTXhDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FB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SSxLQUNQLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZSxJQUNsQyxDQUFDO2FBQ0o7U0FDRjtRQUNELElBQUksT0FBTyxDQUFDLENBQUMsWUFBWSxLQUFLLFdBQVcsRUFBRTtZQUN6QyxJQUFJLElBQXNELENBQUM7WUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGlDQUNoQixJQUFJLEtBQ1AsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQzVCLENBQUM7YUFDSjtTQUNGO1FBQ0QsSUFDRSxDQUFDLENBQUMsSUFBSSxLQUFLLGNBQWM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3BCLENBQUEsTUFBQSxDQUFDLENBQUMsSUFBSSwwQ0FBRSxFQUFFLE1BQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUN0QztZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxtQkFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQzs7OEdBeFFVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDaGFubmVsLFxuICBDaGFubmVsRmlsdGVycyxcbiAgQ2hhbm5lbFJlc3BvbnNlLFxuICBDb25uZWN0QVBJUmVzcG9uc2UsXG4gIE93blVzZXJSZXNwb25zZSxcbiAgU3RyZWFtQ2hhdE9wdGlvbnMsXG4gIFVzZXJGaWx0ZXJzLFxuICBVc2VyUmVzcG9uc2UsXG59IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IEFwcFNldHRpbmdzLCBFdmVudCwgU3RyZWFtQ2hhdCwgVG9rZW5PclByb3ZpZGVyIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4uL2Fzc2V0cy92ZXJzaW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3MgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIENsaWVudEV2ZW50PFxuICBUIGV4dGVuZHMgRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcyA9IERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3Ncbj4gPSB7XG4gIGV2ZW50VHlwZTogc3RyaW5nO1xuICBldmVudDogRXZlbnQ8VD47XG59O1xuXG4vKipcbiAqIFRoZSBgQ2hhdENsaWVudGAgc2VydmljZSBjb25uZWN0cyB0aGUgdXNlciB0byB0aGUgU3RyZWFtIGNoYXQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0Q2xpZW50U2VydmljZTxcbiAgVCBleHRlbmRzIERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3MgPSBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzXG4+IHtcbiAgLyoqXG4gICAqIFRoZSBbU3RyZWFtQ2hhdCBjbGllbnRdKGh0dHBzOi8vZ2l0aHViLmNvbS9HZXRTdHJlYW0vc3RyZWFtLWNoYXQtanMvYmxvYi9tYXN0ZXIvc3JjL2NsaWVudC50cykgaW5zdGFuY2UuIEluIGdlbmVyYWwgeW91IHNob3VsZG4ndCBuZWVkIHRvIGFjY2VzcyB0aGUgY2xpZW50LCBidXQgaXQncyB0aGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgaXQuXG4gICAqL1xuICBjaGF0Q2xpZW50ITogU3RyZWFtQ2hhdDxUPjtcbiAgLyoqXG4gICAqIEVtaXRzIFtgQ2xpZW50RXZlbnRgXShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWFuZ3VsYXIvYmxvYi9tYXN0ZXIvcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYXQtY2xpZW50LnNlcnZpY2UudHMpIGV2ZW50cy4gVGhlIHBsYXRmb3JtIGRvY3VtZW50YXRpb24gY292ZXJzIFt0aGUgbGlzdCBvZiBjbGllbnQsIHVzZXIgcHJlc2VuY2UgYW5kIG5vdGlmaWNhdGlvbiBldmVudHNdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2V2ZW50X29iamVjdC8/bGFuZ3VhZ2U9amF2YXNjcmlwdCkuXG4gICAqIDo6OmltcG9ydGFudFxuICAgKiBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucyB0aGlzIE9ic2VydmFibGUgb3BlcmF0ZXMgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIHpvbmUuIElmIHlvdSBzdWJzY3JpYmUgdG8gaXQsIHlvdSBuZWVkIHRvIG1hbnVhbGx5IHJlZW50ZXIgQW5ndWxhcidzIGNoYW5nZSBkZXRlY3Rpb24gem9uZSwgb3VyIFtDaGFuZ2UgZGV0ZWN0aW9uIGd1aWRlXSguLi9jb25jZXB0cy9jaGFuZ2UtZGV0ZWN0aW9uLm1keCkgZXhwbGFpbnMgdGhpcyBpbiBkZXRhaWwuXG4gICAqIDo6OlxuICAgKi9cbiAgZXZlbnRzJDogT2JzZXJ2YWJsZTxDbGllbnRFdmVudDxUPj47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudCBbYXBwbGljYXRpb24gc2V0dGluZ3NdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2FwcF9zZXR0aW5nX292ZXJ2aWV3Lz9sYW5ndWFnZT1qYXZhc2NyaXB0KS4gU2luY2UgZ2V0dGluZyB0aGUgYXBwbGljYXRpb24gc2V0dGluZ3MgaXMgYW4gZXhwZW5zaXZlIEFQSSBjYWxsIGFuZCB3ZSBkb24ndCBhbHdheXMgbmVlZCB0aGUgcmVzdWx0LCB0aGlzIGlzIG5vdCBpbml0aWFsaXplZCBieSBkZWZhdWx0LCB5b3UgbmVlZCB0byBjYWxsIGBnZXRBcHBsaWNhdGlvblNldHRpbmdzYCB0byBsb2FkIHRoZW0uXG4gICAqL1xuICBhcHBTZXR0aW5ncyQ6IE9ic2VydmFibGU8QXBwU2V0dGluZ3MgfCB1bmRlZmluZWQ+O1xuICAvKipcbiAgICogRW1pdHMgdGhlIGN1cnJlbnQgY29ubmVjdGlvbiBzdGF0ZSBvZiB0aGUgdXNlciAoYG9ubGluZWAgb3IgYG9mZmxpbmVgKVxuICAgKi9cbiAgY29ubmVjdGlvblN0YXRlJDogT2JzZXJ2YWJsZTwnb2ZmbGluZScgfCAnb25saW5lJz47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgbGlzdCBvZiBwZW5kaW5nIGludml0ZXMgb2YgdGhlIHVzZXIuIEl0IGVtaXRzIGV2ZXJ5IHBlbmRpbmcgaW52aXRhdGlvbiBkdXJpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHRoZW4gZXh0ZW5kcyB0aGUgbGlzdCB3aGVuIGEgbmV3IGludml0ZSBpcyByZWNlaXZlZC4gTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIFtjaGFubmVsIGludml0YXRpb25zXSguLi9jb2RlLWV4YW1wbGVzL2NoYW5uZWwtaW52aXRlcy5tZHgpIGd1aWRlLlxuICAgKi9cbiAgcGVuZGluZ0ludml0ZXMkOiBPYnNlcnZhYmxlPChDaGFubmVsUmVzcG9uc2U8VD4gfCBDaGFubmVsPFQ+KVtdPjtcbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBjdXJyZW50IGNoYXQgdXNlclxuICAgKi9cbiAgdXNlciQ6IE9ic2VydmFibGU8T3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkPjtcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25TdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Q2xpZW50RXZlbnQ8VD4+KDEpO1xuICBwcml2YXRlIGNvbm5lY3Rpb25TdGF0ZVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDwnb2ZmbGluZScgfCAnb25saW5lJz4oMSk7XG4gIHByaXZhdGUgYXBwU2V0dGluZ3NTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcHBTZXR0aW5ncyB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkXG4gICk7XG4gIHByaXZhdGUgcGVuZGluZ0ludml0ZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAoQ2hhbm5lbFJlc3BvbnNlPFQ+IHwgQ2hhbm5lbDxUPilbXVxuICA+KFtdKTtcbiAgcHJpdmF0ZSB1c2VyU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZFxuICA+KDEpO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHsgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQgfVtdID0gW107XG4gIHByaXZhdGUgdHJhY2tQZW5kaW5nQ2hhbm5lbEludml0ZXMgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZXZlbnRzJCA9IHRoaXMubm90aWZpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZSQgPSB0aGlzLmNvbm5lY3Rpb25TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5hcHBTZXR0aW5ncyQgPSB0aGlzLmFwcFNldHRpbmdzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnBlbmRpbmdJbnZpdGVzJCA9IHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMudXNlciQgPSB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBbYFN0cmVhbUNoYXRgXShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWpzL2Jsb2IvNjY4YjNlNTUyMTMzOWY0ZTE0ZmM2NTc4MzQ1MzFiNGM4YmY4MTc2Yi9zcmMvY2xpZW50LnRzI0wxMjQpIGluc3RhbmNlIHVzaW5nIHRoZSBwcm92aWRlZCBgYXBpS2V5YCwgYW5kIGNvbm5lY3RzIGEgdXNlciB3aXRoIHRoZSBnaXZlbiBtZXRhIGRhdGEgYW5kIHRva2VuLiBNb3JlIGluZm8gYWJvdXQgW2Nvbm5lY3RpbmcgdXNlcnNdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2luaXRfYW5kX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0KSBjYW4gYmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGRvY3VtZW50YXRpb24uXG4gICAqIEBwYXJhbSBhcGlLZXlcbiAgICogQHBhcmFtIHVzZXJPcklkIHlvdSBjYW4gZW1pdCB0aGlzIGZvciBhbm9ueW1vdXMgbG9naW5zXG4gICAqIEBwYXJhbSB1c2VyVG9rZW5PclByb3ZpZGVyIFlvdSBjYW4gcHJvdmlkZTo8dWw+XG4gICAqICA8bGk+IGEgdG9rZW4sIDwvbGk+XG4gICAqICA8bGk+IGEgdG9rZW4gcHJvdmlkZXIsIGEgbWV0aG9kIHRoYXQgcmV0dXJucyBgUHJvbWlzZTxzdHJpbmc+YCwgd2hpY2ggY2FuIGJlIGNhbGxlZCB3aGVuIHRoZSBwcmV2aW91cyB0b2tlbiBleHBpcmVzIChyZWNvbW1lbmRlZCBzZXR1cCBmb3IgcHJvZHVjdGlvbiBhcHBsaWNhdGlvbnMpPC9saT5cbiAgICogIDxsaT4gdGhlIGtleXdvcmQgJ2d1ZXN0JyB0byBjb25uZWN0IGFzIFtndWVzdCB1c2VyXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9hdXRobGVzc191c2Vycy8/bGFuZ3VhZ2U9amF2YXNjcmlwdCNndWVzdC11c2VycykgPC9saT5cbiAgICogIDxsaT4gdGhlIGtleXdvcmQgJ2Fub255bW91cycgdG8gY29ubmVjdCBhcyBbYW5vbnltb3VzIHVzZXJdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2F1dGhsZXNzX3VzZXJzLz9sYW5ndWFnZT1qYXZhc2NyaXB0I2Fub255bW91cy11c2VycykgPC9saT5cbiAgICogIDwvdWw+XG4gICAqIEBwYXJhbSBjbGllbnRPcHRpb25zIFNldHRpbmcgdG8gcHJvdmlkZSB0byB0aGUgU3RyZWFtIGNsaWVudCBpbnN0YW5jZVxuICAgKi9cbiAgYXN5bmMgaW5pdChcbiAgICBhcGlLZXk6IHN0cmluZyxcbiAgICB1c2VyT3JJZDogc3RyaW5nIHwgT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkLFxuICAgIHVzZXJUb2tlbk9yUHJvdmlkZXI6IFRva2VuT3JQcm92aWRlciB8ICdhbm9ueW1vdXMnIHwgJ2d1ZXN0JyxcbiAgICBjbGllbnRPcHRpb25zPzogU3RyZWFtQ2hhdE9wdGlvbnMgJiB7IHRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzPzogYm9vbGVhbiB9XG4gICk6IENvbm5lY3RBUElSZXNwb25zZTxUPiB7XG4gICAgdGhpcy50cmFja1BlbmRpbmdDaGFubmVsSW52aXRlcyA9XG4gICAgICBjbGllbnRPcHRpb25zPy50cmFja1BlbmRpbmdDaGFubmVsSW52aXRlcyAhPT0gZmFsc2U7XG4gICAgdGhpcy5jaGF0Q2xpZW50ID0gU3RyZWFtQ2hhdC5nZXRJbnN0YW5jZTxUPihhcGlLZXksIGNsaWVudE9wdGlvbnMpO1xuICAgIHRoaXMuY2hhdENsaWVudC5yZWNvdmVyU3RhdGVPblJlY29ubmVjdCA9IGZhbHNlO1xuICAgIHRoaXMuY2hhdENsaWVudC5kZXZUb2tlbjtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGF3YWl0IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHVzZXIgPSB0eXBlb2YgdXNlck9ySWQgPT09ICdzdHJpbmcnID8geyBpZDogdXNlck9ySWQgfSA6IHVzZXJPcklkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGd1ZXN0OiAoKSA9PiB0aGlzLmNoYXRDbGllbnQuc2V0R3Vlc3RVc2VyKHVzZXIhKSxcbiAgICAgICAgICAgIGFub255bW91czogKCkgPT4gdGhpcy5jaGF0Q2xpZW50LmNvbm5lY3RBbm9ueW1vdXNVc2VyKCksXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgfVtgJHt1c2VyVG9rZW5PclByb3ZpZGVyfWBdID8/XG4gICAgICAgICAgKCgpID0+IHRoaXMuY2hhdENsaWVudC5jb25uZWN0VXNlcih1c2VyISwgdXNlclRva2VuT3JQcm92aWRlcikpXG4gICAgICAgICkoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRQZXJtYW5lbnROb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgY29ubmVjdGluZyB0byBjaGF0LCByZWZyZXNoIHRoZSBwYWdlIHRvIHRyeSBhZ2Fpbi4nLFxuICAgICAgICAgICdlcnJvcidcbiAgICAgICAgKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoXG4gICAgICAgIHRoaXMuY2hhdENsaWVudC51c2VyID8geyAuLi50aGlzLmNoYXRDbGllbnQudXNlciB9IDogdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgY29uc3Qgc2RrUHJlZml4ID0gJ3N0cmVhbS1jaGF0LWFuZ3VsYXInO1xuICAgICAgaWYgKCF0aGlzLmNoYXRDbGllbnQuZ2V0VXNlckFnZW50KCkuaW5jbHVkZXMoc2RrUHJlZml4KSkge1xuICAgICAgICB0aGlzLmNoYXRDbGllbnQuc2V0VXNlckFnZW50KFxuICAgICAgICAgIGAke3Nka1ByZWZpeH0tJHt2ZXJzaW9ufS0ke3RoaXMuY2hhdENsaWVudC5nZXRVc2VyQWdlbnQoKX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuY2hhdENsaWVudC51c2VyPy5pZCAmJiB0aGlzLnRyYWNrUGVuZGluZ0NoYW5uZWxJbnZpdGVzKSB7XG4gICAgICBjb25zdCBjaGFubmVscyA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeUNoYW5uZWxzKFxuICAgICAgICB7XG4gICAgICAgICAgaW52aXRlOiAncGVuZGluZycsXG4gICAgICAgICAgbWVtYmVyczogeyAkaW46IFt0aGlzLmNoYXRDbGllbnQudXNlcj8uaWRdIH0sXG4gICAgICAgIH0gYXMgYW55IGFzIENoYW5uZWxGaWx0ZXJzPFQ+IC8vIFRPRE86IGZpbmQgb3V0IHdoeSB3ZSBuZWVkIHRoaXMgdHlwZWNhc3RcbiAgICAgICk7XG4gICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KGNoYW5uZWxzKTtcbiAgICB9XG4gICAgdGhpcy5hcHBTZXR0aW5nc1N1YmplY3QubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50Lm9uKChlKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcihlKTtcbiAgICAgICAgdGhpcy51cGRhdGVQZW5kaW5nSW52aXRlcyhlKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIGV2ZW50VHlwZTogZS50eXBlLFxuICAgICAgICAgIGV2ZW50OiBlLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBsZXQgcmVtb3ZlTm90aWZpY2F0aW9uOiB1bmRlZmluZWQgfCBGdW5jdGlvbjtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhdENsaWVudC5vbignY29ubmVjdGlvbi5jaGFuZ2VkJywgKGUpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpc09ubGluZSA9IGUub25saW5lO1xuICAgICAgICAgIGlmIChpc09ubGluZSkge1xuICAgICAgICAgICAgaWYgKHJlbW92ZU5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICByZW1vdmVOb3RpZmljYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVtb3ZlTm90aWZpY2F0aW9uID1cbiAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFBlcm1hbmVudE5vdGlmaWNhdGlvbihcbiAgICAgICAgICAgICAgICAnc3RyZWFtQ2hhdC5Db25uZWN0aW9uIGZhaWx1cmUsIHJlY29ubmVjdGluZyBub3cuLi4nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXRlU3ViamVjdC5uZXh0KGlzT25saW5lID8gJ29ubGluZScgOiAnb2ZmbGluZScpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2Nvbm5lY3RzIHRoZSBjdXJyZW50IHVzZXIsIGFuZCBjbG9zZXMgdGhlIFdlYlNvY2tldCBjb25uZWN0aW9uLiBVc2VmdWwgd2hlbiBkaXNjb25uZWN0aW5nIGEgY2hhdCB1c2VyLCB1c2UgaW4gY29tYmluYXRpb24gd2l0aCBbYHJlc2V0YF0oLi9DaGFubmVsU2VydmljZS5tZHgvI3Jlc2V0KS5cbiAgICovXG4gIGFzeW5jIGRpc2Nvbm5lY3RVc2VyKCkge1xuICAgIHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0Lm5leHQoW10pO1xuICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudC5kaXNjb25uZWN0VXNlcigpO1xuICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjdXJyZW50IFthcHBsaWNhdGlvbiBzZXR0aW5nc10oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvYXBwX3NldHRpbmdfb3ZlcnZpZXcvP2xhbmd1YWdlPWphdmFzY3JpcHQpLCBpZiB0aGUgYXBwbGljYXRpb24gc2V0dGluZ3MgaGF2ZSBhbHJlYWR5IGJlZW4gbG9hZGVkLCBpdCBkb2VzIG5vdGhpbmcuXG4gICAqL1xuICBhc3luYyBnZXRBcHBTZXR0aW5ncygpIHtcbiAgICBpZiAodGhpcy5hcHBTZXR0aW5nc1N1YmplY3QuZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5nZXRBcHBTZXR0aW5ncygpO1xuICAgIHRoaXMuYXBwU2V0dGluZ3NTdWJqZWN0Lm5leHQoKHNldHRpbmdzLmFwcCBhcyBBcHBTZXR0aW5ncykgfHwge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgdGhlIG1lc3NhZ2Ugd2l0aCB0aGUgZ2l2ZW4gSUQuIElmIHlvdSB3YW50IHRvIGtub3cgW21vcmUgYWJvdXQgZmxhZ3NdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L21vZGVyYXRpb24vP2xhbmd1YWdlPWphdmFzY3JpcHQpIGNoZWNrIG91dCB0aGUgcGxhdGZvcm0gZG9jdW1lbnRhdGlvbi5cbiAgICogQHBhcmFtIG1lc3NhZ2VJZFxuICAgKi9cbiAgYXN5bmMgZmxhZ01lc3NhZ2UobWVzc2FnZUlkOiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLmNoYXRDbGllbnQuZmxhZ01lc3NhZ2UobWVzc2FnZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyBmb3IgdXNlcnMgaW4gdGhlIGFwcGxpY2F0aW9uIHRoYXQgaGF2ZSBJRCBvciBuYW1lIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBzZWFyY2ggdGVybVxuICAgKiBAcGFyYW0gc2VhcmNoVGVybVxuICAgKiBAcmV0dXJucyBUaGUgdXNlcnMgbWF0Y2hpbmcgdGhlIHNlYXJjaFxuICAgKi9cbiAgYXN5bmMgYXV0b2NvbXBsZXRlVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hhdENsaWVudC5xdWVyeVVzZXJzKHtcbiAgICAgICRvcjogW1xuICAgICAgICB7IGlkOiB7ICRhdXRvY29tcGxldGU6IHNlYXJjaFRlcm0gfSB9LFxuICAgICAgICB7IG5hbWU6IHsgJGF1dG9jb21wbGV0ZTogc2VhcmNoVGVybSB9IH0sXG4gICAgICBdLFxuICAgICAgaWQ6IHsgJG5lOiB0aGlzLmNoYXRDbGllbnQudXNlcklEISB9LFxuICAgIH0gYXMgVXNlckZpbHRlcnM8VD4pOyAvLyBUT0RPOiBmaW5kIG91dCB3aHkgd2UgbmVlZCB0aGlzIHR5cGVjYXN0XG4gICAgcmV0dXJuIHJlc3VsdC51c2VycztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUGVuZGluZ0ludml0ZXMoZTogRXZlbnQ8VD4pIHtcbiAgICBpZiAoIXRoaXMudHJhY2tQZW5kaW5nQ2hhbm5lbEludml0ZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGUubWVtYmVyPy51c2VyPy5pZCA9PT0gdGhpcy5jaGF0Q2xpZW50LnVzZXI/LmlkICYmIGUuY2hhbm5lbCkge1xuICAgICAgY29uc3QgcGVuZGluZ0ludml0ZXMgPSB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgICAgaWYgKGUudHlwZSA9PT0gJ25vdGlmaWNhdGlvbi5pbnZpdGVkJykge1xuICAgICAgICB0aGlzLnBlbmRpbmdJbnZpdGVzU3ViamVjdC5uZXh0KFsuLi5wZW5kaW5nSW52aXRlcywgZS5jaGFubmVsXSk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBlLnR5cGUgPT09ICdub3RpZmljYXRpb24uaW52aXRlX2FjY2VwdGVkJyB8fFxuICAgICAgICBlLnR5cGUgPT09ICdub3RpZmljYXRpb24uaW52aXRlX3JlamVjdGVkJ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gcGVuZGluZ0ludml0ZXMuZmluZEluZGV4KFxuICAgICAgICAgIChpKSA9PiBpPy5jaWQgPT09IGUuY2hhbm5lbD8uY2lkXG4gICAgICAgICk7XG4gICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICBwZW5kaW5nSW52aXRlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgIHRoaXMucGVuZGluZ0ludml0ZXNTdWJqZWN0Lm5leHQoWy4uLnBlbmRpbmdJbnZpdGVzXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVVzZXIoZTogRXZlbnQ8VD4pIHtcbiAgICBpZiAodHlwZW9mIGUudG90YWxfdW5yZWFkX2NvdW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVzZXI6IE93blVzZXJSZXNwb25zZTxUPiB8IFVzZXJSZXNwb25zZTxUPiB8IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXNlclN1YmplY3QucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHUpID0+IHtcbiAgICAgICAgdXNlciA9IHU7XG4gICAgICB9KTtcbiAgICAgIGlmICh1c2VyICYmIHVzZXIudG90YWxfdW5yZWFkX2NvdW50ICE9PSBlLnRvdGFsX3VucmVhZF9jb3VudCkge1xuICAgICAgICB0aGlzLnVzZXJTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgdG90YWxfdW5yZWFkX2NvdW50OiBlLnRvdGFsX3VucmVhZF9jb3VudCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZS51bnJlYWRfY2hhbm5lbHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXNlcjogT3duVXNlclJlc3BvbnNlPFQ+IHwgVXNlclJlc3BvbnNlPFQ+IHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy51c2VyU3ViamVjdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgodSkgPT4ge1xuICAgICAgICB1c2VyID0gdTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHVzZXIgJiYgdXNlci51bnJlYWRfY2hhbm5lbHMgIT09IGUudW5yZWFkX2NoYW5uZWxzKSB7XG4gICAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7XG4gICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICB1bnJlYWRfY2hhbm5lbHM6IGUudW5yZWFkX2NoYW5uZWxzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlLnVucmVhZF9jb3VudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1c2VyOiBPd25Vc2VyUmVzcG9uc2U8VD4gfCBVc2VyUmVzcG9uc2U8VD4gfCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVzZXJTdWJqZWN0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCh1KSA9PiB7XG4gICAgICAgIHVzZXIgPSB1O1xuICAgICAgfSk7XG4gICAgICBpZiAodXNlciAmJiB1c2VyLnVucmVhZF9jb3VudCAhPT0gZS51bnJlYWRfY291bnQpIHtcbiAgICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAuLi51c2VyLFxuICAgICAgICAgIHVucmVhZF9jb3VudDogZS51bnJlYWRfY291bnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBlLnR5cGUgPT09ICd1c2VyLnVwZGF0ZWQnICYmXG4gICAgICB0aGlzLmNoYXRDbGllbnQudXNlciAmJlxuICAgICAgZS51c2VyPy5pZCA9PT0gdGhpcy5jaGF0Q2xpZW50LnVzZXIuaWRcbiAgICApIHtcbiAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7IC4uLnRoaXMuY2hhdENsaWVudC51c2VyIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -20,7 +20,7 @@ import transliterate from '@stream-io/transliterate';
20
20
  import * as i8$1 from 'angular-mentions';
21
21
  import { MentionModule } from 'angular-mentions';
22
22
 
23
- const version = '4.68.0';
23
+ const version = '4.68.1';
24
24
 
25
25
  /**
26
26
  * The `NotificationService` can be used to add or remove notifications. By default the [`NotificationList`](../components/NotificationListComponent.mdx) component displays the currently active notifications.
@@ -111,6 +111,7 @@ class ChatClientService {
111
111
  this.pendingInvitesSubject = new BehaviorSubject([]);
112
112
  this.userSubject = new ReplaySubject(1);
113
113
  this.subscriptions = [];
114
+ this.trackPendingChannelInvites = true;
114
115
  this.events$ = this.notificationSubject.asObservable();
115
116
  this.connectionState$ = this.connectionStateSubject.asObservable();
116
117
  this.appSettings$ = this.appSettingsSubject.asObservable();
@@ -130,21 +131,23 @@ class ChatClientService {
130
131
  * @param clientOptions Setting to provide to the Stream client instance
131
132
  */
132
133
  init(apiKey, userOrId, userTokenOrProvider, clientOptions) {
133
- var _a;
134
+ var _a, _b;
134
135
  return __awaiter(this, void 0, void 0, function* () {
136
+ this.trackPendingChannelInvites =
137
+ (clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.trackPendingChannelInvites) !== false;
135
138
  this.chatClient = StreamChat.getInstance(apiKey, clientOptions);
136
139
  this.chatClient.recoverStateOnReconnect = false;
137
140
  this.chatClient.devToken;
138
141
  let result;
139
142
  yield this.ngZone.runOutsideAngular(() => __awaiter(this, void 0, void 0, function* () {
140
- var _b;
143
+ var _c;
141
144
  const user = typeof userOrId === 'string' ? { id: userOrId } : userOrId;
142
145
  try {
143
- result = yield ((_b = {
146
+ result = yield ((_c = {
144
147
  guest: () => this.chatClient.setGuestUser(user),
145
148
  anonymous: () => this.chatClient.connectAnonymousUser(),
146
149
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
147
- }[`${userTokenOrProvider}`]) !== null && _b !== void 0 ? _b : (() => this.chatClient.connectUser(user, userTokenOrProvider)))();
150
+ }[`${userTokenOrProvider}`]) !== null && _c !== void 0 ? _c : (() => this.chatClient.connectUser(user, userTokenOrProvider)))();
148
151
  }
149
152
  catch (error) {
150
153
  this.notificationService.addPermanentNotification('streamChat.Error connecting to chat, refresh the page to try again.', 'error');
@@ -156,9 +159,14 @@ class ChatClientService {
156
159
  this.chatClient.setUserAgent(`${sdkPrefix}-${version}-${this.chatClient.getUserAgent()}`);
157
160
  }
158
161
  }));
159
- const channels = yield this.chatClient.queryChannels({ invite: 'pending' }, // TODO: find out why we need this typecast
160
- {}, { user_id: (_a = this.chatClient.user) === null || _a === void 0 ? void 0 : _a.id });
161
- this.pendingInvitesSubject.next(channels);
162
+ if (((_a = this.chatClient.user) === null || _a === void 0 ? void 0 : _a.id) && this.trackPendingChannelInvites) {
163
+ const channels = yield this.chatClient.queryChannels({
164
+ invite: 'pending',
165
+ members: { $in: [(_b = this.chatClient.user) === null || _b === void 0 ? void 0 : _b.id] },
166
+ } // TODO: find out why we need this typecast
167
+ );
168
+ this.pendingInvitesSubject.next(channels);
169
+ }
162
170
  this.appSettingsSubject.next(undefined);
163
171
  this.subscriptions.push(this.chatClient.on((e) => {
164
172
  this.updateUser(e);
@@ -241,6 +249,9 @@ class ChatClientService {
241
249
  }
242
250
  updatePendingInvites(e) {
243
251
  var _a, _b, _c;
252
+ if (!this.trackPendingChannelInvites) {
253
+ return;
254
+ }
244
255
  if (((_b = (_a = e.member) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id) === ((_c = this.chatClient.user) === null || _c === void 0 ? void 0 : _c.id) && e.channel) {
245
256
  const pendingInvites = this.pendingInvitesSubject.getValue();
246
257
  if (e.type === 'notification.invited') {