taxtank-core 0.30.28 → 0.30.30

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 (222) hide show
  1. package/esm2020/lib/collections/holding.collection.mjs +28 -0
  2. package/esm2020/lib/collections/index.mjs +2 -1
  3. package/esm2020/lib/collections/property/property-sale/property-sale.collection.mjs +3 -3
  4. package/esm2020/lib/db/Enums/holding/holding-type-category.enum.mjs +1 -1
  5. package/esm2020/lib/db/Enums/index.mjs +2 -1
  6. package/esm2020/lib/db/Models/client/annual-client-details.mjs +3 -0
  7. package/esm2020/lib/db/Models/client/client-details.mjs +4 -0
  8. package/esm2020/lib/db/Models/client/client-income-types.mjs +4 -0
  9. package/esm2020/lib/db/Models/client/index.mjs +5 -0
  10. package/esm2020/lib/db/Models/client/occupation.mjs +4 -0
  11. package/esm2020/lib/db/Models/index.mjs +2 -4
  12. package/esm2020/lib/db/Models/property/property-sale/property-sale.mjs +1 -1
  13. package/esm2020/lib/db/Models/user/user.mjs +1 -1
  14. package/esm2020/lib/forms/client/annual-client-details.form.mjs +37 -0
  15. package/esm2020/lib/forms/client/index.mjs +3 -0
  16. package/esm2020/lib/forms/holding/holding-sale.form.mjs +39 -0
  17. package/esm2020/lib/forms/holding/holding-type.form.mjs +16 -0
  18. package/esm2020/lib/forms/holding/holding.form.mjs +17 -0
  19. package/esm2020/lib/forms/holding/index.mjs +4 -0
  20. package/esm2020/lib/forms/index.mjs +3 -2
  21. package/esm2020/lib/forms/property/property-sale/property-sale-cost-sale.form.mjs +11 -25
  22. package/esm2020/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +18 -7
  23. package/esm2020/lib/forms/report/my-tax/my-tax-cgt.form.mjs +4 -1
  24. package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +3 -1
  25. package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
  26. package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
  27. package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
  28. package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
  29. package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
  30. package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
  31. package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
  32. package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
  33. package/esm2020/lib/messages/index.mjs +2 -0
  34. package/esm2020/lib/messages/messages.enum.mjs +16 -0
  35. package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +4 -1
  36. package/esm2020/lib/models/client/annual-client-details.mjs +15 -0
  37. package/esm2020/lib/models/client/client-details.mjs +2 -2
  38. package/esm2020/lib/models/client/client-income-types.mjs +2 -2
  39. package/esm2020/lib/models/client/index.mjs +8 -0
  40. package/esm2020/lib/models/endpoint/endpoints.const.mjs +17 -1
  41. package/esm2020/lib/models/holding/holding-sale.mjs +18 -1
  42. package/esm2020/lib/models/holding/holding-type-exchange.mjs +13 -0
  43. package/esm2020/lib/models/holding/holding-type.mjs +37 -1
  44. package/esm2020/lib/models/holding/holding.mjs +32 -1
  45. package/esm2020/lib/models/index.mjs +2 -1
  46. package/esm2020/lib/models/property/property-sale/property-sale.mjs +19 -6
  47. package/esm2020/lib/models/property/property-sale/tax-exemption.mjs +5 -1
  48. package/esm2020/lib/models/property/property.mjs +38 -18
  49. package/esm2020/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.mjs +7 -6
  50. package/esm2020/lib/models/user/occupation.mjs +2 -2
  51. package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
  52. package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
  53. package/esm2020/lib/services/asset/assets.service.mjs +3 -3
  54. package/esm2020/lib/services/auth/auth.service.mjs +3 -3
  55. package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
  56. package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
  57. package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
  58. package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
  59. package/esm2020/lib/services/event/sse.service.mjs +3 -3
  60. package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
  61. package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
  62. package/esm2020/lib/services/http/address/address.service.mjs +3 -3
  63. package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
  64. package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
  65. package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
  66. package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
  67. package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
  68. package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
  69. package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
  70. package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
  71. package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
  72. package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
  73. package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
  74. package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +24 -0
  75. package/esm2020/lib/services/http/client/index.mjs +3 -0
  76. package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +45 -0
  77. package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
  78. package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
  79. package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
  80. package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
  81. package/esm2020/lib/services/http/document/document.service.mjs +3 -3
  82. package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
  83. package/esm2020/lib/services/http/file/file.service.mjs +3 -3
  84. package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +4 -4
  85. package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
  86. package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
  87. package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
  88. package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
  89. package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
  90. package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
  91. package/esm2020/lib/services/http/google/google.service.mjs +3 -3
  92. package/esm2020/lib/services/http/holding/holding-sale.service.mjs +4 -7
  93. package/esm2020/lib/services/http/holding/holding-type.service.mjs +4 -7
  94. package/esm2020/lib/services/http/holding/holding.service.mjs +6 -9
  95. package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
  96. package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
  97. package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
  98. package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
  99. package/esm2020/lib/services/http/index.mjs +2 -1
  100. package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
  101. package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
  102. package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
  103. package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
  104. package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
  105. package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
  106. package/esm2020/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.mjs +3 -3
  107. package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
  108. package/esm2020/lib/services/http/property/property.service.mjs +3 -3
  109. package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
  110. package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
  111. package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
  112. package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
  113. package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
  114. package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
  115. package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
  116. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
  117. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
  118. package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
  119. package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
  120. package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
  121. package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
  122. package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
  123. package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
  124. package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
  125. package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
  126. package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
  127. package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
  128. package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
  129. package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
  130. package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
  131. package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
  132. package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
  133. package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
  134. package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
  135. package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
  136. package/esm2020/lib/services/http/user/index.mjs +2 -2
  137. package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
  138. package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
  139. package/esm2020/lib/services/http/user/user.service.mjs +5 -14
  140. package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
  141. package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
  142. package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
  143. package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
  144. package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
  145. package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
  146. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
  147. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
  148. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
  149. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
  150. package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
  151. package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
  152. package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
  153. package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
  154. package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
  155. package/esm2020/lib/services/toast/toast.service.mjs +3 -3
  156. package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
  157. package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
  158. package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
  159. package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
  160. package/esm2020/lib/tt-core.module.mjs +4 -4
  161. package/esm2020/lib/validators/transactions-meta-fields.validator.mjs +34 -0
  162. package/esm2020/public-api.mjs +5 -1
  163. package/fesm2015/taxtank-core.mjs +943 -601
  164. package/fesm2015/taxtank-core.mjs.map +1 -1
  165. package/fesm2020/taxtank-core.mjs +937 -596
  166. package/fesm2020/taxtank-core.mjs.map +1 -1
  167. package/lib/collections/holding.collection.d.ts +10 -0
  168. package/lib/collections/index.d.ts +1 -0
  169. package/lib/collections/property/property-sale/property-sale.collection.d.ts +1 -1
  170. package/lib/db/Enums/index.d.ts +1 -0
  171. package/lib/db/Models/client/annual-client-details.d.ts +12 -0
  172. package/lib/db/Models/{user → client}/client-details.d.ts +1 -2
  173. package/lib/db/Models/client/index.d.ts +4 -0
  174. package/lib/db/Models/index.d.ts +1 -3
  175. package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -3
  176. package/lib/db/Models/user/user.d.ts +1 -1
  177. package/lib/forms/client/annual-client-details.form.d.ts +8 -0
  178. package/lib/forms/client/index.d.ts +2 -0
  179. package/lib/forms/holding/holding-sale.form.d.ts +11 -0
  180. package/lib/forms/holding/holding-type.form.d.ts +5 -0
  181. package/lib/forms/holding/holding.form.d.ts +5 -0
  182. package/lib/forms/holding/index.d.ts +3 -0
  183. package/lib/forms/index.d.ts +2 -1
  184. package/lib/forms/property/property-sale/property-sale-cost-sale.form.d.ts +1 -3
  185. package/lib/forms/property/property-sale/property-sale-exemptions.form.d.ts +6 -6
  186. package/lib/forms/report/my-tax/my-tax-cgt.form.d.ts +4 -1
  187. package/lib/messages/index.d.ts +1 -0
  188. package/lib/messages/messages.enum.d.ts +14 -0
  189. package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
  190. package/lib/models/client/annual-client-details.d.ts +12 -0
  191. package/lib/models/client/client-details.d.ts +1 -1
  192. package/lib/models/client/client-income-types.d.ts +1 -1
  193. package/lib/models/client/index.d.ts +7 -0
  194. package/lib/models/holding/holding-sale.d.ts +6 -1
  195. package/lib/models/holding/holding-type-exchange.d.ts +11 -0
  196. package/lib/models/holding/holding-type.d.ts +31 -8
  197. package/lib/models/holding/holding.d.ts +16 -1
  198. package/lib/models/index.d.ts +1 -0
  199. package/lib/models/property/property-sale/property-sale.d.ts +7 -2
  200. package/lib/models/property/property-sale/tax-exemption.d.ts +1 -0
  201. package/lib/models/property/property.d.ts +12 -6
  202. package/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.d.ts +2 -2
  203. package/lib/models/user/occupation.d.ts +1 -1
  204. package/lib/services/http/client/capital-gain/annual-client-details.service.d.ts +14 -0
  205. package/lib/services/http/client/index.d.ts +2 -0
  206. package/lib/services/http/firm/client-income/client-income-types.service.d.ts +1 -1
  207. package/lib/services/http/holding/holding-sale.service.d.ts +0 -3
  208. package/lib/services/http/holding/holding-type.service.d.ts +0 -3
  209. package/lib/services/http/holding/holding.service.d.ts +3 -6
  210. package/lib/services/http/index.d.ts +1 -0
  211. package/lib/services/http/user/index.d.ts +1 -1
  212. package/lib/services/http/user/user.service.d.ts +0 -4
  213. package/lib/validators/transactions-meta-fields.validator.d.ts +5 -0
  214. package/package.json +1 -1
  215. package/public-api.d.ts +4 -0
  216. package/esm2020/lib/db/Models/user/client-details.mjs +0 -4
  217. package/esm2020/lib/db/Models/user/client-income-types.mjs +0 -4
  218. package/esm2020/lib/db/Models/user/occupation.mjs +0 -4
  219. package/esm2020/lib/services/http/user/occupation/occupation.service.mjs +0 -45
  220. /package/lib/db/Models/{user → client}/client-income-types.d.ts +0 -0
  221. /package/lib/db/Models/{user → client}/occupation.d.ts +0 -0
  222. /package/lib/services/http/{user → client}/occupation/occupation.service.d.ts +0 -0
