taxtank-core 0.28.97 → 0.28.98

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 (183) hide show
  1. package/bundles/taxtank-core.umd.js +2600 -2329
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/index.js +3 -1
  4. package/esm2015/lib/db/Models/abstract-model.js +2 -1
  5. package/esm2015/lib/db/Models/observable-model.js +10 -0
  6. package/esm2015/lib/db/Models/property/property.js +3 -3
  7. package/esm2015/lib/db/Models/sole/bas-report.js +3 -2
  8. package/esm2015/lib/functions/array/index.js +2 -1
  9. package/esm2015/lib/functions/array/to-array.js +7 -0
  10. package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
  11. package/esm2015/lib/interceptors/basiq-token.interceptor.js +3 -3
  12. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  13. package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
  14. package/esm2015/lib/interceptors/interceptors.module.js +4 -4
  15. package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
  16. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  17. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  18. package/esm2015/lib/models/event/app-event.js +12 -1
  19. package/esm2015/lib/models/property/property.js +3 -1
  20. package/esm2015/lib/services/account-setup/account-setup.service.js +6 -5
  21. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
  22. package/esm2015/lib/services/asset/assets.service.js +3 -3
  23. package/esm2015/lib/services/auth/auth.service.js +3 -3
  24. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  25. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  26. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  27. package/esm2015/lib/services/event/event-dispatcher.service.js +15 -4
  28. package/esm2015/lib/services/event/sse.service.js +3 -3
  29. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  30. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  31. package/esm2015/lib/services/http/address/address.service.js +3 -3
  32. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +5 -5
  33. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +5 -5
  34. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +5 -5
  35. package/esm2015/lib/services/http/bank/bank.service.js +5 -5
  36. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +3 -3
  37. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +5 -5
  38. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +5 -5
  39. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
  40. package/esm2015/lib/services/http/chat/chat.service.js +5 -5
  41. package/esm2015/lib/services/http/chat/message/message.service.js +5 -5
  42. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +3 -3
  43. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  44. package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
  45. package/esm2015/lib/services/http/depreciation/depreciation.service.js +5 -5
  46. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +5 -5
  47. package/esm2015/lib/services/http/document/document.service.js +5 -5
  48. package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
  49. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  50. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +5 -5
  51. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +5 -5
  52. package/esm2015/lib/services/http/firm/employee/employee.service.js +5 -5
  53. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +5 -5
  54. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  55. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  56. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +5 -5
  57. package/esm2015/lib/services/http/income-source/income-source.service.js +5 -5
  58. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +5 -5
  59. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +5 -5
  60. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
  61. package/esm2015/lib/services/http/loan/loan.service.js +5 -5
  62. package/esm2015/lib/services/http/property/property-category/property-category.service.js +5 -5
  63. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +5 -5
  64. package/esm2015/lib/services/http/property/property-document/property-document.service.js +5 -5
  65. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +5 -5
  66. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +5 -5
  67. package/esm2015/lib/services/http/property/property-share/property-share.service.js +5 -5
  68. package/esm2015/lib/services/http/property/property.service.js +32 -49
  69. package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
  70. package/esm2015/lib/services/http/rest/http-method.type.js +2 -0
  71. package/esm2015/lib/services/http/rest/index.js +3 -1
  72. package/esm2015/lib/services/http/rest/rest-method.type.js +2 -0
  73. package/esm2015/lib/services/http/rest/rest-old.service.js +225 -0
  74. package/esm2015/lib/services/http/rest/rest.service.js +146 -149
  75. package/esm2015/lib/services/http/service-notification/service-notification.service.js +5 -5
  76. package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +5 -5
  77. package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +5 -5
  78. package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +5 -5
  79. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +5 -5
  80. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +5 -5
  81. package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +5 -5
  82. package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
  83. package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
  84. package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +5 -5
  85. package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +5 -5
  86. package/esm2015/lib/services/http/subscription/service-price.service.js +5 -5
  87. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  88. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +5 -5
  89. package/esm2015/lib/services/http/tax-review/tax-review.service.js +5 -5
  90. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  91. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +5 -5
  92. package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
  93. package/esm2015/lib/services/http/transaction/transaction.service.js +5 -5
  94. package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
  95. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  96. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +5 -5
  97. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +5 -5
  98. package/esm2015/lib/services/http/user/user.service.js +3 -3
  99. package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +5 -5
  100. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
  101. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +5 -5
  102. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +5 -5
  103. package/esm2015/lib/services/http/vehicle/vehicle.service.js +5 -5
  104. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  105. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
  106. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
  107. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
  108. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
  109. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  110. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  111. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  112. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
  113. package/esm2015/lib/services/report/property/property-transaction-report.service.js +5 -6
  114. package/esm2015/lib/services/toast/toast.service.js +3 -3
  115. package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
  116. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  117. package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
  118. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  119. package/esm2015/lib/tt-core.module.js +4 -4
  120. package/fesm2015/taxtank-core.js +2247 -2012
  121. package/fesm2015/taxtank-core.js.map +1 -1
  122. package/lib/collections/index.d.ts +2 -0
  123. package/lib/db/Models/observable-model.d.ts +8 -0
  124. package/lib/db/Models/property/property.d.ts +2 -2
  125. package/lib/db/Models/sole/bas-report.d.ts +2 -1
  126. package/lib/functions/array/index.d.ts +1 -0
  127. package/lib/functions/array/to-array.d.ts +4 -0
  128. package/lib/models/event/app-event.d.ts +9 -0
  129. package/lib/models/property/property.d.ts +2 -0
  130. package/lib/services/event/event-dispatcher.service.d.ts +9 -1
  131. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +1 -1
  132. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +1 -1
  133. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +1 -1
  134. package/lib/services/http/bank/bank.service.d.ts +1 -1
  135. package/lib/services/http/bank/basiq/basiq.service.d.ts +1 -1
  136. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +1 -1
  137. package/lib/services/http/chat/chat.service.d.ts +1 -1
  138. package/lib/services/http/chat/message/message.service.d.ts +1 -1
  139. package/lib/services/http/depreciation/depreciation.service.d.ts +1 -1
  140. package/lib/services/http/document/document-folder/document-folder.service.d.ts +1 -1
  141. package/lib/services/http/document/document.service.d.ts +1 -1
  142. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +1 -1
  143. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -1
  144. package/lib/services/http/firm/employee/employee.service.d.ts +1 -1
  145. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +1 -1
  146. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +1 -1
  147. package/lib/services/http/income-source/income-source.service.d.ts +1 -1
  148. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +1 -1
  149. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +1 -1
  150. package/lib/services/http/loan/loan.service.d.ts +1 -1
  151. package/lib/services/http/property/property-category/property-category.service.d.ts +1 -1
  152. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +1 -1
  153. package/lib/services/http/property/property-document/property-document.service.d.ts +1 -1
  154. package/lib/services/http/property/property-sale/property-sale.service.d.ts +1 -1
  155. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +1 -1
  156. package/lib/services/http/property/property-share/property-share.service.d.ts +1 -1
  157. package/lib/services/http/property/property.service.d.ts +8 -11
  158. package/lib/services/http/rest/http-method.type.d.ts +1 -0
  159. package/lib/services/http/rest/index.d.ts +2 -0
  160. package/lib/services/http/rest/rest-method.type.d.ts +1 -0
  161. package/lib/services/http/rest/rest-old.service.d.ts +110 -0
  162. package/lib/services/http/rest/rest.service.d.ts +71 -62
  163. package/lib/services/http/service-notification/service-notification.service.d.ts +1 -1
  164. package/lib/services/http/sole/bas-report/bas-report.service.d.ts +1 -1
  165. package/lib/services/http/sole/sole-business/sole-business.service.d.ts +1 -1
  166. package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +1 -1
  167. package/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.d.ts +1 -1
  168. package/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts +1 -1
  169. package/lib/services/http/sole/sole-contact/sole-contact.service.d.ts +1 -1
  170. package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts +1 -1
  171. package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts +1 -1
  172. package/lib/services/http/subscription/service-price.service.d.ts +1 -1
  173. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +1 -1
  174. package/lib/services/http/tax-review/tax-review.service.d.ts +1 -1
  175. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +1 -1
  176. package/lib/services/http/transaction/transaction.service.d.ts +1 -1
  177. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +1 -1
  178. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +1 -1
  179. package/lib/services/http/user/users-invite/users-invite.service.d.ts +1 -1
  180. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +1 -1
  181. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +1 -1
  182. package/lib/services/http/vehicle/vehicle.service.d.ts +1 -1
  183. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { PropertySale } from '../../../../models/property/property-sale/property-sale';
