taxtank-core 0.31.25 → 0.31.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/esm2020/lib/collections/user-event-type-collection.mjs +5 -1
  2. package/esm2020/lib/db/Models/client/annual-client-details.mjs +1 -1
  3. package/esm2020/lib/db/Models/client/client-details.mjs +1 -1
  4. package/esm2020/lib/forms/report/my-tax/my-tax-medicare.form.mjs +10 -5
  5. package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
  6. package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
  7. package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
  8. package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
  9. package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
  10. package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
  11. package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
  12. package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +5 -17
  13. package/esm2020/lib/interfaces/index.mjs +2 -2
  14. package/esm2020/lib/interfaces/mp-trackable.interface.mjs +2 -0
  15. package/esm2020/lib/models/budget/budget.mjs +4 -1
  16. package/esm2020/lib/models/client/annual-client-details.mjs +13 -1
  17. package/esm2020/lib/models/client/client-income-types.mjs +4 -1
  18. package/esm2020/lib/models/dictionary/dictionary.mjs +8 -1
  19. package/esm2020/lib/models/user/user.mjs +7 -2
  20. package/esm2020/lib/models/user-event/user-event-setting.mjs +4 -1
  21. package/esm2020/lib/models/user-event/user-event-type.mjs +6 -2
  22. package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
  23. package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
  24. package/esm2020/lib/services/asset/assets.service.mjs +3 -3
  25. package/esm2020/lib/services/auth/auth.service.mjs +17 -7
  26. package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
  27. package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
  28. package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
  29. package/esm2020/lib/services/data.service.mjs +3 -3
  30. package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
  31. package/esm2020/lib/services/event/sse.service.mjs +3 -3
  32. package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
  33. package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
  34. package/esm2020/lib/services/http/address/address.service.mjs +3 -3
  35. package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
  36. package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
  37. package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
  38. package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
  39. package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
  40. package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
  41. package/esm2020/lib/services/http/budget/budget.service.mjs +3 -3
  42. package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
  43. package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
  44. package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
  45. package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
  46. package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
  47. package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +3 -3
  48. package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +3 -3
  49. package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
  50. package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
  51. package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
  52. package/esm2020/lib/services/http/document/document.service.mjs +3 -3
  53. package/esm2020/lib/services/http/facebook/facebook.service.mjs +10 -6
  54. package/esm2020/lib/services/http/file/file.service.mjs +3 -3
  55. package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +3 -3
  56. package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
  57. package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
  58. package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
  59. package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
  60. package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
  61. package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
  62. package/esm2020/lib/services/http/google/google.service.mjs +10 -6
  63. package/esm2020/lib/services/http/holding/holding-sale.service.mjs +3 -3
  64. package/esm2020/lib/services/http/holding/holding-type.service.mjs +3 -3
  65. package/esm2020/lib/services/http/holding/holding.service.mjs +3 -3
  66. package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
  67. package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
  68. package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
  69. package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
  70. package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
  71. package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
  72. package/esm2020/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +3 -3
  73. package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
  74. package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
  75. package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
  76. package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
  77. package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
  78. package/esm2020/lib/services/http/property/property-valuation/property-valuation.service.mjs +3 -3
  79. package/esm2020/lib/services/http/property/property.service.mjs +3 -3
  80. package/esm2020/lib/services/http/rest/rest-old.service.mjs +7 -5
  81. package/esm2020/lib/services/http/rest/rest.service.mjs +14 -5
  82. package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
  83. package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
  84. package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
  85. package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
  86. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
  87. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
  88. package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
  89. package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
  90. package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
  91. package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
  92. package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
  93. package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
  94. package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
  95. package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
  96. package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
  97. package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
  98. package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
  99. package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
  100. package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
  101. package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
  102. package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
  103. package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
  104. package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
  105. package/esm2020/lib/services/http/user/financial-year/financial-year.service.mjs +9 -6
  106. package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +10 -37
  107. package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +10 -7
  108. package/esm2020/lib/services/http/user/user.service.mjs +44 -11
  109. package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
  110. package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
  111. package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
  112. package/esm2020/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook.service.mjs +3 -3
  113. package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
  114. package/esm2020/lib/services/index.mjs +2 -1
  115. package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
  116. package/esm2020/lib/services/json/chart-accounts/chart-accounts-value.service.mjs +3 -3
  117. package/esm2020/lib/services/json/holding/holding-type-exchange.service.mjs +3 -3
  118. package/esm2020/lib/services/json/income-source/income-source-type.service.mjs +3 -3
  119. package/esm2020/lib/services/json/tax-exemption/tax-exemption.service.mjs +3 -3
  120. package/esm2020/lib/services/json/tax-return/tax-return-item.service.mjs +3 -3
  121. package/esm2020/lib/services/mixpanel/mixpanel.service.mjs +47 -0
  122. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
  123. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
  124. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
  125. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
  126. package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
  127. package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
  128. package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
  129. package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
  130. package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
  131. package/esm2020/lib/services/toast/toast.service.mjs +3 -3
  132. package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
  133. package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
  134. package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
  135. package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
  136. package/esm2020/lib/tt-core.module.mjs +4 -4
  137. package/esm2020/lib/validators/unique-email.validator.mjs +3 -3
  138. package/fesm2015/taxtank-core.mjs +652 -539
  139. package/fesm2015/taxtank-core.mjs.map +1 -1
  140. package/fesm2020/taxtank-core.mjs +650 -539
  141. package/fesm2020/taxtank-core.mjs.map +1 -1
  142. package/lib/collections/user-event-type-collection.d.ts +2 -0
  143. package/lib/db/Models/client/annual-client-details.d.ts +2 -0
  144. package/lib/db/Models/client/client-details.d.ts +0 -5
  145. package/lib/forms/report/my-tax/my-tax-medicare.form.d.ts +6 -3
  146. package/lib/interfaces/index.d.ts +1 -1
  147. package/lib/interfaces/mp-trackable.interface.d.ts +5 -0
  148. package/lib/models/budget/budget.d.ts +3 -1
  149. package/lib/models/client/annual-client-details.d.ts +12 -1
  150. package/lib/models/client/client-income-types.d.ts +8 -1
  151. package/lib/models/dictionary/dictionary.d.ts +2 -0
  152. package/lib/models/user/user.d.ts +7 -3
  153. package/lib/models/user-event/user-event-setting.d.ts +8 -1
  154. package/lib/models/user-event/user-event-type.d.ts +1 -0
  155. package/lib/services/auth/auth.service.d.ts +3 -1
  156. package/lib/services/http/facebook/facebook.service.d.ts +3 -1
  157. package/lib/services/http/google/google.service.d.ts +3 -1
  158. package/lib/services/http/rest/rest-old.service.d.ts +2 -0
  159. package/lib/services/http/rest/rest.service.d.ts +2 -0
  160. package/lib/services/http/user/financial-year/financial-year.service.d.ts +3 -1
  161. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +7 -9
  162. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +7 -4
  163. package/lib/services/index.d.ts +1 -0
  164. package/lib/services/mixpanel/mixpanel.service.d.ts +16 -0
  165. package/package.json +3 -1
  166. package/esm2020/lib/interfaces/table-exportable.interface.mjs +0 -2
  167. package/esm2020/lib/models/export/export-row-data-type.enum.mjs +0 -10
  168. package/esm2020/lib/models/export/export-row.mjs +0 -6
  169. package/lib/interfaces/table-exportable.interface.d.ts +0 -7
  170. package/lib/models/export/export-row-data-type.enum.d.ts +0 -8
  171. package/lib/models/export/export-row.d.ts +0 -8
