taxtank-core 0.30.81 → 0.30.82

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 (130) hide show
  1. package/esm2020/lib/forms/holding/holding-sale.form.mjs +2 -2
  2. package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
  3. package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
  4. package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
  5. package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
  6. package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
  7. package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
  8. package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
  9. package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
  10. package/esm2020/lib/models/bank/bank-connection.mjs +1 -1
  11. package/esm2020/lib/models/sole/sole-business-loss.mjs +1 -1
  12. package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
  13. package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
  14. package/esm2020/lib/services/asset/assets.service.mjs +3 -3
  15. package/esm2020/lib/services/auth/auth.service.mjs +3 -3
  16. package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
  17. package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
  18. package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
  19. package/esm2020/lib/services/data.service.mjs +3 -3
  20. package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
  21. package/esm2020/lib/services/event/sse.service.mjs +3 -3
  22. package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
  23. package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
  24. package/esm2020/lib/services/http/address/address.service.mjs +3 -3
  25. package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
  26. package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +4 -11
  27. package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
  28. package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
  29. package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
  30. package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +16 -4
  31. package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
  32. package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
  33. package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
  34. package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
  35. package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
  36. package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +3 -3
  37. package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +3 -3
  38. package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
  39. package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
  40. package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
  41. package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
  42. package/esm2020/lib/services/http/document/document.service.mjs +3 -3
  43. package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
  44. package/esm2020/lib/services/http/file/file.service.mjs +3 -3
  45. package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +3 -3
  46. package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
  47. package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
  48. package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
  49. package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
  50. package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
  51. package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
  52. package/esm2020/lib/services/http/google/google.service.mjs +3 -3
  53. package/esm2020/lib/services/http/holding/holding-sale.service.mjs +3 -3
  54. package/esm2020/lib/services/http/holding/holding-type.service.mjs +3 -3
  55. package/esm2020/lib/services/http/holding/holding.service.mjs +3 -3
  56. package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
  57. package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
  58. package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
  59. package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
  60. package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
  61. package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
  62. package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
  63. package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
  64. package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
  65. package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
  66. package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
  67. package/esm2020/lib/services/http/property/property.service.mjs +3 -3
  68. package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
  69. package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
  70. package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
  71. package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
  72. package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
  73. package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
  74. package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
  75. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
  76. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
  77. package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
  78. package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
  79. package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
  80. package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
  81. package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
  82. package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
  83. package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
  84. package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
  85. package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
  86. package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +5 -4
  87. package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
  88. package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
  89. package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
  90. package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
  91. package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
  92. package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
  93. package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
  94. package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
  95. package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
  96. package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
  97. package/esm2020/lib/services/http/user/user.service.mjs +5 -4
  98. package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
  99. package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
  100. package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
  101. package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
  102. package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
  103. package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
  104. package/esm2020/lib/services/json/holding/holding-type-exchange.service.mjs +3 -3
  105. package/esm2020/lib/services/json/income-source/income-source-type.service.mjs +3 -3
  106. package/esm2020/lib/services/json/tax-exemption/tax-exemption.service.mjs +3 -3
  107. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
  108. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
  109. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
  110. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
  111. package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
  112. package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
  113. package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
  114. package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
  115. package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
  116. package/esm2020/lib/services/toast/toast.service.mjs +3 -3
  117. package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
  118. package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
  119. package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
  120. package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
  121. package/esm2020/lib/tt-core.module.mjs +4 -4
  122. package/fesm2015/taxtank-core.mjs +371 -367
  123. package/fesm2015/taxtank-core.mjs.map +1 -1
  124. package/fesm2020/taxtank-core.mjs +371 -367
  125. package/fesm2020/taxtank-core.mjs.map +1 -1
  126. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +0 -5
  127. package/lib/services/http/bank/basiq/basiq.service.d.ts +7 -1
  128. package/lib/services/http/subscription/service-subscription/subscription.service.d.ts +1 -0
  129. package/lib/services/http/user/user.service.d.ts +1 -0
  130. package/package.json +1 -1
@@ -10,6 +10,7 @@ import * as i1 from "@angular/common/http";
10
10
  import * as i2 from "../../../event";
11
11
  import * as i3 from "../bank-connection";
12
12
  /**
13
+ * @TODO vik move removeBasiq here from connectionService
13
14
  * basiq is a middleman between bank and user
14
15
  * service is responsible for fetching bank related information
15
16
  */
