@snabcentr/client-core 2.56.2 → 2.56.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.
Files changed (47) hide show
  1. package/banners/services/sc-banner.service.d.ts +8 -14
  2. package/cart/services/sc-cart.service.d.ts +27 -24
  3. package/catalog/services/sc-catalog.service.d.ts +5 -4
  4. package/catalog/services/sc-favorite.service.d.ts +11 -16
  5. package/catalog/services/sc-recommendation.service.d.ts +19 -19
  6. package/contacts/services/sc-contacts.service.d.ts +14 -16
  7. package/contragent/services/sc-contragent.service.d.ts +24 -14
  8. package/delivery-address/services/sc-delivery-address.service.d.ts +21 -17
  9. package/esm2022/banners/services/sc-banner.service.mjs +17 -22
  10. package/esm2022/cart/services/sc-cart.service.mjs +37 -33
  11. package/esm2022/catalog/services/sc-catalog.service.mjs +15 -12
  12. package/esm2022/catalog/services/sc-favorite.service.mjs +21 -25
  13. package/esm2022/catalog/services/sc-recommendation.service.mjs +26 -25
  14. package/esm2022/contacts/services/sc-contacts.service.mjs +21 -22
  15. package/esm2022/contacts/services/sc-requisites.service.mjs +4 -3
  16. package/esm2022/contragent/services/sc-contragent.service.mjs +34 -27
  17. package/esm2022/delivery-address/services/sc-delivery-address.service.mjs +33 -27
  18. package/esm2022/httpInterceptors/sc-guest.interceptor.mjs +4 -4
  19. package/esm2022/news/services/sc-news.service.mjs +24 -26
  20. package/esm2022/notifications/services/sc-notifications.service.mjs +30 -29
  21. package/esm2022/order/services/sc-orders.service.mjs +40 -36
  22. package/esm2022/pagination/services/sc-pagination.service.mjs +3 -3
  23. package/esm2022/questionnaire/services/sc-questionnaire.service.mjs +25 -25
  24. package/esm2022/references/services/sc-references.service.mjs +25 -25
  25. package/esm2022/user/index.mjs +2 -1
  26. package/esm2022/user/services/sc-user.service.mjs +1 -29
  27. package/esm2022/user/tokens/index.mjs +2 -0
  28. package/esm2022/user/tokens/sc-user-providers.mjs +12 -0
  29. package/esm2022/utm/services/sc-utm.service.mjs +3 -8
  30. package/esm2022/warehouse/services/sc-warehouse.service.mjs +17 -22
  31. package/fesm2022/snabcentr-client-core.mjs +799 -817
  32. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  33. package/httpInterceptors/sc-guest.interceptor.d.ts +1 -1
  34. package/news/services/sc-news.service.d.ts +13 -13
  35. package/notifications/services/sc-notifications.service.d.ts +17 -12
  36. package/order/services/sc-orders.service.d.ts +27 -18
  37. package/package.json +1 -1
  38. package/pagination/services/sc-pagination.service.d.ts +2 -2
  39. package/questionnaire/services/sc-questionnaire.service.d.ts +12 -13
  40. package/references/services/sc-references.service.d.ts +13 -14
  41. package/release_notes.tmp +1 -5
  42. package/user/index.d.ts +1 -0
  43. package/user/services/sc-user.service.d.ts +0 -24
  44. package/user/tokens/index.d.ts +1 -0
  45. package/user/tokens/sc-user-providers.d.ts +7 -0
  46. package/utm/services/sc-utm.service.d.ts +0 -4
  47. package/warehouse/services/sc-warehouse.service.d.ts +8 -13
@@ -1,10 +1,13 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { inject, Injectable } from '@angular/core';
2
3
  import { BehaviorSubject, filter, of, shareReplay, startWith, switchMap, tap } from 'rxjs';
3
- import { SC_URLS, ScCachedItem, ScUserMetrikaGoalsEnum, } from '../../public-api';
4
+ import { ScCachedItem } from '../../catalog/classes/sc-cached-item';
5
+ import { ScContactsService } from '../../contacts/services/sc-contacts.service';
6
+ import { SC_URLS } from '../../tokens/sc-urls';
7
+ import { SC_USER_INFO } from '../../user/tokens/sc-user-providers';
8
+ import { ScUserMetrikaGoalsEnum } from '../../user-metrika/enums/sc-user-metrika-goals-enum';
9
+ import { ScUserMetrikaService } from '../../user-metrika/services/sc-user-metrika.service';
4
10
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "../../auth";
7
- import * as i3 from "../../public-api";
8
11
  /**
9
12
  * Сервис работы с контрагентами.
10
13
  */
