@gipisistemas/ng-core 1.1.7 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. package/bundles/gipisistemas-ng-core.umd.js +2261 -2168
  2. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  3. package/bundles/gipisistemas-ng-core.umd.min.js +8 -8
  4. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  5. package/core/guards/auth.guard.d.ts +3 -1
  6. package/core/guards/permission.guard.d.ts +5 -4
  7. package/core/interceptors/auth.interceptor.d.ts +2 -2
  8. package/core/services/authentication.service.d.ts +8 -9
  9. package/core.d.ts +0 -1
  10. package/esm2015/core/guards/auth.guard.js +16 -19
  11. package/esm2015/core/guards/permission.guard.js +31 -22
  12. package/esm2015/core/interceptors/auth.interceptor.js +7 -5
  13. package/esm2015/core/services/authentication.service.js +40 -34
  14. package/esm2015/core.js +1 -2
  15. package/esm2015/gipi-components.js +4 -1
  16. package/esm2015/shared/components/input/input.component.js +7 -2
  17. package/esm2015/shared/components/select-entity/select-entity.component.js +1 -1
  18. package/esm2015/shared/components/select-enum/select-enum.component.js +8 -3
  19. package/esm2015/shared/gipi-components/form-field/form-field.component.js +3 -3
  20. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  21. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  22. package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
  23. package/esm2015/shared/gipi-components/skeleton/skeleton.component.js +44 -0
  24. package/esm2015/shared/gipi-components/skeleton/skeleton.directive.js +79 -0
  25. package/esm2015/shared/shared.module.js +7 -3
  26. package/esm5/core/guards/auth.guard.js +16 -20
  27. package/esm5/core/guards/permission.guard.js +31 -23
  28. package/esm5/core/interceptors/auth.interceptor.js +7 -5
  29. package/esm5/core/services/authentication.service.js +41 -46
  30. package/esm5/core.js +1 -2
  31. package/esm5/gipi-components.js +4 -1
  32. package/esm5/shared/components/input/input.component.js +7 -2
  33. package/esm5/shared/components/select-entity/select-entity.component.js +1 -1
  34. package/esm5/shared/components/select-enum/select-enum.component.js +8 -3
  35. package/esm5/shared/gipi-components/form-field/form-field.component.js +3 -3
  36. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  37. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  38. package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
  39. package/esm5/shared/gipi-components/skeleton/skeleton.component.js +46 -0
  40. package/esm5/shared/gipi-components/skeleton/skeleton.directive.js +81 -0
  41. package/esm5/shared/shared.module.js +7 -3
  42. package/fesm2015/gipisistemas-ng-core.js +4172 -4069
  43. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  44. package/fesm5/gipisistemas-ng-core.js +2260 -2168
  45. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  46. package/gipi-components.d.ts +2 -0
  47. package/gipisistemas-ng-core.metadata.json +1 -1
  48. package/package.json +1 -1
  49. package/shared/components/input/input.component.d.ts +1 -0
  50. package/shared/components/select-enum/select-enum.component.d.ts +1 -0
  51. package/shared/gipi-components/skeleton/skeleton.component.d.ts +9 -0
  52. package/shared/gipi-components/skeleton/skeleton.directive.d.ts +15 -0
  53. package/core/guards/public.guard.d.ts +0 -11
  54. package/esm2015/core/guards/public.guard.js +0 -44
  55. package/esm5/core/guards/public.guard.js +0 -46
@@ -1,11 +1,13 @@
1
+ import { MatDialog } from '@angular/material/dialog';
1
2
  import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
2
3
  import { Observable } from 'rxjs';
3
4
  import { BaseUser } from '../models/base-user.model';
4
5
  import { AuthenticationService } from '../services/authentication.service';
5
6
  export declare class AuthGuard implements CanActivate, CanActivateChild {
6
7
  private _router;
8
+ private _matDialog;
7
9
  private _authenticationService;
8
- constructor(_router: Router, _authenticationService: AuthenticationService<BaseUser>);
10
+ constructor(_router: Router, _matDialog: MatDialog, _authenticationService: AuthenticationService<BaseUser>);
9
11
  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
10
12
  canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
11
13
  }
@@ -1,14 +1,15 @@
1
+ import { MatDialog } from '@angular/material/dialog';
1
2
  import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
2
3
  import { Observable } from 'rxjs';
3
4
  import { BaseUser } from '../models/base-user.model';
4
5
  import { AuthenticationService } from '../services/authentication.service';
5
- import { MenuDTO } from './../models/dto/menu.dto';
6
6
  export declare class PermissionGuard implements CanActivate, CanActivateChild {
7
7
  private _router;
8
+ private _matDialog;
8
9
  private _authenticationService;
9
- constructor(_router: Router, _authenticationService: AuthenticationService<BaseUser>);
10
+ constructor(_router: Router, _matDialog: MatDialog, _authenticationService: AuthenticationService<BaseUser>);
11
+ private _hasAuthority;
12
+ private _hasPermission;
10
13
  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
11
- hasAuthority(user: any, permission: string): boolean;
12
- hasPermission(menuList: MenuDTO[], url: string): boolean;
13
14
  canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
14
15
  }
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import { BaseUser } from '../models/base-user.model';
4
4
  import { AuthenticationService } from '../services/authentication.service';
5
5
  export declare class AuthInterceptor implements HttpInterceptor {
6
- private authenticationService;
7
- constructor(authenticationService: AuthenticationService<BaseUser>);
6
+ private _authenticationService;
7
+ constructor(_authenticationService: AuthenticationService<BaseUser>);
8
8
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
9
9
  }
@@ -1,23 +1,22 @@
1
1
  import { HttpClient, HttpHeaders } from '@angular/common/http';
2
2
  import { Router } from '@angular/router';
3
- import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { Observable } from 'rxjs';
4
4
  import { BaseUser } from '../models/base-user.model';
5
5
  import { TokenDTO } from '../models/dto/token.dto';
6
6
  import { AbstractService } from './abstract.service';