@@ -33,6 +34,17 @@ export class BasiqService extends RestService {
33
34
  listenEvents() {
34
35
  this.listenNotifications();
35
36
  }
37
+ /**
38
+ * remove basiq connection to create a new one (because basiq has no update option),
39
+ * used for upgrade to openBanking and manage shared bank accounts flow
40
+ */
41
+ deleteBasiq(connection) {
42
+ return this.http.put(`${this.apiUrl}/${connection.id}/remove-basiq`, connection)
43
+ .pipe(map(() => {
44
+ // @TODO Alex token should be inside this service
45
+ // this.redirectToBasiqConsent(token.value, connection.bank.externalId, true);
46
+ }));
47
+ }
36
48
  /**
37
49
  * Open basiq consent ui to allow user to log in to bank
38
50
  * @param token User's basiq token
@@ -117,9 +129,9 @@ BasiqService.retrieveAccountsCheckInterval = 3000;
117
129
  * How long we will wait accounts retrieving, break after timeout if not retireved
118
130
  */
119
131
  BasiqService.retrieveAccountsTimeout = 20000;
120
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
121
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqService, providedIn: 'root' });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqService, decorators: [{
132
+ 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 });
133
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, providedIn: 'root' });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, decorators: [{
123
135
  type: Injectable,
124
136
  args: [{
125
137
  providedIn: 'root'
@@ -128,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
128
140
  type: Inject,
129
141
  args: ['environment']
130
142
  }] }, { type: i3.BankConnectionService }]; } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFLckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFBRSxnQkFBZ0IsRUFFOUIsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFHNUI7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFnRTtJQThCaEcsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7SUFDakQsb0ZBQW9GO0lBQzVFLHFCQUE0QztRQUVwRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBTnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUV6QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBVjVDLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7UUFDekMsb0JBQWUsR0FBaUMscUJBQXFCLENBQUM7UUFDdEUsZUFBVSxHQUF1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QUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBUSxFQUFFO1lBQ2pILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUsscUJBQXFCLENBQUMsa0JBQWtCLEVBQUU7Z0JBQy9GLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwSU0sd0JBQVcsR0FBRyx5QkFBeUIsQ0FBQztBQUN4Qyw0QkFBZSxHQUFHLCtCQUErQixDQUFDO0FBRXpEOztHQUVHO0FBQ0ksMENBQTZCLEdBQUcsSUFBSSxDQUFDO0FBRTVDOztHQUVHO0FBQ0ksb0NBQXVCLEdBQUcsS0FBSyxDQUFDO3lHQVo1QixZQUFZLGtGQWlDYixhQUFhOzZHQWpDWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBa0NJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtdHlwZS5lbnVtJztcbmltcG9ydCB7XG4gIEFwcEV2ZW50LFxuICBBcHBFdmVudFR5cGVFbnVtLFxuICBCYW5rQWNjb3VudCwgQmFzaXFKb2JSZXNwb25zZSxcbiAgTm90aWZpY2F0aW9uXG59IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogYmFzaXEgaXMgYSBtaWRkbGVtYW4gYmV0d2VlbiBiYW5rIGFuZCB1c2VyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzaXFTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua0FjY291bnRCYXNlLCBCYW5rQWNjb3VudCwgQmFua0FjY291bnRDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIGJhc2lxQXBpVXJsID0gJ2h0dHBzOi8vYXUtYXBpLmJhc2lxLmlvJztcbiAgc3RhdGljIGJhc2lxQ29uc2VudFVybCA9ICdodHRwczovL2NvbnNlbnQuYmFzaXEuaW8vaG9tZSc7XG5cbiAgLyoqXG4gICAqIEJhc2lxIGRvZXMgbm90IHByb3ZpZGUgYSBob29rLCBzbyB3ZSBoYXZlIHRvIGNoZWNrIGpvYiBzdGF0dXMgbWFudWFsbHkgZXZlcnkgeCBzZWNvbmRzXG4gICAqL1xuICBzdGF0aWMgcmV0cmlldmVBY2NvdW50c0NoZWNrSW50ZXJ2YWwgPSAzMDAwO1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyB3ZSB3aWxsIHdhaXQgYWNjb3VudHMgcmV0cmlldmluZywgYnJlYWsgYWZ0ZXIgdGltZW91dCBpZiBub3QgcmV0aXJldmVkXG4gICAqL1xuICBzdGF0aWMgcmV0cmlldmVBY2NvdW50c1RpbWVvdXQgPSAyMDAwMDtcblxuICAvKipcbiAgICogRmxhZyBzaG93cyByZXRyaWV2ZSBhY2NvdW50cyB0aW1lIGlzIG91dFxuICAgKi9cbiAgaXNSZXRyaWV2ZUFjY291bnRzVGltZU91dDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGltZW91dCBmb3IgcmV0cmlldmUgYWNjb3VudHMgc3RhdHVzIGNoZWNraW5nLlxuICAgKiBTdG9wIHdhdGNoIHJldHJpZXZlIGFjY291bnRzIHN0YXR1cyB3aGVuIHRpbWUgaXMgb3V0LlxuICAgKi9cbiAgcmV0cmlldmVBY2NvdW50c1RpbWVyO1xuXG4gIHByb3RlY3RlZCBlbmRwb2ludFVyaSA9ICdiYXNpcS9hY2NvdW50cyc7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIEJhbmtBY2NvdW50Q29sbGVjdGlvbiA9IEJhbmtBY2NvdW50Q29sbGVjdGlvbjtcbiAgbW9kZWxDbGFzczogdHlwZW9mIEJhbmtBY2NvdW50ID0gQmFua0FjY291bnQ7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0JywgJ3Bvc3RCYXRjaCcsICdwdXQnLCAncHV0QmF0Y2gnLCAnZGVsZXRlJywgJ2RlbGV0ZUJhdGNoJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICAvLyB0aGlzIGluamVjdCByZXF1aXJlZCB0byBpbml0IGJhbmsgY29ubmVjdGlvbiBzZXJ2aWNlIGFuZCBsaXN0ZW4gYmFzaXEgbG9naW4gZXZlbnRcbiAgICBwcml2YXRlIGJhbmtDb25uZWN0aW9uU2VydmljZTogQmFua0Nvbm5lY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBiYXNpcSBjb25zZW50IHVpIHRvIGFsbG93IHVzZXIgdG8gbG9nIGluIHRvIGJhbmtcbiAgICogQHBhcmFtIHRva2VuIFVzZXIncyBiYXNpcSB0b2tlblxuICAgKiBAcGFyYW0gYmFua0lkIEV4dGVybmFsIGlkIG9mIHNlbGVjdGVkIGJhbmtcbiAgICogQHBhcmFtIGNvbnNlbnRFeGlzdFxuICAgKi9cbiAgcmVkaXJlY3RUb0Jhc2lxQ29uc2VudCh0b2tlbjogc3RyaW5nLCBiYW5rSWQ6IHN0cmluZywgY29uc2VudEV4aXN0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAvLyBrZWVwIGJhbmsgaWQgYmVjYXVzZSB3ZSBuZWVkIGl0IGFmdGVyIHJlZGlyZWN0IGZyb20gYmFzaXFcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYmFzaXFCYW5rSWQnLCBiYW5rSWQpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKGAke0Jhc2lxU2VydmljZS5iYXNpcUNvbnNlbnRVcmx9P3Rva2VuPSR7dG9rZW59Jmluc3RpdHV0aW9uSWQ9JHtiYW5rSWR9JHtjb25zZW50RXhpc3QgPyAnJmFjdGlvbj1jb25uZWN0JyA6ICcnfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBCYXNpcSBqb2IgcmVzdWx0XG4gICAqL1xuICByZXRyaWV2ZUpvYihqb2JJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxCYXNpcUpvYlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS9qb2JzLyR7am9iSWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICAvLyBpZiB3ZSBnZXQgYSBqb2JJZCB0aGVuIHdlIGtub3cgdGhhdCB1c2VyIGFjY2VwdGVkIGJhc2lxIGNvbnNlbnRcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJhc2lxQ29uc2VudEFncmVlbWVudCgpO1xuXG4gICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhCYXNpcUpvYlJlc3BvbnNlLCByZXNwb25zZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY291cnNpdmUgbWV0aG9kLCB3YXRjaCBiYXNpcSBqb2IgcmV0cmlldmUgYWNjb3VudHMgc3RhdHVzXG4gICAqIEBwYXJhbSBqb2JJZCBpZCBvZiBiYXNpcSBqb2IgdG8gY2hlY2tcbiAgICogQHJldHVybnMgb2JzZXJ2YWJsZSBib29sZWFuLiBUcnVlIC0gYWNjb3VudHMgcmV0cmlldmVkLCBmYWxzZSAtIGFjY291bnRzIG5vdCByZXRyaWV2ZWQgKHRpbWUgaXMgb3V0KVxuICAgKi9cbiAgd2F0Y2hCYW5rQWNjb3VudHNSZXRyaWV2ZWQoam9iSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIC8vIGluaXQgdGltZW91dCBmb3IgdGhlIGZpcnN0IGl0ZXJhdGlvbiBvZiByZWNvdXJzaW9uXG4gICAgaWYgKCF0aGlzLnJldHJpZXZlQWNjb3VudHNUaW1lcikge1xuICAgICAgdGhpcy5pc1JldHJpZXZlQWNjb3VudHNUaW1lT3V0ID0gZmFsc2U7XG5cbiAgICAgIHRoaXMucmV0cmlldmVBY2NvdW50c1RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNSZXRyaWV2ZUFjY291bnRzVGltZU91dCA9IHRydWU7XG4gICAgICB9LCBCYXNpcVNlcnZpY2UucmV0cmlldmVBY2NvdW50c1RpbWVvdXQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJldHJpZXZlSm9iKGpvYklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGNvbnRpbnVlIHdoZW4gdGltZSBpcyBvdXQgb3Igd2hlbiBhY2NvdW50cyByZXRpcmV2ZWQgc3VjY2Vzc2Z1bGx5XG4gICAgICAgIGZpbHRlcigocmVzcG9uc2U6IEJhc2lxSm9iUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBzdG9wIHdhdGNoZXIgd2hlbiBhY2NvdW50cyByZXRyaWV2ZWQgc3VjY2Vzc2Z1bGx5IG9yIHRpbWUgaXMgb3V0XG4gICAgICAgICAgaWYgKHRoaXMuaXNSZXRyaWV2ZUFjY291bnRzVGltZU91dCB8fCByZXNwb25zZS5nZXRSZXRyaWV2ZUFjY291bnRzU3RlcCgpLmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyaWV2ZUFjY291bnRzVGltZXIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gY29udGludWUgd2F0Y2ggcmV0cmlldmUgYWNjb3VudHMgc3RhdHVzXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndhdGNoQmFua0FjY291bnRzUmV0cmlldmVkKGpvYklkKTtcbiAgICAgICAgICB9LCBCYXNpcVNlcnZpY2UucmV0cmlldmVBY2NvdW50c0NoZWNrSW50ZXJ2YWwpO1xuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChyZXNwb25zZTogQmFzaXFKb2JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIC8vIG5vIG5lZWQgdG8ga2VlcCBiYW5rIGlkIGFueW1vcmVcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYmFzaXFCYW5rSWQnKTtcblxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5nZXRSZXRyaWV2ZUFjY291bnRzU3RlcCgpLmlzU3VjY2VzcygpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc2sgYmFja2VuZCB0byB1cGRhdGUgdXNlcidzIGJhc2lxIGNvbnNlbnQgZmxhZ1xuICAgKi9cbiAgdXBkYXRlQmFzaXFDb25zZW50QWdyZWVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvY29uc2VudHNgLCB7fSkuc3Vic2NyaWJlKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05TRU5UX1VQREFURUQsIHJlc3VsdCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3RlbiB0byBub3RpZmljYXRpb25zIHRvIHVwZGF0ZSBiYXNpcSBhY2NvdW50cyBsaXN0XG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQgJiYgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZVR5cGVFbnVtLkJBU0lRX05FV19BQ0NPVU5UUykge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFLckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFBa0IsZ0JBQWdCLEVBRTlDLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRzVCOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQWdFO0lBOEJoRyxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtJQUNqRCxvRkFBb0Y7SUFDNUUscUJBQTRDO1FBRXBELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFOdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBRXpDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFWNUMsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxvQkFBZSxHQUFpQyxxQkFBcUIsQ0FBQztRQUN0RSxlQUFVLEdB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QGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQnO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYmFuay1jb25uZWN0aW9uJztcbmltcG9ydCB7IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXJFdmVudFR5cGVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS10eXBlLmVudW0nO1xuaW1wb3J0IHtcbiAgQXBwRXZlbnQsXG4gIEFwcEV2ZW50VHlwZUVudW0sXG4gIEJhbmtBY2NvdW50LCBCYW5rQ29ubmVjdGlvbiwgQmFzaXFKb2JSZXNwb25zZSxcbiAgTm90aWZpY2F0aW9uXG59IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQFRPRE8gdmlrIG1vdmUgcmVtb3ZlQmFzaXEgaGVyZSBmcm9tIGNvbm5lY3Rpb25TZXJ2aWNlXG4gKiBiYXNpcSBpcyBhIG1pZGRsZW1hbiBiZXR3ZWVuIGJhbmsgYW5kIHVzZXJcbiAqIHNlcnZpY2UgaXMgcmVzcG9uc2libGUgZm9yIGZldGNoaW5nIGJhbmsgcmVsYXRlZCBpbmZvcm1hdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpcVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQWNjb3VudEJhc2UsIEJhbmtBY2NvdW50LCBCYW5rQWNjb3VudENvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBzdGF0aWMgYmFzaXFBcGlVcmwgPSAnaHR0cHM6Ly9hdS1hcGkuYmFzaXEuaW8nO1xuICBzdGF0aWMgYmFzaXFDb25zZW50VXJsID0gJ2h0dHBzOi8vY29uc2VudC5iYXNpcS5pby9ob21lJztcblxuICAvKipcbiAgICogQmFzaXEgZG9lcyBub3QgcHJvdmlkZSBhIGhvb2ssIHNvIHdlIGhhdmUgdG8gY2hlY2sgam9iIHN0YXR1cyBtYW51YWxseSBldmVyeSB4IHNlY29uZHNcbiAgICovXG4gIHN0YXRpYyByZXRyaWV2ZUFjY291bnRzQ2hlY2tJbnRlcnZhbCA9IDMwMDA7XG5cbiAgLyoqXG4gICAqIEhvdyBsb25nIHdlIHdpbGwgd2FpdCBhY2NvdW50cyByZXRyaWV2aW5nLCBicmVhayBhZnRlciB0aW1lb3V0IGlmIG5vdCByZXRpcmV2ZWRcbiAgICovXG4gIHN0YXRpYyByZXRyaWV2ZUFjY291bnRzVGltZW91dCA9IDIwMDAwO1xuXG4gIC8qKlxuICAgKiBGbGFnIHNob3dzIHJldHJpZXZlIGFjY291bnRzIHRpbWUgaXMgb3V0XG4gICAqL1xuICBpc1JldHJpZXZlQWNjb3VudHNUaW1lT3V0OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaW1lb3V0IGZvciByZXRyaWV2ZSBhY2NvdW50cyBzdGF0dXMgY2hlY2tpbmcuXG4gICAqIFN0b3Agd2F0Y2ggcmV0cmlldmUgYWNjb3VudHMgc3RhdHVzIHdoZW4gdGltZSBpcyBvdXQuXG4gICAqL1xuICByZXRyaWV2ZUFjY291bnRzVGltZXI7XG5cbiAgcHJvdGVjdGVkIGVuZHBvaW50VXJpID0gJ2Jhc2lxL2FjY291bnRzJztcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQmFua0FjY291bnRDb2xsZWN0aW9uID0gQmFua0FjY291bnRDb2xsZWN0aW9uO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFua0FjY291bnQgPSBCYW5rQWNjb3VudDtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIC8vIHRoaXMgaW5qZWN0IHJlcXVpcmVkIHRvIGluaXQgYmFuayBjb25uZWN0aW9uIHNlcnZpY2UgYW5kIGxpc3RlbiBiYXNpcSBsb2dpbiBldmVudFxuICAgIHByaXZhdGUgYmFua0Nvbm5lY3Rpb25TZXJ2aWNlOiBCYW5rQ29ubmVjdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZW1vdmUgYmFzaXEgY29ubmVjdGlvbiB0byBjcmVhdGUgYSBuZXcgb25lIChiZWNhdXNlIGJhc2lxIGhhcyBubyB1cGRhdGUgb3B0aW9uKSxcbiAgICogdXNlZCBmb3IgdXBncmFkZSB0byBvcGVuQmFua2luZyBhbmQgbWFuYWdlIHNoYXJlZCBiYW5rIGFjY291bnRzIGZsb3dcbiAgICovXG4gIGRlbGV0ZUJhc2lxKGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmFwaVVybH0vJHtjb25uZWN0aW9uLmlkfS9yZW1vdmUtYmFzaXFgLCBjb25uZWN0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gQWxleCB0b2tlbiBzaG91bGQgYmUgaW5zaWRlIHRoaXMgc2VydmljZVxuICAgICAgICAgIC8vIHRoaXMucmVkaXJlY3RUb0Jhc2lxQ29uc2VudCh0b2tlbi52YWx1ZSwgY29ubmVjdGlvbi5iYW5rLmV4dGVybmFsSWQsIHRydWUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIGJhc2lxIGNvbnNlbnQgdWkgdG8gYWxsb3cgdXNlciB0byBsb2cgaW4gdG8gYmFua1xuICAgKiBAcGFyYW0gdG9rZW4gVXNlcidzIGJhc2lxIHRva2VuXG4gICAqIEBwYXJhbSBiYW5rSWQgRXh0ZXJuYWwgaWQgb2Ygc2VsZWN0ZWQgYmFua1xuICAgKiBAcGFyYW0gY29uc2VudEV4aXN0XG4gICAqL1xuICByZWRpcmVjdFRvQmFzaXFDb25zZW50KHRva2VuOiBzdHJpbmcsIGJhbmtJZDogc3RyaW5nLCBjb25zZW50RXhpc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIC8vIGtlZXAgYmFuayBpZCBiZWNhdXNlIHdlIG5lZWQgaXQgYWZ0ZXIgcmVkaXJlY3QgZnJvbSBiYXNpcVxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYXNpcUJhbmtJZCcsIGJhbmtJZCk7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQ29uc2VudFVybH0/dG9rZW49JHt0b2tlbn0maW5zdGl0dXRpb25JZD0ke2JhbmtJZH0ke2NvbnNlbnRFeGlzdCA/ICcmYWN0aW9uPWNvbm5lY3QnIDogJyd9YCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IEJhc2lxIGpvYiByZXN1bHRcbiAgICovXG4gIHJldHJpZXZlSm9iKGpvYklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJhc2lxSm9iUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtCYXNpcVNlcnZpY2UuYmFzaXFBcGlVcmx9L2pvYnMvJHtqb2JJZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgIC8vIGlmIHdlIGdldCBhIGpvYklkIHRoZW4gd2Uga25vdyB0aGF0IHVzZXIgYWNjZXB0ZWQgYmFzaXEgY29uc2VudFxuICAgICAgICAgIHRoaXMudXBkYXRlQmFzaXFDb25zZW50QWdyZWVtZW50KCk7XG5cbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKEJhc2lxSm9iUmVzcG9uc2UsIHJlc3BvbnNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVjb3Vyc2l2ZSBtZXRob2QsIHdhdGNoIGJhc2lxIGpvYiByZXRyaWV2ZSBhY2NvdW50cyBzdGF0dXNcbiAgICogQHBhcmFtIGpvYklkIGlkIG9mIGJhc2lxIGpvYiB0byBjaGVja1xuICAgKiBAcmV0dXJucyBvYnNlcnZhYmxlIGJvb2xlYW4uIFRydWUgLSBhY2NvdW50cyByZXRyaWV2ZWQsIGZhbHNlIC0gYWNjb3VudHMgbm90IHJldHJpZXZlZCAodGltZSBpcyBvdXQpXG4gICAqL1xuICB3YXRjaEJhbmtBY2NvdW50c1JldHJpZXZlZChqb2JJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgLy8gaW5pdCB0aW1lb3V0IGZvciB0aGUgZmlyc3QgaXRlcmF0aW9uIG9mIHJlY291cnNpb25cbiAgICBpZiAoIXRoaXMucmV0cmlldmVBY2NvdW50c1RpbWVyKSB7XG4gICAgICB0aGlzLmlzUmV0cmlldmVBY2NvdW50c1RpbWVPdXQgPSBmYWxzZTtcblxuICAgICAgdGhpcy5yZXRyaWV2ZUFjY291bnRzVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc1JldHJpZXZlQWNjb3VudHNUaW1lT3V0ID0gdHJ1ZTtcbiAgICAgIH0sIEJhc2lxU2VydmljZS5yZXRyaWV2ZUFjY291bnRzVGltZW91dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmV0cmlldmVKb2Ioam9iSWQpXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gY29udGludWUgd2hlbiB0aW1lIGlzIG91dCBvciB3aGVuIGFjY291bnRzIHJldGlyZXZlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgZmlsdGVyKChyZXNwb25zZTogQmFzaXFKb2JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIC8vIHN0b3Agd2F0Y2hlciB3aGVuIGFjY291bnRzIHJldHJpZXZlZCBzdWNjZXNzZnVsbHkgb3IgdGltZSBpcyBvdXRcbiAgICAgICAgICBpZiAodGhpcy5pc1JldHJpZXZlQWNjb3VudHNUaW1lT3V0IHx8IHJlc3BvbnNlLmdldFJldHJpZXZlQWNjb3VudHNTdGVwKCkuaXNTdWNjZXNzKCkpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJldHJpZXZlQWNjb3VudHNUaW1lcik7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBjb250aW51ZSB3YXRjaCByZXRyaWV2ZSBhY2NvdW50cyBzdGF0dXNcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2F0Y2hCYW5rQWNjb3VudHNSZXRyaWV2ZWQoam9iSWQpO1xuICAgICAgICAgIH0sIEJhc2lxU2VydmljZS5yZXRyaWV2ZUFjY291bnRzQ2hlY2tJbnRlcnZhbCk7XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNpcUpvYlJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgLy8gbm8gbmVlZCB0byBrZWVwIGJhbmsgaWQgYW55bW9yZVxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdiYXNpcUJhbmtJZCcpO1xuXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmdldFJldHJpZXZlQWNjb3VudHNTdGVwKCkuaXNTdWNjZXNzKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzayBiYWNrZW5kIHRvIHVwZGF0ZSB1c2VyJ3MgYmFzaXEgY29uc2VudCBmbGFnXG4gICAqL1xuICB1cGRhdGVCYXNpcUNvbnNlbnRBZ3JlZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS9jb25zZW50c2AsIHt9KS5zdWJzY3JpYmUoKHJlc3VsdDogYm9vbGVhbikgPT4ge1xuICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0NPTlNFTlRfVVBEQVRFRCwgcmVzdWx0KSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdGVuIHRvIG5vdGlmaWNhdGlvbnMgdG8gdXBkYXRlIGJhc2lxIGFjY291bnRzIGxpc3RcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -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.9", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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.9", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