@@ -12,18 +15,28 @@ export class ScContragentService {
12
15
  /**
13
16
  * Инициализирует экземпляр класса {@link ScContragentService}.
14
17
  *
15
- * @param http HTTP-клиент.
16
- * @param urls Список ссылок на разделы backend'a.
17
- * @param authService Сервис аутентификации.
18
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
19
- * @param contactsService Сервис для работы с контактными лицами.
20
18
  */
21
- constructor(http, urls, authService, userMetrikaService, contactsService) {
22
- this.http = http;
23
- this.urls = urls;
24
- this.authService = authService;
25
- this.userMetrikaService = userMetrikaService;
26
- this.contactsService = contactsService;
19
+ constructor() {
20
+ /**
21
+ * HTTP-клиент.
22
+ */
23
+ this.http = inject(HttpClient);
24
+ /**
25
+ * Список ссылок приложения.
26
+ */
27
+ this.urls = inject(SC_URLS);
28
+ /**
29
+ * {@link Observable} данных о текущем пользователе.
30
+ */
31
+ this.user$ = inject(SC_USER_INFO);
32
+ /**
33
+ * Сервис для сбора метрик о действиях пользователей.
34
+ */
35
+ this.userMetrikaService = inject(ScUserMetrikaService);
36
+ /**
37
+ * Сервис для работы с контактными лицами.
38
+ */
39
+ this.contactsService = inject(ScContactsService);
27
40
  /**
28
41
  * {@link BehaviorSubject} обновления контрагентов.
29
42
  */
@@ -35,11 +48,8 @@ export class ScContragentService {
35
48
  /**
36
49
  * {@link Observable} данных о контрагентах пользователя.
37
50
  */
38
- this.contragents$ = this.contragentsUpdate$.pipe(switchMap(() => this.authService.getAuthChange()), switchMap((state) => (state ? this.http.get(`${this.urls.apiUrl}/user/contragents`).pipe(startWith(null)) : of(null))), shareReplay(1));
39
- authService
40
- .getAuthChange()
41
- .pipe(filter((state) => !state))
42
- .subscribe(() => {
51
+ this.contragents$ = this.contragentsUpdate$.pipe(switchMap(() => this.user$), switchMap((user) => (user.isGuest ? of(null) : this.http.get(`${this.urls.apiUrl}/user/contragents`).pipe(startWith(null)))), shareReplay(1));
52
+ this.user$.pipe(filter((user) => user.isGuest)).subscribe(() => {
43
53
  this.contactsService.contragentContactsMap.clear();
44
54
  this.contragentBankAccountsMap.clear();
45
55
  });
@@ -144,7 +154,7 @@ export class ScContragentService {
144
154
  .delete(`${this.urls.apiUrl}/user/contragents/${contragentId}/bank-accounts/${bankAccountId}`)
145
155
  .pipe(tap(() => this.contragentBankAccountsMap.get(contragentId)?.update()));
146
156
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScContragentService, deps: [{ token: i1.HttpClient }, { token: SC_URLS }, { token: i2.ScAuthService }, { token: i3.ScUserMetrikaService }, { token: i3.ScContactsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
157
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScContragentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
158
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScContragentService, providedIn: 'root' }); }
149
159
  }
150
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScContragentService, decorators: [{
@@ -152,8 +162,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
152
162
  args: [{
153
163
  providedIn: 'root',
154
164
  }]
155
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
156
- type: Inject,
157
- args: [SC_URLS]
158
- }] }, { type: i2.ScAuthService }, { type: i3.ScUserMetrikaService }, { type: i3.ScContactsService }] });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udHJhZ2VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb250cmFnZW50L3NlcnZpY2VzL3NjLWNvbnRyYWdlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZHLE9BQU8sRUFDSCxPQUFPLEVBQ1AsWUFBWSxFQU1aLHNCQUFzQixHQUV6QixNQUFNLGtCQUFrQixDQUFDOzs7OztBQUkxQjs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFvQjVCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDWSxJQUFnQixFQUNVLElBQWEsRUFDOUIsV0FBMEIsRUFDMUIsa0JBQXdDLEVBQ3hDLGVBQWtDO1FBSjNDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDVSxTQUFJLEdBQUosSUFBSSxDQUFTO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBc0I7UUFDeEMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBakN2RDs7V0FFRztRQUNLLHVCQUFrQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUV6Rjs7V0FFRztRQUNLLDhCQUF5QixHQUFnRCxJQUFJLEdBQUcsRUFBMEMsQ0FBQztRQUVuSTs7V0FFRztRQUNJLGlCQUFZLEdBQXNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ2pGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQ2pELFNBQVMsQ0FBQyxD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LEVBQUUsY0FBYyxDQUFDO2FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksNEJBQTRCLENBQUMsWUFBb0IsRUFBRSxhQUFxQjtRQUMzRSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsTUFBTSxDQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLHFCQUFxQixZQUFZLGtCQUFrQixhQUFhLEVBQUUsQ0FBQzthQUN4RyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7K0dBaktRLG1CQUFtQiw0Q0ErQmhCLE9BQU87bUhBL0JWLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFnQ1EsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aCc7XG5pbXBvcnQge1xuICAgIFNDX1VSTFMsXG4gICAgU2NDYWNoZWRJdGVtLFxuICAgIFNjQ29udGFjdHNTZXJ2aWNlLFxuICAgIFNjSUNvbnRhY3QsXG4gICAgU2NJQ29udGFjdE9uRGF0YUNyZWF0ZSxcbiAgICBTY0lDb250YWN0V2l0aFJlbGF0aW9ucyxcbiAgICBTY0lVcmxzLFxuICAgIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sXG4gICAgU2NVc2VyTWV0cmlrYVNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU2NDb250cmFnZW50LCBTY0NvbnRyYWdlbnRPbkRhdGFDcmVhdGUsIFNjSUJhbmtBY2NvdW50T25EYXRhQ3JlYXRlIH0gZnJvbSAnLi4vZHRvJztcbmltcG9ydCB7IFNjSUJhbmtBY2NvdW50IH0gZnJvbSAnLi4vZHRvL3NjLWktYmFuay1hY2NvdW50JztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0YDQsNCx0L7RgtGLINGBINC60L7QvdGC0YDQsNCz0LXQvdGC0LDQvNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0NvbnRyYWdlbnRTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtC+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb250cmFnZW50c1VwZGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDRgSDQtNCw0L3QvdGL0LzQuCDQviDQsdCw0L3QutC+0LLRgdC60LjRhSDRgdGH0LXRgtCw0YUg0LrQvtC90YLRgNCw0LPQtdC90YLQvtCyLlxuICAgICAqL1xuICAgIHByaXZhdGUgY29udHJhZ2VudEJhbmtBY2NvdW50c01hcDogTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjSUJhbmtBY2NvdW50W10+PiA9IG5ldyBNYXA8bnVtYmVyLCBTY0NhY2hlZEl0ZW08U2NJQmFua0FjY291bnRbXT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LTQsNC90L3Ri9GFINC+INC60L7QvdGC0YDQsNCz0LXQvdGC0LDRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIGNvbnRyYWdlbnRzJDogT2JzZXJ2YWJsZTxTY0NvbnRyYWdlbnRbXSB8IG51bGw+ID0gdGhpcy5jb250cmFnZW50c1VwZGF0ZSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aENoYW5nZSgpKSxcbiAgICAgICAgc3dpdGNoTWFwKChzdGF0ZTogYm9vbGVhbikgPT4gKHN0YXRlID8gdGhpcy5odHRwLmdldDxTY0NvbnRyYWdlbnRbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9jb250cmFnZW50c2ApLnBpcGUoc3RhcnRXaXRoKG51bGwpKSA6IG9mKG51bGwpKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDb250cmFnZW50U2VydmljZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHR0cCBIVFRQLdC60LvQuNC10L3Rgi5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqIEBwYXJhbSBjb250YWN0c1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LrQvtC90YLQsNC60YLQvdGL0LzQuCDQu9C40YbQsNC80LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFjdHNTZXJ2aWNlOiBTY0NvbnRhY3RzU2VydmljZVxuICAgICkge1xuICAgICAgICBhdXRoU2VydmljZVxuICAgICAgICAgICAgLmdldEF1dGhDaGFuZ2UoKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChzdGF0ZTogYm9vbGVhbikgPT4gIXN0YXRlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGFjdHNTZXJ2aWNlLmNvbnRyYWdlbnRDb250YWN0c01hcC5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJhZ2VudEJhbmtBY2NvdW50c01hcC5jbGVhcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7Qs9C+INC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3Q29udHJhZ2VudCDQlNCw0L3QvdGL0LUg0L3QvtCy0L7Qs9C+INC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUNvbnRyYWdlbnQkKG5ld0NvbnRyYWdlbnQ6IFNjQ29udHJhZ2VudE9uRGF0YUNyZWF0ZSk6IE9ic2VydmFibGU8U2NDb250cmFnZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0NvbnRyYWdlbnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvY29udHJhZ2VudHNgLCBuZXdDb250cmFnZW50KS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUNvbnRyYWdlbnRBZGRlZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyYWdlbnRzVXBkYXRlJC5uZXh0KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQvdCwINGD0LTQsNC70LXQvdC40LUg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsCwg0LrQvtGC0L7RgNC+0LPQviDQvdC10L7QsdGF0L7QtNC40LzQviDRg9C00LDQu9C40YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudCQoY29udHJhZ2VudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvY29udHJhZ2VudHMvJHtjb250cmFnZW50SWR9YCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0udXNlclByb2ZpbGVDb250cmFnZW50RGVsZXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvbnRyYWdlbnRfaWQ6IGNvbnRyYWdlbnRJZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJhZ2VudHNVcGRhdGUkLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyYWdlbnRCYW5rQWNjb3VudHNNYXAuZGVsZXRlKGNvbnRyYWdlbnRJZCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC60L7QvdGC0LDQutGC0L3Ri9GFINC70LjRhiDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb250cmFnZW50Q29udGFjdHMkKGNvbnRyYWdlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lDb250YWN0W10gfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5jb250YWN0c1NlcnZpY2UuY29udHJhZ2VudENvbnRhY3RzTWFwLmdldChjb250cmFnZW50SWQpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0LLRgNC10LzRjyDQttC40LfQvdC4IGNhY2hlZEl0ZW0g0YDQsNCy0L3QvtC1LCDQv9C+0YLQvtC80YMg0YfRgtC+INC90LDQvCDQvdC1INCy0LDQttC90L4g0LLRgNC10LzRjyDQttC40LfQvdC4LiDQndCw0Lwg0L3Rg9C20LXQvSDRhNGD0L3QutGG0LjQvtC90LDQuyB1cGRhdGUoKSDQsiDQsdGD0LTRg9GJ0LXQvC5cbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKDAsIHRoaXMuaHR0cC5nZXQ8U2NJQ29udGFjdFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL2NvbnRyYWdlbnRzLyR7Y29udHJhZ2VudElkfS9jb250YWN0c2ApKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFjdHNTZXJ2aWNlLmNvbnRyYWdlbnRDb250YWN0c01hcC5zZXQoY29udHJhZ2VudElkLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRgdC+0LfQtNCw0L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LrQvtC90YLRgNCw0LPQtdC90YLRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKiBAcGFyYW0gbmV3Q29udGFjdCDQlNCw0L3QvdGL0LUg0YLRgNC10LHRg9C10LzRi9C1INC00LvRjyDRgdC+0LfQtNCw0L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7Qt9C00LDQvdC90L7Qs9C+INC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUNvbnRyYWdlbnRDb250YWN0JChjb250cmFnZW50SWQ6IG51bWJlciwgbmV3Q29udGFjdDogU2NJQ29udGFjdE9uRGF0YUNyZWF0ZSk6IE9ic2VydmFibGU8U2NJQ29udGFjdFdpdGhSZWxhdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFjdHNTZXJ2aWNlLmNyZWF0ZUNvbnRhY3QkKHsgLi4ubmV3Q29udGFjdCwgY29udHJhZ2VudHM6IFt7IGlkOiBjb250cmFnZW50SWQgfV0gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqIEBwYXJhbSBjb250YWN0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudENvbnRhY3QkKGNvbnRyYWdlbnRJZDogbnVtYmVyLCBjb250YWN0SWQ6IG51bWJlcik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhY3RzU2VydmljZS5kZWxldGVDb250YWN0JChjb250YWN0SWQpLnBpcGUodGFwKCgpID0+IHRoaXMuY29udGFjdHNTZXJ2aWNlLmNvbnRyYWdlbnRDb250YWN0c01hcC5nZXQoY29udHJhZ2VudElkKT8udXBkYXRlKCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQsdCw0L3QutC+0LLRgdC60LjRhSDRgdGH0LXRgtC+0LIg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29udHJhZ2VudEJhbmtBY2NvdW50cyQoY29udHJhZ2VudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUJhbmtBY2NvdW50W10gfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5jb250cmFnZW50QmFua0FjY291bnRzTWFwLmdldChjb250cmFnZW50SWQpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0LLRgNC10LzRjyDQttC40LfQvdC4IGNhY2hlZEl0ZW0g0YDQsNCy0L3QvtC1LCDQv9C+0YLQvtC80YMg0YfRgtC+INC90LDQvCDQvdC1INCy0LDQttC90L4g0LLRgNC10LzRjyDQttC40LfQvdC4LiDQndCw0Lwg0L3Rg9C20LXQvSDRhNGD0L3QutGG0LjQvtC90LDQuyB1cGRhdGUoKS5cbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKDAsIHRoaXMuaHR0cC5nZXQ8U2NJQmFua0FjY291bnRbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9jb250cmFnZW50cy8ke2NvbnRyYWdlbnRJZH0vYmFuay1hY2NvdW50c2ApKTtcbiAgICAgICAgICAgIHRoaXMuY29udHJhZ2VudEJhbmtBY2NvdW50c01hcC5zZXQoY29udHJhZ2VudElkLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRgdC+0LfQtNCw0L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqIEBwYXJhbSBuZXdCYW5rQWNjb3VudCDQlNCw0L3QvdGL0LUg0YLRgNC10LHRg9C10LzRi9C1INC00LvRjyDRgdC+0LfQtNCw0L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9C10YLQsC5cbiAgICAgKiBAcmV0dXJucyDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC30LTQsNC90L3QvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDb250cmFnZW50QmFua0FjY291bnQkKGNvbnRyYWdlbnRJZDogbnVtYmVyLCBuZXdCYW5rQWNjb3VudDogU2NJQmFua0FjY291bnRPbkRhdGFDcmVhdGUpOiBPYnNlcnZhYmxlPFNjSUJhbmtBY2NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PFNjSUJhbmtBY2NvdW50PihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL2NvbnRyYWdlbnRzLyR7Y29udHJhZ2VudElkfS9iYW5rLWFjY291bnRzYCwgbmV3QmFua0FjY291bnQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5jb250cmFnZW50QmFua0FjY291bnRzTWFwLmdldChjb250cmFnZW50SWQpPy51cGRhdGUoKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRg9C00LDQu9C10L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9C10YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqIEBwYXJhbSBiYW5rQWNjb3VudElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9C10YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50JChjb250cmFnZW50SWQ6IG51bWJlciwgYmFua0FjY291bnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmRlbGV0ZTx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvY29udHJhZ2VudHMvJHtjb250cmFnZW50SWR9L2JhbmstYWNjb3VudHMvJHtiYW5rQWNjb3VudElkfWApXG4gICAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5jb250cmFnZW50QmFua0FjY291bnRzTWFwLmdldChjb250cmFnZW50SWQpPy51cGRhdGUoKSkpO1xuICAgIH1cbn1cbiJdfQ==
165
+ }], ctorParameters: () => [] });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udHJhZ2VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb250cmFnZW50L3NlcnZpY2VzL3NjLWNvbnRyYWdlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFJM0Y7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBNkM1Qjs7O09BR0c7SUFDSDtRQWhEQTs7V0FFRztRQUNjLFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2MsVUFBSyxHQUF1QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEU7O1dBRUc7UUFDYyx1QkFBa0IsR0FBeUIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7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SSxDQUFDLE1BQU0scUJBQXFCLFlBQVksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3hJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRCQUE0QixDQUFDLFlBQW9CLEVBQUUsY0FBMEM7UUFDaEcsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0scUJBQXFCLFlBQVksZ0JBQWdCLEVBQUUsY0FBYyxDQUFDO2FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksNEJBQTRCLENBQUMsWUFBb0IsRUFBRSxhQUFxQjtRQUMzRSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsTUFBTSxDQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLHFCQUFxQixZQUFZLGtCQUFrQixhQUFhLEVBQUUsQ0FBQzthQUN4RyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7K0dBNUtRLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07OzRGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjQ2FjaGVkSXRlbSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvY2xhc3Nlcy9zYy1jYWNoZWQtaXRlbSc7XG5pbXBvcnQgeyBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NjLWktdXJscyc7XG5pbXBvcnQgeyBTY0NvbnRhY3RzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRhY3RzL3NlcnZpY2VzL3NjLWNvbnRhY3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNjSUNvbnRhY3QgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy1pLWNvbnRhY3QnO1xuaW1wb3J0IHsgU2NJQ29udGFjdE9uRGF0YUNyZWF0ZSB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLWktY29udGFjdC1vbi1kYXRhLWNyZWF0ZSc7XG5pbXBvcnQgeyBTY0lDb250YWN0V2l0aFJlbGF0aW9ucyB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLWktY29udGFjdC13aXRoLXJlbGF0aW9ucyc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0gfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EvZW51bXMvc2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0nO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2Evc2VydmljZXMvc2MtdXNlci1tZXRyaWthLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50LCBTY0NvbnRyYWdlbnRPbkRhdGFDcmVhdGUsIFNjSUJhbmtBY2NvdW50T25EYXRhQ3JlYXRlIH0gZnJvbSAnLi4vZHRvJztcbmltcG9ydCB7IFNjSUJhbmtBY2NvdW50IH0gZnJvbSAnLi4vZHRvL3NjLWktYmFuay1hY2NvdW50JztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0YDQsNCx0L7RgtGLINGBINC60L7QvdGC0YDQsNCz0LXQvdGC0LDQvNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0NvbnRyYWdlbnRTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBIVFRQLdC60LvQuNC10L3Rgi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyA9IGluamVjdChTQ19VUkxTKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPiA9IGluamVjdChTQ19VU0VSX0lORk8pO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60L7QvdGC0LDQutGC0L3Ri9C80Lgg0LvQuNGG0LDQvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFjdHNTZXJ2aWNlOiBTY0NvbnRhY3RzU2VydmljZSA9IGluamVjdChTY0NvbnRhY3RzU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtC+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cmFnZW50c1VwZGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDRgSDQtNCw0L3QvdGL0LzQuCDQviDQsdCw0L3QutC+0LLRgdC60LjRhSDRgdGH0LXRgtCw0YUg0LrQvtC90YLRgNCw0LPQtdC90YLQvtCyLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJhZ2VudEJhbmtBY2NvdW50c01hcDogTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjSUJhbmtBY2NvdW50W10+PiA9IG5ldyBNYXA8bnVtYmVyLCBTY0NhY2hlZEl0ZW08U2NJQmFua0FjY291bnRbXT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LTQsNC90L3Ri9GFINC+INC60L7QvdGC0YDQsNCz0LXQvdGC0LDRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRyYWdlbnRzJDogT2JzZXJ2YWJsZTxTY0NvbnRyYWdlbnRbXSB8IG51bGw+ID0gdGhpcy5jb250cmFnZW50c1VwZGF0ZSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlciQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHVzZXIpID0+ICh1c2VyLmlzR3Vlc3QgPyBvZihudWxsKSA6IHRoaXMuaHR0cC5nZXQ8U2NDb250cmFnZW50W10+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvY29udHJhZ2VudHNgKS5waXBlKHN0YXJ0V2l0aChudWxsKSkpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NvbnRyYWdlbnRTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51c2VyJC5waXBlKGZpbHRlcigodXNlcikgPT4gdXNlci5pc0d1ZXN0KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29udGFjdHNTZXJ2aWNlLmNvbnRyYWdlbnRDb250YWN0c01hcC5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5jb250cmFnZW50QmFua0FjY291bnRzTWFwLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRgdC+0LfQtNCw0L3QuNGPINC90L7QstC+0LPQviDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0NvbnRyYWdlbnQg0JTQsNC90L3Ri9C1INC90L7QstC+0LPQviDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDb250cmFnZW50JChuZXdDb250cmFnZW50OiBTY0NvbnRyYWdlbnRPbkRhdGFDcmVhdGUpOiBPYnNlcnZhYmxlPFNjQ29udHJhZ2VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NDb250cmFnZW50PihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL2NvbnRyYWdlbnRzYCwgbmV3Q29udHJhZ2VudCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0udXNlclByb2ZpbGVDb250cmFnZW50QWRkZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cmFnZW50c1VwZGF0ZSQubmV4dCgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L3QsCDRg9C00LDQu9C10L3QuNC1INC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udHJhZ2VudElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvdGC0YDQsNCz0LXQvdGC0LAsINC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0YPQtNCw0LvQuNGC0YwuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnQkKGNvbnRyYWdlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL2NvbnRyYWdlbnRzLyR7Y29udHJhZ2VudElkfWApLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLnVzZXJQcm9maWxlQ29udHJhZ2VudERlbGV0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb250cmFnZW50X2lkOiBjb250cmFnZW50SWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyYWdlbnRzVXBkYXRlJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cmFnZW50QmFua0FjY291bnRzTWFwLmRlbGV0ZShjb250cmFnZW50SWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29udHJhZ2VudENvbnRhY3RzJChjb250cmFnZW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NJQ29udGFjdFtdIHwgbnVsbD4ge1xuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMuY29udGFjdHNTZXJ2aWNlLmNvbnRyYWdlbnRDb250YWN0c01hcC5nZXQoY29udHJhZ2VudElkKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIC8vINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdC8INCy0YDQtdC80Y8g0LbQuNC30L3QuCBjYWNoZWRJdGVtINGA0LDQstC90L7QtSwg0L/QvtGC0L7QvNGDINGH0YLQviDQvdCw0Lwg0L3QtSDQstCw0LbQvdC+INCy0YDQtdC80Y8g0LbQuNC30L3QuC4g0J3QsNC8INC90YPQttC10L0g0YTRg9C90LrRhtC40L7QvdCw0LsgdXBkYXRlKCkg0LIg0LHRg9C00YPRidC10LwuXG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbSgwLCB0aGlzLmh0dHAuZ2V0PFNjSUNvbnRhY3RbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9jb250cmFnZW50cy8ke2NvbnRyYWdlbnRJZH0vY29udGFjdHNgKSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRhY3RzU2VydmljZS5jb250cmFnZW50Q29udGFjdHNNYXAuc2V0KGNvbnRyYWdlbnRJZCwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0YHQvtC30LTQsNC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udHJhZ2VudElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICogQHBhcmFtIG5ld0NvbnRhY3Qg0JTQsNC90L3Ri9C1INGC0YDQtdCx0YPQtdC80YvQtSDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LfQtNCw0L3QvdC+0LPQviDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDb250cmFnZW50Q29udGFjdCQoY29udHJhZ2VudElkOiBudW1iZXIsIG5ld0NvbnRhY3Q6IFNjSUNvbnRhY3RPbkRhdGFDcmVhdGUpOiBPYnNlcnZhYmxlPFNjSUNvbnRhY3RXaXRoUmVsYXRpb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhY3RzU2VydmljZS5jcmVhdGVDb250YWN0JCh7IC4uLm5ld0NvbnRhY3QsIGNvbnRyYWdlbnRzOiBbeyBpZDogY29udHJhZ2VudElkIH1dIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKiBAcGFyYW0gY29udGFjdElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRDb250YWN0JChjb250cmFnZW50SWQ6IG51bWJlciwgY29udGFjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWN0c1NlcnZpY2UuZGVsZXRlQ29udGFjdCQoY29udGFjdElkKS5waXBlKHRhcCgoKSA9PiB0aGlzLmNvbnRhY3RzU2VydmljZS5jb250cmFnZW50Q29udGFjdHNNYXAuZ2V0KGNvbnRyYWdlbnRJZCk/LnVwZGF0ZSgpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0LHQsNC90LrQvtCy0YHQutC40YUg0YHRh9C10YLQvtCyINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udHJhZ2VudElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbnRyYWdlbnRCYW5rQWNjb3VudHMkKGNvbnRyYWdlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lCYW5rQWNjb3VudFtdIHwgbnVsbD4ge1xuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMuY29udHJhZ2VudEJhbmtBY2NvdW50c01hcC5nZXQoY29udHJhZ2VudElkKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIC8vINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdC8INCy0YDQtdC80Y8g0LbQuNC30L3QuCBjYWNoZWRJdGVtINGA0LDQstC90L7QtSwg0L/QvtGC0L7QvNGDINGH0YLQviDQvdCw0Lwg0L3QtSDQstCw0LbQvdC+INCy0YDQtdC80Y8g0LbQuNC30L3QuC4g0J3QsNC8INC90YPQttC10L0g0YTRg9C90LrRhtC40L7QvdCw0LsgdXBkYXRlKCkuXG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbSgwLCB0aGlzLmh0dHAuZ2V0PFNjSUJhbmtBY2NvdW50W10+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvY29udHJhZ2VudHMvJHtjb250cmFnZW50SWR9L2JhbmstYWNjb3VudHNgKSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRyYWdlbnRCYW5rQWNjb3VudHNNYXAuc2V0KGNvbnRyYWdlbnRJZCwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0YHQvtC30LTQsNC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKiBAcGFyYW0gbmV3QmFua0FjY291bnQg0JTQsNC90L3Ri9C1INGC0YDQtdCx0YPQtdC80YvQtSDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfQtdGC0LAuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7Qt9C00LDQvdC90L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlQ29udHJhZ2VudEJhbmtBY2NvdW50JChjb250cmFnZW50SWQ6IG51bWJlciwgbmV3QmFua0FjY291bnQ6IFNjSUJhbmtBY2NvdW50T25EYXRhQ3JlYXRlKTogT2JzZXJ2YWJsZTxTY0lCYW5rQWNjb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxTY0lCYW5rQWNjb3VudD4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9jb250cmFnZW50cy8ke2NvbnRyYWdlbnRJZH0vYmFuay1hY2NvdW50c2AsIG5ld0JhbmtBY2NvdW50KVxuICAgICAgICAgICAgLnBpcGUodGFwKCgpID0+IHRoaXMuY29udHJhZ2VudEJhbmtBY2NvdW50c01hcC5nZXQoY29udHJhZ2VudElkKT8udXBkYXRlKCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0YPQtNCw0LvQtdC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfQtdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKiBAcGFyYW0gYmFua0FjY291bnRJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfQtdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudCQoY29udHJhZ2VudElkOiBudW1iZXIsIGJhbmtBY2NvdW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL2NvbnRyYWdlbnRzLyR7Y29udHJhZ2VudElkfS9iYW5rLWFjY291bnRzLyR7YmFua0FjY291bnRJZH1gKVxuICAgICAgICAgICAgLnBpcGUodGFwKCgpID0+IHRoaXMuY29udHJhZ2VudEJhbmtBY2NvdW50c01hcC5nZXQoY29udHJhZ2VudElkKT8udXBkYXRlKCkpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,29 +1,38 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { inject, Injectable } from '@angular/core';
2
3
  import { BehaviorSubject, of, shareReplay, startWith, switchMap, tap } from 'rxjs';
