@dsivd/prestations-ng 17.6.2 → 17.6.3

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/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## [17.6.3]
10
+
11
+ ### Fixed
12
+
13
+ - [gesdem-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-handler.service.ts)
14
+ - do not display successfull message when demande has not been actually saved (no reference in response -> meta.reference)
15
+
9
16
  ## [17.6.2]
10
17
 
11
18
  ### Fixed
Binary file
@@ -1,7 +1,7 @@
1
1
  import { HttpParams } from '@angular/common/http';
2
2
  import { Injectable } from '@angular/core';
3
- import { of, Subject } from 'rxjs';
4
- import { catchError, map, switchMap, tap } from 'rxjs/operators';
3
+ import { forkJoin, of, Subject } from 'rxjs';
4
+ import { catchError, first, map, switchMap, tap } from 'rxjs/operators';
5
5
  import { GrowlType } from '../foehn-growl/growl-types';
6
6
  import { FormPostResponse } from '../form-post-response';
7
7
  import { ActionStatut, GesdemStatutUtils } from '../gesdem/gesdem-statut-utils';
@@ -150,10 +150,15 @@ export class GesdemHandlerService {
150
150
  if (this._captchaToken) {
151
151
  params = params.set('reCaptchaToken', this._captchaToken);
152
152
  }
153
- return this.http.post(url, form, { params }).pipe(tap(this.emitResponse.bind(this)), catchError((response) => this.handleGesdemError(null, response)), switchMap(() => this.sessionInfo.data.pipe(map(data => !!data))), tap(isConnected => {
153
+ return this.http.post(url, form, { params }).pipe(tap(this.emitResponse.bind(this)), catchError((response) => this.handleGesdemError(null, response)), switchMap((resp) => forkJoin([
154
+ this.sessionInfo.data.pipe(first(), map(data => !!data)),
155
+ of(resp)
156
+ ])), tap(([isConnected, resp]) => {
154
157
  // If the user is connected, display a message to make clear that
155
158
  // nothing is lost!
156
- if (isConnected && displaySuccessMessage) {
159
+ if (isConnected &&
160
+ displaySuccessMessage &&
161
+ !!resp?.meta?.reference?.length) {
157
162
  this.growlService.addWithType(GrowlType.SUCCESS, this.dictionaryService.getKeySync('gesdem-handler.save-confirmation.label'));
158
163
  }
159
164
  }), map(() => true));
@@ -188,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
188
193
  providedIn: 'root'
189
194
  }]
190
195
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GrowlBrokerService }, { type: i3.ValidationHandlerService }, { type: i4.ActivatedRoute }, { type: i5.GesdemErrorHandlerService }, { type: i6.SessionInfo }, { type: i7.SdkDictionaryService }] });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsVUFBVSxFQUNiLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxvQkFBb0I7SUFTN0IsWUFDWSxJQUFnQixFQUNoQixZQUFnQyxFQUNoQyx3QkFBa0QsRUFDbEQsS0FBcUIsRUFDckIsbUJBQThDLEVBQzlDLFdBQXdCLEVBQ3hCLGlCQUF1QztRQU52QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMkI7UUFDOUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQWJuRCw4REFBOEQ7UUFDdEQsMkJBQXNCLEdBQWlCLElBQUksT0FBTyxFQUFPLENB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QUksQ0FBQyxNQUFNLEVBQ1gsU0FBUyxFQUNULFFBQVEsQ0FDWCxDQUFDO0lBQ04sQ0FBQzsrR0F6UFEsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSHR0cENsaWVudCxcbiAgICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBIdHRwUGFyYW1zXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHcm93bFR5cGUgfSBmcm9tICcuLi9mb2Vobi1ncm93bC9ncm93bC10eXBlcyc7XG5pbXBvcnQgeyBGb3JtUG9zdFJlc3BvbnNlIH0gZnJvbSAnLi4vZm9ybS1wb3N0LXJlc3BvbnNlJztcbmltcG9ydCB7IEFjdGlvblN0YXR1dCwgR2VzZGVtU3RhdHV0VXRpbHMgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLXN0YXR1dC11dGlscyc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZ2VzZGVtLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtSGFuZGxlclNlcnZpY2Uge1xuICAgIF9wcmVmaXg6IHN0cmluZztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBfdXBkYXRlRm9ybURhdGFTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIF9sYXN0UmVzcG9uc2U6IEZvcm1Qb3N0UmVzcG9uc2U8YW55PjtcbiAgICBwcml2YXRlIF9jYXB0Y2hhVG9rZW46IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgZ3Jvd2xTZXJ2aWNlOiBHcm93bEJyb2tlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEdlc2RlbUVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZVxuICAgICkge31cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IGxhc3RSZXNwb25zZSgpOiBGb3JtUG9zdFJlc3BvbnNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IHVwZGF0ZUZvcm1EYXRhU3ViamVjdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXBkYXRlRm9ybURhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGdldCBwcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZWZpeDtcbiAgICB9XG5cbiAgICBzZXQgcHJlZml4KHByZWZpeDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ByZWZpeCA9IHByZWZpeDtcbiAgICB9XG5cbiAgICBpc1BlbmRpbmdQYXltZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gR2VzZGVtU3RhdHV0VXRpbHMuaXNQZW5kaW5nUGF5bWVudChcbiAgICAgICAgICAgIEFjdGlvblN0YXR1dFt0aGlzLl9sYXN0UmVzcG9uc2U/Lm1ldGE/LnN0YXR1dCBhcyBBY3Rpb25TdGF0dXRdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2F2ZShcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgZm9ybTogYW55LFxuICAgICAgICBjYW5DcmVhdGVEZW1hbmRlOiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgIGRpc3BsYXlTdWNjZXNzTWVzc2FnZTogYm9vbGVhbiA9IHRydWVcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaS92YWxpZGF0ZWQnO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH0vdmFsaWRhdGVkYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYW5DcmVhdGVEZW1hbmRlKSB7XG4gICAgICAgICAgICB1cmwgPSBgJHt1cmx9P3VwZGF0ZU9ubHk9ZmFsc2VgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFRvVXJsKGZvcm0sIHVybCwgZGlzcGxheVN1Y2Nlc3NNZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHBkZihmb3JtOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaS9wZGYnO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH0vcGRmYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3RUb1VybChmb3JtLCB1cmwsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBzZXRDYXB0Y2hhVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jYXB0Y2hhVG9rZW4gPSB0b2tlbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2UgZGUgbGEgZGVtYW5kZVxuICAgICAqIEBwYXJhbSBmb3JjZVJlZnJlc2hJZk5ldyBhbGxvd3MgdG8gZm9yY2UgdGhlIGNsZWFuaW5nIGlmIHJlZmVyZW5jZSBpcyBudWxsXG4gICAgICogQHBhcmFtIGJ5UGFzc0VtaXRSZXNwb25zZSBib29sZWFuIHVzZWQgdG8gZW1pdCBvciBub3QgZ2VzZGVtIGxhc3QgcmVzcG9uc2UgKGRlZmF1bHQgaXMgZmFsc2UpXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIHJlcXVpcmUoXG4gICAgICAgIHJlZmVyZW5jZT86IHN0cmluZyxcbiAgICAgICAgZm9yY2VSZWZyZXNoSWZOZXc/OiBib29sZWFuLFxuICAgICAgICBieVBhc3NFbWl0UmVzcG9uc2U/OiBib29sZWFuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgaXNOZXdSZWZlcmVuY2UgPVxuICAgICAgICAgICAgISFyZWZlcmVuY2UgJiZcbiAgICAgICAgICAgICEhdGhpcy5fbGFzdFJlc3BvbnNlICYmXG4gICAgICAgICAgICAhIXRoaXMuX2xhc3RSZXNwb25zZS5tZXRhICYmXG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2UgIT09IHJlZmVyZW5jZTtcblxuICAgICAgICBjb25zdCByZWZyZXNoT25Ob1JlZmVyZW5jZSA9ICEhZm9yY2VSZWZyZXNoSWZOZXcgJiYgIXJlZmVyZW5jZTtcbiAgICAgICAgaWYgKGlzTmV3UmVmZXJlbmNlIHx8IHJlZnJlc2hPbk5vUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWZlcmVuY2UgJiYgIXRoaXMuX2xhc3RSZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0cmlldmUocmVmZXJlbmNlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbGFzdFJlc3BvbnNlICYmICFieVBhc3NFbWl0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFJlc3BvbnNlKHRoaXMuX2xhc3RSZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgdHJhbnNtaXQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGkvdHJhbnNtaXNzaW9uJztcbiAgICAgICAgaWYgKHRoaXMucHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5wcmVmaXh9L3RyYW5zbWlzc2lvbmA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RSZXNwb25zZSkge1xuICAgICAgICAgICAgdXJsICs9IGA/cmVmZXJlbmNlPSR7dGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgbnVsbCkucGlwZShcbiAgICAgICAgICAgIHRhcCh0aGlzLmVtaXRSZXNwb25zZS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlR2VzZGVtRXJyb3IobnVsbCwgcmVzcG9uc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0cmlldmUoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHJlZmVyZW5jZTogYW55LFxuICAgICAgICBzaG91bGREaXNwYXRjaEVycm9yczogYm9vbGVhbiA9IHRydWVcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaSc7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsID0gYCR7dXJsfS92YWxpZGF0ZWQvJHtyZWZlcmVuY2V9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgIHRhcCgocmVzcDogRm9ybVBvc3RSZXNwb25zZTxhbnk+KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZW1pdFJlc3BvbnNlKHJlc3AsIHNob3VsZERpc3BhdGNoRXJyb3JzKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlR2VzZGVtRXJyb3IocmVmZXJlbmNlLCByZXNwb25zZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJldHJpZXZlQWN0aW9uU3RhdHV0KHJlZmVyZW5jZTogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb25TdGF0dXQ+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGknO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH1gO1xuICAgICAgICB9XG4gICAgICAgIHVybCA9IGAke3VybH0vJHtyZWZlcmVuY2V9L2FjdGlvbi1zdGF0dXRgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoc3RhdHVzID0+IHN0YXR1cyBhcyBBY3Rpb25TdGF0dXQpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihyZWZlcmVuY2UsIHJlc3BvbnNlKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgdmFsaWRhdGUoZm9ybTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IHVybCA9ICdhcGkvdmFsaWRhdGVkLW9ubHknO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH0vdmFsaWRhdGVkLW9ubHlgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFRvVXJsKGZvcm0sIHVybCwgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9zdFRvVXJsKFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBmb3JtOiBhbnksXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBkaXNwbGF5U3VjY2Vzc01lc3NhZ2U6IGJvb2xlYW5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgaWYgKCEhdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5yZUNhcHRjaGFCeVBhc3NVVUlEKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KFxuICAgICAgICAgICAgICAgICdyZUNhcHRjaGFCeVBhc3NVVUlEJyxcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlQ2FwdGNoYUJ5UGFzc1VVSURcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEhdGhpcy5fbGFzdFJlc3BvbnNlPy5tZXRhPy5yZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3JlZmVyZW5jZScsIHRoaXMuX2xhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2NhcHRjaGFUb2tlbikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncmVDYXB0Y2hhVG9rZW4nLCB0aGlzLl9jYXB0Y2hhVG9rZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybSwgeyBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIHRhcCh0aGlzLmVtaXRSZXNwb25zZS5iaW5kKHRoaXMpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlR2VzZGVtRXJyb3IobnVsbCwgcmVzcG9uc2UpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKG1hcChkYXRhID0+ICEhZGF0YSkpKSxcbiAgICAgICAgICAgIHRhcChpc0Nvbm5lY3RlZCA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgY29ubmVjdGVkLCBkaXNwbGF5IGEgbWVzc2FnZSB0byBtYWtlIGNsZWFyIHRoYXRcbiAgICAgICAgICAgICAgICAvLyBub3RoaW5nIGlzIGxvc3QhXG4gICAgICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkICYmIGRpc3BsYXlTdWNjZXNzTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5TVUNDRVNTLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0taGFuZGxlci5zYXZlLWNvbmZpcm1hdGlvbi5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFJlc3BvbnNlKFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICByZXNwb25zZTogRm9ybVBvc3RSZXNwb25zZTxhbnk+LFxuICAgICAgICBzaG91bGREaXNwYXRjaEVycm9yczogYm9vbGVhbiA9IHRydWVcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5tZXRhLmNyaXRpY2FsKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUZvcm1EYXRhU3ViamVjdC5uZXh0KHJlc3BvbnNlLmZvcm0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFJlc3BvbnNlID0gbmV3IEZvcm1Qb3N0UmVzcG9uc2UoKTtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RSZXNwb25zZS5tZXRhLmNyaXRpY2FsID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnVwZGF0ZUVycm9ycyhcbiAgICAgICAgICAgIHNob3VsZERpc3BhdGNoRXJyb3JzID8gcmVzcG9uc2UuZXJyb3JzIDogW11cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUdlc2RlbUVycm9yKFxuICAgICAgICByZXF1ZXN0ZWRSZWZlcmVuY2U6IHN0cmluZyxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55XG4gICAgKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLl9sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgID8gdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICA6IHJlcXVlc3RlZFJlZmVyZW5jZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUdlc2RlbUVycm9yKFxuICAgICAgICAgICAgdGhpcy5wcmVmaXgsXG4gICAgICAgICAgICByZWZlcmVuY2UsXG4gICAgICAgICAgICByZXNwb25zZVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsVUFBVSxFQUNiLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFVaEYsTUFBTSxPQUFPLG9CQUFvQjtJQVM3QixZQUNZLElBQWdCLEVBQ2hCLFlBQWdDLEVBQ2hDLHdCQUFrRCxFQUNsRCxLQUFxQixFQUNyQixtQkFBOEMsRUFDOUMsV0FBd0IsRUFDeEIsaUJBQXVDO1FBTnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEyQjtRQUM5QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBYm5ELDhEQUE4RDtRQUN0RCwyQkFBc0IsR0FB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RDtJQUM5RCxRQUFpQztRQUVqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYTtZQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNuQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQzdDLElBQUksQ0FBQyxNQUFNLEVBQ1gsU0FBUyxFQUNULFFBQVEsQ0FDWCxDQUFDO0lBQ04sQ0FBQzsrR0FyUVEsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSHR0cENsaWVudCxcbiAgICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBIdHRwUGFyYW1zXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdyb3dsQnJva2VyU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLWJyb2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb3dsVHlwZSB9IGZyb20gJy4uL2ZvZWhuLWdyb3dsL2dyb3dsLXR5cGVzJztcbmltcG9ydCB7IEZvcm1Qb3N0UmVzcG9uc2UgfSBmcm9tICcuLi9mb3JtLXBvc3QtcmVzcG9uc2UnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tc3RhdHV0LXV0aWxzJztcbmltcG9ydCB7IEkxOG5Gb3JtIH0gZnJvbSAnLi4vaTE4bi1mb3JtJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9nZXNkZW0tZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1IYW5kbGVyU2VydmljZSB7XG4gICAgX3ByZWZpeDogc3RyaW5nO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIF91cGRhdGVGb3JtRGF0YVN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgX2xhc3RSZXNwb25zZTogRm9ybVBvc3RSZXNwb25zZTxhbnk+O1xuICAgIHByaXZhdGUgX2NhcHRjaGFUb2tlbjogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlclNlcnZpY2U6IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyU2VydmljZTogR2VzZGVtRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mbzogU2Vzc2lvbkluZm8sXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXQgbGFzdFJlc3BvbnNlKCk6IEZvcm1Qb3N0UmVzcG9uc2U8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYXN0UmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXQgdXBkYXRlRm9ybURhdGFTdWJqZWN0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91cGRhdGVGb3JtRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHByZWZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJlZml4O1xuICAgIH1cblxuICAgIHNldCBwcmVmaXgocHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHJlZml4ID0gcHJlZml4O1xuICAgIH1cblxuICAgIGlzUGVuZGluZ1BheW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBHZXNkZW1TdGF0dXRVdGlscy5pc1BlbmRpbmdQYXltZW50KFxuICAgICAgICAgICAgQWN0aW9uU3RhdHV0W3RoaXMuX2xhc3RSZXNwb25zZT8ubWV0YT8uc3RhdHV0IGFzIEFjdGlvblN0YXR1dF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzYXZlKFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBmb3JtOiBhbnksXG4gICAgICAgIGNhbkNyZWF0ZURlbWFuZGU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgZGlzcGxheVN1Y2Nlc3NNZXNzYWdlOiBib29sZWFuID0gdHJ1ZVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCB1cmwgPSAnYXBpL3ZhbGlkYXRlZCc7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fS92YWxpZGF0ZWRgO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhbkNyZWF0ZURlbWFuZGUpIHtcbiAgICAgICAgICAgIHVybCA9IGAke3VybH0/dXBkYXRlT25seT1mYWxzZWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0VG9VcmwoZm9ybSwgdXJsLCBkaXNwbGF5U3VjY2Vzc01lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcGRmKGZvcm06IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCB1cmwgPSAnYXBpL3BkZic7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fS9wZGZgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFRvVXJsKGZvcm0sIHVybCwgZmFsc2UpO1xuICAgIH1cblxuICAgIHNldENhcHRjaGFUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NhcHRjaGFUb2tlbiA9IHRva2VuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZSBkZSBsYSBkZW1hbmRlXG4gICAgICogQHBhcmFtIGZvcmNlUmVmcmVzaElmTmV3IGFsbG93cyB0byBmb3JjZSB0aGUgY2xlYW5pbmcgaWYgcmVmZXJlbmNlIGlzIG51bGxcbiAgICAgKiBAcGFyYW0gYnlQYXNzRW1pdFJlc3BvbnNlIGJvb2xlYW4gdXNlZCB0byBlbWl0IG9yIG5vdCBnZXNkZW0gbGFzdCByZXNwb25zZSAoZGVmYXVsdCBpcyBmYWxzZSlcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gICAgICovXG4gICAgcmVxdWlyZShcbiAgICAgICAgcmVmZXJlbmNlPzogc3RyaW5nLFxuICAgICAgICBmb3JjZVJlZnJlc2hJZk5ldz86IGJvb2xlYW4sXG4gICAgICAgIGJ5UGFzc0VtaXRSZXNwb25zZT86IGJvb2xlYW5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBpc05ld1JlZmVyZW5jZSA9XG4gICAgICAgICAgICAhIXJlZmVyZW5jZSAmJlxuICAgICAgICAgICAgISF0aGlzLl9sYXN0UmVzcG9uc2UgJiZcbiAgICAgICAgICAgICEhdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEgJiZcbiAgICAgICAgICAgIHRoaXMuX2xhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZSAhPT0gcmVmZXJlbmNlO1xuXG4gICAgICAgIGNvbnN0IHJlZnJlc2hPbk5vUmVmZXJlbmNlID0gISFmb3JjZVJlZnJlc2hJZk5ldyAmJiAhcmVmZXJlbmNlO1xuICAgICAgICBpZiAoaXNOZXdSZWZlcmVuY2UgfHwgcmVmcmVzaE9uTm9SZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RSZXNwb25zZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlZmVyZW5jZSAmJiAhdGhpcy5fbGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXRyaWV2ZShyZWZlcmVuY2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sYXN0UmVzcG9uc2UgJiYgIWJ5UGFzc0VtaXRSZXNwb25zZSkge1xuICAgICAgICAgICAgdGhpcy5lbWl0UmVzcG9uc2UodGhpcy5fbGFzdFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0cmFuc21pdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaS90cmFuc21pc3Npb24nO1xuICAgICAgICBpZiAodGhpcy5wcmVmaXgpIHtcbiAgICAgICAgICAgIHVybCA9IGBhcGkvJHt0aGlzLnByZWZpeH0vdHJhbnNtaXNzaW9uYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbGFzdFJlc3BvbnNlKSB7XG4gICAgICAgICAgICB1cmwgKz0gYD9yZWZlcmVuY2U9JHt0aGlzLl9sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2V9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBudWxsKS5waXBlKFxuICAgICAgICAgICAgdGFwKHRoaXMuZW1pdFJlc3BvbnNlLmJpbmQodGhpcykpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihudWxsLCByZXNwb25zZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXRyaWV2ZShcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcmVmZXJlbmNlOiBhbnksXG4gICAgICAgIHNob3VsZERpc3BhdGNoRXJyb3JzOiBib29sZWFuID0gdHJ1ZVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCB1cmwgPSAnYXBpJztcbiAgICAgICAgaWYgKHRoaXMucHJlZml4KSB7XG4gICAgICAgICAgICB1cmwgPSBgYXBpLyR7dGhpcy5wcmVmaXh9YDtcbiAgICAgICAgfVxuICAgICAgICB1cmwgPSBgJHt1cmx9L3ZhbGlkYXRlZC8ke3JlZmVyZW5jZX1gO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgdGFwKChyZXNwOiBGb3JtUG9zdFJlc3BvbnNlPGFueT4pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0UmVzcG9uc2UocmVzcCwgc2hvdWxkRGlzcGF0Y2hFcnJvcnMpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihyZWZlcmVuY2UsIHJlc3BvbnNlKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmV0cmlldmVBY3Rpb25TdGF0dXQocmVmZXJlbmNlOiBhbnkpOiBPYnNlcnZhYmxlPEFjdGlvblN0YXR1dD4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaSc7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fWA7XG4gICAgICAgIH1cbiAgICAgICAgdXJsID0gYCR7dXJsfS8ke3JlZmVyZW5jZX0vYWN0aW9uLXN0YXR1dGA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIGFzIEFjdGlvblN0YXR1dCksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogdW5rbm93bikgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUdlc2RlbUVycm9yKHJlZmVyZW5jZSwgcmVzcG9uc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB2YWxpZGF0ZShmb3JtOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgdXJsID0gJ2FwaS92YWxpZGF0ZWQtb25seSc7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgICAgICAgdXJsID0gYGFwaS8ke3RoaXMucHJlZml4fS92YWxpZGF0ZWQtb25seWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0VG9VcmwoZm9ybSwgdXJsLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3N0VG9VcmwoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGZvcm06IGFueSxcbiAgICAgICAgdXJsOiBzdHJpbmcsXG4gICAgICAgIGRpc3BsYXlTdWNjZXNzTWVzc2FnZTogYm9vbGVhblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgICAgICBpZiAoISF0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlQ2FwdGNoYUJ5UGFzc1VVSUQpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoXG4gICAgICAgICAgICAgICAgJ3JlQ2FwdGNoYUJ5UGFzc1VVSUQnLFxuICAgICAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVDYXB0Y2hhQnlQYXNzVVVJRFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISF0aGlzLl9sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncmVmZXJlbmNlJywgdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fY2FwdGNoYVRva2VuKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyZUNhcHRjaGFUb2tlbicsIHRoaXMuX2NhcHRjaGFUb2tlbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBmb3JtLCB7IHBhcmFtcyB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKHRoaXMuZW1pdFJlc3BvbnNlLmJpbmQodGhpcykpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IHVua25vd24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVHZXNkZW1FcnJvcihudWxsLCByZXNwb25zZSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHJlc3A6IEZvcm1Qb3N0UmVzcG9uc2U8STE4bkZvcm0+KSA9PlxuICAgICAgICAgICAgICAgIGZvcmtKb2luKFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGRhdGEgPT4gISFkYXRhKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBvZihyZXNwKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFwKChbaXNDb25uZWN0ZWQsIHJlc3BdKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgY29ubmVjdGVkLCBkaXNwbGF5IGEgbWVzc2FnZSB0byBtYWtlIGNsZWFyIHRoYXRcbiAgICAgICAgICAgICAgICAvLyBub3RoaW5nIGlzIGxvc3QhXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpc0Nvbm5lY3RlZCAmJlxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgISFyZXNwPy5tZXRhPy5yZWZlcmVuY2U/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsU2VydmljZS5hZGRXaXRoVHlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIEdyb3dsVHlwZS5TVUNDRVNTLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXNkZW0taGFuZGxlci5zYXZlLWNvbmZpcm1hdGlvbi5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFJlc3BvbnNlKFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICByZXNwb25zZTogRm9ybVBvc3RSZXNwb25zZTxhbnk+LFxuICAgICAgICBzaG91bGREaXNwYXRjaEVycm9yczogYm9vbGVhbiA9IHRydWVcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5tZXRhLmNyaXRpY2FsKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0UmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUZvcm1EYXRhU3ViamVjdC5uZXh0KHJlc3BvbnNlLmZvcm0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFJlc3BvbnNlID0gbmV3IEZvcm1Qb3N0UmVzcG9uc2UoKTtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RSZXNwb25zZS5tZXRhLmNyaXRpY2FsID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnVwZGF0ZUVycm9ycyhcbiAgICAgICAgICAgIHNob3VsZERpc3BhdGNoRXJyb3JzID8gcmVzcG9uc2UuZXJyb3JzIDogW11cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUdlc2RlbUVycm9yKFxuICAgICAgICByZXF1ZXN0ZWRSZWZlcmVuY2U6IHN0cmluZyxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55XG4gICAgKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLl9sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgID8gdGhpcy5fbGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICA6IHJlcXVlc3RlZFJlZmVyZW5jZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUdlc2RlbUVycm9yKFxuICAgICAgICAgICAgdGhpcy5wcmVmaXgsXG4gICAgICAgICAgICByZWZlcmVuY2UsXG4gICAgICAgICAgICByZXNwb25zZVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Optional, Inject, Injectable, EventEmitter, Input, HostBinding, Output, forwardRef, ViewChildren, ViewChild, Directive, Pipe, Component, ContentChildren, HostListener, NgModule, TemplateRef, ContentChild, InjectionToken } from '@angular/core';
3
3
  import * as i1$1 from '@angular/router';
