@osovitny/anatoly 2.1.9 → 2.1.10

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.
@@ -10,12 +10,9 @@
10
10
  Created:
11
11
  26 Jun 2020
12
12
 
13
- Version:
14
- 1.0
15
-
16
13
  Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
17
14
  </file>
18
15
  */
19
16
  export const ContextInitState = JSON.parse((document.getElementById('contextInitState')).getAttribute('data-contextinitstate'));
20
17
  export const AppCoreSettings = JSON.parse((document.getElementById('appCoreSettings')).getAttribute('data-appcoresettings'));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb25zdHMvc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdkMsQ0FDQyxRQUFRLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQ3ZCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQzdELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdEMsQ0FDQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQ3RCLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRleHRJbml0U3RhdGUgPSBKU09OLnBhcnNlKFxyXG4gICgoXHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dEluaXRTdGF0ZScpXHJcbiAgKSBhcyBIVE1MSW5wdXRFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY29udGV4dGluaXRzdGF0ZScpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgQXBwQ29yZVNldHRpbmdzID0gSlNPTi5wYXJzZShcclxuICAoKFxyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcENvcmVTZXR0aW5ncycpXHJcbiAgKSBhcyBIVE1MSW5wdXRFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtYXBwY29yZXNldHRpbmdzJylcclxuKTtcclxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb25zdHMvc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN2QyxDQUNDLFFBQVEsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FDdkIsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FDN0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN0QyxDQUNDLFFBQVEsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FDdEIsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRleHRJbml0U3RhdGUgPSBKU09OLnBhcnNlKFxyXG4gICgoXHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dEluaXRTdGF0ZScpXHJcbiAgKSBhcyBIVE1MSW5wdXRFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY29udGV4dGluaXRzdGF0ZScpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgQXBwQ29yZVNldHRpbmdzID0gSlNPTi5wYXJzZShcclxuICAoKFxyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcENvcmVTZXR0aW5ncycpXHJcbiAgKSBhcyBIVE1MSW5wdXRFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtYXBwY29yZXNldHRpbmdzJylcclxuKTtcclxuIl19
@@ -9,9 +9,6 @@
9
9
  Created:
10
10
  5 May 2020
11
11
 
12
- Version:
13
- 1.0
14
-
15
12
  Copyright (c) 2020 Deloitte Tax. All rights reserved.
16
13
  </file>
17
14
  */
@@ -19,4 +16,4 @@ export const Urls = {
19
16
  // SignalR Notifications
20
17
  notificationsSocketUrl: '/hubs/notifications'
21
18
  };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2NvbnN0cy91cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JFO0FBRUYsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2xCLHdCQUF3QjtJQUN4QixzQkFBc0IsRUFBRSxxQkFBcUI7Q0FDOUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBNSUNFXHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YW9zb3ZpdG55QGRlbG9pdHRlLmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgNSBNYXkgMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAyMCBEZWxvaXR0ZSBUYXguIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBjb25zdCBVcmxzID0ge1xyXG4gIC8vIFNpZ25hbFIgTm90aWZpY2F0aW9uc1xyXG4gIG5vdGlmaWNhdGlvbnNTb2NrZXRVcmw6ICcvaHVicy9ub3RpZmljYXRpb25zJ1xyXG59XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2NvbnN0cy91cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUc7SUFDbEIsd0JBQXdCO0lBQ3hCLHNCQUFzQixFQUFFLHFCQUFxQjtDQUM5QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIE1JQ0VcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhb3Nvdml0bnlAZGVsb2l0dGUuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA1IE1heSAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAyMCBEZWxvaXR0ZSBUYXguIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBjb25zdCBVcmxzID0ge1xyXG4gIC8vIFNpZ25hbFIgTm90aWZpY2F0aW9uc1xyXG4gIG5vdGlmaWNhdGlvbnNTb2NrZXRVcmw6ICcvaHVicy9ub3RpZmljYXRpb25zJ1xyXG59XHJcbiJdfQ==
@@ -10,9 +10,6 @@
10
10
  Created:
11
11
  13 Nov 2017
12
12
 
13
- Version:
14
- 1.0
15
-
16
13
  Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
17
14
  </file>
18
15
  */
@@ -22,53 +19,93 @@ import { HttpClient } from '@angular/common/http';
22
19
  // App
23
20
  import { ContextInitState } from '../consts/settings';
24
21
  import { BaseApiService } from '../../data/base/base-api.service';