42
- ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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'
@@ -68,9 +68,9 @@ export class ChatService extends RestService {
68
68
  });
69
69
  }
70
70
  }
71
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
72
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChatService, providedIn: 'root' });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChatService, decorators: [{
71
+ 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 });
72
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, providedIn: 'root' });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, decorators: [{
74
74
  type: Injectable,
75
75
  args: [{
76
76
  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.9", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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.9", 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.9", ngImport: i0, type: MessageService, providedIn: 'root' });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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.9", ngImport: i0, type: AnnualClientDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- AnnualClientDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnualClientDetailsService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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.9", 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.9", ngImport: i0, type: OccupationService, providedIn: 'root' });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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.9", 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.9", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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'
@@ -26,9 +26,9 @@ export class DepreciationReceiptService extends ReceiptService {
26
26
  this.listenEvents();
27
27
  }
28
28
  }
29
- DepreciationReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationReceiptService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
30
- DepreciationReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationReceiptService, providedIn: 'root' });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationReceiptService, decorators: [{
29
+ DepreciationReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationReceiptService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ DepreciationReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationReceiptService, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationReceiptService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root'
@@ -124,9 +124,9 @@ export class DepreciationService extends RestService {
124
124
  });
125
125
  }
126
126
  }