3
- import { RestService } from '../../rest/rest.service';
3
+ import { RestService } from '../../rest/rest-old.service';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { AppEvent } from '../../../../models/event/app-event';
6
6
  import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
@@ -29,12 +29,12 @@ export class PropertySaleService extends RestService {
29
29
  }));
30
30
  }
31
31
  }
32
- PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
33
- PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, decorators: [{
32
+ PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
33
+ PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, decorators: [{
35
35
  type: Injectable,
36
36
  args: [{
37
37
  providedIn: 'root'
38
38
  }]
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUEyQztJQUhwRjs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsa0JBQWtCLENBQUM7S0F3QmxDO0lBdEJDOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEtBQW1CO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLGVBQTZCLEVBQWdCLEVBQUU7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO1lBQ3pHLE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBbUI7UUFDeEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLEdBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7aUhBekJVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSBhcyBQcm9wZXJ0eVNhbGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNhbGUgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNhbGVTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8UHJvcGVydHlTYWxlQmFzZSwgUHJvcGVydHlTYWxlPiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eVNhbGUgPSBQcm9wZXJ0eVNhbGU7XG4gIHVybDogc3RyaW5nID0gJ3Byb3BlcnRpZXMvc2FsZXMnO1xuXG4gIC8qKlxuICAgKiBAVG9kbyBzaG91bGQgYmUgZXh0ZW5kZWQgZnJvbSB0aGUgUmVzdFNlcnZpY2VcbiAgICovXG4gIGFkZChtb2RlbDogUHJvcGVydHlTYWxlKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNhbGU+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKChuZXdQcm9wZXJ0eVNhbGU6IFByb3BlcnR5U2FsZSk6IFByb3BlcnR5U2FsZSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0FEREVELCBuZXdQcm9wZXJ0eVNhbGUpKVxuICAgICAgICByZXR1cm4gbmV3UHJvcGVydHlTYWxlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIHNob3VsZCBiZSBleHRlbmRlZCBmcm9tIHRoZSBSZXN0U2VydmljZVxuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBQcm9wZXJ0eVNhbGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NBTEVfREVMRVRFRCwgbW9kZWwpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUEyQztJQUhwRjs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsa0JBQWtCLENBQUM7S0F3QmxDO0lBdEJDOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEtBQW1CO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLGVBQTZCLEVBQWdCLEVBQUU7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO1lBQ3pHLE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBbUI7UUFDeEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLEdBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7aUhBekJVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSBhcyBQcm9wZXJ0eVNhbGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNhbGUgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlTYWxlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFByb3BlcnR5U2FsZUJhc2UsIFByb3BlcnR5U2FsZT4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgUHJvcGVydHlTYWxlID0gUHJvcGVydHlTYWxlO1xuICB1cmw6IHN0cmluZyA9ICdwcm9wZXJ0aWVzL3NhbGVzJztcblxuICAvKipcbiAgICogQFRvZG8gc2hvdWxkIGJlIGV4dGVuZGVkIGZyb20gdGhlIFJlc3RTZXJ2aWNlXG4gICAqL1xuICBhZGQobW9kZWw6IFByb3BlcnR5U2FsZSk6IE9ic2VydmFibGU8UHJvcGVydHlTYWxlPiB7XG4gICAgcmV0dXJuIHN1cGVyLmFkZChtb2RlbCkucGlwZShcbiAgICAgIG1hcCgobmV3UHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpOiBQcm9wZXJ0eVNhbGUgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0FMRV9BRERFRCwgbmV3UHJvcGVydHlTYWxlKSlcbiAgICAgICAgcmV0dXJuIG5ld1Byb3BlcnR5U2FsZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVG9kbyBzaG91bGQgYmUgZXh0ZW5kZWQgZnJvbSB0aGUgUmVzdFNlcnZpY2VcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogUHJvcGVydHlTYWxlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHN1cGVyLmRlbGV0ZShtb2RlbCkucGlwZShcbiAgICAgIG1hcCgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0RFTEVURUQsIG1vZGVsKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { RestService } from '../../../rest/rest.service';
2
+ import { RestService } from '../../../rest/rest-old.service';
3
3
  import { TaxExemption } from '../../../../../models/property/property-sale/tax-exemption';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TaxExemptionService extends RestService {
@@ -10,12 +10,12 @@ export class TaxExemptionService extends RestService {
10
10
  this.isHydra = true;
11
11
  }
12
12
  }
13
- TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14
- TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, decorators: [{
13
+ TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14
+ TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{
18
18
  providedIn: 'root'
19
19
  }]
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWV4ZW1wdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uL3RheC1leGVtcHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNERBQTRELENBQUM7O0FBSzFGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUEyQztJQUhwRjs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsZ0JBQWdCLENBQUM7UUFDL0IsWUFBTyxHQUFZLElBQUksQ0FBQztLQUN6Qjs7aUhBSlksbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBUYXhFeGVtcHRpb24gYXMgQmFzZVRheEV4ZW1wdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24nO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRheEV4ZW1wdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYXNlVGF4RXhlbXB0aW9uLCBUYXhFeGVtcHRpb24+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFRheEV4ZW1wdGlvbiA9IFRheEV4ZW1wdGlvbjtcbiAgdXJsOiBzdHJpbmcgPSAndGF4LWV4ZW1wdGlvbnMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWV4ZW1wdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uL3RheC1leGVtcHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNERBQTRELENBQUM7O0FBSzFGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUEyQztJQUhwRjs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsZ0JBQWdCLENBQUM7UUFDL0IsWUFBTyxHQUFZLElBQUksQ0FBQztLQUN6Qjs7aUhBSlksbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uIGFzIEJhc2VUYXhFeGVtcHRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uJztcbmltcG9ydCB7IFRheEV4ZW1wdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUYXhFeGVtcHRpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFzZVRheEV4ZW1wdGlvbiwgVGF4RXhlbXB0aW9uPiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBUYXhFeGVtcHRpb24gPSBUYXhFeGVtcHRpb247XG4gIHVybDogc3RyaW5nID0gJ3RheC1leGVtcHRpb25zJztcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { map } from 'rxjs/operators';
3
3
  import { replace } from '../../../../functions/array';
4
4
  import { plainToClass } from 'class-transformer';
5
5
  import { PropertyShare } from '../../../../models/property/property-share';
6
- import { RestService } from '../../rest/rest.service';
6
+ import { RestService } from '../../rest/rest-old.service';
7
7
  import { AppEvent } from '../../../../models/event/app-event';
8
8
  import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
9
  import { PropertySale } from '../../../../models/property/property-sale/property-sale';
@@ -117,12 +117,12 @@ export class PropertyShareService extends RestService {
117
117
  });
118
118
  }
119
119
  }
120
- PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
121
- PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, decorators: [{
120
+ PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
121
+ PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, decorators: [{
123
123
  type: Injectable,
124
124
  args: [{
125
125
  providedIn: 'root'
126
126
  }]
127
127
  }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlL3Byb3BlcnR5LXNoYXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seURBQXlELENBQUM7O0FBRXZGLG1EQUFtRDtBQUluRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBNkM7SUFIdkY7O1FBSUUsMENBQTBDO1FBQzFDLFFBQUcsR0FBVyxtQkFBbUIsQ0FBQztRQUNsQyxlQUFVLEdBQUcsYUFBYSxDQUFDO0tBeUg1QjtJQXZIQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBNEI7UUFDakMsT0FB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Q0FBQztZQUN2RSxjQUFjLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUUzQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEEzSFUsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSBhcyBQcm9wZXJ0eVNoYXJlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZSc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5cbi8vIEBUT0RPIGNoZWNrIGFuZCBpbXByb3ZlIGxvZ2ljIGR1cmluZyByZWZhY3RvcmluZ1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlTaGFyZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxQcm9wZXJ0eVNoYXJlQmFzZSwgUHJvcGVydHlTaGFyZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIC8vIGFwaSB1cmwgcGFyYW1ldGVyIGZvciBwcm9wZXJ0aWVzIHNoYXJlc1xuICB1cmw6IHN0cmluZyA9ICdwcm9wZXJ0aWVzL3NoYXJlcyc7XG4gIG1vZGVsQ2xhc3MgPSBQcm9wZXJ0eVNoYXJlO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnQgRGlzcGF0Y2hlciBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblVzZXJVcGRhdGVkKCk7XG4gICAgdGhpcy5saXN0ZW5TYWxlc0FkZGVkKCk7XG4gICAgdGhpcy5saXN0ZW5TYWxlc0RlbGV0ZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVkIGxvYW5cbiAgICovXG4gIHVwZGF0ZShwcm9wZXJ0eVNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNoYXJlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtwcm9wZXJ0eVNoYXJlLmlkfWAsIHByb3BlcnR5U2hhcmUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkUHJvcGVydHlTaGFyZUJhc2U6IFByb3BlcnR5U2hhcmVCYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFByb3BlcnR5U2hhcmU6IFByb3BlcnR5U2hhcmUgPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlTaGFyZSwgdXBkYXRlZFByb3BlcnR5U2hhcmVCYXNlKTtcbiAgICAgICAgICAvLyBpZiBsb2FuIHR5cGUgaXMgTk9UIHZlaGljbGUgLSBmaXJlIEV2ZW50RGlzcGF0Y2hlciBldmVudFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVELCBudWxsKSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRQcm9wZXJ0eVNoYXJlKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eVNoYXJlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1pbnZpdGUgcHJvcGVydHkgc2hhcmVcbiAgICogQHBhcmFtIHNoYXJlIHVzZXIgdG8gc2hhcmUgcHJvcGVydHlcbiAgICovXG4gIHJlaW52aXRlKHNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtzaGFyZS5pZH0vcmVpbnZpdGVgLCB7fSk7XG4gIH1cblxuICBnZXRJbmNvbWluZygpOiBPYnNlcnZhYmxlPFByb3BlcnR5U2hhcmVbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShtYXAoKHByb3BlcnR5U2hhcmVzOiBQcm9wZXJ0eVNoYXJlW10pID0+IHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlTaGFyZXNJbmNvbWluZzogUHJvcGVydHlTaGFyZVtdID0gW107XG5cbiAgICAgICAgcHJvcGVydHlTaGFyZXMuZm9yRWFjaCgocHJvcGVydHlTaGFyZTogUHJvcGVydHlTaGFyZSkgPT4ge1xuICAgICAgICAgIGlmIChwcm9wZXJ0eVNoYXJlLnVzZXI/LmlzTG9nZ2VkSW4oKSAmJiBwcm9wZXJ0eVNoYXJlLmlzUGVuZGluZygpICYmIHByb3BlcnR5U2hhcmUucHJvcGVydHkudXNlci5pZCAhPT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKSkge1xuICAgICAgICAgICAgcHJvcGVydHlTaGFyZXNJbmNvbWluZy5wdXNoKHByb3BlcnR5U2hhcmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHByb3BlcnR5U2hhcmVzSW5jb21pbmc7XG4gICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG91dGNvbWluZyBwcm9wZXJ0eSBzaGFyZXMgbGlzdFxuICAgKi9cbiAgZ2V0T3V0Y29taW5nKCk6IE9ic2VydmFibGU8UHJvcGVydHlTaGFyZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgocHJvcGVydHlTaGFyZXM6IFByb3BlcnR5U2hhcmVbXSk6IFByb3BlcnR5U2hhcmVbXSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlck91dGNvbWluZyhwcm9wZXJ0eVNoYXJlcyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIG91dGNvbWluZyBwcm9wZXJ0eSBzaGFyZXNcbiAgICovXG4gIGZpbHRlck91dGNvbWluZyhwcm9wZXJ0eVNoYXJlczogUHJvcGVydHlTaGFyZVtdKTogUHJvcGVydHlTaGFyZVtdIHtcbiAgICBjb25zdCBwcm9wZXJ0eVNoYXJlc091dGNvbWluZzogUHJvcGVydHlTaGFyZVtdID0gW107XG5cbiAgICBwcm9wZXJ0eVNoYXJlcy5mb3JFYWNoKChwcm9wZXJ0eVNoYXJlOiBQcm9wZXJ0eVNoYXJlKSA9PiB7XG4gICAgICBpZiAoIXByb3BlcnR5U2hhcmUudXNlcj8uaXNMb2dnZWRJbigpKSB7XG4gICAgICAgIHByb3BlcnR5U2hhcmVzT3V0Y29taW5nLnB1c2gocHJvcGVydHlTaGFyZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJvcGVydHlTaGFyZXNPdXRjb21pbmc7XG4gIH1cblxuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNoYXJlW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocHJvcGVydHlTaGFyZXM6IFByb3BlcnR5U2hhcmVbXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwcm9wZXJ0eVNoYXJlcy5maWx0ZXIoKHByb3BlcnR5U2hhcmU6IFByb3BlcnR5U2hhcmUpID0+IHByb3BlcnR5U2hhcmUucHJvcGVydHkuaWQgPT09IHByb3BlcnR5SWQpO1xuICAgICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIFVzZXIgdXBkYXRlZCBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Vc2VyVXBkYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5VU0VSX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgocHJvcGVydHlTaGFyZXM6IFByb3BlcnR5U2hhcmVbXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBwcm9wZXJ0eVNoYXJlcztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gQWxleCByZWZhY3RvciBhZnRlciBQcm9wZXJ0eVNoYXJlIGZ1bmN0aW9uYWxpdHkgaW4gUHJvcGVydHlTZXJ2aWNlIHdpbGwgYmUgY2xlYXJlZCB1cFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TYWxlc0FkZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NBTEVfQURERUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHNoYXJlVG9SZXBsYWNlOiBQcm9wZXJ0eVNoYXJlID0gdGhpcy5maW5kKHByb3BlcnR5U2FsZS5zaGFyZS5pZCk7XG4gICAgICBzaGFyZVRvUmVwbGFjZS5zYWxlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2FsZSwge2lkOiBwcm9wZXJ0eVNhbGUuaWR9KTtcblxuICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBzaGFyZVRvUmVwbGFjZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblNhbGVzRGVsZXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0RFTEVURUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHNoYXJlVG9SZXBsYWNlOiBQcm9wZXJ0eVNoYXJlID0gdGhpcy5maW5kKHByb3BlcnR5U2FsZS5zaGFyZS5pZCk7XG4gICAgICBzaGFyZVRvUmVwbGFjZS5zYWxlID0gbnVsbDtcblxuICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBzaGFyZVRvUmVwbGFjZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlL3Byb3BlcnR5LXNoYXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seURBQXlELENBQUM7O0FBRXZGLG1EQUFtRDtBQUluRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBNkM7SUFIdkY7O1FBSUUsMENBQTBDO1FBQzFDLFFBQUcsR0FBVyxtQkFBbUIsQ0FBQztRQUNsQyxlQUFVLEdBQUcsYUFBYSxDQUFDO0tBeUg1QjtJQXZIQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBNEI7UUFDakMsT0FB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Q0FBQztZQUN2RSxjQUFjLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUUzQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEEzSFUsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSBhcyBQcm9wZXJ0eVNoYXJlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZSc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUnO1xuXG4vLyBAVE9ETyBjaGVjayBhbmQgaW1wcm92ZSBsb2dpYyBkdXJpbmcgcmVmYWN0b3JpbmdcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2hhcmVTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8UHJvcGVydHlTaGFyZUJhc2UsIFByb3BlcnR5U2hhcmU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyBhcGkgdXJsIHBhcmFtZXRlciBmb3IgcHJvcGVydGllcyBzaGFyZXNcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcy9zaGFyZXMnO1xuICBtb2RlbENsYXNzID0gUHJvcGVydHlTaGFyZTtcblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50IERpc3BhdGNoZXIgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Vc2VyVXBkYXRlZCgpO1xuICAgIHRoaXMubGlzdGVuU2FsZXNBZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuU2FsZXNEZWxldGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlZCBsb2FuXG4gICAqL1xuICB1cGRhdGUocHJvcGVydHlTaGFyZTogUHJvcGVydHlTaGFyZSk6IE9ic2VydmFibGU8UHJvcGVydHlTaGFyZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7cHJvcGVydHlTaGFyZS5pZH1gLCBwcm9wZXJ0eVNoYXJlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZFByb3BlcnR5U2hhcmVCYXNlOiBQcm9wZXJ0eVNoYXJlQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRQcm9wZXJ0eVNoYXJlOiBQcm9wZXJ0eVNoYXJlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2hhcmUsIHVwZGF0ZWRQcm9wZXJ0eVNoYXJlQmFzZSk7XG4gICAgICAgICAgLy8gaWYgbG9hbiB0eXBlIGlzIE5PVCB2ZWhpY2xlIC0gZmlyZSBFdmVudERpc3BhdGNoZXIgZXZlbnRcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCwgbnVsbCkpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkUHJvcGVydHlTaGFyZSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkUHJvcGVydHlTaGFyZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmUtaW52aXRlIHByb3BlcnR5IHNoYXJlXG4gICAqIEBwYXJhbSBzaGFyZSB1c2VyIHRvIHNoYXJlIHByb3BlcnR5XG4gICAqL1xuICByZWludml0ZShzaGFyZTogUHJvcGVydHlTaGFyZSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7c2hhcmUuaWR9L3JlaW52aXRlYCwge30pO1xuICB9XG5cbiAgZ2V0SW5jb21pbmcoKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNoYXJlW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUobWFwKChwcm9wZXJ0eVNoYXJlczogUHJvcGVydHlTaGFyZVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5U2hhcmVzSW5jb21pbmc6IFByb3BlcnR5U2hhcmVbXSA9IFtdO1xuXG4gICAgICAgIHByb3BlcnR5U2hhcmVzLmZvckVhY2goKHByb3BlcnR5U2hhcmU6IFByb3BlcnR5U2hhcmUpID0+IHtcbiAgICAgICAgICBpZiAocHJvcGVydHlTaGFyZS51c2VyPy5pc0xvZ2dlZEluKCkgJiYgcHJvcGVydHlTaGFyZS5pc1BlbmRpbmcoKSAmJiBwcm9wZXJ0eVNoYXJlLnByb3BlcnR5LnVzZXIuaWQgIT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpIHtcbiAgICAgICAgICAgIHByb3BlcnR5U2hhcmVzSW5jb21pbmcucHVzaChwcm9wZXJ0eVNoYXJlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBwcm9wZXJ0eVNoYXJlc0luY29taW5nO1xuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvdXRjb21pbmcgcHJvcGVydHkgc2hhcmVzIGxpc3RcbiAgICovXG4gIGdldE91dGNvbWluZygpOiBPYnNlcnZhYmxlPFByb3BlcnR5U2hhcmVbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHByb3BlcnR5U2hhcmVzOiBQcm9wZXJ0eVNoYXJlW10pOiBQcm9wZXJ0eVNoYXJlW10gPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJPdXRjb21pbmcocHJvcGVydHlTaGFyZXMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBvdXRjb21pbmcgcHJvcGVydHkgc2hhcmVzXG4gICAqL1xuICBmaWx0ZXJPdXRjb21pbmcocHJvcGVydHlTaGFyZXM6IFByb3BlcnR5U2hhcmVbXSk6IFByb3BlcnR5U2hhcmVbXSB7XG4gICAgY29uc3QgcHJvcGVydHlTaGFyZXNPdXRjb21pbmc6IFByb3BlcnR5U2hhcmVbXSA9IFtdO1xuXG4gICAgcHJvcGVydHlTaGFyZXMuZm9yRWFjaCgocHJvcGVydHlTaGFyZTogUHJvcGVydHlTaGFyZSkgPT4ge1xuICAgICAgaWYgKCFwcm9wZXJ0eVNoYXJlLnVzZXI/LmlzTG9nZ2VkSW4oKSkge1xuICAgICAgICBwcm9wZXJ0eVNoYXJlc091dGNvbWluZy5wdXNoKHByb3BlcnR5U2hhcmUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5U2hhcmVzT3V0Y29taW5nO1xuICB9XG5cbiAgZ2V0QnlQcm9wZXJ0eUlkKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlTaGFyZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3BlcnR5U2hhcmVzOiBQcm9wZXJ0eVNoYXJlW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gcHJvcGVydHlTaGFyZXMuZmlsdGVyKChwcm9wZXJ0eVNoYXJlOiBQcm9wZXJ0eVNoYXJlKSA9PiBwcm9wZXJ0eVNoYXJlLnByb3BlcnR5LmlkID09PSBwcm9wZXJ0eUlkKTtcbiAgICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBVc2VyIHVwZGF0ZWQgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVXNlclVwZGF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVVNFUl9VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKHByb3BlcnR5U2hhcmVzOiBQcm9wZXJ0eVNoYXJlW10pID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcHJvcGVydHlTaGFyZXM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIEFsZXggcmVmYWN0b3IgYWZ0ZXIgUHJvcGVydHlTaGFyZSBmdW5jdGlvbmFsaXR5IGluIFByb3BlcnR5U2VydmljZSB3aWxsIGJlIGNsZWFyZWQgdXBcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU2FsZXNBZGRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0FEREVEKS5zdWJzY3JpYmUoKHByb3BlcnR5U2FsZTogUHJvcGVydHlTYWxlKSA9PiB7XG4gICAgICBjb25zdCBzaGFyZVRvUmVwbGFjZTogUHJvcGVydHlTaGFyZSA9IHRoaXMuZmluZChwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgc2hhcmVUb1JlcGxhY2Uuc2FsZSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eVNhbGUsIHtpZDogcHJvcGVydHlTYWxlLmlkfSk7XG5cbiAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgc2hhcmVUb1JlcGxhY2UpO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5TYWxlc0RlbGV0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0FMRV9ERUxFVEVEKS5zdWJzY3JpYmUoKHByb3BlcnR5U2FsZTogUHJvcGVydHlTYWxlKSA9PiB7XG4gICAgICBjb25zdCBzaGFyZVRvUmVwbGFjZTogUHJvcGVydHlTaGFyZSA9IHRoaXMuZmluZChwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgc2hhcmVUb1JlcGxhY2Uuc2FsZSA9IG51bGw7XG5cbiAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgc2hhcmVUb1JlcGxhY2UpO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,25 +1,42 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { map } from 'rxjs/operators';
3
- import { replace } from '../../../functions/array';
4
3
  import { plainToClass } from 'class-transformer';
5
- import { RestService } from '../rest/rest.service';
6
4
  import { Property } from '../../../models/property/property';
7
5
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
8
- import { AppEvent } from '../../../models/event/app-event';
9
6
  import { PropertySubscription } from '../../../models/property/property-subscription';
10
7
  import { PropertySale } from '../../../models/property/property-sale/property-sale';
8
+ import merge from 'lodash/merge';
9
+ import { AppEvent } from '../../../models/event/app-event';
10
+ import { RestService } from '../rest/rest.service';
11
+ import { PropertyCollection } from '../../../collections';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @Todo Alex remove functionality related to PropertyShare
15
+ * @TODO Alex (TT-1777): replace all event listeners with the new this.listen()
14
16
  * Service for work with Property
15
17
  */
16
18
  export class PropertyService extends RestService {
17
19
  constructor() {
18
20
  super(...arguments);
19
21
  this.modelClass = Property;
20
- this.url = 'properties';
22
+ this.collectionClass = PropertyCollection;
23
+ this.entityUrl = 'properties';
24
+ }
25
+ post(property) {
26
+ return super.post(property)
27
+ // @TODO Alex (TT-1777): handle this events and refactor
28
+ .pipe(map((updatedProperty) => {
29
+ if (property.documentFile) {
30
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_UPDATED_WITH_DOCUMENT, property));
31
+ }
32
+ else {
33
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_UPDATED, property));
34
+ }
35
+ return updatedProperty;
36
+ }));
21
37
  }
22
38
  listenEvents() {
39
+ this.cache;
23
40
  this.listenShareInviteAccepted();
24
41
  // @TODO Alex: consider to refactor property movements logic similar to client-movements
25
42
  this.listenMovementsChanged();
@@ -48,39 +65,21 @@ export class PropertyService extends RestService {
48
65
  this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_SALE_ADDED).subscribe((propertySale) => {
49
66
  const propertyToReplace = this.cache.find((property) => property.myShare.id === propertySale.share.id);
50
67
  propertyToReplace.myShare.sale = plainToClass(PropertySale, { id: propertySale.id });
51
- replace(this.cache, propertyToReplace);
52
- this.updateCache();
68
+ this.updateCache([propertyToReplace], 'put');
53
69
  });
54
70
  }
55
71
  listenSalesDeleted() {
56
72
  this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_SALE_DELETED).subscribe((propertySale) => {
57
73
  const propertyToReplace = this.cache.find((property) => property.myShare.id === propertySale.share.id);
58
74
  propertyToReplace.myShare.sale = null;
59
- replace(this.cache, propertyToReplace);
60
- this.updateCache();
75
+ this.updateCache([propertyToReplace], 'put');
61
76
  });
62
77
  }
63
- update(property) {
64
- return super.update(property).pipe(map((updatedProperty) => {
65
- if (property.documentFile) {
66
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_UPDATED_WITH_DOCUMENT, property));
67
- }
68
- else {
69
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_UPDATED, property));
70
- }
71
- return updatedProperty;
72
- }));
73
- }
74
78
  updateDepreciationCalculation(property) {
75
79
  const propertyToUpdate = plainToClass(Property, { id: property.id, depreciationCalculation: property.depreciationCalculation });
76
- return this.update(propertyToUpdate).pipe(map((updatedProperty) => {
80
+ return this.post(propertyToUpdate)
81
+ .pipe(map((updatedProperty) => {
77
82
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_DEPRECIATION_CALCULATION_UPDATED, updatedProperty));
78
- return updatedProperty;
79
- }));
80
- }
81
- getByCategoryId(id) {
82
- return this.get().pipe(map((properties) => {
83
- return properties.filter((property) => property.category.id === id);
84
83
  }));
85
84
  }
86
85
  /**
@@ -91,8 +90,7 @@ export class PropertyService extends RestService {
91
90
  .pipe(map((propertySubscriptionBase) => {
92
91
  const newPropertySubscription = plainToClass(PropertySubscription, propertySubscriptionBase);
93
92
  const activatedProperty = plainToClass(Property, Object.assign({}, property, { subscriptions: [newPropertySubscription] }));
94
- replace(this.cache, activatedProperty);
95
- this.updateCache();
93
+ this.updateCache([activatedProperty], 'put');
96
94
  }));
97
95
  }
98
96
  /**
@@ -102,8 +100,7 @@ export class PropertyService extends RestService {
102
100
  return this.http.delete(`${this.environment.apiV2}/property-subscriptions/${property.getCurrentSubscription().id}`)
103
101
  .pipe(map(() => {
104
102
  const deactivatedProperty = plainToClass(Property, Object.assign({}, property, { subscriptions: [] }));
105
- replace(this.cache, deactivatedProperty);
106
- this.updateCache();
103
+ this.updateCache([deactivatedProperty], 'put');
107
104
  }));
108
105
  }
109
106
  /**
@@ -114,30 +111,16 @@ export class PropertyService extends RestService {
114
111
  updatePhoto(property, photoFormData) {
115
112
  return this.http.post(`${this.environment.apiV2}/properties/${property.id}/photo?_method=PUT`, photoFormData)
116
113
  .pipe(map((photoLink) => {
117
- property.photo = photoLink;
118
- // update properties cache
119
- replace(this.cache, property);
120
- this.updateCache();
121
- }));
122
- }
123
- getByShareId(id) {
124
- return this.get().pipe(map((properties) => {
125
- return properties.filter((property) => property.user.id === id);
114
+ this.updateCache([plainToClass(Property, merge(property, { photo: photoLink }))], 'put');
126
115
  }));
127
116
  }
128
- /**
129
- * Get list of active user's properties
130
- */
131
- getActive() {
132
- return this.get().pipe(map((properties) => properties.filter((property) => property.isActive)));
133
- }
134
117
  }