@@ -37,9 +37,9 @@ export class AssetsService {
37
37
  return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
38
38
  }
39
39
  }
40
- AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
- AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AssetsService, decorators: [{
40
+ AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root'
@@ -1,13 +1,16 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
  import { Inject, Injectable } from '@angular/core';
3
- import { map } from 'rxjs/operators';
3
+ import { catchError, map } from 'rxjs/operators';
4
+ import { throwError as observableThrowError } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common/http";
6
7
  import * as i2 from "./jwt.service";
8
+ import * as i3 from "../mixpanel/mixpanel.service";
7
9
  export class AuthService {
8
- constructor(http, jwtService, environment) {
10
+ constructor(http, jwtService, mpService, environment) {
9
11
  this.http = http;
10
12
  this.jwtService = jwtService;
13
+ this.mpService = mpService;
11
14
  this.environment = environment;
12
15
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
13
16
  }
@@ -18,7 +21,12 @@ export class AuthService {
18
21
  login(username, password) {
19
22
  return this.http.post(`${this.environment.apiV2}/login`, { username, password }).pipe(map((response) => {
20
23
  this.setAuth(response);
24
+ this.mpService.identify(this.jwtService.getUser().id);
25
+ this.mpService.track('login');
21
26
  return response;
27
+ }), catchError((error) => {
28
+ this.mpService.track('loginError', { username });
29
+ return observableThrowError(error);
22
30
  }));
23
31
  }
24
32
  refresh(refreshToken) {
@@ -29,18 +37,20 @@ export class AuthService {
29
37
  }
30
38
  logoutFront(url = '/login') {
31
39
  localStorage.clear();
40
+ this.mpService.track('logout');
41
+ this.mpService.reset();
32
42
  location.replace(url);
33
43
  }
34
44
  }
35
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, providedIn: 'root' });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, decorators: [{
45
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.MixpanelService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, providedIn: 'root' });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, decorators: [{
38
48
  type: Injectable,
39
49
  args: [{
40
50
  providedIn: 'root'
41
51
  }]
42
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: undefined, decorators: [{
52
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: i3.MixpanelService }, { type: undefined, decorators: [{
43
53
  type: Inject,
44
54
  args: ['environment']
45
55
  }] }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTW5DLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDQyxXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFvQjtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFFBQVEsRUFBRSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakYsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxZQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGdCQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3JGLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBRyxHQUFHLFFBQVE7UUFDeEIsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7d0dBckNVLFdBQVcsc0VBTVosYUFBYTs0R0FOWixXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0p3dFNlcnZpY2V9IGZyb20gJy4vand0LnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QXV0aFRva2Vuc30gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgaXNMb2dnZWRJblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCF0aGlzLmp3dFNlcnZpY2UuaXNUb2tlbkV4cGlyZWQoKSk7XG4gIH1cblxuICBzZXRBdXRoKHJlc3BvbnNlOiBBdXRoVG9rZW5zKSB7XG4gICAgdGhpcy5qd3RTZXJ2aWNlLnNhdmVUb2tlbnMocmVzcG9uc2UpO1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vbG9naW5gLCB7dXNlcm5hbWUsIHBhc3N3b3JkfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZWZyZXNoKHJlZnJlc2hUb2tlbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Rva2VuL3JlZnJlc2hgLCB7IHJlZnJlc2hUb2tlbiB9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGxvZ291dEZyb250KHVybCA9ICcvbG9naW4nKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgbG9jYXRpb24ucmVwbGFjZSh1cmwpO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQUsxRCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNVLElBQWdCLEVBQ2hCLFVBQXNCLEVBQ3RCLFNBQTBCLEVBQ0gsV0FBZ0I7UUFIdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFFL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxPQUFPLENBQUMsUUFBb0I7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25GLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckYsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFHLEdBQUcsUUFBUTtRQUN4QixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O3dHQTlDVSxXQUFXLHFHQU9aLGFBQWE7NEdBUFosV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEp3dFNlcnZpY2UgfSBmcm9tICcuL2p3dC5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhUb2tlbnMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1peHBhbmVsU2VydmljZSB9IGZyb20gJy4uL21peHBhbmVsL21peHBhbmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIGlzTG9nZ2VkSW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcbiAgICBwcml2YXRlIG1wU2VydmljZTogTWl4cGFuZWxTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCF0aGlzLmp3dFNlcnZpY2UuaXNUb2tlbkV4cGlyZWQoKSk7XG4gIH1cblxuICBzZXRBdXRoKHJlc3BvbnNlOiBBdXRoVG9rZW5zKSB7XG4gICAgdGhpcy5qd3RTZXJ2aWNlLnNhdmVUb2tlbnMocmVzcG9uc2UpO1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vbG9naW5gLCB7IHVzZXJuYW1lLCBwYXNzd29yZCB9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHRoaXMubXBTZXJ2aWNlLmlkZW50aWZ5KHRoaXMuand0U2VydmljZS5nZXRVc2VyKCkuaWQpO1xuICAgICAgICB0aGlzLm1wU2VydmljZS50cmFjaygnbG9naW4nKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2xvZ2luRXJyb3InLCB7IHVzZXJuYW1lIH0pO1xuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVmcmVzaChyZWZyZXNoVG9rZW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS90b2tlbi9yZWZyZXNoYCwgeyByZWZyZXNoVG9rZW4gfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBsb2dvdXRGcm9udCh1cmwgPSAnL2xvZ2luJyk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdsb2dvdXQnKTtcbiAgICB0aGlzLm1wU2VydmljZS5yZXNldCgpO1xuICAgIGxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgfVxufVxuIl19
@@ -31,9 +31,9 @@ export class JwtService extends JwtHelperService {
31
31
  return this.getUser().id === userId;
32
32
  }
33
33
  }
34
- JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
35
- JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtService, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtService, decorators: [{
34
+ JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
35
+ JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{
39
39
  providedIn: 'root'
@@ -25,9 +25,9 @@ export class BankAccountCalculationService {
25
25
  return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
26
26
  }
27
27
  }
28
- BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: i1.BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
29
- BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountCalculationService, decorators: [{
28
+ BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: i1.BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root'
@@ -50,9 +50,9 @@ export class BankTransactionCalculationService {
50
50
  return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
51
51
  }
52
52
  }
53
- BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
54
- BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
53
+ BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
54
+ BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{
58
58
  providedIn: 'root'
@@ -34,9 +34,9 @@ export class DataService {
34
34
  this.cache = this.createCollectionInstance(this.collectionClass, data.map((item) => this.createModelInstance(item)));
35
35
  }
36
36
  }
37
- DataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- DataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataService, decorators: [{
37
+ DataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ DataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DataService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DataService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
@@ -30,9 +30,9 @@ export class EventDispatcherService {
30
30
  this.eventSubject2.next(event);
31
31
  }
32
32
  }
33
- EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
- EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventDispatcherService, decorators: [{
33
+ EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, decorators: [{
36
36
  type: Injectable,
37
37
  args: [{
38
38
  providedIn: 'root'
@@ -34,9 +34,9 @@ export class SseService {
34
34
  .pipe(map((messageEvent) => JSON.parse(messageEvent.data)));
35
35
  }
36
36
  }
37
- SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: i1.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
38
- SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SseService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SseService, decorators: [{
37
+ SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: i1.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
@@ -23,9 +23,9 @@ export class ExportFormatterService {
23
23
  }));
24
24
  }
25
25
  }
26
- ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1.CurrencyPipe }, { token: i1.PercentPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
27
- ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ExportFormatterService, decorators: [{
26
+ ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1.CurrencyPipe }, { token: i1.PercentPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root'
@@ -17,9 +17,9 @@ export class HeaderTitleService {
17
17
  }), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data));
18
18
  }
19
19
  }
20
- HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
21
- HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: HeaderTitleService, decorators: [{
20
+ HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, decorators: [{
23
23
  type: Injectable,
24
24
  args: [{
25
25
  providedIn: 'root'
@@ -23,9 +23,9 @@ export class AddressService {
23
23
  return this.countriesSubject.asObservable();
24
24
  }
25
25
  }
26
- AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
- AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AddressService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AddressService, decorators: [{
26
+ AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root'
@@ -65,9 +65,9 @@ export class BankAccountService extends RestService {
65
65
  });
66
66
  }
67
67
  }
68
- BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: i2.SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
69
- BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountService, decorators: [{
68
+ BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: i2.SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -81,9 +81,9 @@ export class BankConnectionService extends RestService {
81
81
  });
82
82
  }
83
83
  }
84
- BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: i2.SseService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
85
- BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankConnectionService, decorators: [{
84
+ BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: i2.SseService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
85
+ BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, decorators: [{
87
87
  type: Injectable,
88
88
  args: [{
89
89
  providedIn: 'root'
@@ -61,9 +61,9 @@ export class BankTransactionService extends RestService {
61
61
  });
62
62
  }
63
63
  }
64
- BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
65
- BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionService, decorators: [{
64
+ BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
65
+ BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, decorators: [{
67
67
  type: Injectable,
68
68
  args: [{
69
69
  providedIn: 'root'
@@ -16,9 +16,9 @@ export class BankService extends RestService {
16
16
  this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
17
17
  }
18
18
  }
19
- BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
- BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankService, decorators: [{
19
+ BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
+ BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, decorators: [{
22
22
  type: Injectable,
23
23
  args: [{
24
24
  providedIn: 'root'
@@ -28,9 +28,9 @@ export class BasiqTokenService extends RestService {
28
28
  return new BasiqToken(tokenResponse['access_token'], new Date(now + tokenResponse['expires_in'] * 1000));
29
29
  }
30
30
  }
31
- BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
- BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenService, decorators: [{
31
+ BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
+ BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{
36
36
  providedIn: 'root'
@@ -128,9 +128,9 @@ BasiqService.retrieveAccountsCheckInterval = 3000;
128
128
  * How long we will wait accounts retrieving, break after timeout if not retireved
129
129
  */
130
130
  BasiqService.retrieveAccountsTimeout = 20000;
131
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
132
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqService, providedIn: 'root' });
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqService, decorators: [{
131
+ BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
132
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, providedIn: 'root' });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, decorators: [{
134
134
  type: Injectable,
135
135
  args: [{
136
136
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class BudgetService extends RestService {
13
13
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14
14
  }
15
15
  }
16
- BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BudgetService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BudgetService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BudgetService, decorators: [{
16
+ BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BudgetService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BudgetService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BudgetService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root'
@@ -16,9 +16,9 @@ export class ChartAccountsDepreciationService extends RestService {
16
16
  this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
17
17
  }
18
18
  }
19
- ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
19
+ ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
+ ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
22
22
  type: Injectable,
23
23
  args: [{
24
24
  providedIn: 'root'
@@ -38,9 +38,9 @@ export class ChartAccountsService extends RestService {
38
38
  }));
39
39
  }
40
40
  }
41
- ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
42
- ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChartAccountsService, decorators: [{
41
+ ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
42
+ ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{
46
46
  providedIn: 'root'
@@ -74,9 +74,9 @@ export class ChatService extends RestService {
74
74
  });
75
75
  }
76
76
  }
77
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
78
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChatService, providedIn: 'root' });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ChatService, decorators: [{
77
+ ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
78
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, providedIn: 'root' });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, decorators: [{
80
80
  type: Injectable,
81
81
  args: [{
82
82
  providedIn: 'root'
@@ -65,9 +65,9 @@ export class MessageDocumentService extends RestService {
65
65
  return combineLatest(files.map((file) => this.add(chatId, file))).pipe(map((docsBase) => docsBase.map((docBase) => plainToClass(MessageDocument, docBase))));
66
66
  }
67
67
  }
68
- MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageDocumentService, decorators: [{
68
+ MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
+ MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -54,9 +54,9 @@ export class MessageService extends RestService {
54
54
  });
55
55
  }
56
56
  }
57
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
58
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageService, providedIn: 'root' });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageService, decorators: [{
57
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
58
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageService, providedIn: 'root' });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageService, decorators: [{
60
60
  type: Injectable,
61
61
  args: [{
62
62
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class AnnualClientDetailsService extends RestService {
13
13
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch', 'delete'];
14
14
  }
15
15
  }
16
- AnnualClientDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AnnualClientDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- AnnualClientDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AnnualClientDetailsService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AnnualClientDetailsService, decorators: [{
16
+ AnnualClientDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AnnualClientDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ AnnualClientDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AnnualClientDetailsService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AnnualClientDetailsService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root'
@@ -29,9 +29,9 @@ export class OccupationService {
29
29
  return this.occupationsSubject.asObservable();
30
30
  }
31
31
  }
32
- OccupationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OccupationService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
33
- OccupationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OccupationService, providedIn: 'root' });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OccupationService, decorators: [{
32
+ OccupationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: OccupationService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ OccupationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: OccupationService, providedIn: 'root' });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: OccupationService, decorators: [{
35
35
  type: Injectable,
36
36
  args: [{
37
37
  providedIn: 'root'
@@ -46,9 +46,9 @@ export class DepreciationCapitalProjectService {
46
46
  }));
47
47
  }
48
48
  }
49
- DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
50
- DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
49
+ DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
50
+ DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
52
52
  type: Injectable,
53
53
  args: [{
54
54
  providedIn: 'root'
@@ -82,9 +82,9 @@ export class DepreciationService extends RestService {
82
82
  });
83
83
  }
84
84
  }
85
- DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
86
- DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DepreciationService, providedIn: 'root' });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DepreciationService, decorators: [{
85
+ DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
86
+ DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, providedIn: 'root' });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, decorators: [{
88
88
  type: Injectable,
89
89
  args: [{
90
90
  providedIn: 'root'
@@ -15,9 +15,9 @@ export class DocumentFolderService extends RestService {
15
15
  this.disabledMethods = ['deleteBatch', 'postBatch', 'putBatch'];
16
16
  }
17
17
  }
18
- DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
19
- DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DocumentFolderService, decorators: [{
18
+ DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
19
+ DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, decorators: [{
21
21
  type: Injectable,
22
22
  args: [{
23
23
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class DocumentService extends RestService {
13
13
  this.isApiPlatform = true;
14
14
  }
15
15
  }
16
- DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DocumentService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DocumentService, decorators: [{
16
+ DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root'
@@ -5,16 +5,18 @@ import * as i1 from "@angular/common/http";
5
5
  import * as i2 from "../../toast/toast.service";
6
6
  import * as i3 from "../../auth/jwt.service";
7
7
  import * as i4 from "@angular/router";
8
+ import * as i5 from "../../mixpanel/mixpanel.service";
8
9
  const ERROR_EMAIL_PERMISSION = 'Access to email denied. Please provide access to email in facebook.';
9
10
  export class FacebookService {
10
11
  /**
11
12
  * @TODO when google login will be done, it needs to be moved to an abstract class
12
13
  */
13
- constructor(http, toastService, jwtService, router, environment) {
14
+ constructor(http, toastService, jwtService, router, mpService, environment) {
14
15
  this.http = http;
15
16
  this.toastService = toastService;
16
17
  this.jwtService = jwtService;
17
18
  this.router = router;
19
+ this.mpService = mpService;
18
20
  this.environment = environment;
19
21
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
20
22
  this.isFacebookEnabled = !!environment['facebookAppId'];
@@ -37,6 +39,8 @@ export class FacebookService {
37
39
  setAuth(response) {
38
40
  this.jwtService.saveTokens(response);
39
41
  this.isLoggedInSubject.next(true);
42
+ this.mpService.identify(this.jwtService.getUser().id);
43
+ this.mpService.track('loginFB');
40
44
  }
41
45
  /**
42
46
  * get facebook auth access token
@@ -73,15 +77,15 @@ FacebookService.authOptions = {
73
77
  auth_type: 'rerequest',
74
78
  return_scopes: true
75
79
  };
76
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
77
- FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, decorators: [{
80
+ FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: i5.MixpanelService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
81
+ FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, providedIn: 'root' });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, decorators: [{
79
83
  type: Injectable,
80
84
  args: [{
81
85
  providedIn: 'root'
82
86
  }]
83
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ToastService }, { type: i3.JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
87
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ToastService }, { type: i3.JwtService }, { type: i4.Router }, { type: i5.MixpanelService }, { type: undefined, decorators: [{
84
88
  type: Inject,
85
89
  args: ['environment']
86
90
  }] }]; } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZWJvb2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2ZhY2Vib29rL2ZhY2Vib29rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBWXZDLE1BQU0sc0JBQXNCLEdBQUcscUVBQXFFLENBQUM7QUFLckcsTUFBTSxPQUFPLGVBQWU7SUFTMUI7O09BRUc7SUFDSCxZQUNVLElBQWdCLEVBQ2hCLFlBQTBCLEVBQzFCLFVBQXNCLEVBQ3RCLE1BQWMsRUFDUyxXQUFnQjtRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNTLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBRS9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsU0FBUztRQUNqQyxNQUFNLFdBQVcsR0FBVyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV4RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxnQ0FBZ0MsRUFBRSxFQUFDLFdBQVcsRUFBQyxDQUFDO2FBQ3JGLFNBQVMsQ0FBQyxDQUFDLFFBQWlELEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDLEVBQUUsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNLLE9BQU8sQ0FBQyxRQUFvQjtRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFnQyxFQUFFLEVBQUU7Z0JBQzVDLGlHQUFpRztnQkFDakcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7b0JBQzFCLE9BQU87aUJBQ1I7Z0JBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDaEQsT0FBTztpQkFDUjtnQkFFRCxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3QyxDQUFDLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLE1BQU07UUFDWixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXpFTSwyQkFBVyxHQUF3QjtJQUN4QyxLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLGFBQWEsRUFBRSxJQUFJO0NBQ3BCLENBQUE7NEdBUFUsZUFBZSx3SEFpQmhCLGFBQWE7Z0hBakJaLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFrQkksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9qd3Quc2VydmljZSc7XG5pbXBvcnQgeyBGYWNlYm9va0F1dGhPcHRpb25zIH0gZnJvbSAnLi9mYWNlYm9vay1hdXRoLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZhY2Vib29rU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuL2ZhY2Vib29rLXN0YXR1cy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QXV0aFRva2Vuc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hdXRoLXRva2Vucy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEZhY2VCb29rIGluc3RhbmNlLCBodHRwczovL2dpdGh1Yi5jb20vRGVmaW5pdGVseVR5cGVkL0RlZmluaXRlbHlUeXBlZC9ibG9iL21hc3Rlci90eXBlcy9mYWNlYm9vay1qcy1zZGsvaW5kZXguZC50c1xuICovXG5kZWNsYXJlIGxldCBGQjogYW55O1xuY29uc3QgRVJST1JfRU1BSUxfUEVSTUlTU0lPTiA9ICdBY2Nlc3MgdG8gZW1haWwgZGVuaWVkLiBQbGVhc2UgcHJvdmlkZSBhY2Nlc3MgdG8gZW1haWwgaW4gZmFjZWJvb2suJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmFjZWJvb2tTZXJ2aWNlIHtcbiAgaXNMb2dnZWRJblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgaXNGYWNlYm9va0VuYWJsZWQ6IGJvb2xlYW47XG4gIHN0YXRpYyBhdXRoT3B0aW9uczogRmFjZWJvb2tBdXRoT3B0aW9ucyA9IHtcbiAgICBzY29wZTogJ2VtYWlsLCBwdWJsaWNfcHJvZmlsZScsXG4gICAgYXV0aF90eXBlOiAncmVyZXF1ZXN0JyxcbiAgICByZXR1cm5fc2NvcGVzOiB0cnVlXG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gd2hlbiBnb29nbGUgbG9naW4gd2lsbCBiZSBkb25lLCBpdCBuZWVkcyB0byBiZSBtb3ZlZCB0byBhbiBhYnN0cmFjdCBjbGFzc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5pc0xvZ2dlZEluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoIXRoaXMuand0U2VydmljZS5pc1Rva2VuRXhwaXJlZCgpKTtcbiAgICB0aGlzLmlzRmFjZWJvb2tFbmFibGVkID0gISFlbnZpcm9ubWVudFsnZmFjZWJvb2tBcHBJZCddO1xuICB9XG5cbiAgYXN5bmMgbG9naW4ocmVkaXJlY3RVcmwgPSAnL2NsaWVudCcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGFjY2Vzc1Rva2VuOiBzdHJpbmcgPSBhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCk7XG5cbiAgICB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9hdXRoZW50aWNhdGlvbi9mYWNlYm9va2AsIHthY2Nlc3NUb2tlbn0pXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogeyB0b2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFVybF0pO1xuICAgICAgfSwgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihlcnJvci5lcnJvci52aW9sYXRpb25zWzBdLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogc2F2ZSB1c2VyJ3MgYXV0aCB0b2tlbnNcbiAgICogQFRPRE8gbW92ZSB0byBhYnN0cmFjdCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRBdXRoKHJlc3BvbnNlOiBBdXRoVG9rZW5zKSB7XG4gICAgdGhpcy5qd3RTZXJ2aWNlLnNhdmVUb2tlbnMocmVzcG9uc2UpO1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZmFjZWJvb2sgYXV0aCBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIHByaXZhdGUgZ2V0QWNjZXNzVG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgICAgRkIubG9naW4oKHJlc3BvbnNlOiBGYWNlYm9va1N0YXR1c1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIC8vIGF1dGhSZXNwb25zZSB3aWxsIGJlIGVtcHR5IGlmIHlvdSBjbG9zZSB0aGUgRmFjZWJvb2sgbG9naW4gd2luZG93IG9yIGVudGVyIGluY29ycmVjdCB1c2VyIGRhdGFcbiAgICAgICAgaWYgKCFyZXNwb25zZS5hdXRoUmVzcG9uc2UpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlc3BvbnNlLmF1dGhSZXNwb25zZS5ncmFudGVkU2NvcGVzLmluY2x1ZGVzKCdlbWFpbCcpKSB7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoRVJST1JfRU1BSUxfUEVSTUlTU0lPTik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5hdXRoUmVzcG9uc2UuYWNjZXNzVG9rZW4pO1xuICAgICAgfSwgRmFjZWJvb2tTZXJ2aWNlLmF1dGhPcHRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsb2dvdXQgdXNlciBmcm9tIGZhY2Vib29rLlxuICAgKiBOZWVkIHRvIGxvZ291dCB3aGVuIHVzZXIgaXMgdHJ5aW5nIHRvIGxvZ2luIHdpdGggZmFjZWJvb2sgd2l0aCBtYW51YWxseSByZWdpc3RlcmVkIGVtYWlsXG4gICAqL1xuICBwcml2YXRlIGxvZ291dCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBGQi5sb2dvdXQoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZWJvb2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2ZhY2Vib29rL2ZhY2Vib29rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQWF2QyxNQUFNLHNCQUFzQixHQUFHLHFFQUFxRSxDQUFDO0FBS3JHLE1BQU0sT0FBTyxlQUFlO0lBUzFCOztPQUVHO0lBQ0gsWUFDVSxJQUFnQixFQUNoQixZQUEwQixFQUMxQixVQUFzQixFQUN0QixNQUFjLEVBQ2QsU0FBMEIsRUFDSCxXQUFnQjtRQUx2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFFL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxTQUFTO1FBQ2pDLE1BQU0sV0FBVyxHQUFXLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXhELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGdDQUFnQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDdkYsU0FBUyxDQUFDLENBQUMsUUFBaUQsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsRUFBRSxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssT0FBTyxDQUFDLFFBQW9CO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBZ0MsRUFBRSxFQUFFO2dCQUM1QyxpR0FBaUc7Z0JBQ2pHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO29CQUMxQixPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7b0JBQ2hELE9BQU87aUJBQ1I7Z0JBRUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxNQUFNO1FBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1RU0sMkJBQVcsR0FBd0I7SUFDeEMsS0FBSyxFQUFFLHVCQUF1QjtJQUM5QixTQUFTLEVBQUUsV0FBVztJQUN0QixhQUFhLEVBQUUsSUFBSTtDQUNwQixDQUFBOzRHQVBVLGVBQWUsdUpBa0JoQixhQUFhO2dIQWxCWixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBbUJJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSnd0U2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgvand0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmFjZWJvb2tBdXRoT3B0aW9ucyB9IGZyb20gJy4vZmFjZWJvb2stYXV0aC1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGYWNlYm9va1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi9mYWNlYm9vay1zdGF0dXMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoVG9rZW5zIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hdXRoLXRva2Vucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWl4cGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWl4cGFuZWwvbWl4cGFuZWwuc2VydmljZSc7XG5cbi8qKlxuICogRmFjZUJvb2sgaW5zdGFuY2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWZpbml0ZWx5VHlwZWQvRGVmaW5pdGVseVR5cGVkL2Jsb2IvbWFzdGVyL3R5cGVzL2ZhY2Vib29rLWpzLXNkay9pbmRleC5kLnRzXG4gKi9cbmRlY2xhcmUgbGV0IEZCOiBhbnk7XG5jb25zdCBFUlJPUl9FTUFJTF9QRVJNSVNTSU9OID0gJ0FjY2VzcyB0byBlbWFpbCBkZW5pZWQuIFBsZWFzZSBwcm92aWRlIGFjY2VzcyB0byBlbWFpbCBpbiBmYWNlYm9vay4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGYWNlYm9va1NlcnZpY2Uge1xuICBpc0xvZ2dlZEluU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBpc0ZhY2Vib29rRW5hYmxlZDogYm9vbGVhbjtcbiAgc3RhdGljIGF1dGhPcHRpb25zOiBGYWNlYm9va0F1dGhPcHRpb25zID0ge1xuICAgIHNjb3BlOiAnZW1haWwsIHB1YmxpY19wcm9maWxlJyxcbiAgICBhdXRoX3R5cGU6ICdyZXJlcXVlc3QnLFxuICAgIHJldHVybl9zY29wZXM6IHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB3aGVuIGdvb2dsZSBsb2dpbiB3aWxsIGJlIGRvbmUsIGl0IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGFuIGFic3RyYWN0IGNsYXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIG1wU2VydmljZTogTWl4cGFuZWxTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCF0aGlzLmp3dFNlcnZpY2UuaXNUb2tlbkV4cGlyZWQoKSk7XG4gICAgdGhpcy5pc0ZhY2Vib29rRW5hYmxlZCA9ICEhZW52aXJvbm1lbnRbJ2ZhY2Vib29rQXBwSWQnXTtcbiAgfVxuXG4gIGFzeW5jIGxvZ2luKHJlZGlyZWN0VXJsID0gJy9jbGllbnQnKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBhY2Nlc3NUb2tlbjogc3RyaW5nID0gYXdhaXQgdGhpcy5nZXRBY2Nlc3NUb2tlbigpO1xuXG4gICAgdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvYXV0aGVudGljYXRpb24vZmFjZWJvb2tgLCB7IGFjY2Vzc1Rva2VuIH0pXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogeyB0b2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFVybF0pO1xuICAgICAgfSwgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihlcnJvci5lcnJvci52aW9sYXRpb25zWzBdLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogc2F2ZSB1c2VyJ3MgYXV0aCB0b2tlbnNcbiAgICogQFRPRE8gbW92ZSB0byBhYnN0cmFjdCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRBdXRoKHJlc3BvbnNlOiBBdXRoVG9rZW5zKSB7XG4gICAgdGhpcy5qd3RTZXJ2aWNlLnNhdmVUb2tlbnMocmVzcG9uc2UpO1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgICB0aGlzLm1wU2VydmljZS5pZGVudGlmeSh0aGlzLmp3dFNlcnZpY2UuZ2V0VXNlcigpLmlkKTtcbiAgICB0aGlzLm1wU2VydmljZS50cmFjaygnbG9naW5GQicpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBmYWNlYm9vayBhdXRoIGFjY2VzcyB0b2tlblxuICAgKi9cbiAgcHJpdmF0ZSBnZXRBY2Nlc3NUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlKSA9PiB7XG4gICAgICBGQi5sb2dpbigocmVzcG9uc2U6IEZhY2Vib29rU3RhdHVzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgLy8gYXV0aFJlc3BvbnNlIHdpbGwgYmUgZW1wdHkgaWYgeW91IGNsb3NlIHRoZSBGYWNlYm9vayBsb2dpbiB3aW5kb3cgb3IgZW50ZXIgaW5jb3JyZWN0IHVzZXIgZGF0YVxuICAgICAgICBpZiAoIXJlc3BvbnNlLmF1dGhSZXNwb25zZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVzcG9uc2UuYXV0aFJlc3BvbnNlLmdyYW50ZWRTY29wZXMuaW5jbHVkZXMoJ2VtYWlsJykpIHtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihFUlJPUl9FTUFJTF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXNvbHZlKHJlc3BvbnNlLmF1dGhSZXNwb25zZS5hY2Nlc3NUb2tlbik7XG4gICAgICB9LCBGYWNlYm9va1NlcnZpY2UuYXV0aE9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGxvZ291dCB1c2VyIGZyb20gZmFjZWJvb2suXG4gICAqIE5lZWQgdG8gbG9nb3V0IHdoZW4gdXNlciBpcyB0cnlpbmcgdG8gbG9naW4gd2l0aCBmYWNlYm9vayB3aXRoIG1hbnVhbGx5IHJlZ2lzdGVyZWQgZW1haWxcbiAgICovXG4gIHByaXZhdGUgbG9nb3V0KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIEZCLmxvZ291dCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19