3
- import { SC_URLS, ScCachedItem, ScUserMetrikaGoalsEnum } from '../../public-api';
4
+ import { ScCachedItem } from '../../catalog/classes/sc-cached-item';
5
+ import { ScContactsService } from '../../contacts/services/sc-contacts.service';
6
+ import { SC_URLS } from '../../tokens/sc-urls';
7
+ import { SC_USER_INFO } from '../../user/tokens/sc-user-providers';
8
+ import { ScUserMetrikaGoalsEnum } from '../../user-metrika/enums/sc-user-metrika-goals-enum';
9
+ import { ScUserMetrikaService } from '../../user-metrika/services/sc-user-metrika.service';
4
10
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "../../auth";
7
- import * as i3 from "../../public-api";
8
11
  /**
9
12
  * Сервис работы с адресами доставки.
10
13
  */
11
14
  export class ScDeliveryAddressService {
12
- /**
13
- * Инициализирует экземпляр класса {@link ScDeliveryAddressService}.
14
- *
15
- * @param http HTTP-клиент.
16
- * @param urls Список ссылок на разделы backend'a.
17
- * @param authService Сервис аутентификации.
18
- * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
19
- * @param contactsService Сервис для работы с контактными лицами.
20
- */
21
- constructor(http, urls, authService, userMetrikaService, contactsService) {
22
- this.http = http;
23
- this.urls = urls;
24
- this.authService = authService;
25
- this.userMetrikaService = userMetrikaService;
26
- this.contactsService = contactsService;
15
+ constructor() {
16
+ /**
17
+ * HTTP-клиент.
18
+ */
19
+ this.http = inject(HttpClient);
20
+ /**
21
+ * Список ссылок приложения.
22
+ */
23
+ this.urls = inject(SC_URLS);
24
+ /**
25
+ * {@link Observable} данных о текущем пользователе.
26
+ */
27
+ this.user$ = inject(SC_USER_INFO);
28
+ /**
29
+ * Сервис для сбора метрик о действиях пользователей.
30
+ */
31
+ this.userMetrikaService = inject(ScUserMetrikaService);
32
+ /**
33
+ * Сервис для работы с контактными лицами.
34
+ */
35
+ this.contactsService = inject(ScContactsService);
27
36
  /**
28
37
  * {@link BehaviorSubject} обновление адресов доставки.
29
38
  */
@@ -31,7 +40,7 @@ export class ScDeliveryAddressService {
31
40
  /**
32
41
  * {@link Observable} данных адресов доставки.
33
42
  */
34
- this.deliveryAddresses$ = this.deliveryAddressesUpdate$.pipe(switchMap(() => this.authService.getAuthChange()), switchMap((state) => (state ? this.http.get(`${this.urls.apiUrl}/user/delivery-addresses`).pipe(startWith(null)) : of(null))), shareReplay(1));
43
+ this.deliveryAddresses$ = this.deliveryAddressesUpdate$.pipe(switchMap(() => this.user$), switchMap((user) => (user.isGuest ? of(null) : this.http.get(`${this.urls.apiUrl}/user/delivery-addresses`).pipe(startWith(null)))), shareReplay(1));
35
44
  }
36
45
  /**
37
46
  * Создаёт запрос создания нового адреса доставки.
@@ -97,7 +106,7 @@ export class ScDeliveryAddressService {
97
106
  deleteDeliveryAddressContact$(addressId, contactId) {
98
107
  return this.contactsService.deleteContact$(contactId).pipe(tap(() => this.contactsService.deliveryAddressContactsMap.get(addressId)?.update()));
99
108
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScDeliveryAddressService, deps: [{ token: i1.HttpClient }, { token: SC_URLS }, { token: i2.ScAuthService }, { token: i3.ScUserMetrikaService }, { token: i3.ScContactsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScDeliveryAddressService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
101
110
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScDeliveryAddressService, providedIn: 'root' }); }
102
111
  }
103
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScDeliveryAddressService, decorators: [{
@@ -105,8 +114,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
105
114
  args: [{
106
115
  providedIn: 'root',
107
116
  }]
108
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
109
- type: Inject,
110
- args: [SC_URLS]
111
- }] }, { type: i2.ScAuthService }, { type: i3.ScUserMetrikaService }, { type: i3.ScContactsService }] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGVsaXZlcnktYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kZWxpdmVyeS1hZGRyZXNzL3NlcnZpY2VzL3NjLWRlbGl2ZXJ5LWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQStFLHNCQUFzQixFQUF3QixNQUFNLGtCQUFrQixDQUFDOzs7OztBQUdwTDs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFlakM7Ozs7Ozs7O09BUUc7SUFDSCxZQUNZLElBQWdCLEVBQ1UsSUFBYSxFQUM5QixXQUEwQixFQUMxQixrQkFBd0MsRUFDeEMsZUFBa0M7UUFKM0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNVLFNBQUksR0FBSixJQUFJLENBQVM7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQUN4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUE1QnZEOztXQUVHO1FBQ0ssNkJBQXdCLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBRS9GOztXQUVHO1FBQ0ksdUJBQWtCLEdBQTRDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQ25HLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQ2pELFNBQVMsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FB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QUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BKLENBQUM7K0dBM0dRLHdCQUF3Qiw0Q0EwQnJCLE9BQU87bUhBMUJWLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkEyQlEsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgnO1xuaW1wb3J0IHsgU0NfVVJMUywgU2NDYWNoZWRJdGVtLCBTY0NvbnRhY3RzU2VydmljZSwgU2NJQ29udGFjdE9uRGF0YUNyZWF0ZSwgU2NJQ29udGFjdFdpdGhSZWxhdGlvbnMsIFNjSVVybHMsIFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBTY0lEZWxpdmVyeUFkZHJlc3MsIFNjSURlbGl2ZXJ5QWRkcmVzc09uRGF0YUNyZWF0ZSB9IGZyb20gJy4uL2R0byc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGA0LDQsdC+0YLRiyDRgSDQsNC00YDQtdGB0LDQvNC4INC00L7RgdGC0LDQstC60LguXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjRGVsaXZlcnlBZGRyZXNzU2VydmljZSB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIEJlaGF2aW9yU3ViamVjdH0g0L7QsdC90L7QstC70LXQvdC40LUg0LDQtNGA0LXRgdC+0LIg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGRlbGl2ZXJ5QWRkcmVzc2VzVXBkYXRlJDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQsNC00YDQtdGB0L7QsiDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NlcyQ6IE9ic2VydmFibGU8U2NJRGVsaXZlcnlBZGRyZXNzW10gfCBudWxsPiA9IHRoaXMuZGVsaXZlcnlBZGRyZXNzZXNVcGRhdGUkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhDaGFuZ2UoKSksXG4gICAgICAgIHN3aXRjaE1hcCgoc3RhdGU6IGJvb2xlYW4pID0+IChzdGF0ZSA/IHRoaXMuaHR0cC5nZXQ8U2NJRGVsaXZlcnlBZGRyZXNzW10+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvZGVsaXZlcnktYWRkcmVzc2VzYCkucGlwZShzdGFydFdpdGgobnVsbCkpIDogb2YobnVsbCkpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0RlbGl2ZXJ5QWRkcmVzc1NlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGh0dHAgSFRUUC3QutC70LjQtdC90YIuXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gYXV0aFNlcnZpY2Ug0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gY29udGFjdHNTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60L7QvdGC0LDQutGC0L3Ri9C80Lgg0LvQuNGG0LDQvNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhY3RzU2VydmljZTogU2NDb250YWN0c1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0YHQvtC30LTQsNC90LjRjyDQvdC+0LLQvtCz0L4g0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3QWRkcmVzc2VzINCU0LDQvdC90YvQtSDQvdC+0LLQvtCz0L4g0LDQtNGA0LXRgdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVEZWxpdmVyeUFkZHJlc3MkKG5ld0FkZHJlc3NlczogU2NJRGVsaXZlcnlBZGRyZXNzT25EYXRhQ3JlYXRlKTogT2JzZXJ2YWJsZTxTY0lEZWxpdmVyeUFkZHJlc3M+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNjSURlbGl2ZXJ5QWRkcmVzcz4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9kZWxpdmVyeS1hZGRyZXNzZXNgLCBuZXdBZGRyZXNzZXMpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLnVzZXJQcm9maWxlRGVsaXZlcnlBZGRyZXNzQWRkZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3Nlc1VwZGF0ZSQubmV4dCgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L3QsCDRg9C00LDQu9C10L3QuNC1INCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCwg0LrQvtGC0L7RgNGL0Lkg0L3QtdC+0LHRhdC+0LTQuNC80L4g0YPQtNCw0LvQuNGC0YwuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZURlbGl2ZXJ5QWRkcmVzcyQoYWRkcmVzc0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL2RlbGl2ZXJ5LWFkZHJlc3Nlcy8ke2FkZHJlc3NJZH1gKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZURlbGl2ZXJ5QWRkcmVzc0RlbGV0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBkZWxpdmVyeV9hZGRyZXNzX2lkOiBhZGRyZXNzSWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc2VzVXBkYXRlJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWN0c1NlcnZpY2UuZGVsaXZlcnlBZGRyZXNzQ29udGFjdHNNYXAuZGVsZXRlKGFkZHJlc3NJZCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC60L7QvdGC0LDQutGC0L3Ri9GFINC70LjRhiDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVsaXZlcnlBZGRyZXNzQ29udGFjdHMkKGFkZHJlc3NJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lDb250YWN0V2l0aFJlbGF0aW9uc1tdIHwgbnVsbD4ge1xuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMuY29udGFjdHNTZXJ2aWNlLmRlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RzTWFwLmdldChhZGRyZXNzSWQpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0LLRgNC10LzRjyDQttC40LfQvdC4IGNhY2hlZEl0ZW0g0YDQsNCy0L3QvtC1LCDQv9C+0YLQvtC80YMg0YfRgtC+INC90LDQvCDQvdC1INCy0LDQttC90L4g0LLRgNC10LzRjyDQttC40LfQvdC4LiDQndCw0Lwg0L3Rg9C20LXQvSDRhNGD0L3QutGG0LjQvtC90LDQuyB1cGRhdGUoKS5cbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKDAsIHRoaXMuaHR0cC5nZXQ8U2NJQ29udGFjdFdpdGhSZWxhdGlvbnNbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9kZWxpdmVyeS1hZGRyZXNzZXMvJHthZGRyZXNzSWR9L2NvbnRhY3RzYCkpO1xuICAgICAgICAgICAgdGhpcy5jb250YWN0c1NlcnZpY2UuZGVsaXZlcnlBZGRyZXNzQ29udGFjdHNNYXAuc2V0KGFkZHJlc3NJZCwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0YHQvtC30LTQsNC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKiBAcGFyYW0gbmV3Q29udGFjdCDQlNCw0L3QvdGL0LUg0YLRgNC10LHRg9C10LzRi9C1INC00LvRjyDRgdC+0LfQtNCw0L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7Qt9C00LDQvdC90L7Qs9C+INC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3QkKGFkZHJlc3NJZDogbnVtYmVyLCBuZXdDb250YWN0OiBTY0lDb250YWN0T25EYXRhQ3JlYXRlKTogT2JzZXJ2YWJsZTxTY0lDb250YWN0V2l0aFJlbGF0aW9ucz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWN0c1NlcnZpY2UuY3JlYXRlQ29udGFjdCQoeyAuLi5uZXdDb250YWN0LCBhZGRyZXNzZXM6IFt7IGlkOiBhZGRyZXNzSWQgfV0gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICogQHBhcmFtIGNvbnRhY3RJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3NDb250YWN0JChhZGRyZXNzSWQ6IG51bWJlciwgY29udGFjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFjdHNTZXJ2aWNlLmRlbGV0ZUNvbnRhY3QkKGNvbnRhY3RJZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5jb250YWN0c1NlcnZpY2UuZGVsaXZlcnlBZGRyZXNzQ29udGFjdHNNYXAuZ2V0KGFkZHJlc3NJZCk/LnVwZGF0ZSgpKSk7XG4gICAgfVxufVxuIl19
117
+ }] });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGVsaXZlcnktYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kZWxpdmVyeS1hZGRyZXNzL3NlcnZpY2VzL3NjLWRlbGl2ZXJ5LWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOztBQUczRjs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFJSTs7V0FFRztRQUNjLFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2MsVUFBSyxHQUF1QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEU7O1dBRUc7UUFDYyx1QkFBa0IsR0FBeUIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFekY7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LDZCQUE2QixDQUFDLFNBQWlCLEVBQUUsVUFBa0M7UUFDdEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDZCQUE2QixDQUFDLFNBQWlCLEVBQUUsU0FBaUI7UUFDckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwSixDQUFDOytHQW5IUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9jbGFzc2VzL3NjLWNhY2hlZC1pdGVtJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNjQ29udGFjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGFjdHMvc2VydmljZXMvc2MtY29udGFjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLXVybHMnO1xuaW1wb3J0IHsgU2NJQ29udGFjdE9uRGF0YUNyZWF0ZSB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLWktY29udGFjdC1vbi1kYXRhLWNyZWF0ZSc7XG5pbXBvcnQgeyBTY0lDb250YWN0V2l0aFJlbGF0aW9ucyB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLWktY29udGFjdC13aXRoLXJlbGF0aW9ucyc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0gfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EvZW51bXMvc2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0nO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2Evc2VydmljZXMvc2MtdXNlci1tZXRyaWthLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NJRGVsaXZlcnlBZGRyZXNzLCBTY0lEZWxpdmVyeUFkZHJlc3NPbkRhdGFDcmVhdGUgfSBmcm9tICcuLi9kdG8nO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEg0LDQtNGA0LXRgdCw0LzQuCDQtNC+0YHRgtCw0LLQutC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0RlbGl2ZXJ5QWRkcmVzc1NlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2UgPSBpbmplY3QoU2NVc2VyTWV0cmlrYVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LrQvtC90YLQsNC60YLQvdGL0LzQuCDQu9C40YbQsNC80LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250YWN0c1NlcnZpY2U6IFNjQ29udGFjdHNTZXJ2aWNlID0gaW5qZWN0KFNjQ29udGFjdHNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBCZWhhdmlvclN1YmplY3R9INC+0LHQvdC+0LLQu9C10L3QuNC1INCw0LTRgNC10YHQvtCyINC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWxpdmVyeUFkZHJlc3Nlc1VwZGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQtNCw0L3QvdGL0YUg0LDQtNGA0LXRgdC+0LIg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsaXZlcnlBZGRyZXNzZXMkOiBPYnNlcnZhYmxlPFNjSURlbGl2ZXJ5QWRkcmVzc1tdIHwgbnVsbD4gPSB0aGlzLmRlbGl2ZXJ5QWRkcmVzc2VzVXBkYXRlJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy51c2VyJCksXG4gICAgICAgIHN3aXRjaE1hcCgodXNlcikgPT4gKHVzZXIuaXNHdWVzdCA/IG9mKG51bGwpIDogdGhpcy5odHRwLmdldDxTY0lEZWxpdmVyeUFkZHJlc3NbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9kZWxpdmVyeS1hZGRyZXNzZXNgKS5waXBlKHN0YXJ0V2l0aChudWxsKSkpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7Qs9C+INCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0FkZHJlc3NlcyDQlNCw0L3QvdGL0LUg0L3QvtCy0L7Qs9C+INCw0LTRgNC10YHQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlRGVsaXZlcnlBZGRyZXNzJChuZXdBZGRyZXNzZXM6IFNjSURlbGl2ZXJ5QWRkcmVzc09uRGF0YUNyZWF0ZSk6IE9ic2VydmFibGU8U2NJRGVsaXZlcnlBZGRyZXNzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lEZWxpdmVyeUFkZHJlc3M+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvZGVsaXZlcnktYWRkcmVzc2VzYCwgbmV3QWRkcmVzc2VzKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZURlbGl2ZXJ5QWRkcmVzc0FkZGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzZXNVcGRhdGUkLm5leHQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINC90LAg0YPQtNCw0LvQtdC90LjQtSDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LgsINC60L7RgtC+0YDRi9C5INC90LXQvtCx0YXQvtC00LjQvNC+INGD0LTQsNC70LjRgtGMLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3MkKGFkZHJlc3NJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dm9pZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9kZWxpdmVyeS1hZGRyZXNzZXMvJHthZGRyZXNzSWR9YCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0udXNlclByb2ZpbGVEZWxpdmVyeUFkZHJlc3NEZWxldGVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgZGVsaXZlcnlfYWRkcmVzc19pZDogYWRkcmVzc0lkIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3Nlc1VwZGF0ZSQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGFjdHNTZXJ2aWNlLmRlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RzTWFwLmRlbGV0ZShhZGRyZXNzSWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWRkcmVzc0lkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldERlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RzJChhZGRyZXNzSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NJQ29udGFjdFdpdGhSZWxhdGlvbnNbXSB8IG51bGw+IHtcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLmNvbnRhY3RzU2VydmljZS5kZWxpdmVyeUFkZHJlc3NDb250YWN0c01hcC5nZXQoYWRkcmVzc0lkKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIC8vINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdC8INCy0YDQtdC80Y8g0LbQuNC30L3QuCBjYWNoZWRJdGVtINGA0LDQstC90L7QtSwg0L/QvtGC0L7QvNGDINGH0YLQviDQvdCw0Lwg0L3QtSDQstCw0LbQvdC+INCy0YDQtdC80Y8g0LbQuNC30L3QuC4g0J3QsNC8INC90YPQttC10L0g0YTRg9C90LrRhtC40L7QvdCw0LsgdXBkYXRlKCkuXG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbSgwLCB0aGlzLmh0dHAuZ2V0PFNjSUNvbnRhY3RXaXRoUmVsYXRpb25zW10+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvZGVsaXZlcnktYWRkcmVzc2VzLyR7YWRkcmVzc0lkfS9jb250YWN0c2ApKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFjdHNTZXJ2aWNlLmRlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RzTWFwLnNldChhZGRyZXNzSWQsIGNhY2hlZEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhY2hlZEl0ZW0uaXRlbSQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINGB0L7Qt9C00LDQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICogQHBhcmFtIG5ld0NvbnRhY3Qg0JTQsNC90L3Ri9C1INGC0YDQtdCx0YPQtdC80YvQtSDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LfQtNCw0L3QvdC+0LPQviDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVEZWxpdmVyeUFkZHJlc3NDb250YWN0JChhZGRyZXNzSWQ6IG51bWJlciwgbmV3Q29udGFjdDogU2NJQ29udGFjdE9uRGF0YUNyZWF0ZSk6IE9ic2VydmFibGU8U2NJQ29udGFjdFdpdGhSZWxhdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFjdHNTZXJ2aWNlLmNyZWF0ZUNvbnRhY3QkKHsgLi4ubmV3Q29udGFjdCwgYWRkcmVzc2VzOiBbeyBpZDogYWRkcmVzc0lkIH1dIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWRkcmVzc0lkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqIEBwYXJhbSBjb250YWN0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdCQoYWRkcmVzc0lkOiBudW1iZXIsIGNvbnRhY3RJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhY3RzU2VydmljZS5kZWxldGVDb250YWN0JChjb250YWN0SWQpLnBpcGUodGFwKCgpID0+IHRoaXMuY29udGFjdHNTZXJ2aWNlLmRlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RzTWFwLmdldChhZGRyZXNzSWQpPy51cGRhdGUoKSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { first, switchMap } from 'rxjs';
3
- import { ScAuthService } from '../auth';
3
+ import { SC_USER_INFO } from '../user/tokens/sc-user-providers';
4
4
  import { SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN } from './tokens';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -19,7 +19,7 @@ export class ScGuestInterceptor {
19
19
  /**
20
20
  * Сервис аутентификации пользователей.
21
21
  */
22
- this.authService = inject(ScAuthService);
22
+ this.user$ = inject(SC_USER_INFO);
23
23
  }
24
24
  /** @inheritDoc */
25
25
  intercept(request, next) {
@@ -27,7 +27,7 @@ export class ScGuestInterceptor {
27
27
  if (!isGuestEndpoint) {
28
28
  return next.handle(request);
29
29
  }
30
- return this.authService.getAuthChange().pipe(first(), switchMap((status) => (status ? next.handle(request) : next.handle(request.clone({ params: request.params.append(this.guestParameterName, true) })))));
30
+ return this.user$.pipe(first(), switchMap((user) => (user.isGuest ? next.handle(request.clone({ params: request.params.append(this.guestParameterName, true) })) : next.handle(request))));
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScGuestInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
33
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScGuestInterceptor }); }
@@ -35,4 +35,4 @@ export class ScGuestInterceptor {
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScGuestInterceptor, decorators: [{
36
36
  type: Injectable
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZ3Vlc3QuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2h0dHBJbnRlcmNlcHRvcnMvc2MtZ3Vlc3QuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRW5GOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVJOztXQUVHO1FBQ2MsbUJBQWMsR0FBYSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUU3RTs7V0FFRztRQUNjLHVCQUFrQixHQUFXLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRXBGOztXQUVHO1FBQ2MsZ0JBQVcsR0FBa0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBZXZFO0lBYkcsa0JBQWtCO0lBQ1gsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDN0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFL0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDeEMsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3hKLENBQUM7SUFDTixDQUFDOytHQTVCUSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0LCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgnO1xuaW1wb3J0IHsgU0NfR1VFU1RfRU5EUE9JTlRTX1RPS0VOLCBTQ19HVUVTVF9QQVJBTUVURVJfTkFNRV9UT0tFTiB9IGZyb20gJy4vdG9rZW5zJztcblxuLyoqXG4gKiDQn9C10YDQtdGF0LLQsNGC0YfQuNC6INC30LDQv9GA0L7RgdC+0LIgQVBJINC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQsiDQvdC40YUg0L/QsNGA0LDQvNC10YLRgNCwINC/0YDQuCDQutC+0YLQvtGA0L7QvCDQutC10YjQuNGA0YPRjtGC0YHRjyDQt9Cw0L/RgNC+0YHRiyDRgyDQs9C+0YHRgtGPLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NHdWVzdEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0LogVVJMINC60L7RgtC+0YDRi9C1INC90YPQttC90L4g0LrQtdGI0LjRgNC+0LLQsNGC0Ywg0LTQu9GPINCz0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBndWVzdEVuZHBvaW50czogc3RyaW5nW10gPSBpbmplY3QoU0NfR1VFU1RfRU5EUE9JTlRTX1RPS0VOKTtcblxuICAgIC8qKlxuICAgICAqINCY0LzRjyDQv9Cw0YDQsNC80LXRgtGA0LAsINC/0YDQuCDQutC+0YLQvtGA0L7QvCDQutC10YjQuNGA0YPRjtGC0YHRjyDQt9Cw0L/RgNC+0YHRiyDRgyDQs9C+0YHRgtGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3Vlc3RQYXJhbWV0ZXJOYW1lOiBzdHJpbmcgPSBpbmplY3QoU0NfR1VFU1RfUEFSQU1FVEVSX05BTUVfVE9LRU4pO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSA9IGluamVjdChTY0F1dGhTZXJ2aWNlKTtcblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICAgICAgY29uc3QgaXNHdWVzdEVuZHBvaW50ID0gdGhpcy5ndWVzdEVuZHBvaW50cy5zb21lKChlbmRwb2ludCkgPT4gcmVxdWVzdC51cmwuaW5jbHVkZXMoZW5kcG9pbnQpKTtcblxuICAgICAgICBpZiAoIWlzR3Vlc3RFbmRwb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aENoYW5nZSgpLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChzdGF0dXMpID0+IChzdGF0dXMgPyBuZXh0LmhhbmRsZShyZXF1ZXN0KSA6IG5leHQuaGFuZGxlKHJlcXVlc3QuY2xvbmUoeyBwYXJhbXM6IHJlcXVlc3QucGFyYW1zLmFwcGVuZCh0aGlzLmd1ZXN0UGFyYW1ldGVyTmFtZSwgdHJ1ZSkgfSkpKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZ3Vlc3QuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2h0dHBJbnRlcmNlcHRvcnMvc2MtZ3Vlc3QuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFbkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRUk7O1dBRUc7UUFDYyxtQkFBYyxHQUFhLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTdFOztXQUVHO1FBQ2MsdUJBQWtCLEdBQVcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFcEY7O1dBRUc7UUFDYyxVQUFLLEdBQXVCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQWVyRTtJQWJHLGtCQUFrQjtJQUNYLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQzdELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRS9GLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2xCLEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDNUosQ0FBQztJQUNOLENBQUM7K0dBNUJRLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNDX0dVRVNUX0VORFBPSU5UU19UT0tFTiwgU0NfR1VFU1RfUEFSQU1FVEVSX05BTUVfVE9LRU4gfSBmcm9tICcuL3Rva2Vucyc7XG5cbi8qKlxuICog0J/QtdGA0LXRhdCy0LDRgtGH0LjQuiDQt9Cw0L/RgNC+0YHQvtCyIEFQSSDQtNC70Y8g0LTQvtCx0LDQstC70LXQvdC40Y8g0LIg0L3QuNGFINC/0LDRgNCw0LzQtdGC0YDQsCDQv9GA0Lgg0LrQvtGC0L7RgNC+0Lwg0LrQtdGI0LjRgNGD0Y7RgtGB0Y8g0LfQsNC/0YDQvtGB0Ysg0YMg0LPQvtGB0YLRjy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNjR3Vlc3RJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6IFVSTCDQutC+0YLQvtGA0YvQtSDQvdGD0LbQvdC+INC60LXRiNC40YDQvtCy0LDRgtGMINC00LvRjyDQs9C+0YHRgtGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3Vlc3RFbmRwb2ludHM6IHN0cmluZ1tdID0gaW5qZWN0KFNDX0dVRVNUX0VORFBPSU5UU19UT0tFTik7XG5cbiAgICAvKipcbiAgICAgKiDQmNC80Y8g0L/QsNGA0LDQvNC10YLRgNCwLCDQv9GA0Lgg0LrQvtGC0L7RgNC+0Lwg0LrQtdGI0LjRgNGD0Y7RgtGB0Y8g0LfQsNC/0YDQvtGB0Ysg0YMg0LPQvtGB0YLRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGd1ZXN0UGFyYW1ldGVyTmFtZTogc3RyaW5nID0gaW5qZWN0KFNDX0dVRVNUX1BBUkFNRVRFUl9OQU1FX1RPS0VOKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPiA9IGluamVjdChTQ19VU0VSX0lORk8pO1xuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgICAgICBjb25zdCBpc0d1ZXN0RW5kcG9pbnQgPSB0aGlzLmd1ZXN0RW5kcG9pbnRzLnNvbWUoKGVuZHBvaW50KSA9PiByZXF1ZXN0LnVybC5pbmNsdWRlcyhlbmRwb2ludCkpO1xuXG4gICAgICAgIGlmICghaXNHdWVzdEVuZHBvaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51c2VyJC5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodXNlcikgPT4gKHVzZXIuaXNHdWVzdCA/IG5leHQuaGFuZGxlKHJlcXVlc3QuY2xvbmUoeyBwYXJhbXM6IHJlcXVlc3QucGFyYW1zLmFwcGVuZCh0aGlzLmd1ZXN0UGFyYW1ldGVyTmFtZSwgdHJ1ZSkgfSkpIDogbmV4dC5oYW5kbGUocmVxdWVzdCkpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,32 +1,36 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { inject, Injectable } from '@angular/core';
2
3
  import { map, shareReplay, switchMap } from 'rxjs';
3
4
  import { SC_URLS } from '../../tokens';
5
+ import { SC_USER_INFO } from '../../user/tokens/sc-user-providers';
4
6
  import { ScNews } from '../classes';
5
7
  import { SC_COUNT_LAST_NEWS } from '../tokens/sc-count-last-news';
6
8
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- import * as i2 from "../../auth";
9
9
  /**
10
10
  * Сервис для получения списка новостей.
11
11
  */
12
12
  export class ScNewsService {
13
- /**
14
- * Инициализирует экземпляр класса {@link ScNewsService}.
15
- *
16
- * @param http HTTP-клиент.
17
- * @param urls Список ссылок на разделы backend.
18
- * @param countLasNews число записей новостей отображаемых в "Последние новости".
19
- * @param authService Сервис аутентификации.
20
- */
21
- constructor(http, urls, countLasNews, authService) {
22
- this.http = http;
23
- this.urls = urls;
24
- this.countLasNews = countLasNews;
25
- this.authService = authService;
13
+ constructor() {
14
+ /**
15
+ * HTTP-клиент.
16
+ */
17
+ this.http = inject(HttpClient);
18
+ /**
19
+ * Список ссылок приложения.
20
+ */
21
+ this.urls = inject(SC_URLS);
22
+ /**
23
+ * Количество последних новостей.
24
+ */
25
+ this.countLasNews = inject(SC_COUNT_LAST_NEWS);
26
+ /**
27
+ * {@link Observable} данных о текущем пользователе.
28
+ */
29
+ this.user$ = inject(SC_USER_INFO);
26
30
  /**
27
31
  * {@link Observable} получения списка последних новостей.
28
32
  */
29
- this.lastNewsList$ = this.authService.getAuthChange().pipe(switchMap(() => this.http.get(`${this.urls.apiUrl}/news`, { params: { perPage: this.countLasNews } })), shareReplay(1) // Подогреваем Observable во избежание повторения запросов получения списка последних новостей.
33
+ this.lastNewsList$ = this.user$.pipe(switchMap(() => this.http.get(`${this.urls.apiUrl}/news`, { params: { perPage: this.countLasNews } })), shareReplay(1) // Подогреваем Observable во избежание повторения запросов получения списка последних новостей.
30
34
  );
31
35
  }
32
36
  /**
@@ -52,7 +56,7 @@ export class ScNewsService {
52
56
  getLastNewsList$() {
53
57
  return this.lastNewsList$;
54
58
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScNewsService, deps: [{ token: i1.HttpClient }, { token: SC_URLS }, { token: SC_COUNT_LAST_NEWS }, { token: i2.ScAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScNewsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
56
60
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScNewsService, providedIn: 'root' }); }
57
61
  }
58
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScNewsService, decorators: [{
@@ -60,11 +64,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
60
64
  args: [{
61
65
  providedIn: 'root',
62
66
  }]
63
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
64
- type: Inject,
65
- args: [SC_URLS]
66
- }] }, { type: undefined, decorators: [{
67
- type: Inject,
68
- args: [SC_COUNT_LAST_NEWS]
69
- }] }, { type: i2.ScAuthService }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9uZXdzL3NlcnZpY2VzL3NjLW5ld3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFjLE1BQU0sWUFBWSxDQUFDO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFTdEI7Ozs7Ozs7T0FPRztJQUNILFlBQ3FCLElBQWdCLEVBQ0MsSUFBYSxFQUNGLFlBQW9CLEVBQ2hELFdBQTBCO1FBSDFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDQyxTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ0YsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDaEQsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFwQi9DOztXQUVHO1FBQ2Msa0JBQWEsR0FBd0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQ3ZHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDL0gsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtGQUErRjtTQUNqSCxDQUFDO0lBZUMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsTUFBMkI7UUFDN0MsbUVBQW1FO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTBCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLE1BQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxTQUFTLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQzsrR0FoRFEsYUFBYSw0Q0FtQlYsT0FBTyxhQUNQLGtCQUFrQjttSEFwQnJCLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBb0JRLE1BQU07MkJBQUMsT0FBTzs7MEJBQ2QsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTY0lQYWdpbmF0ZSwgU2NJUGFnaW5hdGlvblBhcmFtcyB9IGZyb20gJy4uLy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XG5pbXBvcnQgeyBTY05ld3MsIFNjTmV3c1RpbGUgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IFNjSU5ld3NEVE8gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW5ld3MtZHRvJztcbmltcG9ydCB7IFNDX0NPVU5UX0xBU1RfTkVXUyB9IGZyb20gJy4uL3Rva2Vucy9zYy1jb3VudC1sYXN0LW5ld3MnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQvdC+0LLQvtGB0YLQtdC5LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY05ld3NTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQv9C+0YHQu9C10LTQvdC40YUg0L3QvtCy0L7RgdGC0LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhc3ROZXdzTGlzdCQ6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NOZXdzVGlsZT4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaHR0cC5nZXQ8U2NJUGFnaW5hdGU8U2NOZXdzVGlsZT4+KGAke3RoaXMudXJscy5hcGlVcmx9L25ld3NgLCB7IHBhcmFtczogeyBwZXJQYWdlOiB0aGlzLmNvdW50TGFzTmV3cyB9IH0pKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSkgLy8g0J/QvtC00L7Qs9GA0LXQstCw0LXQvCBPYnNlcnZhYmxlINCy0L4g0LjQt9Cx0LXQttCw0L3QuNC1INC/0L7QstGC0L7RgNC10L3QuNGPINC30LDQv9GA0L7RgdC+0LIg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQv9C+0YHQu9C10LTQvdC40YUg0L3QvtCy0L7RgdGC0LXQuS5cbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY05ld3NTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodHRwIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kLlxuICAgICAqIEBwYXJhbSBjb3VudExhc05ld3Mg0YfQuNGB0LvQviDQt9Cw0L/QuNGB0LXQuSDQvdC+0LLQvtGB0YLQtdC5INC+0YLQvtCx0YDQsNC20LDQtdC80YvRhSDQsiBcItCf0L7RgdC70LXQtNC90LjQtSDQvdC+0LLQvtGB0YLQuFwiLlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgQEluamVjdChTQ19VUkxTKSBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMsXG4gICAgICAgIEBJbmplY3QoU0NfQ09VTlRfTEFTVF9ORVdTKSBwcml2YXRlIHJlYWRvbmx5IGNvdW50TGFzTmV3czogbnVtYmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDQvdC+0LLQvtGB0YLQtdC5INGBINC/0LDQs9C40L3QsNGG0LjQtdC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtcyDQv9Cw0YDQsNC80LXRgtGA0Ysg0L/QsNCz0LjQvdCw0YbQuNC4INC90L7QstC+0YHRgtC10LkuXG4gICAgICovXG4gICAgcHVibGljIGdldExpc3RPZk5ld3MkKHBhcmFtczogU2NJUGFnaW5hdGlvblBhcmFtcyk6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NOZXdzVGlsZT4+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lQYWdpbmF0ZTxTY05ld3NUaWxlPj4oYCR7dGhpcy51cmxzLmFwaVVybH0vbmV3c2AsIHsgcGFyYW1zOiB7IC4uLnBhcmFtcyB9IH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LvQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L3QvtCy0L7RgdGC0LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3c0lkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90L7QstC+0YHRgtC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROZXdzJChuZXdzSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NOZXdzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSU5ld3NEVE8+KGAke3RoaXMudXJscy5hcGlVcmx9L25ld3MvJHtuZXdzSWR9YCkucGlwZShtYXAoKGNhdGVnb3J5KSA9PiBuZXcgU2NOZXdzKGNhdGVnb3J5KSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC/0L7RgdC70LXQtNC90LjRhSDQvdC+0LLQvtGB0YLQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMYXN0TmV3c0xpc3QkKCk6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NOZXdzVGlsZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdE5ld3NMaXN0JDtcbiAgICB9XG59XG4iXX0=
67
+ }] });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9uZXdzL3NlcnZpY2VzL3NjLW5ld3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxZQUFZLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJSTs7V0FFRztRQUNjLFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2MsaUJBQVksR0FBVyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVuRTs7V0FFRztRQUNjLFVBQUssR0FBdUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWxFOztXQUVHO1FBQ2Msa0JBQWEsR0FBd0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2pGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDL0gsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtGQUErRjtTQUNqSCxDQUFDO0tBMkJMO0lBekJHOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsTUFBMkI7UUFDN0MsbUVBQW1FO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTBCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLE1BQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxTQUFTLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQzsrR0FyRFEsYUFBYTttSEFBYixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTY0lQYWdpbmF0ZSwgU2NJUGFnaW5hdGlvblBhcmFtcyB9IGZyb20gJy4uLy4uL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjTmV3cywgU2NOZXdzVGlsZSB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgU2NJTmV3c0RUTyB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktbmV3cy1kdG8nO1xuaW1wb3J0IHsgU0NfQ09VTlRfTEFTVF9ORVdTIH0gZnJvbSAnLi4vdG9rZW5zL3NjLWNvdW50LWxhc3QtbmV3cyc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC90L7QstC+0YHRgtC10LkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjTmV3c1NlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtGB0LvQtdC00L3QuNGFINC90L7QstC+0YHRgtC10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudExhc05ld3M6IG51bWJlciA9IGluamVjdChTQ19DT1VOVF9MQVNUX05FV1MpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQv9C+0YHQu9C10LTQvdC40YUg0L3QvtCy0L7RgdGC0LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhc3ROZXdzTGlzdCQ6IE9ic2VydmFibGU8U2NJUGFnaW5hdGU8U2NOZXdzVGlsZT4+ID0gdGhpcy51c2VyJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5odHRwLmdldDxTY0lQYWdpbmF0ZTxTY05ld3NUaWxlPj4oYCR7dGhpcy51cmxzLmFwaVVybH0vbmV3c2AsIHsgcGFyYW1zOiB7IHBlclBhZ2U6IHRoaXMuY291bnRMYXNOZXdzIH0gfSkpLFxuICAgICAgICBzaGFyZVJlcGxheSgxKSAvLyDQn9C+0LTQvtCz0YDQtdCy0LDQtdC8IE9ic2VydmFibGUg0LLQviDQuNC30LHQtdC20LDQvdC40LUg0L/QvtCy0YLQvtGA0LXQvdC40Y8g0LfQsNC/0YDQvtGB0L7QsiDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC/0L7RgdC70LXQtNC90LjRhSDQvdC+0LLQvtGB0YLQtdC5LlxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQv9C40YHQutCwINC90L7QstC+0YHRgtC10Lkg0YEg0L/QsNCz0LjQvdCw0YbQuNC10LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyYW1zINC/0LDRgNCw0LzQtdGC0YDRiyDQv9Cw0LPQuNC90LDRhtC40Lgg0L3QvtCy0L7RgdGC0LXQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGlzdE9mTmV3cyQocGFyYW1zOiBTY0lQYWdpbmF0aW9uUGFyYW1zKTogT2JzZXJ2YWJsZTxTY0lQYWdpbmF0ZTxTY05ld3NUaWxlPj4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVBhZ2luYXRlPFNjTmV3c1RpbGU+PihgJHt0aGlzLnVybHMuYXBpVXJsfS9uZXdzYCwgeyBwYXJhbXM6IHsgLi4ucGFyYW1zIH0gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7Qu9C90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdzSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld3MkKG5ld3NJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY05ld3M+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJTmV3c0RUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vbmV3cy8ke25ld3NJZH1gKS5waXBlKG1hcCgoY2F0ZWdvcnkpID0+IG5ldyBTY05ld3MoY2F0ZWdvcnkpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0L/QvtGB0LvQtdC00L3QuNGFINC90L7QstC+0YHRgtC10LkuXG4gICAgICovXG4gICAgcHVibGljIGdldExhc3ROZXdzTGlzdCQoKTogT2JzZXJ2YWJsZTxTY0lQYWdpbmF0ZTxTY05ld3NUaWxlPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0TmV3c0xpc3QkO1xuICAgIH1cbn1cbiJdfQ==