4
4
  import { ActivatedRoute, NavigationStart, RouterModule, NavigationEnd, RouterLink } from '@angular/router';
5
- import { of, Subject, BehaviorSubject, combineLatest, throwError, switchMap as switchMap$1, tap as tap$1, concat, toArray, EMPTY, startWith, filter as filter$1, merge, withLatestFrom, debounceTime as debounceTime$1, map as map$1 } from 'rxjs';
5
+ import { of, Subject, BehaviorSubject, combineLatest, throwError, switchMap as switchMap$1, forkJoin, tap as tap$1, concat, toArray, EMPTY, startWith, filter as filter$1, merge, withLatestFrom, debounceTime as debounceTime$1, map as map$1 } from 'rxjs';
6
6
  import { map, shareReplay, filter, tap, debounceTime, catchError, switchMap, first, throttleTime, mergeMap, share, finalize, distinctUntilChanged } from 'rxjs/operators';
7
7
  import * as i1 from '@angular/common/http';
8
8
  import { HttpStatusCode, HttpResponseBase, HttpErrorResponse, HttpParams, HttpEventType, HttpResponse, HTTP_INTERCEPTORS, HttpClientModule, HttpClient } from '@angular/common/http';
@@ -2020,10 +2020,15 @@ class GesdemHandlerService {
2020
2020
  if (this._captchaToken) {
2021
2021
  params = params.set('reCaptchaToken', this._captchaToken);
2022
2022
  }
2023
- return this.http.post(url, form, { params }).pipe(tap(this.emitResponse.bind(this)), catchError((response) => this.handleGesdemError(null, response)), switchMap(() => this.sessionInfo.data.pipe(map(data => !!data))), tap(isConnected => {
2023
+ return this.http.post(url, form, { params }).pipe(tap(this.emitResponse.bind(this)), catchError((response) => this.handleGesdemError(null, response)), switchMap((resp) => forkJoin([
2024
+ this.sessionInfo.data.pipe(first(), map(data => !!data)),
2025
+ of(resp)
2026
+ ])), tap(([isConnected, resp]) => {
2024
2027
  // If the user is connected, display a message to make clear that
2025
2028
  // nothing is lost!
2026
- if (isConnected && displaySuccessMessage) {
2029
+ if (isConnected &&
2030
+ displaySuccessMessage &&
2031
+ !!resp?.meta?.reference?.length) {
2027
2032
  this.growlService.addWithType(GrowlType.SUCCESS, this.dictionaryService.getKeySync('gesdem-handler.save-confirmation.label'));
2028
2033
  }
2029
2034
  }), map(() => true));