22
+ import { SessionStorageService } from './web-storage.service';
25
23
  export class AppContextService extends BaseApiService {
26
- constructor(http) {
24
+ constructor(http, sessionStorage) {
27
25
  super(http);
28
26
  this.http = http;
29
- this.current = null;
30
- this.successes = [];
27
+ this.sessionStorage = sessionStorage;
28
+ //Consts
29
+ this.storageKeyName = 'appContext';
31
30
  this.subscription = null;
31
+ this.successes = [];
32
32
  this.baseUrl = '/api/appContext';
33
33
  }
34
- getCurrent(success) {
35
- if (typeof success == 'undefined') {
36
- return;
37
- }
38
- if (this.current != null) {
39
- success(this.current);
34
+ updateContextIfExpired() {
35
+ let context = this.sessionStorage.getObject(this.storageKeyName);
36
+ if (!context) {
40
37
  return;
41
38
  }
42
- this.successes.push(success);
43
- if (this.subscription != null) {
44
- return;
39
+ let lu = context.lastRequested;
40
+ if (lu) {
41
+ let now = new Date();
42
+ let lastRequested = new Date(context.lastRequested);
43
+ let in2Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(), lastRequested.getHours(), lastRequested.getMinutes() + 2, 0, 0);
44
+ if (in2Mins.getTime() < now.getTime()) {
45
+ this.updateCurrentContext();
46
+ }
45
47
  }
46
- this.subscription = this.get('getCurrentContext', null).subscribe((data) => {
47
- this.dataReceived(data);
48
- }, (e) => { });
49
48
  }
50
49
  dataReceived(data) {
51
50
  this.current = data;
52
51
  for (let i = 0; i < this.successes.length; i++) {
53
52
  let success = this.successes[i];
54
- success(data);
53
+ if (success) {
54
+ success(data);
55
+ }
55
56
  }
56
57
  this.successes = [];
57
58
  this.subscription.unsubscribe();
58
59
  this.subscription = null;
59
60
  this.current = null;
60
61
  }
62
+ getCurrent(success = null, getCachedIfExist = true) {
63
+ let current = this.current;
64
+ if (getCachedIfExist && current != null) {
65
+ if (success) {
66
+ success(current);
67
+ }
68
+ return;
69
+ }
70
+ if (success) {
71
+ this.successes.push(success);
72
+ }
73
+ if (this.subscription != null) {
74
+ return;
75
+ }
76
+ let now = new Date();
77
+ console.log('Requesting a new AppContext at ' + now);
78
+ this.subscription = this.get('getCurrentContext', null).subscribe((data) => {
79
+ this.dataReceived(data);
80
+ }, (e) => {
81
+ });
82
+ }
83
+ updateCurrentContext(success = null) {
84
+ this.getCurrent(success, false);
85
+ }
86
+ clearCurrentContex() {
87
+ this.sessionStorage.remove(this.storageKeyName);
88
+ }
61
89
  isUserSignedIn() {
62
90
  return ContextInitState.isUserSignedIn;
63
91
  }
64
92
  isUserAdmin() {
65
93
  return ContextInitState.isUserAdmin;
66
94
  }
95
+ //current
96
+ get current() {
97
+ this.updateContextIfExpired();
98
+ return this.sessionStorage.getObject(this.storageKeyName);
99
+ }
100
+ set current(value) {
101
+ this.sessionStorage.setObject(this.storageKeyName, value);
102
+ }
67
103
  }
68
104
  AppContextService.decorators = [
69
105
  { type: Injectable }
70
106
  ];
71
107
  AppContextService.ctorParameters = () => [
72
- { type: HttpClient }
108
+ { type: HttpClient },
109
+ { type: SessionStorageService }
73
110
  ];
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxNQUFNO0FBQ04sT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBR2hFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBS25ELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7UUFKOUIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixpQkFBWSxHQUFpQixJQUFJLENBQUM7UUFJeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWlCO1FBQzFCLElBQUksT0FBTyxPQUFPLElBQUksV0FBVyxFQUFFO1lBQ2pDLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQy9ELENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDZjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQ3RDLENBQUM7OztZQXZERixVQUFVOzs7WUFOSCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTMgTm92IDIwMTdcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuLy8gQXBwXHJcbmltcG9ydCB7Q29udGV4dEluaXRTdGF0ZX0gZnJvbSAnLi4vY29uc3RzL3NldHRpbmdzJztcclxuaW1wb3J0IHtCYXNlQXBpU2VydmljZX0gZnJvbSAnLi4vLi4vZGF0YS9iYXNlL2Jhc2UtYXBpLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwQ29udGV4dFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjdXJyZW50ID0gbnVsbDtcclxuICBwcml2YXRlIHN1Y2Nlc3NlcyA9IFtdO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSAnL2FwaS9hcHBDb250ZXh0JztcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24pIHtcclxuICAgIGlmICh0eXBlb2Ygc3VjY2VzcyA9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY3VycmVudCAhPSBudWxsKSB7XHJcbiAgICAgIHN1Y2Nlc3ModGhpcy5jdXJyZW50KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3VjY2Vzc2VzLnB1c2goc3VjY2Vzcyk7XHJcblxyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5nZXQoJ2dldEN1cnJlbnRDb250ZXh0JywgbnVsbCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICAoZSkgPT4ge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkYXRhUmVjZWl2ZWQoZGF0YSkge1xyXG4gICAgdGhpcy5jdXJyZW50ID0gZGF0YTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3VjY2Vzc2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBzdWNjZXNzID0gdGhpcy5zdWNjZXNzZXNbaV07XHJcbiAgICAgIHN1Y2Nlc3MoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgaXNVc2VyU2lnbmVkSW4oKSB7XHJcbiAgICByZXR1cm4gQ29udGV4dEluaXRTdGF0ZS5pc1VzZXJTaWduZWRJbjtcclxuICB9XHJcblxyXG4gIGlzVXNlckFkbWluKCkge1xyXG4gICAgcmV0dXJuIENvbnRleHRJbml0U3RhdGUuaXNVc2VyQWRtaW47XHJcbiAgfVxyXG59XHJcbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2hELE1BQU07QUFDTixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFPbkQsWUFDWSxJQUFnQixFQUNsQixjQUFxQztRQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFGRixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2xCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQVIvQyxRQUFRO1FBQ0EsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFFOUIsaUJBQVksR0FBaUIsSUFBSSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFNckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUNuQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTztTQUNSO1FBRUQsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUUvQixJQUFJ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Q0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7O1lBMUdGLFVBQVU7OztZQVJILFVBQVU7WUFNVCxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQge0NvbnRleHRJbml0U3RhdGV9IGZyb20gJy4uL2NvbnN0cy9zZXR0aW5ncyc7XHJcbmltcG9ydCB7QmFzZUFwaVNlcnZpY2V9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9iYXNlLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi93ZWItc3RvcmFnZS5zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwQ29udGV4dFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgLy9Db25zdHNcclxuICBwcml2YXRlIHN0b3JhZ2VLZXlOYW1lID0gJ2FwcENvbnRleHQnO1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBwcml2YXRlIHN1Y2Nlc3NlcyA9IFtdOyAgXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCA9ICcvYXBpL2FwcENvbnRleHQnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVDb250ZXh0SWZFeHBpcmVkKCkge1xyXG4gICAgbGV0IGNvbnRleHQgPSB0aGlzLnNlc3Npb25TdG9yYWdlLmdldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuXHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBsdSA9IGNvbnRleHQubGFzdFJlcXVlc3RlZDtcclxuXHJcbiAgICBpZiAobHUpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGxldCBsYXN0UmVxdWVzdGVkID0gbmV3IERhdGUoY29udGV4dC5sYXN0UmVxdWVzdGVkKTtcclxuICAgICAgbGV0IGluMk1pbnMgPSBuZXcgRGF0ZShsYXN0UmVxdWVzdGVkLmdldEZ1bGxZZWFyKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0TW9udGgoKSwgbGFzdFJlcXVlc3RlZC5nZXREYXRlKCksXHJcbiAgICAgICAgbGFzdFJlcXVlc3RlZC5nZXRIb3VycygpLCBsYXN0UmVxdWVzdGVkLmdldE1pbnV0ZXMoKSArIDIsIDAsIDApO1xyXG5cclxuICAgICAgaWYgKGluMk1pbnMuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKSkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudENvbnRleHQoKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVJlY2VpdmVkKGRhdGEpIHtcclxuICAgIHRoaXMuY3VycmVudCA9IGRhdGE7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN1Y2Nlc3Nlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgc3VjY2VzcyA9IHRoaXMuc3VjY2Vzc2VzW2ldO1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHN1Y2Nlc3MoZGF0YSk7XHJcbiAgICAgIH0gICAgICBcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1Y2Nlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMuY3VycmVudCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCwgZ2V0Q2FjaGVkSWZFeGlzdDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGxldCBjdXJyZW50ID0gdGhpcy5jdXJyZW50O1xyXG5cclxuICAgIGlmIChnZXRDYWNoZWRJZkV4aXN0ICYmIGN1cnJlbnQgIT0gbnVsbCkgeyAgICBcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICBzdWNjZXNzKGN1cnJlbnQpO1xyXG4gICAgICB9IFxyXG5cclxuICAgICAgcmV0dXJuOyAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgIHRoaXMuc3VjY2Vzc2VzLnB1c2goc3VjY2Vzcyk7XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGEgbmV3IEFwcENvbnRleHQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnZ2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhUmVjZWl2ZWQoZGF0YSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDdXJyZW50Q29udGV4dChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudChzdWNjZXNzLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckN1cnJlbnRDb250ZXgoKSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZSh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuICB9XHJcblxyXG4gIGlzVXNlclNpZ25lZEluKCkge1xyXG4gICAgcmV0dXJuIENvbnRleHRJbml0U3RhdGUuaXNVc2VyU2lnbmVkSW47XHJcbiAgfVxyXG5cclxuICBpc1VzZXJBZG1pbigpIHtcclxuICAgIHJldHVybiBDb250ZXh0SW5pdFN0YXRlLmlzVXNlckFkbWluO1xyXG4gIH1cclxuXHJcbiAgLy9jdXJyZW50XHJcbiAgcHVibGljIGdldCBjdXJyZW50KCkge1xyXG4gICAgdGhpcy51cGRhdGVDb250ZXh0SWZFeHBpcmVkKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRPYmplY3QodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY3VycmVudCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlLnNldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -81,4 +81,4 @@ export class Utils {
81
81
  return prefix + result + postfix;
82
82
  }
83
83
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNLE9BQU8sS0FBSztJQUNULE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJO1FBQ25DLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJO1FBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELHdEQUF3RDtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQyxFQUV2RCxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNuRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDM0IsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbkIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDbEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQVcsRUFBRSxRQUFnQjtRQUMxRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUU7WUFDckMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDcEQ7YUFBTTtZQUNMLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOzs7TUFHRTtJQUNLLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUUsRUFBRSxVQUFrQixFQUFFO1FBQzNFLE1BQU0sQ0FBQyxHQUFHLGlGQUFpRixDQUFDO1FBQzVGLE1BQU0sQ0FBQyxHQUFHLGlGQUFpRixDQUFDO1FBQzVGLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWpEOzs7VUFHRTtRQUNGLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6QyxJQUFJLE1BQU0sR0FBRyxJQUFJO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsV0FBVyxFQUFFO2FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyx3QkFBd0I7YUFDN0MsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCO2FBQ3JFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsdUJBQXVCO2FBQzlDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsaUNBQWlDO2FBQzFELE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsbUNBQW1DO2FBQzFELE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsNEJBQTRCO2FBQy9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFFakQsT0FBTyxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxOSBNYXJjaCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VmFsdWVCeU5hbWVJblFTKG5hbWUpIHtcclxuICAgIHJldHVybiBVdGlscy5nZXRWYWx1ZUJ5TmFtZShsb2NhdGlvbi5zZWFyY2gsIG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRWYWx1ZUJ5TmFtZSh1cmwsIG5hbWUpIHtcclxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcXFtdLywgJ1xcXFxbJykucmVwbGFjZSgvW1xcXV0vLCAnXFxcXF0nKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmUtdmFyaWFibGUtcGVyLWRlY2xhcmF0aW9uXHJcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJ1tcXFxcPyZdJyArIG5hbWUgKyAnPShbXiYjXSopJyksXHJcblxyXG4gICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWModXJsKTtcclxuICAgIHJldHVybiByZXN1bHRzID09PSBudWxsID8gJycgOiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvcHlUb0NsaXBCb2FyZChldmVudDogYW55LCB2YWw6IHN0cmluZykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgc2VsQm94LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIHNlbEJveC5zdHlsZS5sZWZ0ID0gJzAnO1xyXG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcclxuICAgIHNlbEJveC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgc2VsQm94LnZhbHVlID0gdmFsO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xyXG4gICAgc2VsQm94LmZvY3VzKCk7XHJcbiAgICBzZWxCb3guc2VsZWN0KCk7XHJcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzZWxCb3gpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEZpbGUobmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZykge1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuZG93bmxvYWQgPSBuYW1lO1xyXG4gICAgbGluay5ocmVmID0gdXJsO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEJsb2JGaWxlKHZhbHVlOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAod2luZG93Lm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYih2YWx1ZSwgZmlsZU5hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZG93bmxvYWRVUkwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh2YWx1ZSk7XHJcbiAgICAgIFV0aWxzLmRvd25sb2FkRmlsZShmaWxlTmFtZSwgZG93bmxvYWRVUkwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgIEF1dGhvcjpcclxuICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AbWhhZ2VtYW5uL3RoZS11bHRpbWF0ZS13YXktdG8tc2x1Z2lmeS1hLXVybC1zdHJpbmctaW4tamF2YXNjcmlwdC1iOGU0YTBkODQ5ZTFcclxuICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgc2x1Z2lmeSh0ZXh0OiBzdHJpbmcsIHByZWZpeDogc3RyaW5nID0gJycsIHBvc3RmaXg6IHN0cmluZyA9ICcnKSB7XHJcbiAgICBjb25zdCBhID0gJ8Ogw6HDosOkw6bDo8OlxIHEg8SFw6fEh8SNxJHEj8Oow6nDqsOrxJPEl8SZxJvEn8e14binw67Dr8OtxKvEr8OsxYLhuL/DscWEx7nFiMO0w7bDssOzxZPDuMWNw7XFkeG5lcWVxZnDn8WbxaHFn8iZxaXIm8O7w7zDucO6xavHmMWvxbHFs+G6g+G6jcO/w73FvsW6xbzCty9fLDo7JztcclxuICAgIGNvbnN0IGIgPSAnYWFhYWFhYWFhYWNjY2RkZWVlZWVlZWVnZ2hpaWlpaWlsbW5ubm5vb29vb29vb29wcnJzc3Nzc3R0dXV1dXV1dXV1d3h5eXp6ei0tLS0tLSc7XHJcbiAgICBjb25zdCBwID0gbmV3IFJlZ0V4cChhLnNwbGl0KCcnKS5qb2luKCd8JyksICdnJyk7XHJcblxyXG4gICAgLypcclxuICAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9qYXZhc2NyaXB0L3N0cmlwLWh0bWwtdGFncy1pbi1qYXZhc2NyaXB0L1xyXG4gICAgICBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy84MjI0NTIvc3RyaXAtaHRtbC1mcm9tLXRleHQtamF2YXNjcmlwdFxyXG4gICAgKi9cclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCAnJyk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IHRleHRcclxuICAgICAgLnRvU3RyaW5nKClcclxuICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cclxuICAgICAgLnJlcGxhY2UocCwgYyA9PiBiLmNoYXJBdChhLmluZGV4T2YoYykpKSAvLyBSZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVyc1xyXG4gICAgICAucmVwbGFjZSgvJi9nLCAnLWFuZC0nKSAvLyBSZXBsYWNlICYgd2l0aCAnYW5kJ1xyXG4gICAgICAucmVwbGFjZSgvW15cXHdcXC1dKy9nLCAnJykgLy8gUmVtb3ZlIGFsbCBub24td29yZCBjaGFyYWN0ZXJzXHJcbiAgICAgIC5yZXBsYWNlKC9cXC1cXC0rL2csICctJykgLy8gUmVwbGFjZSBtdWx0aXBsZSAtIHdpdGggc2luZ2xlIC1cclxuICAgICAgLnJlcGxhY2UoL14tKy8sICcnKSAvLyBUcmltIC0gZnJvbSBzdGFydCBvZiB0ZXh0XHJcbiAgICAgIC5yZXBsYWNlKC8tKyQvLCAnJyk7IC8vIFRyaW0gLSBmcm9tIGVuZCBvZiB0ZXh0XHJcblxyXG4gICAgcmV0dXJuIHByZWZpeCArIHJlc3VsdCArIHBvc3RmaXg7XHJcbiAgfVxyXG59XHJcbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNLE9BQU8sS0FBSztJQUNULE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJO1FBQ25DLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJO1FBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELHdEQUF3RDtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQyxFQUV2RCxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNuRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDM0IsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbkIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDbEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQVcsRUFBRSxRQUFnQjtRQUMxRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUU7WUFDckMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDcEQ7YUFBTTtZQUNMLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUdEOzs7TUFHRTtJQUNLLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUUsRUFBRSxVQUFrQixFQUFFO1FBQzNFLE1BQU0sQ0FBQyxHQUFHLGlGQUFpRixDQUFDO1FBQzVGLE1BQU0sQ0FBQyxHQUFHLGlGQUFpRixDQUFDO1FBQzVGLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWpEOzs7VUFHRTtRQUNGLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6QyxJQUFJLE1BQU0sR0FBRyxJQUFJO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsV0FBVyxFQUFFO2FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyx3QkFBd0I7YUFDN0MsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCO2FBQ3JFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsdUJBQXVCO2FBQzlDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsaUNBQWlDO2FBQzFELE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsbUNBQW1DO2FBQzFELE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsNEJBQTRCO2FBQy9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFFakQsT0FBTyxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxOSBNYXJjaCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VmFsdWVCeU5hbWVJblFTKG5hbWUpIHtcclxuICAgIHJldHVybiBVdGlscy5nZXRWYWx1ZUJ5TmFtZShsb2NhdGlvbi5zZWFyY2gsIG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRWYWx1ZUJ5TmFtZSh1cmwsIG5hbWUpIHtcclxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcXFtdLywgJ1xcXFxbJykucmVwbGFjZSgvW1xcXV0vLCAnXFxcXF0nKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmUtdmFyaWFibGUtcGVyLWRlY2xhcmF0aW9uXHJcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJ1tcXFxcPyZdJyArIG5hbWUgKyAnPShbXiYjXSopJyksXHJcblxyXG4gICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWModXJsKTtcclxuICAgIHJldHVybiByZXN1bHRzID09PSBudWxsID8gJycgOiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvcHlUb0NsaXBCb2FyZChldmVudDogYW55LCB2YWw6IHN0cmluZykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgc2VsQm94LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIHNlbEJveC5zdHlsZS5sZWZ0ID0gJzAnO1xyXG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcclxuICAgIHNlbEJveC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgc2VsQm94LnZhbHVlID0gdmFsO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xyXG4gICAgc2VsQm94LmZvY3VzKCk7XHJcbiAgICBzZWxCb3guc2VsZWN0KCk7XHJcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzZWxCb3gpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEZpbGUobmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZykge1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuZG93bmxvYWQgPSBuYW1lO1xyXG4gICAgbGluay5ocmVmID0gdXJsO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEJsb2JGaWxlKHZhbHVlOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAod2luZG93Lm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYih2YWx1ZSwgZmlsZU5hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZG93bmxvYWRVUkwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh2YWx1ZSk7XHJcbiAgICAgIFV0aWxzLmRvd25sb2FkRmlsZShmaWxlTmFtZSwgZG93bmxvYWRVUkwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qXHJcbiAgICBBdXRob3I6IFxyXG4gICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BtaGFnZW1hbm4vdGhlLXVsdGltYXRlLXdheS10by1zbHVnaWZ5LWEtdXJsLXN0cmluZy1pbi1qYXZhc2NyaXB0LWI4ZTRhMGQ4NDllMVxyXG4gICovXHJcbiAgcHVibGljIHN0YXRpYyBzbHVnaWZ5KHRleHQ6IHN0cmluZywgcHJlZml4OiBzdHJpbmcgPSAnJywgcG9zdGZpeDogc3RyaW5nID0gJycpIHtcclxuICAgIGNvbnN0IGEgPSAnw6DDocOiw6TDpsOjw6XEgcSDxIXDp8SHxI3EkcSPw6jDqcOqw6vEk8SXxJnEm8Sfx7XhuKfDrsOvw63Eq8Svw6zFguG4v8OxxYTHucWIw7TDtsOyw7PFk8O4xY3DtcWR4bmVxZXFmcOfxZvFocWfyJnFpcibw7vDvMO5w7rFq8eYxa/FscWz4bqD4bqNw7/DvcW+xbrFvMK3L18sOjsnO1xyXG4gICAgY29uc3QgYiA9ICdhYWFhYWFhYWFhY2NjZGRlZWVlZWVlZWdnaGlpaWlpaWxtbm5ubm9vb29vb29vb3BycnNzc3NzdHR1dXV1dXV1dXV3eHl5enp6LS0tLS0tJztcclxuICAgIGNvbnN0IHAgPSBuZXcgUmVnRXhwKGEuc3BsaXQoJycpLmpvaW4oJ3wnKSwgJ2cnKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2phdmFzY3JpcHQvc3RyaXAtaHRtbC10YWdzLWluLWphdmFzY3JpcHQvXHJcbiAgICAgIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzgyMjQ1Mi9zdHJpcC1odG1sLWZyb20tdGV4dC1qYXZhc2NyaXB0XHJcbiAgICAqL1xyXG4gICAgdGV4dCA9IHRleHQucmVwbGFjZSgvKDwoW14+XSspPikvZ2ksICcnKTtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gdGV4dFxyXG4gICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpIC8vIFJlcGxhY2Ugc3BhY2VzIHdpdGggLVxyXG4gICAgICAucmVwbGFjZShwLCBjID0+IGIuY2hhckF0KGEuaW5kZXhPZihjKSkpIC8vIFJlcGxhY2Ugc3BlY2lhbCBjaGFyYWN0ZXJzXHJcbiAgICAgIC5yZXBsYWNlKC8mL2csICctYW5kLScpIC8vIFJlcGxhY2UgJiB3aXRoICdhbmQnXHJcbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xcLV0rL2csICcnKSAvLyBSZW1vdmUgYWxsIG5vbi13b3JkIGNoYXJhY3RlcnNcclxuICAgICAgLnJlcGxhY2UoL1xcLVxcLSsvZywgJy0nKSAvLyBSZXBsYWNlIG11bHRpcGxlIC0gd2l0aCBzaW5nbGUgLVxyXG4gICAgICAucmVwbGFjZSgvXi0rLywgJycpIC8vIFRyaW0gLSBmcm9tIHN0YXJ0IG9mIHRleHRcclxuICAgICAgLnJlcGxhY2UoLy0rJC8sICcnKTsgLy8gVHJpbSAtIGZyb20gZW5kIG9mIHRleHRcclxuXHJcbiAgICByZXR1cm4gcHJlZml4ICsgcmVzdWx0ICsgcG9zdGZpeDtcclxuICB9XHJcbn1cclxuIl19
@@ -10,15 +10,12 @@
10
10
  Created:
11
11
  14 Aug 2018
12
12
 
13
- Version:
14
- 1.0
15
-
16
13
  Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
17
14
  </file>
18
15
  */
19
16
  // Node
20
17
  import { Component, Input } from '@angular/core';
21
- // Services
18
+ // App
22
19
  import { AppContextService } from '../../../core/services/appcontext.service';
23
20
  import { BillingApiService } from '../../../data/services/billing-api.service';
24
21
  import { Alerts } from '../../../core/notifications/alerts';
@@ -71,4 +68,4 @@ BuyAccessButtonComponent.propDecorators = {
71
68
  plan: [{ type: Input }],
72
69
  plantitle: [{ type: Input }]
73
70
  };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxXQUFXO0FBQ1gsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBTzFELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxVQUE2QixFQUM3QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZ6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFRMUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFO29CQUM5QyxNQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUEvQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLDRpQkFBZ0Q7YUFDakQ7OztZQVJPLGlCQUFpQjtZQUNqQixpQkFBaUI7OzttQkFjdEIsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgQXVnIDIwMThcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyBTZXJ2aWNlc1xyXG5pbXBvcnQge0FwcENvbnRleHRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7QmlsbGluZ0FwaVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvYmlsbGluZy1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7QWxlcnRzfSBmcm9tICcuLi8uLi8uLi9jb3JlL25vdGlmaWNhdGlvbnMvYWxlcnRzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktYnV5YWNjZXNzLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV5QWNjZXNzQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgY29udGV4dFVwZGF0ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgaXNVc2VyU2lnbmVkSW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFBsYW4gPSAwO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhblRpdGxlID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHBsYW46IG51bWJlcjtcclxuICBASW5wdXQoKSBwbGFudGl0bGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFwcGNvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGk6IEJpbGxpbmdBcGlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5hcHBjb250ZXh0LmlzVXNlclNpZ25lZEluKCkpIHtcclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGNvbnRleHQuZ2V0Q3VycmVudCgoY3VycmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmlzVXNlclNpZ25lZEluID0gY3VycmVudC5pc1VzZXJTaWduZWRJbjtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzVXNlclNpZ25lZEluKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhbiA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuVGl0bGUgPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQnV5UGxhbigpIHtcclxuICAgIGNvbnN0IHRleHQgPSBgUmVxdWVzdGVkIHBsYW46ICR7dGhpcy5wbGFudGl0bGV9IGA7XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuXHJcbiAgICBBbGVydHMuYXJlWW91U3VyZSh0ZXh0LCAnQnV5aW5nIGFjY2VzcycsICdDb25maXJtIGNoYW5nZScsICdDYW5jZWwnLCAoKSA9PiB7XHJcbiAgICAgIHRoYXQuYXBpLmJ1eUFjY2Vzcyh0aGF0LnBsYW4sICgpID0+IHtcclxuICAgICAgICBBbGVydHMuc3VjY2VzcygnQWNjZXNzIEdyYW50ZWQnLCBudWxsLCBudWxsLCgpID0+IHtcclxuICAgICAgICAgICh3aW5kb3cgYXMgYW55KS5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU07QUFDTixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFNMUQsTUFBTSxPQUFPLHdCQUF3QjtJQVNuQyxZQUNVLFVBQTZCLEVBQzdCLEdBQXNCO1FBRHRCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVnpCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztJQVU3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7YUFDN0Q7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLEVBQUU7b0JBQzlDLE1BQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsNGlCQUFnRDthQUNqRDs7O1lBUE8saUJBQWlCO1lBQ2pCLGlCQUFpQjs7O21CQWF0QixLQUFLO3dCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7QXBwQ29udGV4dFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHtCaWxsaW5nQXBpU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9iaWxsaW5nLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHtBbGVydHN9IGZyb20gJy4uLy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9hbGVydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJ1eWFjY2Vzcy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1eUFjY2Vzc0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuID0gMDtcclxuICBwdWJsaWMgY3VycmVudFBsYW5UaXRsZSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcHBjb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpOiBCaWxsaW5nQXBpU2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmFwcGNvbnRleHQuaXNVc2VyU2lnbmVkSW4oKSkge1xyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwY29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CdXlQbGFuKCkge1xyXG4gICAgY29uc3QgdGV4dCA9IGBSZXF1ZXN0ZWQgcGxhbjogJHt0aGlzLnBsYW50aXRsZX0gYDtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cclxuICAgIEFsZXJ0cy5hcmVZb3VTdXJlKHRleHQsICdCdXlpbmcgYWNjZXNzJywgJ0NvbmZpcm0gY2hhbmdlJywgJ0NhbmNlbCcsICgpID0+IHtcclxuICAgICAgdGhhdC5hcGkuYnV5QWNjZXNzKHRoYXQucGxhbiwgKCkgPT4ge1xyXG4gICAgICAgIEFsZXJ0cy5zdWNjZXNzKCdBY2Nlc3MgR3JhbnRlZCcsIG51bGwsIG51bGwsKCkgPT4ge1xyXG4gICAgICAgICAgKHdpbmRvdyBhcyBhbnkpLmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -34,9 +34,6 @@ import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';
34
34
  Created:
35
35
  26 Jun 2020
36
36
 
37
- Version:
38
- 1.0
39
-
40
37
  Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
41
38
  </file>
42
39
  */
@@ -54,9 +51,6 @@ const AppCoreSettings = JSON.parse((document.getElementById('appCoreSettings')).
54
51
  Created:
55
52
  5 May 2020
56
53
 
57
- Version:
58
- 1.0
59
-
60
54
  Copyright (c) 2020 Deloitte Tax. All rights reserved.
61
55
  </file>
62
56
  */
@@ -1277,7 +1271,7 @@ BaseApiService.ctorParameters = () => [
1277
1271
  Anatoly Osovitny
1278
1272
 
1279
1273
  Created:
1280
- 13 Nov 2017
1274
+ 26 Jun 2020
1281
1275
 
1282
1276
  Version:
1283
1277
  1.0
@@ -1285,54 +1279,154 @@ BaseApiService.ctorParameters = () => [
1285
1279
  Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
1286
1280
  </file>
1287
1281
  */
1282
+ class WebStorageService {
1283
+ constructor(storage) {
1284
+ this.storage =
1285
+ storage === 'local' || storage === 'localStorage'
1286
+ ? localStorage
1287
+ : sessionStorage;
1288
+ }
1289
+ setItem(key, value) {
1290
+ this.storage.setItem(key, value);
1291
+ }
1292
+ setObject(key, value) {
1293
+ this.storage.setItem(key, JSON.stringify(value));
1294
+ }
1295
+ getItem(key) {
1296
+ return this.storage.getItem(key);
1297
+ }
1298
+ getObject(key) {
1299
+ let value = this.storage.getItem(key);
1300
+ if (!value) {
1301
+ return null;
1302
+ }
1303
+ return JSON.parse(value);
1304
+ }
1305
+ remove(key) {
1306
+ this.storage.removeItem(key);
1307
+ }
1308
+ }
1309
+ class LocalStorageService extends WebStorageService {
1310
+ constructor() {
1311
+ super('localStorage');
1312
+ }
1313
+ }
1314
+ LocalStorageService.decorators = [
1315
+ { type: Injectable }
1316
+ ];
1317
+ LocalStorageService.ctorParameters = () => [];
1318
+ class SessionStorageService extends WebStorageService {
1319
+ constructor() {
1320
+ super('sessionStorage');
1321
+ }
1322
+ }
1323
+ SessionStorageService.decorators = [
1324
+ { type: Injectable }
1325
+ ];
1326
+ SessionStorageService.ctorParameters = () => [];
1327
+
1328
+ /*
1329
+ <file>
1330
+ Project:
1331
+ @osovitny/anatoly
1332
+
1333
+ Authors:
1334
+ Vadim Osovitny
1335
+ Anatoly Osovitny
1336
+
1337
+ Created:
1338
+ 13 Nov 2017
1339
+
1340
+ Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
1341
+ </file>
1342
+ */
1288
1343
  class AppContextService extends BaseApiService {
1289
- constructor(http) {
1344
+ constructor(http, sessionStorage) {
1290
1345
  super(http);
1291
1346
  this.http = http;
1292
- this.current = null;
1293
- this.successes = [];
1347
+ this.sessionStorage = sessionStorage;
1348
+ //Consts
1349
+ this.storageKeyName = 'appContext';
1294
1350
  this.subscription = null;
1351
+ this.successes = [];
1295
1352
  this.baseUrl = '/api/appContext';
1296
1353
  }
1297
- getCurrent(success) {
1298
- if (typeof success == 'undefined') {
1354
+ updateContextIfExpired() {
1355
+ let context = this.sessionStorage.getObject(this.storageKeyName);
1356
+ if (!context) {
1299
1357
  return;
1300
1358
  }
1301
- if (this.current != null) {
1302
- success(this.current);
1303
- return;
1304
- }
1305
- this.successes.push(success);
1306
- if (this.subscription != null) {
1307
- return;
1359
+ let lu = context.lastRequested;
1360
+ if (lu) {
1361
+ let now = new Date();
1362
+ let lastRequested = new Date(context.lastRequested);
1363
+ let in2Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(), lastRequested.getHours(), lastRequested.getMinutes() + 2, 0, 0);
1364
+ if (in2Mins.getTime() < now.getTime()) {
1365
+ this.updateCurrentContext();
1366
+ }
1308
1367
  }
1309
- this.subscription = this.get('getCurrentContext', null).subscribe((data) => {
1310
- this.dataReceived(data);
1311
- }, (e) => { });
1312
1368
  }
1313
1369
  dataReceived(data) {
1314
1370
  this.current = data;
1315
1371
  for (let i = 0; i < this.successes.length; i++) {
1316
1372
  let success = this.successes[i];
1317
- success(data);
1373
+ if (success) {
1374
+ success(data);
1375
+ }
1318
1376
  }
1319
1377
  this.successes = [];
1320
1378
  this.subscription.unsubscribe();
1321
1379
  this.subscription = null;
1322
1380
  this.current = null;
1323
1381
  }
1382
+ getCurrent(success = null, getCachedIfExist = true) {
1383
+ let current = this.current;
1384
+ if (getCachedIfExist && current != null) {
1385
+ if (success) {
1386
+ success(current);
1387
+ }
1388
+ return;
1389
+ }
1390
+ if (success) {
1391
+ this.successes.push(success);
1392
+ }
1393
+ if (this.subscription != null) {
1394
+ return;
1395
+ }
1396
+ let now = new Date();
1397
+ console.log('Requesting a new AppContext at ' + now);
1398
+ this.subscription = this.get('getCurrentContext', null).subscribe((data) => {
1399
+ this.dataReceived(data);
1400
+ }, (e) => {
1401
+ });
1402
+ }
1403
+ updateCurrentContext(success = null) {
1404
+ this.getCurrent(success, false);
1405
+ }
1406
+ clearCurrentContex() {
1407
+ this.sessionStorage.remove(this.storageKeyName);
1408
+ }
1324
1409
  isUserSignedIn() {
1325
1410
  return ContextInitState.isUserSignedIn;
1326
1411
  }
1327
1412
  isUserAdmin() {
1328
1413
  return ContextInitState.isUserAdmin;
1329
1414
  }
1415
+ //current
1416
+ get current() {
1417
+ this.updateContextIfExpired();
1418
+ return this.sessionStorage.getObject(this.storageKeyName);
1419
+ }
1420
+ set current(value) {
1421
+ this.sessionStorage.setObject(this.storageKeyName, value);
1422
+ }
1330
1423
  }
1331
1424
  AppContextService.decorators = [
1332
1425
  { type: Injectable }
1333
1426
  ];
1334
1427
  AppContextService.ctorParameters = () => [
1335
- { type: HttpClient }
1428
+ { type: HttpClient },
1429
+ { type: SessionStorageService }
1336
1430
  ];
1337
1431
 
1338
1432
  /*
@@ -1404,70 +1498,6 @@ IdleService.decorators = [
1404
1498
  },] }
1405
1499
  ];
1406
1500
 
1407
- /*
1408
- <file>
1409
- Project:
1410
- @osovitny/anatoly
1411
-
1412
- Authors:
1413
- Vadim Osovitny
1414
- Anatoly Osovitny
1415
-
1416
- Created:
1417
- 26 Jun 2020
1418
-
1419
- Version:
1420
- 1.0
1421
-
1422
- Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
1423
- </file>
1424
- */
1425
- class WebStorageService {
1426
- constructor(storage) {
1427
- this.storage =
1428
- storage === 'local' || storage === 'localStorage'
1429
- ? localStorage
1430
- : sessionStorage;
1431
- }
1432
- setItem(key, value) {
1433
- this.storage.setItem(key, value);
1434
- }
1435
- setObject(key, value) {
1436
- this.storage.setItem(key, JSON.stringify(value));
1437
- }
1438
- getItem(key) {
1439
- return this.storage.getItem(key);
1440
- }
1441
- getObject(key) {
1442
- let value = this.storage.getItem(key);
1443
- if (!value) {
1444
- return null;
1445
- }
1446
- return JSON.parse(value);
1447
- }
1448
- remove(key) {
1449
- this.storage.removeItem(key);
1450
- }
1451
- }
1452
- class LocalStorageService extends WebStorageService {
1453
- constructor() {
1454
- super('localStorage');
1455
- }
1456
- }
1457
- LocalStorageService.decorators = [
1458
- { type: Injectable }
1459
- ];
1460
- LocalStorageService.ctorParameters = () => [];
1461
- class SessionStorageService extends WebStorageService {
1462
- constructor() {
1463
- super('sessionStorage');
1464
- }
1465
- }
1466
- SessionStorageService.decorators = [
1467
- { type: Injectable }
1468
- ];
1469
- SessionStorageService.ctorParameters = () => [];
1470
-
1471
1501
  /*
1472
1502
  <file>
1473
1503
  Project:
@@ -2246,9 +2276,6 @@ BaseDialog.propDecorators = {
2246
2276
  Created:
2247
2277
  14 Aug 2018
2248
2278
 
2249
- Version:
2250
- 1.0
2251
-
2252
2279
  Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
2253
2280
  </file>
2254
2281
  */