127
- DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
128
- DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationService, providedIn: 'root' });
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationService, decorators: [{
127
+ 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' }, { token: i3.DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
128
+ DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, providedIn: 'root' });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, decorators: [{
130
130
  type: Injectable,
131
131
  args: [{
132
132
  providedIn: 'root'
@@ -65,9 +65,9 @@ export class DocumentFolderService extends RestService {
65
65
  }));
66
66
  }
67
67
  }
68
- DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
- DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentFolderService, decorators: [{
68
+ DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
+ DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -9,9 +9,9 @@ export class DocumentService extends RestService {
9
9
  this.modelClass = Document;
10
10
  }
11
11
  }
12
- DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13
- DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentService, providedIn: 'root' });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentService, decorators: [{
12
+ DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13
+ DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, decorators: [{
15
15
  type: Injectable,
16
16
  args: [{
17
17
  providedIn: 'root'
@@ -73,9 +73,9 @@ FacebookService.authOptions = {
73
73
  auth_type: 'rerequest',
74
74
  return_scopes: true
75
75
  };
76
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", 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.9", ngImport: i0, type: FacebookService, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FacebookService, decorators: [{
76
+ 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: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
77
+ FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, providedIn: 'root' });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, decorators: [{
79
79
  type: Injectable,
80
80
  args: [{
81
81
  providedIn: 'root'
@@ -24,9 +24,9 @@ export class FileService extends RestService {
24
24
  return this.http.get(`${this.apiUrl}/${file.id}/download`, { responseType: 'blob' });
25
25
  }
26
26
  }
27
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
28
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, providedIn: 'root' });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, decorators: [{
27
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
28
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{
32
32
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class ClientIncomeTypesService extends RestService {
13
13
  this.disabledMethods = ['postBatch', 'putBatch', 'delete', 'deleteBatch'];
14
14
  }
15
15
  }
16
- ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientIncomeTypesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
16
+ ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientIncomeTypesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root'
@@ -115,9 +115,9 @@ export class ClientInviteService extends RestService {
115
115
  });
116
116
  }
117
117
  }
118
- ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
119
- ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInviteService, decorators: [{
118
+ ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
119
+ ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientInviteService, decorators: [{
121
121
  type: Injectable,
122
122
  args: [{
123
123
  providedIn: 'root'
@@ -75,9 +75,9 @@ export class ClientMovementService extends RestService {
75
75
  });
76
76
  }
77
77
  }
78
- ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
- ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientMovementService, decorators: [{
78
+ ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
+ ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientMovementService, decorators: [{
81
81
  type: Injectable,
82
82
  args: [{
83
83
  providedIn: 'root'
@@ -28,9 +28,9 @@ export class EmployeeService extends RestService {
28
28
  }));
29
29
  }
30
30
  }
31
- EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
- EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeService, decorators: [{
31
+ EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
+ EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{
36
36
  providedIn: 'root'
@@ -40,9 +40,9 @@ export class EmployeeInviteService extends RestService {
40
40
  }));
41
41
  }
42
42
  }
43
- EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44
- EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeInviteService, decorators: [{
43
+ EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44
+ EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeInviteService, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{
48
48
  providedIn: 'root'
@@ -57,9 +57,9 @@ export class FirmService {
57
57
  }));
58
58
  }
59
59
  }
60
- FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
61
- FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FirmService, providedIn: 'root' });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FirmService, decorators: [{
60
+ FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FirmService, providedIn: 'root' });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FirmService, decorators: [{
63
63
  type: Injectable,
64
64
  args: [{
65
65
  providedIn: 'root'
@@ -23,9 +23,9 @@ export class ClientPortfolioReportService {
23
23
  }));
24
24
  }
25
25
  }
26
- ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
- ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
26
+ ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root'
@@ -63,9 +63,9 @@ export class GoogleService {
63
63
  google.accounts.id.disableAutoSelect();
64
64
  }
65
65
  }
66
- GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
67
- GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GoogleService, providedIn: 'root' });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GoogleService, decorators: [{
66
+ GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, decorators: [{
69
69
  type: Injectable,
70
70
  args: [{
71
71
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class HoldingSaleService extends RestService {
13
13
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14
14
  }
15
15
  }
16
- HoldingSaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- HoldingSaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingSaleService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingSaleService, decorators: [{
16
+ HoldingSaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ HoldingSaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class HoldingTypeService extends RestService {
13
13
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14
14
  }
15
15
  }
16
- HoldingTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- HoldingTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeService, decorators: [{
16
+ HoldingTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ HoldingTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root'
@@ -16,9 +16,9 @@ export class HoldingService extends RestService {
16
16
  this.listenCSE(HoldingSale, ['post', 'put', 'delete'], this.resetCache);
17
17
  }
18
18
  }
19
- HoldingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
- HoldingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingService, decorators: [{
19
+ HoldingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
+ HoldingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, decorators: [{
22
22
  type: Injectable,
23
23
  args: [{
24
24
  providedIn: 'root'
@@ -67,9 +67,9 @@ export class IncomeSourceForecastService extends RestService {
67
67
  }).flat();
68
68
  }
69
69
  }
70
- IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
- IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
70
+ IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
+ IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
73
73
  type: Injectable,
74
74
  args: [{
75
75
  providedIn: 'root'
@@ -77,9 +77,9 @@ export class IncomeSourceService extends RestService {
77
77
  });
78
78
  }
79
79
  }
80
- IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
81
- IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceService, decorators: [{
80
+ IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
81
+ IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceService, decorators: [{
83
83
  type: Injectable,
84
84
  args: [{
85
85
  providedIn: 'root'
@@ -70,9 +70,9 @@ export class SalaryForecastService extends RestService {
70
70
  }).flat();
71
71
  }
72
72
  }
73
- SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
- SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalaryForecastService, decorators: [{
73
+ SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
+ SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SalaryForecastService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{
78
78
  providedIn: 'root'
@@ -76,9 +76,9 @@ export class SoleForecastService extends RestService {
76
76
  });
77
77
  }
78
78
  }
79
- SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
80
- SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleForecastService, decorators: [{
79
+ SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
80
+ SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleForecastService, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{
84
84
  providedIn: 'root'
@@ -60,9 +60,9 @@ export class BorrowingExpenseService {
60
60
  }));
61
61
  }
62
62
  }
63
- BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
64
- BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BorrowingExpenseService, decorators: [{
63
+ BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
64
+ BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorrowingExpenseService, decorators: [{
66
66
  type: Injectable,
67
67
  args: [{
68
68
  providedIn: 'root'
@@ -75,9 +75,9 @@ export class LoanService extends RestService {
75
75
  }));
76
76
  }
77
77
  }
78
- LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
- LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoanService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoanService, decorators: [{
78
+ LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
+ LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoanService, providedIn: 'root' });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoanService, decorators: [{
81
81
  type: Injectable,
82
82
  args: [{
83
83
  providedIn: 'root'