7
7
  export declare class AuthenticationService<U extends BaseUser> extends AbstractService {
8
8
  protected router: Router;
9
9
  protected http: HttpClient;
10
- protected tokenSubject: BehaviorSubject<TokenDTO<U>>;
11
- token: Observable<TokenDTO<U>>;
10
+ private _tokenSubject$;
11
+ token$: Observable<TokenDTO<U>>;
12
12
  constructor(router: Router, http: HttpClient);
13
- login(user: U): Observable<TokenDTO<U>>;
14
- logout(): Promise<void>;
15
- removeToken(): void;
13
+ login(username: string, password: string): Observable<TokenDTO<U>>;
14
+ logout(): void;
16
15
  refreshToken(additionalParams?: Map<any, any>): Observable<TokenDTO<U>>;
17
16
  revokeToken(token?: TokenDTO<U>): Observable<any>;
17
+ protected setSession(token: TokenDTO<U>): TokenDTO<U>;
18
+ removeSession(): void;
18
19
  isValidToken(token: TokenDTO<U>): boolean;
19
- protected setCurrentUser(token: TokenDTO<U>): TokenDTO<U>;
20
- get tokenValue(): TokenDTO<U>;
21
- get tokenValueLocalStorage(): TokenDTO<U>;
20
+ get token(): TokenDTO<U>;
22
21
  protected buildHeaders(): HttpHeaders;
23
22
  }
package/core.d.ts CHANGED
@@ -8,7 +8,6 @@ export * from './core/core.module';
8
8
  export * from './core/enums/local-time.enum';
9
9
  export * from './core/guards/auth.guard';
10
10
  export * from './core/guards/permission.guard';
11
- export * from './core/guards/public.guard';
12
11
  export * from './core/interceptors/auth.interceptor';
13
12
  export * from './core/interceptors/error.interceptor';
14
13
  export * from './core/models/abstract.model';
@@ -1,33 +1,28 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
+ import { MatDialog } from '@angular/material/dialog';
3
4
  import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
4
5
  import { of } from 'rxjs';
5
- import { map } from 'rxjs/operators';
6
6
  import { AuthenticationService } from '../services/authentication.service';
7
- import { ObjectUtil } from '../utils/object.util';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "@angular/router";
10
- import * as i2 from "../services/authentication.service";
9
+ import * as i2 from "@angular/material/dialog";
10
+ import * as i3 from "../services/authentication.service";
11
11
  let AuthGuard = class AuthGuard {
12
- constructor(_router, _authenticationService) {
12
+ constructor(_router, _matDialog, _authenticationService) {
13
13
  this._router = _router;
14
+ this._matDialog = _matDialog;
14
15
  this._authenticationService = _authenticationService;
15
16
  }
16
17
  canActivate(route, state) {
17
- if (!ObjectUtil.isNull(this._authenticationService.tokenValueLocalStorage)) {
18
- return this._authenticationService.token.pipe(map(token => {
19
- if (this._authenticationService.isValidToken(token)) {
20
- return true;
21
- }
22
- else if (!ObjectUtil.isNull(token)) {
23
- this._authenticationService.removeToken();
24
- }
25
- this._router.navigate(['oauth/login'], { queryParams: { returnUrl: state.url } });
26
- return false;
27
- }));
18
+ const token = this._authenticationService.token;
19
+ if (!this._authenticationService.isValidToken(token)) {
20
+ this._authenticationService.removeSession();
21
+ this._matDialog.closeAll();
22
+ this._router.navigate(['oauth/login']);
23
+ return of(false);
28
24
  }
29
- this._router.navigate(['oauth/login'], { queryParams: { returnUrl: state.url } });
30
- return of(false);
25
+ return of(true);
31
26
  }
32
27
  canActivateChild(route, state) {
33
28
  return this.canActivate(route, state);
@@ -35,13 +30,15 @@ let AuthGuard = class AuthGuard {
35
30
  };
36
31
  AuthGuard.ctorParameters = () => [
37
32
  { type: Router },
33
+ { type: MatDialog },
38
34
  { type: AuthenticationService }
39
35
  ];
40
- AuthGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.AuthenticationService)); }, token: AuthGuard, providedIn: "root" });
36
+ AuthGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.MatDialog), i0.ɵɵinject(i3.AuthenticationService)); }, token: AuthGuard, providedIn: "root" });
41
37
  AuthGuard = __decorate([
42
38
  Injectable({ providedIn: 'root' }),
43
39
  __metadata("design:paramtypes", [Router,
40
+ MatDialog,
44
41
  AuthenticationService])
45
42
  ], AuthGuard);
46
43
  export { AuthGuard };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvZ3VhcmRzL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNySCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFHbEQsSUFBYSxTQUFTLEdBQXRCLE1BQWEsU0FBUztJQUVsQixZQUNZLE9BQWUsRUFDZixzQkFBdUQ7UUFEdkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBaUM7SUFDL0QsQ0FBQztJQUVMLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ2pFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDUixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pELE9BQU8sSUFBSSxDQUFDO2lCQUNmO3FCQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQzdDO2dCQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNKLENBQUE7O1lBekJ3QixNQUFNO1lBQ1MscUJBQXFCOzs7QUFKaEQsU0FBUztJQURyQixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBSVYsTUFBTTtRQUNTLHFCQUFxQjtHQUpoRCxTQUFTLENBNEJyQjtTQTVCWSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlVXNlciB9IGZyb20gJy4uL21vZGVscy9iYXNlLXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LnV0aWwnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBfYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2U8QmFzZVVzZXI+XG4gICAgKSB7IH1cblxuICAgIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlblZhbHVlTG9jYWxTdG9yYWdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlbi5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCh0b2tlbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNWYWxpZFRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRva2VuKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnb2F1dGgvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZXR1cm5Vcmw6IHN0YXRlLnVybCB9IH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnb2F1dGgvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZXR1cm5Vcmw6IHN0YXRlLnVybCB9IH0pO1xuICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cblxuICAgIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbkFjdGl2YXRlKHJvdXRlLCBzdGF0ZSk7XG4gICAgfVxufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvZ3VhcmRzL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFFM0UsSUFBYSxTQUFTLEdBQXRCLE1BQWEsU0FBUztJQUVsQixZQUNZLE9BQWUsRUFDZixVQUFxQixFQUNyQixzQkFBdUQ7UUFGdkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFpQztJQUMvRCxDQUFDO0lBRUwsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDakUsTUFBTSxLQUFLLEdBQXVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDdEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBRUosQ0FBQTs7WUFyQndCLE1BQU07WUFDSCxTQUFTO1lBQ0cscUJBQXFCOzs7QUFMaEQsU0FBUztJQURyQixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBSVYsTUFBTTtRQUNILFNBQVM7UUFDRyxxQkFBcUI7R0FMaEQsU0FBUyxDQXdCckI7U0F4QlksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX21hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZTxCYXNlVXNlcj4sXG4gICAgKSB7IH1cblxuICAgIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zdCB0b2tlbjogVG9rZW5EVE88QmFzZVVzZXI+ID0gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRva2VuO1xuICAgICAgICBpZiAoIXRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5pc1ZhbGlkVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UucmVtb3ZlU2Vzc2lvbigpO1xuICAgICAgICAgICAgdGhpcy5fbWF0RGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydvYXV0aC9sb2dpbiddKTtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,60 +1,69 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