@@ -120,17 +120,14 @@ export class Property extends PropertyBase {
120
120
  }
121
121
  return this.purchasePrice + this.capitalCostsTotalAmount + sale.holdingCosts + sale.structuralImprovementsWDV - sale.buildingAtCostClaimed;
122
122
  }
123
- /**
124
- * gross capital gain tax: sale costs - cost base
125
- */
126
- calculateGrossCGT(sale) {
127
- return (sale.price - sale.saleCostsTotalAmount - this.calculateCostBase(sale)) * this.shareRatio;
123
+ calculateGrossCapitalGain(sale) {
124
+ return (sale.netPrice - this.calculateCostBase(sale)) * this.getPartialCGTExemptionRatio(sale) * this.shareRatio;
128
125
  }
129
126
  /**
130
- * net capital gain tax (includes tax exemptions)
127
+ * net capital gain includes tax exemption
131
128
  */
132
- calculateNetCGT(sale) {
133
- return this.getCGTExemptionRatio(sale) * sale.grossCGTAfterLoss;
129
+ calculateNetCapitalGain(sale) {
130
+ return this.getCGTExemptionRatio(sale) * sale.grossCapitalGain;
134
131
  }
135
132
  /**
136
133
  * guess tax exemption based on property details
@@ -150,24 +147,29 @@ export class Property extends PropertyBase {
150
147
  return null;
151
148
  }
152
149
  }
150
+ getPartialCGTExemptionRatio(sale) {
151
+ const metaFields = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields);
152
+ switch (sale.taxExemption?.id) {
153
+ case TaxExemptionEnum.INVESTMENT_TO_PPR:
154
+ const ownershipDays = this.getOwnershipDuration(sale);
155
+ return (ownershipDays - metaFields.getPPRDays()) / ownershipDays;
156
+ case TaxExemptionEnum.PPR_TO_INVESTMENT:
157
+ return metaFields.getClaimPercent() / 100;
158
+ default:
159
+ return 1;
160
+ }
161
+ }
153
162
  /**
154
163
  * tax exemption can reduce cgt from 100% to less (up to zero)
155
164
  */
156
165
  getCGTExemptionRatio(sale) {
157
- const metaFields = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields);
158
166
  switch (sale.taxExemption?.id) {
159
167
  // 50% exemption for investments owned for at least one year
160
168
  case TaxExemptionEnum.ONE_YEAR_RULE:
161
169
  return 0.5;
162
- // investment property become main residence (exemption for main residence ownership duration)
163
170
  case TaxExemptionEnum.INVESTMENT_TO_PPR:
164
- const ownershipDays = this.getOwnershipDuration(sale);
165
- return (ownershipDays - metaFields.getPPRDays()) / ownershipDays;
166
- // main residence become investment (exemption for home office percent usage)
167
171
  case TaxExemptionEnum.PPR_TO_INVESTMENT:
168
- // 1 year CGT discount can still apply (on the income producing % if used for 12 months or more)
169
- const ratio = this.isOneYearExemptionApplicable(sale) ? 0.5 : 1;
170
- return metaFields.getClaimPercent() / 100 * ratio;
172
+ return this.isOneYearExemptionApplicable(sale) ? 0.5 : 1;
171
173
  // full exemption
172
174
  case TaxExemptionEnum.PPR:
173
175
  case TaxExemptionEnum.SIX_YEARS_RULE:
@@ -179,8 +181,11 @@ export class Property extends PropertyBase {
179
181
  return 1;
180
182
  }
181
183
  }
184
+ /**
185
+ * in cgt report we apply losses, which can reset 1 year rule (in case if there is no profit after loss)
186
+ */
182
187
  isOneYearExemptionApplicable(sale) {
183
- return sale.grossCGTAfterLoss > 0 && this.getOwnershipDuration(sale, 'years') > 0;
188
+ return sale.grossCapitalGain > 0 && this.getOwnershipDuration(sale, 'years') > 0;
184
189
  }
185
190
  /**
186
191
  * CGT is not applicable for properties acquired before 20.09.1985 (tax didn't exist before this date).
@@ -209,6 +214,12 @@ export class Property extends PropertyBase {
209
214
  * Any assets acquired before this day are CGT exempt (because the tax didn't exist before this date).
210
215
  */
211
216
  Property.preCGTAssetDate = new Date(1985, 9, 20);
217
+ __decorate([
218
+ Type(() => Number)
219
+ ], Property.prototype, "purchasePrice", void 0);
220
+ __decorate([
221
+ Type(() => Number)
222
+ ], Property.prototype, "growthPercent", void 0);
212
223
  __decorate([
213
224
  Type(() => Date)
214
225
  ], Property.prototype, "contractDate", void 0);
@@ -221,6 +232,15 @@ __decorate([
221
232
  __decorate([
222
233
  Type(() => PropertyCategory)
223
234
  ], Property.prototype, "category", void 0);
235
+ __decorate([
236
+ Type(() => Number)
237
+ ], Property.prototype, "stampDuty", void 0);
238
+ __decorate([
239
+ Type(() => Number)
240
+ ], Property.prototype, "legalFees", void 0);
241
+ __decorate([
242
+ Type(() => Number)
243
+ ], Property.prototype, "otherCapitalCosts", void 0);
224
244
  __decorate([
225
245
  Type(() => PropertyValuation)
226
246
  ], Property.prototype, "valuations", void 0);
@@ -239,4 +259,4 @@ __decorate([
239
259
  __decorate([
240
260
  Exclude()
241
261
  ], Property.prototype, "documentFile", void 0);
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNMLDJDQUEyQyxFQUM1QyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBc0N4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJ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SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ0s7QUFJdEM7SUFEQyxPQUFPLEVBQUU7OENBQ1MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3BlcnR5IGFzIFByb3BlcnR5QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7RG9jdW1lbnRhYmxlLCBQaG90b2FibGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtQcm9wZXJ0eVNoYXJlfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHtQcm9wZXJ0eVN1YnNjcmlwdGlvbn0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtFeGNsdWRlLCBUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5fSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7UHJvcGVydHlWYWx1YXRpb259IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7UHJvcGVydHlGb3JlY2FzdH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQge1Byb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHtGaW5hbmNpYWxZZWFyfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQge1RheEV4ZW1wdGlvbkVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtQcm9wZXJ0eVNhbGV9IGZyb20gJy4vcHJvcGVydHktc2FsZSc7XG5pbXBvcnQge3VuaXRPZlRpbWV9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIERlcHJlY2lhdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIFBob3RvYWJsZSwgRG9jdW1lbnRhYmxlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjb250cmFjdERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgc2V0dGxlbWVudERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5KVxuICBjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUZvcmVjYXN0KVxuICBmb3JlY2FzdHM6IFByb3BlcnR5Rm9yZWNhc3RbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpXG4gIGNhdGVnb3J5TW92ZW1lbnRzOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRbXTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U3Vic2NyaXB0aW9uKVxuICBzdWJzY3JpcHRpb25zOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuXG4gIC8vIGNvdWxkIGJlIEZpbGUgd2hlbiBqdXN0IGFkZGVkIG5ldyBpbWFnZVxuICBARXhjbHVkZSgpXG4gIGRvY3VtZW50RmlsZTogRmlsZTtcblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFkZHJlc3MubmFtZTtcbiAgfVxuXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN1YnNjcmlwdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIGlzT3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc1NvbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5teVNoYXJlPy5zYWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbml0aWFscyBvZiBwcm9wZXJ0eS4gUmVxdWlyZWQgYnkgUGhvdG9hYmxlIGludGVyZmFjZVxuICAgKi9cbiAgZ2V0UGhvdG9QbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWUuc3BsaXQoJyAnKVsxXS5zbGljZSgwLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcHJvcGVydHkgcGhvdG8uIFJlcXVpcmVkIGJ5IFBob3RvYWJsZSBpbnRlcmZhY2VcbiAgICovXG4gIGdldFBob3RvKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGhvdG87XG4gIH1cblxuICBnZXQgY2FwaXRhbENvc3RzVG90YWxBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGFtcER1dHkgKyB0aGlzLmxlZ2FsRmVlcyArIHRoaXMub3RoZXJDYXBpdGFsQ29zdHM7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJWYWx1YXRpb25zKCk6IFByb3BlcnR5VmFsdWF0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnZhbHVhdGlvbnMuZmlsdGVyKCh2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uKTogYm9vbGVhbiA9PiB2YWx1YXRpb24uaXNDdXJyZW50WWVhcigpKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFjdHVhbFZhbHVhdGlvbj8ubWFya2V0VmFsdWUgfHwgMDtcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhckZvcmVjYXN0KCk6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuaXNDdXJyZW50WWVhcigpKTtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkUmVudGFsUmV0dXJuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8ucmVudGFsUmV0dXJuIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFRheFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8udGF4UG9zaXRpb24gfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkQ2FzaFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2FzaFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZmlyc3RGb3JlY2FzdFllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMucmVkdWNlKChtaW46IG51bWJlciwgZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluO1xuICAgIH0sIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWVHcm93dGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMubWFya2V0VmFsdWUgLSB0aGlzLnB1cmNoYXNlUHJpY2UpIC8gdGhpcy5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIGdldCBteVNoYXJlKCk6IFByb3BlcnR5U2hhcmUge1xuICAgIHJldHVybiB0aGlzLnNoYXJlcy5maW5kKChzaGFyZTogUHJvcGVydHlTaGFyZSk6IGJvb2xlYW4gPT4gc2hhcmUudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKSk7XG4gIH1cblxuICBnZXQgYWN0dWFsVmFsdWF0aW9uKCk6IFByb3BlcnR5VmFsdWF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLnJlZHVjZSgobWF4RGF0ZVZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24sIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24pID0+IHtcbiAgICAgIHJldHVybiBtYXhEYXRlVmFsdWF0aW9uLmRhdGUgPiB2YWx1YXRpb24uZGF0ZSA/IG1heERhdGVWYWx1YXRpb24gOiB2YWx1YXRpb247XG4gICAgfSwgdGhpcy52YWx1YXRpb25zWzBdKTtcbiAgfVxuXG4gIGdldCBjbGFpbVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmNsYWltUGVyY2VudDtcbiAgfVxuXG4gIGdldCBjbGFpbUNvZWZmaWNpZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2xhaW1QZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IHNoYXJlUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm15U2hhcmUucGVyY2VudDtcbiAgfVxuXG4gIGdldCBzaGFyZVJhdGlvKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IHByZXZpb3VzQ2F0ZWdvcnkoKTogUHJvcGVydHlDYXRlZ29yeSB7XG4gICAgbGV0IHByZXZpb3VzQ2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgICBjb25zdCBtb3ZlbWVudHNDb3VudDogbnVtYmVyID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAobW92ZW1lbnRzQ291bnQgPiAxKSB7XG4gICAgICBwcmV2aW91c0NhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50c1ttb3ZlbWVudHNDb3VudCAtIDJdLnByb3BlcnR5Q2F0ZWdvcnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2F0ZWdvcnk7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgLyoqXG4gICAqIGdyb3NzIGNhcGl0YWwgZ2FpbiB0YXg6IHNhbGUgY29zdHMgLSBjb3N0IGJhc2VcbiAgICovXG4gIGNhbGN1bGF0ZUdyb3NzQ0dUKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIChzYWxlLnByaWNlIC0gc2FsZS5zYWxlQ29zdHNUb3RhbEFtb3VudCAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5zaGFyZVJhdGlvO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gdGF4IChpbmNsdWRlcyB0YXggZXhlbXB0aW9ucylcbiAgICovXG4gIGNhbGN1bGF0ZU5ldENHVChzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGUpICogc2FsZS5ncm9zc0NHVEFmdGVyTG9zcztcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGF4IGV4ZW1wdGlvbiBjYW4gcmVkdWNlIGNndCBmcm9tIDEwMCUgdG8gbGVzcyAodXAgdG8gemVybylcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcyk7XG5cbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIC8vIGludmVzdG1lbnQgcHJvcGVydHkgYmVjb21lIG1haW4gcmVzaWRlbmNlIChleGVtcHRpb24gZm9yIG1haW4gcmVzaWRlbmNlIG93bmVyc2hpcCBkdXJhdGlvbilcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgICAgY29uc3Qgb3duZXJzaGlwRGF5cyA9IHRoaXMuZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZSk7XG5cbiAgICAgICAgcmV0dXJuIChvd25lcnNoaXBEYXlzIC0gbWV0YUZpZWxkcy5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIC8vIG1haW4gcmVzaWRlbmNlIGJlY29tZSBpbnZlc3RtZW50IChleGVtcHRpb24gZm9yIGhvbWUgb2ZmaWNlIHBlcmNlbnQgdXNhZ2UpXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIC8vIDEgeWVhciBDR1QgZGlzY291bnQgY2FuIHN0aWxsIGFwcGx5IChvbiB0aGUgaW5jb21lIHByb2R1Y2luZyAlIGlmIHVzZWQgZm9yIDEyIG1vbnRocyBvciBtb3JlKVxuICAgICAgICBjb25zdCByYXRpbzogbnVtYmVyID0gdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpID8gMC41IDogMTtcbiAgICAgICAgcmV0dXJuIG1ldGFGaWVsZHMuZ2V0Q2xhaW1QZXJjZW50KCkgLyAxMDAgKiByYXRpbztcbiAgICAgIC8vIGZ1bGwgZXhlbXB0aW9uXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlNJWF9ZRUFSU19SVUxFOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlRSQU5TRkVSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9USEVSOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIC8vIG5vIGV4ZW1wdGlvblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NHVEFmdGVyTG9zcyA+IDAgJiYgdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSAyMC4wOS4xOTg1ICh0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERhdGUgPj0gUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIG93bmVyc2hpcCBkdXJhdGlvbiBmcm9tIHB1cmNoYXNlIHRpbGwgc2FsZVxuICAgKi9cbiAgZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZTogUHJvcGVydHlTYWxlLCB1bml0T2ZUaW1lOiB1bml0T2ZUaW1lLkRpZmYgPSAnZGF5cycpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQoc2FsZS5jb250cmFjdERhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG59XG4iXX0=
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNMLDJDQUEyQyxFQUM1QyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBcUR4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJ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QUFDO3lDQUNIO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzBDQUNGO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO21EQUNRO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzRDQUNFO0FBR2hDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzJDQUNDO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO21EQUNTO0FBRzlDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztzQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOytDQUNLO0FBSXRDO0lBREMsT0FBTyxFQUFFOzhDQUNTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm9wZXJ0eSBhcyBQcm9wZXJ0eUJhc2V9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQge0RvY3VtZW50YWJsZSwgUGhvdG9hYmxlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7UHJvcGVydHlTaGFyZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7UHJvcGVydHlTdWJzY3JpcHRpb259IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7RXhjbHVkZSwgVHlwZX0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeX0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQge1Byb3BlcnR5VmFsdWF0aW9ufSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQge1Byb3BlcnR5Rm9yZWNhc3R9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnR9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7RmluYW5jaWFsWWVhcn0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHtUYXhFeGVtcHRpb25FbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5pbXBvcnQge1Byb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7UHJvcGVydHlTYWxlfSBmcm9tICcuL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHt1bml0T2ZUaW1lfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBEZXByZWNpYXRpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBwcm9wZXJ0eVNhbGUgZG9jcyAtIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDIwOTUwODM1My9Qcm9wZXJ0eStTb2xkK2J1dHRvblxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBQcm9wZXJ0eUJhc2UgaW1wbGVtZW50cyBQaG90b2FibGUsIERvY3VtZW50YWJsZSB7XG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBhY3F1aXJlZCBiZWZvcmUgMjAgU2VwdGVtYmVyIDE5ODUgd2lsbCBnZW5lcmFsbHkgYmUgdHJlYXRlZCBhcyBwcmUtQ2FwaXRhbCBHYWlucyBUYXggKENHVCkgYXNzZXRzLlxuICAgKiBBbnkgYXNzZXRzIGFjcXVpcmVkIGJlZm9yZSB0aGlzIGRheSBhcmUgQ0dUIGV4ZW1wdCAoYmVjYXVzZSB0aGUgdGF4IGRpZG4ndCBleGlzdCBiZWZvcmUgdGhpcyBkYXRlKS5cbiAgICovXG4gIHN0YXRpYyBwcmVDR1RBc3NldERhdGU6IERhdGUgPSBuZXcgRGF0ZSgxOTg1LCA5LCAyMCk7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBwdXJjaGFzZVByaWNlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBncm93dGhQZXJjZW50OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjb250cmFjdERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgc2V0dGxlbWVudERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5KVxuICBjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHN0YW1wRHV0eT86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGxlZ2FsRmVlcz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ2FwaXRhbENvc3RzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5VmFsdWF0aW9uKVxuICB2YWx1YXRpb25zOiBQcm9wZXJ0eVZhbHVhdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Rm9yZWNhc3QpXG4gIGZvcmVjYXN0czogUHJvcGVydHlGb3JlY2FzdFtdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudClcbiAgY2F0ZWdvcnlNb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTdWJzY3JpcHRpb24pXG4gIHN1YnNjcmlwdGlvbnM6IFByb3BlcnR5U3Vic2NyaXB0aW9uW107XG5cbiAgLy8gY291bGQgYmUgRmlsZSB3aGVuIGp1c3QgYWRkZWQgbmV3IGltYWdlXG4gIEBFeGNsdWRlKClcbiAgZG9jdW1lbnRGaWxlOiBGaWxlO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzcy5uYW1lO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoO1xuICB9XG5cbiAgaXNPd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKTtcbiAgfVxuXG4gIGlzU29sZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm15U2hhcmU/LnNhbGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGluaXRpYWxzIG9mIHByb3BlcnR5LiBSZXF1aXJlZCBieSBQaG90b2FibGUgaW50ZXJmYWNlXG4gICAqL1xuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZS5zcGxpdCgnICcpWzFdLnNsaWNlKDAsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSBwaG90by4gUmVxdWlyZWQgYnkgUGhvdG9hYmxlIGludGVyZmFjZVxuICAgKi9cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waG90bztcbiAgfVxuXG4gIGdldCBjYXBpdGFsQ29zdHNUb3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN0YW1wRHV0eSArIHRoaXMubGVnYWxGZWVzICsgdGhpcy5vdGhlckNhcGl0YWxDb3N0cztcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhclZhbHVhdGlvbnMoKTogUHJvcGVydHlWYWx1YXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9ucy5maWx0ZXIoKHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24pOiBib29sZWFuID0+IHZhbHVhdGlvbi5pc0N1cnJlbnRZZWFyKCkpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWN0dWFsVmFsdWF0aW9uPy5tYXJrZXRWYWx1ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyRm9yZWNhc3QoKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5pc0N1cnJlbnRZZWFyKCkpO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRSZW50YWxSZXR1cm4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5yZW50YWxSZXR1cm4gfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkVGF4UG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py50YXhQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRDYXNoUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jYXNoUG9zaXRpb24gfHwgMDtcbiAgfVxuXG4gIGdldCBmaXJzdEZvcmVjYXN0WWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5yZWR1Y2UoKG1pbjogbnVtYmVyLCBmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IG51bWJlciA9PiB7XG4gICAgICByZXR1cm4gbWluID4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA/IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgOiBtaW47XG4gICAgfSwgbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZUdyb3d0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5tYXJrZXRWYWx1ZSAtIHRoaXMucHVyY2hhc2VQcmljZSkgLyB0aGlzLm1hcmtldFZhbHVlO1xuICB9XG5cbiAgZ2V0IG15U2hhcmUoKTogUHJvcGVydHlTaGFyZSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVzLmZpbmQoKHNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogYm9vbGVhbiA9PiBzaGFyZS51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKTtcbiAgfVxuXG4gIGdldCBhY3R1YWxWYWx1YXRpb24oKTogUHJvcGVydHlWYWx1YXRpb24ge1xuICAgIHJldHVybiB0aGlzLnZhbHVhdGlvbnMucmVkdWNlKChtYXhEYXRlVmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbiwgdmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIG1heERhdGVWYWx1YXRpb24uZGF0ZSA+IHZhbHVhdGlvbi5kYXRlID8gbWF4RGF0ZVZhbHVhdGlvbiA6IHZhbHVhdGlvbjtcbiAgICB9LCB0aGlzLnZhbHVhdGlvbnNbMF0pO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgcHJldmlvdXNDYXRlZ29yeSgpOiBQcm9wZXJ0eUNhdGVnb3J5IHtcbiAgICBsZXQgcHJldmlvdXNDYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICAgIGNvbnN0IG1vdmVtZW50c0NvdW50OiBudW1iZXIgPSB0aGlzLmNhdGVnb3J5TW92ZW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChtb3ZlbWVudHNDb3VudCA+IDEpIHtcbiAgICAgIHByZXZpb3VzQ2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5TW92ZW1lbnRzW21vdmVtZW50c0NvdW50IC0gMl0ucHJvcGVydHlDYXRlZ29yeTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJldmlvdXNDYXRlZ29yeTtcbiAgfVxuXG4gIGdldEN1cnJlbnRTdWJzY3JpcHRpb24oKTogUHJvcGVydHlTdWJzY3JpcHRpb24ge1xuICAgIC8vIGFsd2F5cyByZXR1cm4gZmlyc3QgZWxlbWVudCBiZWNhdXNlIHN1YnNjcmlwdGlvbnMgYXJyYXkgY29udGFpbnMgb25seSBvbmUgZWxlbWVudFxuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnNbMF07XG4gIH1cblxuICBnZXRGb3JlY2FzdEJ5WWVhcih5ZWFyOiBudW1iZXIpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xuICB9XG5cbiAgZ2V0IGlzU2hhcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlcy5sZW5ndGggPiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIGNvbnNpZGVyIHRvIG1vdmUgbWV0aG9kcyByZWxhdGVkIHdpdGggcHJvcGVydHlTYWxlIHRvIHNlcGFyYXRlZCBjbGFzcywgc2luY2UgdXNlZCBqdXN0IGluIG9uZSBtb2R1bGUgeWV0XG4gICAqIHB1cmNoYXNlIGNvc3RzIC0gY2xhaW1lZCBjb3N0cywgZXhjZXB0IGBwcHIgdG8gaW52ZXN0bWVudGAgZXhlbXB0aW9uLFxuICAgKiBpbiB0aGF0IGNhc2UgaXQncyBlcXVhbCB0byBtYXJrZXQgdmFsdWUsIHdoZW4gcHJvcGVydHkgYmVjYW1lIGFuIGludmVzdG1lbnQgcHJvcGVydHlcbiAgICovXG4gIGNhbGN1bGF0ZUNvc3RCYXNlKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWFya2V0VmFsdWU6IG51bWJlciA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcykuZ2V0TWFya2V0VmFsdWUoKTtcbiAgICBpZiAobWFya2V0VmFsdWUpIHtcbiAgICAgIHJldHVybiBtYXJrZXRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wdXJjaGFzZVByaWNlICsgdGhpcy5jYXBpdGFsQ29zdHNUb3RhbEFtb3VudCArIHNhbGUuaG9sZGluZ0Nvc3RzICsgc2FsZS5zdHJ1Y3R1cmFsSW1wcm92ZW1lbnRzV0RWIC0gc2FsZS5idWlsZGluZ0F0Q29zdENsYWltZWQ7XG4gIH1cblxuICBjYWxjdWxhdGVHcm9zc0NhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIChzYWxlLm5ldFByaWNlIC0gdGhpcy5jYWxjdWxhdGVDb3N0QmFzZShzYWxlKSkgKiB0aGlzLmdldFBhcnRpYWxDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHRoaXMuc2hhcmVSYXRpbztcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXQgY2FwaXRhbCBnYWluIGluY2x1ZGVzIHRheCBleGVtcHRpb25cbiAgICovXG4gIGNhbGN1bGF0ZU5ldENhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICAvKipcbiAgICogZ3Vlc3MgdGF4IGV4ZW1wdGlvbiBiYXNlZCBvbiBwcm9wZXJ0eSBkZXRhaWxzXG4gICAqL1xuICBnZXRDR1RFeGVtcHRpb24oc2FsZTogUHJvcGVydHlTYWxlKTogVGF4RXhlbXB0aW9uRW51bSB7XG4gICAgaWYgKHNhbGUudGF4RXhlbXB0aW9uKSB7XG4gICAgICByZXR1cm4gc2FsZS50YXhFeGVtcHRpb24uaWQ7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIG1haW4gcmVzaWRlbmNlIHByb3BlcnRpZXNcbiAgICAgIGNhc2UgdGhpcy5jYXRlZ29yeS5pZCA9PT0gUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLk9XTkVSX09DQ1VQSUVEOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5QUFI7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIGludmVzdG1lbnQgcHJvcGVydGllcyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcyk7XG5cbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgICBjb25zdCBvd25lcnNoaXBEYXlzID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlKTtcbiAgICAgICAgcmV0dXJuIChvd25lcnNoaXBEYXlzIC0gbWV0YUZpZWxkcy5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIG1ldGFGaWVsZHMuZ2V0Q2xhaW1QZXJjZW50KCkgLyAxMDA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGF4IGV4ZW1wdGlvbiBjYW4gcmVkdWNlIGNndCBmcm9tIDEwMCUgdG8gbGVzcyAodXAgdG8gemVybylcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgc3dpdGNoIChzYWxlLnRheEV4ZW1wdGlvbj8uaWQpIHtcbiAgICAgIC8vIDUwJSBleGVtcHRpb24gZm9yIGludmVzdG1lbnRzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU6XG4gICAgICAgIHJldHVybiAwLjU7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIHJldHVybiB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSkgPyAwLjUgOiAxO1xuICAgICAgLy8gZnVsbCBleGVtcHRpb25cbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uU0lYX1lFQVJTX1JVTEU6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uVFJBTlNGRVI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT1RIRVI6XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgLy8gbm8gZXhlbXB0aW9uXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW4gY2d0IHJlcG9ydCB3ZSBhcHBseSBsb3NzZXMsIHdoaWNoIGNhbiByZXNldCAxIHllYXIgcnVsZSAoaW4gY2FzZSBpZiB0aGVyZSBpcyBubyBwcm9maXQgYWZ0ZXIgbG9zcylcbiAgICovXG4gIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZTogUHJvcGVydHlTYWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiA+IDAgJiYgdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSAyMC4wOS4xOTg1ICh0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERhdGUgPj0gUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIG93bmVyc2hpcCBkdXJhdGlvbiBmcm9tIHB1cmNoYXNlIHRpbGwgc2FsZVxuICAgKi9cbiAgZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZTogUHJvcGVydHlTYWxlLCB1bml0T2ZUaW1lOiB1bml0T2ZUaW1lLkRpZmYgPSAnZGF5cycpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQoc2FsZS5jb250cmFjdERhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
- ;
2
1
  import { plainToClass } from 'class-transformer';
3
2
  /**
3
+ * @TODO vik/nicole test
4
4
  * Report related to Property sales CGT details.
5
5
  * All fields are about current year, except netCapitalLoss
6
6
  *
@@ -8,10 +8,11 @@ import { plainToClass } from 'class-transformer';
8
8
  export class MyTaxCgt {
9
9
  static createFrom(propertySales, properties, clientCapitalLoss) {
10
10
  return plainToClass(MyTaxCgt, {
11
- hasCapitalGain: !!propertySales.grossCGTAfterLoss,
12
- hasExemption: !!propertySales.grossCGTAfterLoss && this.isCGTApplicable(propertySales, properties),
13
- netCapitalGain: propertySales.sumBy('netCGT'),
14
- grossCapitalGain: propertySales.grossCGTAfterLoss,
11
+ // @TODO vik losses should be applied
12
+ hasCapitalGain: !!propertySales.grossCapitalGain,
13
+ hasExemption: !!propertySales.grossCapitalGain && this.isCGTApplicable(propertySales, properties),
14
+ netCapitalGain: propertySales.sumBy('netCapitalGain'),
15
+ grossCapitalGain: propertySales.grossCapitalGain,
15
16
  netCapitalLoss: clientCapitalLoss
16
17
  });
17
18
  }
@@ -23,4 +24,4 @@ export class MyTaxCgt {
23
24
  return !sales.getCGTApplicable().length || !properties.getCGTApplicable().length;
24
25
  }
25
26
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWNndC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtY2d0L215LXRheC1jZ3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQTBGLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2pEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQVduQixNQUFNLENBQUMsVUFBVSxDQUFDLGFBQXFDLEVBQUUsVUFBOEIsRUFBRSxpQkFBeUI7UUFDaEgsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQzVCLGNBQWMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLGlCQUFpQjtZQUNqRCxZQUFZLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7WUFDbEcsY0FBYyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQzdDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxpQkFBaUI7WUFDakQsY0FBYyxFQUFFLGlCQUFpQjtTQUNsQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLFVBQThCO1FBQ2xGLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbkYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvcHJvcGVydHkvcHJvcGVydHkuY29sbGVjdGlvbic7O1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBSZXBvcnQgcmVsYXRlZCB0byBQcm9wZXJ0eSBzYWxlcyBDR1QgZGV0YWlscy5cbiAqIEFsbCBmaWVsZHMgYXJlIGFib3V0IGN1cnJlbnQgeWVhciwgZXhjZXB0IG5ldENhcGl0YWxMb3NzXG4gKlxuICovXG5leHBvcnQgY2xhc3MgTXlUYXhDZ3Qge1xuICBoYXNDYXBpdGFsR2FpbjogYm9vbGVhbjtcbiAgaGFzRXhlbXB0aW9uOiBib29sZWFuO1xuICBuZXRDYXBpdGFsR2FpbjogbnVtYmVyO1xuICBncm9zc0NhcGl0YWxHYWluOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIExvc3MgY29sbGVjdGVkIG92ZXIgdGhlIHllYXJzXG4gICAqL1xuICBuZXRDYXBpdGFsTG9zczogbnVtYmVyO1xuXG4gIHN0YXRpYyBjcmVhdGVGcm9tKHByb3BlcnR5U2FsZXM6IFByb3BlcnR5U2FsZUNvbGxlY3Rpb24sIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbiwgY2xpZW50Q2FwaXRhbExvc3M6IG51bWJlcik6IE15VGF4Q2d0IHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKE15VGF4Q2d0LCB7XG4gICAgICBoYXNDYXBpdGFsR2FpbjogISFwcm9wZXJ0eVNhbGVzLmdyb3NzQ0dUQWZ0ZXJMb3NzLFxuICAgICAgaGFzRXhlbXB0aW9uOiAhIXByb3BlcnR5U2FsZXMuZ3Jvc3NDR1RBZnRlckxvc3MgJiYgdGhpcy5pc0NHVEFwcGxpY2FibGUocHJvcGVydHlTYWxlcywgcHJvcGVydGllcyksXG4gICAgICBuZXRDYXBpdGFsR2FpbjogcHJvcGVydHlTYWxlcy5zdW1CeSgnbmV0Q0dUJyksXG4gICAgICBncm9zc0NhcGl0YWxHYWluOiBwcm9wZXJ0eVNhbGVzLmdyb3NzQ0dUQWZ0ZXJMb3NzLFxuICAgICAgbmV0Q2FwaXRhbExvc3M6IGNsaWVudENhcGl0YWxMb3NzXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVtcHRpb24gaXMgYXBwbGljYWJsZSBmb3IgUFBSIHNhbGVzIGFuZCBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGVcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NjQ0MTEwNDY2L1RheCtSZXR1cm4rTXlUYXgrLStPbmxpbmUrRm9ybSAoXCJDYXBpdGFsIGdhaW5zIG9yIGxvc3Nlc1wiIHNlY3Rpb24pXG4gICAqL1xuICBzdGF0aWMgaXNDR1RBcHBsaWNhYmxlKHNhbGVzOiBQcm9wZXJ0eVNhbGVDb2xsZWN0aW9uLCBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXNhbGVzLmdldENHVEFwcGxpY2FibGUoKS5sZW5ndGggfHwgIXByb3BlcnRpZXMuZ2V0Q0dUQXBwbGljYWJsZSgpLmxlbmd0aDtcbiAgfVxufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWNndC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtY2d0L215LXRheC1jZ3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFXbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFxQyxFQUFFLFVBQThCLEVBQUUsaUJBQXlCO1FBQ2hILE9BQU8sWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUM1QixxQ0FBcUM7WUFDckMsY0FBYyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO1lBQ2hELFlBQVksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztZQUNqRyxjQUFjLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztZQUNyRCxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsZ0JBQWdCO1lBQ2hELGNBQWMsRUFBRSxpQkFBaUI7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBNkIsRUFBRSxVQUE4QjtRQUNsRixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ25GLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5Q29sbGVjdGlvbiwgUHJvcGVydHlTYWxlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBAVE9ETyB2aWsvbmljb2xlIHRlc3RcbiAqIFJlcG9ydCByZWxhdGVkIHRvIFByb3BlcnR5IHNhbGVzIENHVCBkZXRhaWxzLlxuICogQWxsIGZpZWxkcyBhcmUgYWJvdXQgY3VycmVudCB5ZWFyLCBleGNlcHQgbmV0Q2FwaXRhbExvc3NcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBNeVRheENndCB7XG4gIGhhc0NhcGl0YWxHYWluOiBib29sZWFuO1xuICBoYXNFeGVtcHRpb246IGJvb2xlYW47XG4gIG5ldENhcGl0YWxHYWluOiBudW1iZXI7XG4gIGdyb3NzQ2FwaXRhbEdhaW46IG51bWJlcjtcblxuICAvKipcbiAgICogTG9zcyBjb2xsZWN0ZWQgb3ZlciB0aGUgeWVhcnNcbiAgICovXG4gIG5ldENhcGl0YWxMb3NzOiBudW1iZXI7XG5cbiAgc3RhdGljIGNyZWF0ZUZyb20ocHJvcGVydHlTYWxlczogUHJvcGVydHlTYWxlQ29sbGVjdGlvbiwgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uLCBjbGllbnRDYXBpdGFsTG9zczogbnVtYmVyKTogTXlUYXhDZ3Qge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoTXlUYXhDZ3QsIHtcbiAgICAgIC8vIEBUT0RPIHZpayBsb3NzZXMgc2hvdWxkIGJlIGFwcGxpZWRcbiAgICAgIGhhc0NhcGl0YWxHYWluOiAhIXByb3BlcnR5U2FsZXMuZ3Jvc3NDYXBpdGFsR2FpbixcbiAgICAgIGhhc0V4ZW1wdGlvbjogISFwcm9wZXJ0eVNhbGVzLmdyb3NzQ2FwaXRhbEdhaW4gJiYgdGhpcy5pc0NHVEFwcGxpY2FibGUocHJvcGVydHlTYWxlcywgcHJvcGVydGllcyksXG4gICAgICBuZXRDYXBpdGFsR2FpbjogcHJvcGVydHlTYWxlcy5zdW1CeSgnbmV0Q2FwaXRhbEdhaW4nKSxcbiAgICAgIGdyb3NzQ2FwaXRhbEdhaW46IHByb3BlcnR5U2FsZXMuZ3Jvc3NDYXBpdGFsR2FpbixcbiAgICAgIG5ldENhcGl0YWxMb3NzOiBjbGllbnRDYXBpdGFsTG9zc1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogRXhlbXB0aW9uIGlzIGFwcGxpY2FibGUgZm9yIFBQUiBzYWxlcyBhbmQgcHJvcGVydGllcyBhY3F1aXJlZCBiZWZvcmUgUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgc3RhdGljIGlzQ0dUQXBwbGljYWJsZShzYWxlczogUHJvcGVydHlTYWxlQ29sbGVjdGlvbiwgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFzYWxlcy5nZXRDR1RBcHBsaWNhYmxlKCkubGVuZ3RoIHx8ICFwcm9wZXJ0aWVzLmdldENHVEFwcGxpY2FibGUoKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Occupation as OccupationBase } from '../../db/Models/user/occupation';
1
+ import { Occupation as OccupationBase } from '../../db/Models/client/occupation';
2
2
  export class Occupation extends OccupationBase {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjdXBhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci9vY2N1cGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLElBQUksY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0NBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2NjdXBhdGlvbiBhcyBPY2N1cGF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy91c2VyL29jY3VwYXRpb24nO1xuXG5leHBvcnQgY2xhc3MgT2NjdXBhdGlvbiBleHRlbmRzIE9jY3VwYXRpb25CYXNlIHtcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjdXBhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci9vY2N1cGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLElBQUksY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakYsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0NBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2NjdXBhdGlvbiBhcyBPY2N1cGF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9jbGllbnQvb2NjdXBhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBPY2N1cGF0aW9uIGV4dGVuZHMgT2NjdXBhdGlvbkJhc2Uge1xufVxuIl19
@@ -142,9 +142,9 @@ export class AccountSetupService {
142
142
  }));
143
143
  }
144
144
  }
145
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }], target: i0.ɵɵFactoryTarget.Injectable });
146
- AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AccountSetupService, decorators: [{
145
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }], target: i0.ɵɵFactoryTarget.Injectable });
146
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, decorators: [{
148
148
  type: Injectable,
149
149
  args: [{
150
150
  providedIn: 'root'
@@ -20,9 +20,9 @@ export class RewardfulService {
20
20
  });
21
21
  }
22
22
  }
23
- RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
24
- RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RewardfulService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RewardfulService, decorators: [{
23
+ RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root'
@@ -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'
@@ -48,9 +48,9 @@ export class AuthService {
48
48
  location.replace(url);
49
49
  }
50
50
  }
51
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, decorators: [{
51
+ 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.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root'
@@ -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'
@@ -54,9 +54,9 @@ export class BankTransactionCalculationService {
54
54
  return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
55
55
  }
56
56
  }
57
- BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
58
- BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
57
+ BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
58
+ BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
60
60
  type: Injectable,
61
61
  args: [{
62
62
  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'
@@ -36,9 +36,9 @@ export class SseService {
36
36
  }));
37
37
  }
38
38
  }
39
- 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 });
40
- SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SseService, providedIn: 'root' });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SseService, decorators: [{
39
+ 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 });
40
+ SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{
44
44
  providedIn: 'root'
@@ -20,9 +20,9 @@ export class ExportFormatterService {
20
20
  }));
21
21
  }
22
22
  }
23
- ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1.CurrencyPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
24
- ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ExportFormatterService, decorators: [{
23
+ ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1.CurrencyPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  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'
@@ -25,9 +25,9 @@ export class AddressService {
25
25
  return this.countriesSubject.asObservable();
26
26
  }
27
27
  }
28
- 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 });
29
- AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AddressService, providedIn: 'root' });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AddressService, decorators: [{
28
+ 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 });
29
+ AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root'
@@ -48,9 +48,9 @@ export class BankAccountService extends RestService {
48
48
  });
49
49
  }
50
50
  }
51
- BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
52
- BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankAccountService, decorators: [{
51
+ BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
52
+ BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root'
@@ -93,9 +93,9 @@ BankConnectionService.userEventTypes = [
93
93
  UserEventTypeTypeEnum.BASIQ_NEW_ACCOUNTS,
94
94
  UserEventTypeTypeEnum.BASIQ_AUTHORIZATION_FAIL
95
95
  ];
96
- BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
97
- BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankConnectionService, decorators: [{
96
+ BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, decorators: [{
99
99
  type: Injectable,
100
100
  args: [{
101
101
  providedIn: 'root'
@@ -64,9 +64,9 @@ export class BankTransactionService extends RestService {
64
64
  });
65
65
  }
66
66
  }
67
- BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
68
- BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankTransactionService, decorators: [{
67
+ BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
68
+ BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, decorators: [{
70
70
  type: Injectable,
71
71
  args: [{
72
72
  providedIn: 'root'
@@ -25,9 +25,9 @@ export class BankService extends RestService {
25
25
  }));
26
26
  }
27
27
  }
28
- BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
29
- BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankService, providedIn: 'root' });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BankService, decorators: [{
28
+ BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
29
+ BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root'
@@ -29,9 +29,9 @@ export class BasiqTokenService extends RestService {
29
29
  return this.cacheSubject.asObservable();
30
30
  }
31
31
  }
32
- BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
33
- BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenService, decorators: [{
32
+ BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
33
+ BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, decorators: [{
35
35
  type: Injectable,
36
36
  args: [{
37
37
  providedIn: 'root'
@@ -109,9 +109,9 @@ BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
109
109
  * Basiq does not provide a hook, so we have to check job status manually every x seconds
110
110
  */
111
111
  BasiqService.bankCredintialsCheckInterval = 3000;
112
- 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 });
113
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqService, providedIn: 'root' });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqService, decorators: [{
112
+ 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 });
113
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, providedIn: 'root' });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, decorators: [{
115
115
  type: Injectable,
116
116
  args: [{
117
117
  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'
@@ -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.4", 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.4", ngImport: i0, type: ChatService, providedIn: 'root' });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", 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'
@@ -67,9 +67,9 @@ export class MessageDocumentService extends RestService {
67
67
  }));
68
68
  }
69
69
  }
70
- MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MessageDocumentService, decorators: [{
70
+ MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
+ MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, decorators: [{
73
73
  type: Injectable,
74
74
  args: [{
75
75
  providedIn: 'root'