135
- PropertyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
136
- PropertyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyService, providedIn: 'root' });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyService, decorators: [{
118
+ PropertyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
119
+ PropertyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyService, providedIn: 'root' });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyService, decorators: [{
138
121
  type: Injectable,
139
122
  args: [{
140
123
  providedIn: 'root'
141
124
  }]
142
125
  }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0RBQXNELENBQUM7O0FBRXBGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQW1DO0lBSHhFOztRQUlFLGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBQ3ZDLFFBQUcsR0FBVyxZQUFZLENBQUM7S0FxSjVCO0lBbkpDLFlBQVk7UUFDVixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyx3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztP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LEdBQUcsQ0FBQyxDQUFDLFNBQWlCLEVBQVEsRUFBRTtZQUM5QixRQUFRLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUMzQiwwQkFBMEI7WUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsQ0FBQyxVQUFzQixFQUFjLEVBQUU7WUFDekMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQWMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDbkgsQ0FBQztJQUNKLENBQUM7OzZHQXRKVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydHkgYXMgUHJvcGVydHlCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gYXMgUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5cbi8qKlxuICogQFRvZG8gQWxleCByZW1vdmUgZnVuY3Rpb25hbGl0eSByZWxhdGVkIHRvIFByb3BlcnR5U2hhcmVcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBQcm9wZXJ0eVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxQcm9wZXJ0eUJhc2UsIFByb3BlcnR5PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFByb3BlcnR5ID0gUHJvcGVydHk7XG4gIHVybDogc3RyaW5nID0gJ3Byb3BlcnRpZXMnO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblNoYXJlSW52aXRlQWNjZXB0ZWQoKTtcbiAgICAvLyBAVE9ETyBBbGV4OiBjb25zaWRlciB0byByZWZhY3RvciBwcm9wZXJ0eSBtb3ZlbWVudHMgbG9naWMgc2ltaWxhciB0byBjbGllbnQtbW92ZW1lbnRzXG4gICAgdGhpcy5saXN0ZW5Nb3ZlbWVudHNDaGFuZ2VkKCk7XG4gICAgdGhpcy5saXN0ZW5TYWxlc0FkZGVkKCk7XG4gICAgdGhpcy5saXN0ZW5TYWxlc0RlbGV0ZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiBzaGFyZSBpbnZpdGF0aW9uIGFjY2VwdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNoYXJlSW52aXRlQWNjZXB0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiBwcm9wZXJ0eSBjYXRlZ29yeSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1vdmVtZW50c0NoYW5nZWQoKTogdm9pZCB7XG4gICAgLy8gQFRPRE8gY2hhbmdlIGRpc3BhdGNoZXIgbG9naWMgdG8gd29yayB3aXRoIG11bHRpcGxlIGV2ZW50c1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0NSRUFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9NT1ZFTUVOVF9ERUxFVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIEFsZXggcmVmYWN0b3IgYWZ0ZXIgUHJvcGVydHlTaGFyZSB3aWxsIGJlIGNsZWFyZWQgdXBcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU2FsZXNBZGRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0FEREVEKS5zdWJzY3JpYmUoKHByb3BlcnR5U2FsZTogUHJvcGVydHlTYWxlKSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0eVRvUmVwbGFjZTogUHJvcGVydHkgPSB0aGlzLmNhY2hlLmZpbmQoKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4gcHJvcGVydHkubXlTaGFyZS5pZCA9PT0gcHJvcGVydHlTYWxlLnNoYXJlLmlkKTtcbiAgICAgIHByb3BlcnR5VG9SZXBsYWNlLm15U2hhcmUuc2FsZSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eVNhbGUsIHtpZDogcHJvcGVydHlTYWxlLmlkfSk7XG5cbiAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgcHJvcGVydHlUb1JlcGxhY2UpO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5TYWxlc0RlbGV0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0FMRV9ERUxFVEVEKS5zdWJzY3JpYmUoKHByb3BlcnR5U2FsZTogUHJvcGVydHlTYWxlKSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0eVRvUmVwbGFjZTogUHJvcGVydHkgPSB0aGlzLmNhY2hlLmZpbmQoKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4gcHJvcGVydHkubXlTaGFyZS5pZCA9PT0gcHJvcGVydHlTYWxlLnNoYXJlLmlkKTtcbiAgICAgIHByb3BlcnR5VG9SZXBsYWNlLm15U2hhcmUuc2FsZSA9IG51bGw7XG5cbiAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgcHJvcGVydHlUb1JlcGxhY2UpO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cblxuICB1cGRhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTxQcm9wZXJ0eT4ge1xuICAgIHJldHVybiBzdXBlci51cGRhdGUocHJvcGVydHkpLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWRQcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSA9PiB7XG4gICAgICAgIGlmIChwcm9wZXJ0eS5kb2N1bWVudEZpbGUpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfVVBEQVRFRF9XSVRIX0RPQ1VNRU5ULCBwcm9wZXJ0eSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9VUERBVEVELCBwcm9wZXJ0eSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8UHJvcGVydHk+IHtcbiAgICBjb25zdCBwcm9wZXJ0eVRvVXBkYXRlOiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwge2lkOiBwcm9wZXJ0eS5pZCwgZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb246IHByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9ufSlcblxuICAgIHJldHVybiB0aGlzLnVwZGF0ZShwcm9wZXJ0eVRvVXBkYXRlKS5waXBlKFxuICAgICAgbWFwKCh1cGRhdGVkUHJvcGVydHk6IFByb3BlcnR5KSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9ERVBSRUNJQVRJT05fQ0FMQ1VMQVRJT05fVVBEQVRFRCwgdXBkYXRlZFByb3BlcnR5KSk7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5Q2F0ZWdvcnlJZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgocHJvcGVydGllczogUHJvcGVydHlbXSk6IFByb3BlcnR5W10gPT4ge1xuICAgICAgICByZXR1cm4gcHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuY2F0ZWdvcnkuaWQgPT09IGlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBkZWFjdGl2YXRlZCBwcm9wZXJ0eVxuICAgKi9cbiAgYWN0aXZhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnNgLCB7cHJvcGVydHl9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocHJvcGVydHlTdWJzY3JpcHRpb25CYXNlOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0eVN1YnNjcmlwdGlvbjogUHJvcGVydHlTdWJzY3JpcHRpb24gPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlTdWJzY3JpcHRpb24sIHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZSk7XG4gICAgICAgICAgY29uc3QgYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwge3N1YnNjcmlwdGlvbnM6IFtuZXdQcm9wZXJ0eVN1YnNjcmlwdGlvbl19KSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGFjdGl2YXRlZFByb3BlcnR5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYWN0aXZhdGVkIHByb3BlcnR5XG4gICAqL1xuICBkZWFjdGl2YXRlKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnMvJHtwcm9wZXJ0eS5nZXRDdXJyZW50U3Vic2NyaXB0aW9uKCkuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwge3N1YnNjcmlwdGlvbnM6IFtdfSkpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBkZWFjdGl2YXRlZFByb3BlcnR5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwcm9wZXJ0eSBwaG90b1xuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIHBob3RvIHVwZGF0ZVxuICAgKiBAcGFyYW0gcGhvdG9Gb3JtRGF0YSBGb3JtRGF0YSB3aXRoIHByb3BlcnR5IHBob3RvIGltYWdlXG4gICAqL1xuICB1cGRhdGVQaG90byhwcm9wZXJ0eTogUHJvcGVydHksIHBob3RvRm9ybURhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnRpZXMvJHtwcm9wZXJ0eS5pZH0vcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90b0Zvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocGhvdG9MaW5rOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5waG90byA9IHBob3RvTGluaztcbiAgICAgICAgICAvLyB1cGRhdGUgcHJvcGVydGllcyBjYWNoZVxuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgcHJvcGVydHkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRCeVNoYXJlSWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHByb3BlcnRpZXM6IFByb3BlcnR5W10pOiBQcm9wZXJ0eVtdID0+IHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LnVzZXIuaWQgPT09IGlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhY3RpdmUgdXNlcidzIHByb3BlcnRpZXNcbiAgICovXG4gIGdldEFjdGl2ZSgpOiBPYnNlcnZhYmxlPFByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKTogUHJvcGVydHlbXSA9PiBwcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5pc0FjdGl2ZSkpXG4gICAgKTtcbiAgfVxufVxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDcEYsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRTFEOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUF1RDtJQUg1Rjs7UUFJRSxlQUFVLEdBQW9CLFFBQVEsQ0FBQztRQUN2QyxvQkFBZSxHQUE4QixrQkFBa0IsQ0FBQztRQUNoRSxjQUFTLEdBQVcsWUFBWSxDQUFDO0tBc0hsQztJQXBIQyxJQUFJLENBQUMsUUFBa0I7UUFDckIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN6Qix3REFBd0Q7YUFDdkQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGVB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ZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSBhcyBQcm9wZXJ0eUJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gYXMgUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnbG9kYXNoL21lcmdlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBAVG9kbyBBbGV4IHJlbW92ZSBmdW5jdGlvbmFsaXR5IHJlbGF0ZWQgdG8gUHJvcGVydHlTaGFyZVxuICogQFRPRE8gQWxleCAoVFQtMTc3Nyk6IHJlcGxhY2UgYWxsIGV2ZW50IGxpc3RlbmVycyB3aXRoIHRoZSBuZXcgdGhpcy5saXN0ZW4oKVxuICogU2VydmljZSBmb3Igd29yayB3aXRoIFByb3BlcnR5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFByb3BlcnR5QmFzZSwgUHJvcGVydHksIFByb3BlcnR5Q29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eSA9IFByb3BlcnR5O1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eUNvbGxlY3Rpb24gPSBQcm9wZXJ0eUNvbGxlY3Rpb247XG4gIGVudGl0eVVybDogc3RyaW5nID0gJ3Byb3BlcnRpZXMnO1xuXG4gIHBvc3QocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTxQcm9wZXJ0eT4ge1xuICAgIHJldHVybiBzdXBlci5wb3N0KHByb3BlcnR5KVxuICAgICAgLy8gQFRPRE8gQWxleCAoVFQtMTc3Nyk6IGhhbmRsZSB0aGlzIGV2ZW50cyBhbmQgcmVmYWN0b3JcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRQcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BlcnR5LmRvY3VtZW50RmlsZSkge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1VQREFURURfV0lUSF9ET0NVTUVOVCwgcHJvcGVydHkpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1VQREFURUQsIHByb3BlcnR5KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZTtcbiAgICB0aGlzLmxpc3RlblNoYXJlSW52aXRlQWNjZXB0ZWQoKTtcbiAgICAvLyBAVE9ETyBBbGV4OiBjb25zaWRlciB0byByZWZhY3RvciBwcm9wZXJ0eSBtb3ZlbWVudHMgbG9naWMgc2ltaWxhciB0byBjbGllbnQtbW92ZW1lbnRzXG4gICAgdGhpcy5saXN0ZW5Nb3ZlbWVudHNDaGFuZ2VkKCk7XG4gICAgdGhpcy5saXN0ZW5TYWxlc0FkZGVkKCk7XG4gICAgdGhpcy5saXN0ZW5TYWxlc0RlbGV0ZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiBzaGFyZSBpbnZpdGF0aW9uIGFjY2VwdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNoYXJlSW52aXRlQWNjZXB0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiBwcm9wZXJ0eSBjYXRlZ29yeSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1vdmVtZW50c0NoYW5nZWQoKTogdm9pZCB7XG4gICAgLy8gQFRPRE8gY2hhbmdlIGRpc3BhdGNoZXIgbG9naWMgdG8gd29yayB3aXRoIG11bHRpcGxlIGV2ZW50c1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0NSRUFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9NT1ZFTUVOVF9ERUxFVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIEFsZXggcmVmYWN0b3IgYWZ0ZXIgUHJvcGVydHlTaGFyZSB3aWxsIGJlIGNsZWFyZWQgdXBcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU2FsZXNBZGRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0FEREVEKS5zdWJzY3JpYmUoKHByb3BlcnR5U2FsZTogUHJvcGVydHlTYWxlKSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0eVRvUmVwbGFjZTogUHJvcGVydHkgPSB0aGlzLmNhY2hlLmZpbmQoKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4gcHJvcGVydHkubXlTaGFyZS5pZCA9PT0gcHJvcGVydHlTYWxlLnNoYXJlLmlkKTtcbiAgICAgIHByb3BlcnR5VG9SZXBsYWNlLm15U2hhcmUuc2FsZSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eVNhbGUsIHsgaWQ6IHByb3BlcnR5U2FsZS5pZCB9KTtcblxuICAgICAgdGhpcy51cGRhdGVDYWNoZShbcHJvcGVydHlUb1JlcGxhY2VdLCAncHV0Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblNhbGVzRGVsZXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0RFTEVURUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VG9SZXBsYWNlOiBQcm9wZXJ0eSA9IHRoaXMuY2FjaGUuZmluZCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5teVNoYXJlLmlkID09PSBwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgcHJvcGVydHlUb1JlcGxhY2UubXlTaGFyZS5zYWxlID0gbnVsbDtcblxuICAgICAgdGhpcy51cGRhdGVDYWNoZShbcHJvcGVydHlUb1JlcGxhY2VdLCAncHV0Jyk7XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVEZXByZWNpYXRpb25DYWxjdWxhdGlvbihwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBwcm9wZXJ0eVRvVXBkYXRlOiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgeyBpZDogcHJvcGVydHkuaWQsIGRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uOiBwcm9wZXJ0eS5kZXByZWNpYXRpb25DYWxjdWxhdGlvbiB9KVxuXG4gICAgcmV0dXJuIHRoaXMucG9zdChwcm9wZXJ0eVRvVXBkYXRlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZFByb3BlcnR5OiBQcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9ERVBSRUNJQVRJT05fQ0FMQ1VMQVRJT05fVVBEQVRFRCwgdXBkYXRlZFByb3BlcnR5KSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGRlYWN0aXZhdGVkIHByb3BlcnR5XG4gICAqL1xuICBhY3RpdmF0ZShwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydHktc3Vic2NyaXB0aW9uc2AsIHsgcHJvcGVydHkgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZTogUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3UHJvcGVydHlTdWJzY3JpcHRpb246IFByb3BlcnR5U3Vic2NyaXB0aW9uID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U3Vic2NyaXB0aW9uLCBwcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2YXRlZFByb3BlcnR5OiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcGVydHksIHsgc3Vic2NyaXB0aW9uczogW25ld1Byb3BlcnR5U3Vic2NyaXB0aW9uXSB9KSk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKFthY3RpdmF0ZWRQcm9wZXJ0eV0sICdwdXQnKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBhY3RpdmF0ZWQgcHJvcGVydHlcbiAgICovXG4gIGRlYWN0aXZhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydHktc3Vic2NyaXB0aW9ucy8ke3Byb3BlcnR5LmdldEN1cnJlbnRTdWJzY3JpcHRpb24oKS5pZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVhY3RpdmF0ZWRQcm9wZXJ0eTogUHJvcGVydHkgPSBwbGFpblRvQ2xhc3MoUHJvcGVydHksIE9iamVjdC5hc3NpZ24oe30sIHByb3BlcnR5LCB7IHN1YnNjcmlwdGlvbnM6IFtdIH0pKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoW2RlYWN0aXZhdGVkUHJvcGVydHldLCAncHV0Jyk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwcm9wZXJ0eSBwaG90b1xuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIHBob3RvIHVwZGF0ZVxuICAgKiBAcGFyYW0gcGhvdG9Gb3JtRGF0YSBGb3JtRGF0YSB3aXRoIHByb3BlcnR5IHBob3RvIGltYWdlXG4gICAqL1xuICB1cGRhdGVQaG90byhwcm9wZXJ0eTogUHJvcGVydHksIHBob3RvRm9ybURhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnRpZXMvJHtwcm9wZXJ0eS5pZH0vcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90b0Zvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocGhvdG9MaW5rOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKFtwbGFpblRvQ2xhc3MoUHJvcGVydHksIG1lcmdlKHByb3BlcnR5LCB7IHBob3RvOiBwaG90b0xpbmsgfSkpXSwgJ3B1dCcpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -62,9 +62,9 @@ export class ReceiptService {
62
62
  return plainToClass(this.modelClass, data);
63
63
  }
64
64
  }