+ import { MatDialog } from '@angular/material/dialog';
3
4
  import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
4
5
  import { of } from 'rxjs';
5
- import { map } from 'rxjs/operators';
6
6
  import { AuthenticationService } from '../services/authentication.service';
7
+ import { ArrayUtil } from '../utils/array.util';
7
8
  import { ObjectUtil } from '../utils/object.util';
8
- import { ArrayUtil } from './../utils/array.util';
9
+ import { StringUtil } from '../utils/string.util';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/router";
11
- import * as i2 from "../services/authentication.service";
12
+ import * as i2 from "@angular/material/dialog";
13
+ import * as i3 from "../services/authentication.service";
12
14
  let PermissionGuard = class PermissionGuard {
13
- constructor(_router, _authenticationService) {
15
+ constructor(_router, _matDialog, _authenticationService) {
14
16
  this._router = _router;
17
+ this._matDialog = _matDialog;
15
18
  this._authenticationService = _authenticationService;
16
19
  }
17
- canActivate(route, state) {
18
- if (!ObjectUtil.isNull(this._authenticationService.tokenValueLocalStorage)) {
19
- return this._authenticationService.token.pipe(map(token => {
20
- if (this._authenticationService.isValidToken(token)
21
- && (!this.hasPermission(token.user.menuList, state.url) && !this.hasAuthority(token.user, route.data.authority))) {
22
- this._router.navigate(['errors/403']);
23
- return false;
24
- }
25
- return true;
26
- }));
20
+ _hasAuthority(user, permission) {
21
+ if (ObjectUtil.isNull(user) || StringUtil.isEmpty(permission)) {
22
+ return false;
27
23
  }
28
- this._router.navigate(['errors/403']);
29
- return of(false);
30
- }
31
- hasAuthority(user, permission) {
32
24
  return !!user.authorities.find(authority => authority.authority.match(permission));
33
25
  }
34
- hasPermission(menuList, url) {
26
+ _hasPermission(menuList, url) {
35
27
  for (const menu of menuList) {
36
28
  if (url.split('/').pop() === menu.route) {
37
29
  return true;
38
30
  }
39
31
  else if (!ArrayUtil.isEmpty(menu.menuList)) {
40
- return this.hasPermission(menu.menuList, url);
32
+ return this._hasPermission(menu.menuList, url);
41
33
  }
42
34
  }
43
35
  return false;
44
36
  }
37
+ canActivate(route, state) {
38
+ const token = this._authenticationService.token;
39
+ if (!this._authenticationService.isValidToken(token)) {
40
+ this._authenticationService.removeSession();
41
+ this._matDialog.closeAll();
42
+ this._router.navigate(['oauth/login']);
43
+ return of(false);
44
+ }
45
+ const hasPermission = this._hasPermission(token.user.menuList, state.url) && this._hasAuthority(token.user, route.data.authority);
46
+ if (!hasPermission) {
47
+ this._router.navigate(['errors/403']);
48
+ return of(false);
49
+ }
50
+ return of(true);
51
+ }
45
52
  canActivateChild(route, state) {
46
53
  return this.canActivate(route, state);
47
54
  }
48
55
  };
49
56
  PermissionGuard.ctorParameters = () => [
50
57
  { type: Router },
58
+ { type: MatDialog },
51
59
  { type: AuthenticationService }
52
60
  ];
53
- PermissionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.AuthenticationService)); }, token: PermissionGuard, providedIn: "root" });
61
+ PermissionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.MatDialog), i0.ɵɵinject(i3.AuthenticationService)); }, token: PermissionGuard, providedIn: "root" });
54
62
  PermissionGuard = __decorate([
55
63
  Injectable({ providedIn: 'root' }),
56
64
  __metadata("design:paramtypes", [Router,
65
+ MatDialog,
57
66
  AuthenticationService])
58
67
  ], PermissionGuard);
59
68
  export { PermissionGuard };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvZ3VhcmRzL3Blcm1pc3Npb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNySCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBR2xELElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFFeEIsWUFDWSxPQUFlLEVBQ2Ysc0JBQXVEO1FBRHZELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQWlDO0lBQy9ELENBQUM7SUFFTCxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUN4RSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQzt1QkFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTtvQkFDbEgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUN0QyxPQUFPLEtBQUssQ0FBQztpQkFDaEI7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUyxFQUFFLFVBQWtCO1FBQ3RDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQW1CLEVBQUUsR0FBVztRQUMxQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDckMsT0FBTyxJQUFJLENBQUM7YUFDZjtpQkFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUN0RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FFSixDQUFBOztZQXhDd0IsTUFBTTtZQUNTLHFCQUFxQjs7O0FBSmhELGVBQWU7SUFEM0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQUlWLE1BQU07UUFDUyxxQkFBcUI7R0FKaEQsZUFBZSxDQTJDM0I7U0EzQ1ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFzZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IE1lbnVEVE8gfSBmcm9tICcuLy4uL21vZGVscy9kdG8vbWVudS5kdG8nO1xuaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnLi8uLi91dGlscy9hcnJheS51dGlsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX2F1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlPEJhc2VVc2VyPlxuICAgICkgeyB9XG5cbiAgICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UudG9rZW5WYWx1ZUxvY2FsU3RvcmFnZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UudG9rZW4ucGlwZShcbiAgICAgICAgICAgICAgICBtYXAodG9rZW4gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmlzVmFsaWRUb2tlbih0b2tlbilcbiAgICAgICAgICAgICAgICAgICAgICAgICYmICghdGhpcy5oYXNQZXJtaXNzaW9uKHRva2VuLnVzZXIubWVudUxpc3QsIHN0YXRlLnVybCkgJiYgIXRoaXMuaGFzQXV0aG9yaXR5KHRva2VuLnVzZXIsIHJvdXRlLmRhdGEuYXV0aG9yaXR5KSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2Vycm9ycy80MDMnXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnZXJyb3JzLzQwMyddKTtcbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9XG5cbiAgICBoYXNBdXRob3JpdHkodXNlcjogYW55LCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdXNlci5hdXRob3JpdGllcy5maW5kKGF1dGhvcml0eSA9PiBhdXRob3JpdHkuYXV0aG9yaXR5Lm1hdGNoKHBlcm1pc3Npb24pKTtcbiAgICB9XG5cbiAgICBoYXNQZXJtaXNzaW9uKG1lbnVMaXN0OiBNZW51RFRPW10sIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGZvciAoY29uc3QgbWVudSBvZiBtZW51TGlzdCkge1xuICAgICAgICAgICAgaWYgKHVybC5zcGxpdCgnLycpLnBvcCgpID09PSBtZW51LnJvdXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFBcnJheVV0aWwuaXNFbXB0eShtZW51Lm1lbnVMaXN0KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhc1Blcm1pc3Npb24obWVudS5tZW51TGlzdCwgdXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKTtcbiAgICB9XG5cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvZ3VhcmRzL3Blcm1pc3Npb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFFbEQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUV4QixZQUNZLE9BQWUsRUFDZixVQUFxQixFQUNyQixzQkFBdUQ7UUFGdkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFpQztJQUMvRCxDQUFDO0lBRUcsYUFBYSxDQUFDLElBQWMsRUFBRSxVQUFrQjtRQUNwRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMzRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQW1CLEVBQUUsR0FBVztRQUNuRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDckMsT0FBTyxJQUFJLENBQUM7YUFDZjtpQkFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ2xEO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDakUsTUFBTSxLQUFLLEdBQXVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxhQUFhLEdBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0ksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUN0RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FFSixDQUFBOztZQTdDd0IsTUFBTTtZQUNILFNBQVM7WUFDRyxxQkFBcUI7OztBQUxoRCxlQUFlO0lBRDNCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztxQ0FJVixNQUFNO1FBQ0gsU0FBUztRQUNHLHFCQUFxQjtHQUxoRCxlQUFlLENBZ0QzQjtTQWhEWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmltcG9ydCB7IE1lbnVEVE8gfSBmcm9tICcuLi9tb2RlbHMvZHRvL21lbnUuZHRvJztcbmltcG9ydCB7IFRva2VuRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by90b2tlbi5kdG8nO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcnJheVV0aWwgfSBmcm9tICcuLi91dGlscy9hcnJheS51dGlsJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nLnV0aWwnO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX21hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZTxCYXNlVXNlcj5cbiAgICApIHsgfVxuXG4gICAgcHJpdmF0ZSBfaGFzQXV0aG9yaXR5KHVzZXI6IEJhc2VVc2VyLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHVzZXIpIHx8IFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhIXVzZXIuYXV0aG9yaXRpZXMuZmluZChhdXRob3JpdHkgPT4gYXV0aG9yaXR5LmF1dGhvcml0eS5tYXRjaChwZXJtaXNzaW9uKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFzUGVybWlzc2lvbihtZW51TGlzdDogTWVudURUT1tdLCB1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBmb3IgKGNvbnN0IG1lbnUgb2YgbWVudUxpc3QpIHtcbiAgICAgICAgICAgIGlmICh1cmwuc3BsaXQoJy8nKS5wb3AoKSA9PT0gbWVudS5yb3V0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghQXJyYXlVdGlsLmlzRW1wdHkobWVudS5tZW51TGlzdCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faGFzUGVybWlzc2lvbihtZW51Lm1lbnVMaXN0LCB1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IFRva2VuRFRPPEJhc2VVc2VyPiA9IHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlbjtcbiAgICAgICAgaWYgKCF0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNWYWxpZFRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnJlbW92ZVNlc3Npb24oKTtcbiAgICAgICAgICAgIHRoaXMuX21hdERpYWxvZy5jbG9zZUFsbCgpO1xuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnb2F1dGgvbG9naW4nXSk7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFzUGVybWlzc2lvbjogYm9vbGVhbiA9IHRoaXMuX2hhc1Blcm1pc3Npb24odG9rZW4udXNlci5tZW51TGlzdCwgc3RhdGUudXJsKSAmJiB0aGlzLl9oYXNBdXRob3JpdHkodG9rZW4udXNlciwgcm91dGUuZGF0YS5hdXRob3JpdHkpO1xuICAgICAgICBpZiAoIWhhc1Blcm1pc3Npb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2Vycm9ycy80MDMnXSk7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbkFjdGl2YXRlKHJvdXRlLCBzdGF0ZSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,13 +1,15 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { AuthenticationService } from '../services/authentication.service';