65
- ReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ReceiptService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
66
- ReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ReceiptService, providedIn: 'root' });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ReceiptService, decorators: [{
65
+ ReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReceiptService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
66
+ ReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReceiptService, providedIn: 'root' });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReceiptService, decorators: [{
68
68
  type: Injectable,
69
69
  args: [{
70
70
  providedIn: 'root'
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tZXRob2QudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Jlc3QvaHR0cC1tZXRob2QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgdHlwZSBIdHRwTWV0aG9kID0gJ2dldCcgfCAncG9zdCcgfCAncHV0JyB8ICdkZWxldGUnO1xuIl19
@@ -1,2 +1,4 @@
1
1
  export * from './rest.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9yZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jlc3Quc2VydmljZSc7XG4iXX0=
2
+ export * from './rest-method.type';
3
+ export * from './http-method.type';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9yZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXN0LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3Jlc3QtbWV0aG9kLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLW1ldGhvZC50eXBlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1tZXRob2QudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Jlc3QvcmVzdC1tZXRob2QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgdHlwZSBSZXN0TWV0aG9kID0gJ2dldCcgfCAncG9zdCcgfCAncG9zdEJhdGNoJyB8ICdwdXQnIHwgJ3B1dEJhdGNoJyB8ICdkZWxldGUnIHwgJ2RlbGV0ZUJhdGNoJztcbiJdfQ==