4
+ import { ObjectUtil } from '../utils/object.util';
5
+ import { StringUtil } from '../utils/string.util';
4
6
  let AuthInterceptor = class AuthInterceptor {
5
- constructor(authenticationService) {
6
- this.authenticationService = authenticationService;
7
+ constructor(_authenticationService) {
8
+ this._authenticationService = _authenticationService;
7
9
  }
8
10
  intercept(request, next) {
9
- const token = this.authenticationService.tokenValue;
10
- if (token && token.accessToken && !request.headers.get('skip')) {
11
+ const token = this._authenticationService.token;
12
+ if (!ObjectUtil.isNull(token) && !StringUtil.isEmpty(token.accessToken) && !request.headers.get('skip')) {
11
13
  request = request.clone({
12
14
  setHeaders: {
13
15
  Authorization: `Bearer ${token.accessToken}`
@@ -25,4 +27,4 @@ AuthInterceptor = __decorate([
25
27
  __metadata("design:paramtypes", [AuthenticationService])
26
28
  ], AuthInterceptor);
27
29
  export { AuthInterceptor };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHM0UsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUV4QixZQUFvQixxQkFBc0Q7UUFBdEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFpQztJQUMxRSxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDbEQsTUFBTSxLQUFLLEdBQXVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7UUFFeEUsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVELE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNwQixVQUFVLEVBQUU7b0JBQ1IsYUFBYSxFQUFFLFVBQVUsS0FBSyxDQUFDLFdBQVcsRUFBRTtpQkFDL0M7YUFDSixDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0osQ0FBQTs7WUFoQjhDLHFCQUFxQjs7QUFGdkQsZUFBZTtJQUQzQixVQUFVLEVBQUU7cUNBR2tDLHFCQUFxQjtHQUZ2RCxlQUFlLENBa0IzQjtTQWxCWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmltcG9ydCB7IFRva2VuRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by90b2tlbi5kdG8nO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZTxCYXNlVXNlcj4pIHtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIGNvbnN0IHRva2VuOiBUb2tlbkRUTzxCYXNlVXNlcj4gPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlblZhbHVlO1xuXG4gICAgICAgIGlmICh0b2tlbiAmJiB0b2tlbi5hY2Nlc3NUb2tlbiAmJiAhcmVxdWVzdC5oZWFkZXJzLmdldCgnc2tpcCcpKSB7XG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW4uYWNjZXNzVG9rZW59YFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBRXhCLFlBQW9CLHNCQUF1RDtRQUF2RCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQWlDO0lBQUksQ0FBQztJQUVoRixTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxNQUFNLEtBQUssR0FBdUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckcsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRTtvQkFDUixhQUFhLEVBQUUsVUFBVSxLQUFLLENBQUMsV0FBVyxFQUFFO2lCQUMvQzthQUNKLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSixDQUFBOztZQWQrQyxxQkFBcUI7O0FBRnhELGVBQWU7SUFEM0IsVUFBVSxFQUFFO3FDQUdtQyxxQkFBcUI7R0FGeEQsZUFBZSxDQWdCM0I7U0FoQlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi91dGlscy9zdHJpbmcudXRpbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2U8QmFzZVVzZXI+KSB7IH1cblxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IFRva2VuRFRPPEJhc2VVc2VyPiA9IHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlbjtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0b2tlbikgJiYgIVN0cmluZ1V0aWwuaXNFbXB0eSh0b2tlbi5hY2Nlc3NUb2tlbikgJiYgIXJlcXVlc3QuaGVhZGVycy5nZXQoJ3NraXAnKSkge1xuICAgICAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VuLmFjY2Vzc1Rva2VufWBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG59XG4iXX0=
@@ -1,9 +1,9 @@
1
- import { __awaiter, __decorate, __metadata } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
3
3
  import { Injectable } from '@angular/core';
4
4
  import { Router } from '@angular/router';
5
5
  import { BehaviorSubject } from 'rxjs';
6
- import { map } from 'rxjs/operators';
6
+ import { catchError, map, takeUntil } from 'rxjs/operators';
7
7
  import * as moment_ from 'moment';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/router";
@@ -17,36 +17,37 @@ let AuthenticationService = class AuthenticationService extends AbstractService
17
17
  super();
18
18
  this.router = router;
19
19
  this.http = http;
20
- this.tokenSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('token')));
21
- this.token = this.tokenSubject.asObservable();
20
+ this._tokenSubject$ = new BehaviorSubject(JSON.parse(localStorage.getItem('token')));
21
+ this.token$ = this._tokenSubject$.asObservable();
22
22
  }
23
- login(user) {
23
+ login(username, password) {
24
24
  const body = new HttpParams()
25
25
  .set('grant_type', 'password')
26
- .set('username', user.username)
27
- .set('password', user.password);
28
- return this.http.post('api/authenticator/oauth/token', body, this.options()).pipe(map(accessToken => this.setCurrentUser(accessToken)));
26
+ .set('username', username)
27
+ .set('password', password);
28
+ return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', String(true)))).pipe(map((token) => {
29
+ if (this.isValidToken(token)) {
30
+ this.setSession(token);
31
+ }
32
+ return token;
33
+ }), takeUntil(this.onDestroy), catchError(this.handleError));
29
34
  }
30
35
  logout() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- yield this.revokeToken().toPromise().then(() => {
33
- this.removeToken();
34
- this.router.navigate(['/oauth/login'], { queryParams: { returnUrl: this.router.routerState.snapshot.url } });
35
- });
36
+ this.revokeToken().subscribe(_ => {
37
+ this.removeSession();
38
+ this.router.navigate(['/oauth/login'], { queryParams: { returnUrl: this.router.routerState.snapshot.url } });
39
+ }, error => {
40
+ throw new Error(error);
36
41
  });
37
42
  }
38
- removeToken() {
39
- localStorage.removeItem('token');
40
- this.tokenSubject.next(null);
41
- }
42
43
  refreshToken(additionalParams) {
43
44
  let body = new HttpParams()
44
45
  .set('grant_type', 'refresh_token')
45
- .set('refresh_token', this.tokenValue.refreshToken);
46
+ .set('refresh_token', this.token.refreshToken);
46
47
  if (!ObjectUtil.isNull(additionalParams)) {
47
48
  additionalParams.forEach((value, key) => body = body.append(key, value));
48
49
  }
49
- return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', 'true'))).pipe(map(accessToken => this.setCurrentUser(accessToken)));
50
+ return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', 'true'))).pipe(map(accessToken => this.setSession(accessToken)), takeUntil(this.onDestroy), catchError(this.handleError));
50
51
  }
51
52
  revokeToken(token) {
52
53
  let lHttpHeaders = null;
@@ -55,27 +56,32 @@ let AuthenticationService = class AuthenticationService extends AbstractService
55
56
  .append('Authorization', token.accessToken)
56
57
  .append('skip', 'true');
57
58
  }
58
- return this.http.post('api/authenticator/oauth/token/revoke', {}, this.options(null, lHttpHeaders));
59
- }
60
- isValidToken(token) {
61
- if (!ObjectUtil.isNull(token) && !ObjectUtil.isNull(token.expiration)) {
62
- return new Date(token.expiration).valueOf() > new Date().valueOf();
63
- }
64
- return false;
59
+ return this.http.post('api/authenticator/oauth/token/revoke', {}, this.options(null, lHttpHeaders)).pipe(takeUntil(this.onDestroy), catchError(this.handleError));
65
60
  }
66
- setCurrentUser(token) {
67
- if (token && token.accessToken) {
61
+ setSession(token) {
62
+ if (this.isValidToken(token)) {
68
63
  localStorage.setItem('token', JSON.stringify(token));
69
- this.tokenSubject.next(token);
64
+ this._tokenSubject$.next(token);
70
65
  }
71
66
  return token;
72
67
  }
73
- get tokenValue() {
74
- return this.tokenSubject.value;
68
+ removeSession() {
69
+ localStorage.removeItem('token');
70
+ sessionStorage.clear();
75
71
  }
76
- get tokenValueLocalStorage() {
72
+ isValidToken(token) {
73
+ if (!ObjectUtil.isNull(token) && !ObjectUtil.isNull(token.expiration)) {
74
+ const tokenExpiration = moment(token.expiration);
75
+ return moment().isBefore(tokenExpiration);
76
+ }
77
+ return false;
78
+ }
79
+ get token() {
77
80
  const token = localStorage.getItem('token');
78
- return !StringUtil.isEmpty(token) ? JSON.parse(token) : null;
81
+ if (StringUtil.isEmpty(token)) {
82
+ return null;
83
+ }
84
+ return JSON.parse(token);
79
85
  }
80
86
  buildHeaders() {
81
87
  return new HttpHeaders()
@@ -96,4 +102,4 @@ AuthenticationService = __decorate([
96
102
  HttpClient])
97
103
  ], AuthenticationService);
98
104
  export { AuthenticationService };
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7Ozs7QUFDbEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBSXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQTBDLFNBQVEsZUFBZTtJQU0xRSxZQUNjLE1BQWMsRUFDZCxJQUFnQjtRQUUxQixLQUFLLEVBQUUsQ0FBQztRQUhFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxF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YUFDM0IsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FFSixDQUFBOztZQXZGeUIsTUFBTTtZQUNSLFVBQVU7OztBQVJyQixxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQVFULE1BQU07UUFDUixVQUFVO0dBUnJCLHFCQUFxQixDQThGakM7U0E5RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nLnV0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2U8VSBleHRlbmRzIEJhc2VVc2VyPiBleHRlbmRzIEFic3RyYWN0U2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgdG9rZW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8VG9rZW5EVE88VT4+O1xuXG4gICAgdG9rZW46IE9ic2VydmFibGU8VG9rZW5EVE88VT4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudG9rZW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUb2tlbkRUTzxVPj4oSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSkpO1xuICAgICAgICB0aGlzLnRva2VuID0gdGhpcy50b2tlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgbG9naW4odXNlcjogVSk6IE9ic2VydmFibGU8VG9rZW5EVE88VT4+IHtcbiAgICAgICAgY29uc3QgYm9keTogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgICAgIC5zZXQoJ2dyYW50X3R5cGUnLCAncGFzc3dvcmQnKVxuICAgICAgICAgICAgLnNldCgndXNlcm5hbWUnLCB1c2VyLnVzZXJuYW1lKVxuICAgICAgICAgICAgLnNldCgncGFzc3dvcmQnLCB1c2VyLnBhc3N3b3JkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VG9rZW5EVE88VT4+KCdhcGkvYXV0aGVudGljYXRvci9vYXV0aC90b2tlbicsIGJvZHksIHRoaXMub3B0aW9ucygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKGFjY2Vzc1Rva2VuID0+IHRoaXMuc2V0Q3VycmVudFVzZXIoYWNjZXNzVG9rZW4pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZXZva2VUb2tlbigpLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb2F1dGgvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZXR1cm5Vcmw6IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCB9IH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVUb2tlbigpOiB2b2lkIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgIHRoaXMudG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaFRva2VuKGFkZGl0aW9uYWxQYXJhbXM/OiBNYXA8YW55LCBhbnk+KTogT2JzZXJ2YWJsZTxUb2tlbkRUTzxVPj4ge1xuICAgICAgICBsZXQgYm9keTogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgICAgIC5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpXG4gICAgICAgICAgICAuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy50b2tlblZhbHVlLnJlZnJlc2hUb2tlbik7XG5cbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbChhZGRpdGlvbmFsUGFyYW1zKSkge1xuICAgICAgICAgICAgYWRkaXRpb25hbFBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiBib2R5ID0gYm9keS5hcHBlbmQoa2V5LCB2YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFRva2VuRFRPPFU+PignYXBpL2F1dGhlbnRpY2F0b3Ivb2F1dGgvdG9rZW4nLCBib2R5LCB0aGlzLm9wdGlvbnModGhpcy5idWlsZFBhcmFtcygpLCB0aGlzLmJ1aWxkSGVhZGVycygpLmFwcGVuZCgnc2tpcCcsICd0cnVlJykpKS5waXBlKFxuICAgICAgICAgICAgbWFwKGFjY2Vzc1Rva2VuID0+IHRoaXMuc2V0Q3VycmVudFVzZXIoYWNjZXNzVG9rZW4pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldm9rZVRva2VuKHRva2VuPzogVG9rZW5EVE88VT4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgbEh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycyA9IG51bGw7XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodG9rZW4pKSB7XG4gICAgICAgICAgICBsSHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCB0b2tlbi5hY2Nlc3NUb2tlbilcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCdza2lwJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2FwaS9hdXRoZW50aWNhdG9yL29hdXRoL3Rva2VuL3Jldm9rZScsIHt9LCB0aGlzLm9wdGlvbnMobnVsbCwgbEh0dHBIZWFkZXJzKSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZFRva2VuKHRva2VuOiBUb2tlbkRUTzxVPik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRva2VuKSAmJiAhT2JqZWN0VXRpbC5pc051bGwodG9rZW4uZXhwaXJhdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh0b2tlbi5leHBpcmF0aW9uKS52YWx1ZU9mKCkgPiBuZXcgRGF0ZSgpLnZhbHVlT2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEN1cnJlbnRVc2VyKHRva2VuOiBUb2tlbkRUTzxVPik6IFRva2VuRFRPPFU+IHtcbiAgICAgICAgaWYgKHRva2VuICYmIHRva2VuLmFjY2Vzc1Rva2VuKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBKU09OLnN0cmluZ2lmeSh0b2tlbikpO1xuICAgICAgICAgICAgdGhpcy50b2tlblN1YmplY3QubmV4dCh0b2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgIH1cblxuICAgIGdldCB0b2tlblZhbHVlKCk6IFRva2VuRFRPPFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5TdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGdldCB0b2tlblZhbHVlTG9jYWxTdG9yYWdlKCk6IFRva2VuRFRPPFU+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICAgICAgICByZXR1cm4gIVN0cmluZ1V0aWwuaXNFbXB0eSh0b2tlbikgPyBKU09OLnBhcnNlKHRva2VuKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkSGVhZGVycygpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCYXNpYyAnICsgYnRvYSgnQ09OVkVOQU5UX01BTkFHRU1FTlQ6MTIzJykpXG4gICAgICAgICAgICAuYXBwZW5kKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ2FjY2Vzc1R5cGUnLCAnV0VCJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ3RpbWVab25lJywgbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCgnWlonKSk7XG4gICAgfVxuXG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7OztBQUNsQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFJdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHckQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBMEMsU0FBUSxlQUFlO0lBSzFFLFlBQ2MsTUFBYyxFQUNkLElBQWdCO1FBRTFCLEtBQUssRUFBRSxDQUFDO1FBSEUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVk7UUFHMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxD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LENBQUM7U0FDN0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osTUFBTSxLQUFLLEdBQVcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsWUFBWTtRQUNsQixPQUFPLElBQUksV0FBVyxFQUFFO2FBQ25CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2FBQ3BFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsbUNBQW1DLENBQUM7YUFDM0QsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7YUFDM0IsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FFSixDQUFBOztZQXpHeUIsTUFBTTtZQUNSLFVBQVU7OztBQVByQixxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQU9ULE1BQU07UUFDUixVQUFVO0dBUHJCLHFCQUFxQixDQStHakM7U0EvR1kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuaW1wb3J0IHsgQmFzZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmltcG9ydCB7IFRva2VuRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by90b2tlbi5kdG8nO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdFNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZTxVIGV4dGVuZHMgQmFzZVVzZXI+IGV4dGVuZHMgQWJzdHJhY3RTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgX3Rva2VuU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxUb2tlbkRUTzxVPj47XG4gICAgcHVibGljIHRva2VuJDogT2JzZXJ2YWJsZTxUb2tlbkRUTzxVPj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fdG9rZW5TdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSkpO1xuICAgICAgICB0aGlzLnRva2VuJCA9IHRoaXMuX3Rva2VuU3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRva2VuRFRPPFU+PiB7XG4gICAgICAgIGNvbnN0IGJvZHk6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJylcbiAgICAgICAgICAgIC5zZXQoJ3VzZXJuYW1lJywgdXNlcm5hbWUpXG4gICAgICAgICAgICAuc2V0KCdwYXNzd29yZCcsIHBhc3N3b3JkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VG9rZW5EVE88VT4+KFxuICAgICAgICAgICAgJ2FwaS9hdXRoZW50aWNhdG9yL29hdXRoL3Rva2VuJyxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnModGhpcy5idWlsZFBhcmFtcygpLCB0aGlzLmJ1aWxkSGVhZGVycygpLmFwcGVuZCgnc2tpcCcsIFN0cmluZyh0cnVlKSkpXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcCgodG9rZW46IFRva2VuRFRPPFU+KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNlc3Npb24odG9rZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmV2b2tlVG9rZW4oKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlc3Npb24oKTtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL29hdXRoL2xvZ2luJ10sIHsgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgfSB9KTtcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZnJlc2hUb2tlbihhZGRpdGlvbmFsUGFyYW1zPzogTWFwPGFueSwgYW55Pik6IE9ic2VydmFibGU8VG9rZW5EVE88VT4+IHtcbiAgICAgICAgbGV0IGJvZHk6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKVxuICAgICAgICAgICAgLnNldCgncmVmcmVzaF90b2tlbicsIHRoaXMudG9rZW4ucmVmcmVzaFRva2VuKTtcblxuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKGFkZGl0aW9uYWxQYXJhbXMpKSB7XG4gICAgICAgICAgICBhZGRpdGlvbmFsUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IGJvZHkgPSBib2R5LmFwcGVuZChrZXksIHZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VG9rZW5EVE88VT4+KCdhcGkvYXV0aGVudGljYXRvci9vYXV0aC90b2tlbicsIGJvZHksIHRoaXMub3B0aW9ucyh0aGlzLmJ1aWxkUGFyYW1zKCksIHRoaXMuYnVpbGRIZWFkZXJzKCkuYXBwZW5kKCdza2lwJywgJ3RydWUnKSkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoYWNjZXNzVG9rZW4gPT4gdGhpcy5zZXRTZXNzaW9uKGFjY2Vzc1Rva2VuKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmV2b2tlVG9rZW4odG9rZW4/OiBUb2tlbkRUTzxVPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCBsSHR0cEhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbDtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0b2tlbikpIHtcbiAgICAgICAgICAgIGxIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsIHRva2VuLmFjY2Vzc1Rva2VuKVxuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ3NraXAnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCgnYXBpL2F1dGhlbnRpY2F0b3Ivb2F1dGgvdG9rZW4vcmV2b2tlJywge30sIHRoaXMub3B0aW9ucyhudWxsLCBsSHR0cEhlYWRlcnMpKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvciksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFNlc3Npb24odG9rZW46IFRva2VuRFRPPFU+KTogVG9rZW5EVE88VT4ge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBKU09OLnN0cmluZ2lmeSh0b2tlbikpO1xuICAgICAgICAgICAgdGhpcy5fdG9rZW5TdWJqZWN0JC5uZXh0KHRva2VuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVNlc3Npb24oKTogdm9pZCB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkVG9rZW4odG9rZW46IFRva2VuRFRPPFU+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodG9rZW4pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0b2tlbi5leHBpcmF0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW5FeHBpcmF0aW9uOiBtb21lbnQuTW9tZW50ID0gbW9tZW50KHRva2VuLmV4cGlyYXRpb24pO1xuICAgICAgICAgICAgcmV0dXJuIG1vbWVudCgpLmlzQmVmb3JlKHRva2VuRXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9rZW4oKTogVG9rZW5EVE88VT4ge1xuICAgICAgICBjb25zdCB0b2tlbjogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkodG9rZW4pKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0b2tlbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkSGVhZGVycygpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCYXNpYyAnICsgYnRvYSgnQ09OVkVOQU5UX01BTkFHRU1FTlQ6MTIzJykpXG4gICAgICAgICAgICAuYXBwZW5kKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ2FjY2Vzc1R5cGUnLCAnV0VCJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ3RpbWVab25lJywgbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCgnWlonKSk7XG4gICAgfVxuXG59XG4iXX0=
package/esm2015/core.js CHANGED
@@ -8,7 +8,6 @@ export * from './core/core.module';
8
8
  export * from './core/enums/local-time.enum';
9
9
  export * from './core/guards/auth.guard';
10
10
  export * from './core/guards/permission.guard';
11
- export * from './core/guards/public.guard';
12
11
  export * from './core/interceptors/auth.interceptor';
13
12
  export * from './core/interceptors/error.interceptor';
14
13
  export * from './core/models/abstract.model';
@@ -86,4 +85,4 @@ export * from './core/gipi-components/services/file.service';
86
85
  export * from './core/gipi-components/services/session-storage.service';
87
86
  export * from './core/gipi-components/types/generic.type';
88
87
  export * from './core/gipi-components/types/uuid.type';
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29yZS9hcHAtbWVzc2FnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2FwcC5tZXNzYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY29tcG9uZW50cy9hYnN0cmFjdC1jcnVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY29tcG9uZW50cy9hYnN0cmFjdC1maW5kLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY29tcG9uZW50cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9jb3JlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZW51bXMvbG9jYWwtdGltZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9ndWFyZHMvYXV0aC5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ3VhcmRzL3Blcm1pc3Npb24uZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2d1YXJkcy9wdWJsaWMuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2ludGVyY2VwdG9ycy9hdXRoLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9pbnRlcmNlcHRvcnMvZXJyb3IuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9hYnN0cmFjdC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2FyY2hpdmUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9iYXNlLXVzZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vYWJzdHJhY3QuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL2NoYXJ0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9jb25maXJtYXRpb24uZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL2RpYWxvZy5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vZmlsdGVyLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9pbnB1dC1saXN0Ym94LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9tZW51LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9tZXNzYWdlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9wYWdlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9zb3J0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by90YWIuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL3RhYmxlLWNvbHVtbi5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZW51bXMvY3JpdGVyaWEtb3BlcmF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9lbnVtcy9jcml0ZXJpYS1zb3J0LWRpcmVjdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZW51bXMvbWVudS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9lbnVtcy9yYWRpby1idXR0b24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2VudW1zL3NvcnQtZGlyZWN0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9tdWx0aXRlbmFudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL3Blcm1pc3Npb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9yb2xlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9waXBlcy9sb2NhbC10aW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL2Fic3RyYWN0LWNydWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYWJzdHJhY3QtZmluZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9hYnN0cmFjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9icmVha3BvaW50LW9ic2VydmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9uYXYuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvc3ZnLXJlZ2lzdGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3R5cGVzL2xvY2FsLXRpbWUudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvYXJyYXkudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvYnJvd3Nlci51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9jdXJyZW5jeS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9kYXRlLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL2RvY3VtZW50LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL2VtYWlsLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL251bWJlci51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvcGFzc3dvcmQudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvcGhvbmUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvc3RyaW5nLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3RhYmxlLWNvbHVtbi1idWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy90aW1lLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3VybC1wYXJhbXMudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvdXVpZC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy96aW5kZXgudXRpbCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29yZS9jdXN0b20tYnJlYWtwb2ludHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2NvbXBvbmVudHMvYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWZpbmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvY29tcG9uZW50cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9kZWNvcmF0b3JzL2F1dG93aXJlZC5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9lbnVtcy9zb3J0LWRpcmVjdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvaW50ZXJmYWNlL2Fic3RyYWN0LWNydWQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvaW50ZXJmYWNlL2Fic3RyYWN0LWZpbmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvaW50ZXJmYWNlL2Fic3RyYWN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL21vZGVscy9hYnN0cmFjdC1maWx0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvYWJzdHJhY3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvYXBwbGllZC1maWx0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvZHRvL2Fic3RyYWN0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL21vZGVscy9wYWdlLWV2ZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL3BhZ2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvc29ydC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL3NlcnZpY2VzL2Fic3RyYWN0LWNydWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL3NlcnZpY2VzL2Fic3RyYWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9maWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL3R5cGVzL2dlbmVyaWMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL3R5cGVzL3V1aWQudHlwZSc7XG5cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvcmUvYXBwLW1lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9hcHAubWVzc2FnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtZmluZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY29yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2VudW1zL2xvY2FsLXRpbWUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ3VhcmRzL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2d1YXJkcy9wZXJtaXNzaW9uLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9pbnRlcmNlcHRvcnMvYXV0aC5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvYWJzdHJhY3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9hcmNoaXZlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL2Fic3RyYWN0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9jaGFydC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vY29uZmlybWF0aW9uLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9kaWFsb2cuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL2ZpbHRlci5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vaW5wdXQtbGlzdGJveC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vbWVudS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vbWVzc2FnZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vcGFnZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vc29ydC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vdGFiLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by90YWJsZS1jb2x1bW4uZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL3Rva2VuLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2VudW1zL2NyaXRlcmlhLW9wZXJhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZW51bXMvY3JpdGVyaWEtc29ydC1kaXJlY3Rpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2VudW1zL21lbnUtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZW51bXMvcmFkaW8tYnV0dG9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9lbnVtcy9zb3J0LWRpcmVjdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvbXVsdGl0ZW5hbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9wZXJtaXNzaW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvcm9sZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvcGlwZXMvbG9jYWwtdGltZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9hYnN0cmFjdC1jcnVkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL2Fic3RyYWN0LWZpbmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYWJzdHJhY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYnJlYWtwb2ludC1vYnNlcnZlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvbmF2LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3N2Zy1yZWdpc3Rlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS90eXBlcy9sb2NhbC10aW1lLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL2FycmF5LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL2Jyb3dzZXIudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvY3VycmVuY3kudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvZGF0ZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9kb2N1bWVudC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9lbWFpbC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9udW1iZXIudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvb2JqZWN0LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3Bhc3N3b3JkLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3Bob25lLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3N0cmluZy51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy90YWJsZS1jb2x1bW4tYnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvdGltZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy91cmwtcGFyYW1zLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3V1aWQudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvemluZGV4LnV0aWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY3VzdG9tLWJyZWFrcG9pbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWNydWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvY29tcG9uZW50cy9hYnN0cmFjdC1maW5kLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2NvbXBvbmVudHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvZGVjb3JhdG9ycy9hdXRvd2lyZWQuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvZW51bXMvc29ydC1kaXJlY3Rpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2ludGVyZmFjZS9hYnN0cmFjdC1jcnVkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2ludGVyZmFjZS9hYnN0cmFjdC1maW5kLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2ludGVyZmFjZS9hYnN0cmFjdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvYWJzdHJhY3QtZmlsdGVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL2FwcGxpZWQtZmlsdGVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL2R0by9hYnN0cmFjdC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvcGFnZS1ldmVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL21vZGVscy9wYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL3NvcnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9hYnN0cmFjdC1jcnVkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9hYnN0cmFjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvc2VydmljZXMvYmFzZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvc2VydmljZXMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy90eXBlcy9nZW5lcmljLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy90eXBlcy91dWlkLnR5cGUnO1xuXG4iXX0=