taxtank-core 0.16.12 → 0.17.1

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 (80) hide show
  1. package/bundles/taxtank-core.umd.js +370 -383
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/bank-transaction.collection.js +1 -1
  4. package/esm2015/lib/collections/collection-dictionary.js +16 -1
  5. package/esm2015/lib/collections/depreciation.collection.js +2 -2
  6. package/esm2015/lib/collections/exportable.collection.js +17 -0
  7. package/esm2015/lib/collections/loan/loan-payment.collection.js +31 -0
  8. package/esm2015/lib/collections/loan/loan.collection.js +18 -0
  9. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +1 -1
  10. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
  11. package/esm2015/lib/collections/tax-summary/report-item.collection.js +50 -120
  12. package/esm2015/lib/collections/tax-summary/tax-return-categories.const.js +65 -0
  13. package/esm2015/lib/collections/transaction/transaction-allocation.collection.js +40 -0
  14. package/esm2015/lib/collections/transaction/transaction.collection.js +167 -0
  15. package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +21 -7
  16. package/esm2015/lib/models/bank/bank-transaction.js +1 -1
  17. package/esm2015/lib/models/export/export-cell-type.enum.js +10 -0
  18. package/esm2015/lib/models/export/export-cell.js +6 -0
  19. package/esm2015/lib/models/export/export-data-table.js +1 -7
  20. package/esm2015/lib/models/income-source/income-source-chart-data.js +1 -1
  21. package/esm2015/lib/models/loan/loan-payment.js +2 -24
  22. package/esm2015/lib/models/logbook/vehicle-claim.js +1 -1
  23. package/esm2015/lib/models/property/property-equity-chart-data.js +1 -1
  24. package/esm2015/lib/models/report/property/property-report-item-transaction.js +1 -1
  25. package/esm2015/lib/models/tax-summary/report-item.js +8 -1
  26. package/esm2015/lib/models/tax-summary/tax-summary.js +28 -9
  27. package/esm2015/lib/models/transaction/transaction.js +1 -1
  28. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  29. package/esm2015/lib/services/bank/bank-account-calculation.service.js +1 -1
  30. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +1 -1
  31. package/esm2015/lib/services/export/export-formatter.service.js +31 -0
  32. package/esm2015/lib/services/pdf/pdf.service.js +9 -4
  33. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +1 -1
  34. package/esm2015/lib/services/report/property/property-transaction-report.service.js +2 -2
  35. package/esm2015/lib/services/transaction/transaction-calculation.service.js +2 -2
  36. package/esm2015/public-api.js +8 -10
  37. package/fesm2015/taxtank-core.js +307 -286
  38. package/fesm2015/taxtank-core.js.map +1 -1
  39. package/lib/collections/bank-transaction.collection.d.ts +1 -1
  40. package/lib/collections/collection-dictionary.d.ts +5 -0
  41. package/lib/collections/depreciation.collection.d.ts +1 -1
  42. package/lib/collections/exportable.collection.d.ts +9 -0
  43. package/lib/collections/loan/loan-payment.collection.d.ts +7 -0
  44. package/lib/collections/{loan.collection.d.ts → loan/loan.collection.d.ts} +2 -2
  45. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +1 -1
  46. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
  47. package/lib/collections/tax-summary/report-item.collection.d.ts +17 -51
  48. package/lib/collections/tax-summary/tax-return-categories.const.d.ts +6 -0
  49. package/lib/collections/{transaction-allocation.collection.d.ts → transaction/transaction-allocation.collection.d.ts} +6 -6
  50. package/lib/collections/{transaction.collection.d.ts → transaction/transaction.collection.d.ts} +9 -5
  51. package/lib/db/Enums/tax-return-category-list.enum.d.ts +20 -6
  52. package/lib/models/bank/bank-transaction.d.ts +1 -1
  53. package/lib/models/export/export-cell-type.enum.d.ts +8 -0
  54. package/lib/models/export/export-cell.d.ts +8 -0
  55. package/lib/models/export/export-data-table.d.ts +3 -2
  56. package/lib/models/income-source/income-source-chart-data.d.ts +1 -1
  57. package/lib/models/loan/loan-payment.d.ts +1 -5
  58. package/lib/models/logbook/vehicle-claim.d.ts +1 -1
  59. package/lib/models/property/property-equity-chart-data.d.ts +1 -1
  60. package/lib/models/report/property/property-report-item-transaction.d.ts +1 -1
  61. package/lib/models/tax-summary/report-item.d.ts +3 -2
  62. package/lib/models/transaction/transaction.d.ts +1 -1
  63. package/lib/services/bank/bank-account-calculation.service.d.ts +1 -1
  64. package/lib/services/bank/bank-transaction-calculation.service.d.ts +1 -1
  65. package/lib/services/export/export-formatter.service.d.ts +11 -0
  66. package/lib/services/pdf/pdf.service.d.ts +3 -0
  67. package/lib/services/property/property-calculation/property-calculation.service.d.ts +2 -2
  68. package/lib/services/report/property/property-transaction-report.service.d.ts +1 -1
  69. package/lib/services/transaction/transaction-calculation.service.d.ts +2 -2
  70. package/package.json +1 -1
  71. package/public-api.d.ts +7 -9
  72. package/esm2015/lib/collections/loan.collection.js +0 -18
  73. package/esm2015/lib/collections/transaction-allocation.collection.js +0 -40
  74. package/esm2015/lib/collections/transaction.collection.js +0 -143
  75. package/esm2015/lib/interfaces/exportable.interface.js +0 -2
  76. package/esm2015/lib/services/data-table/data-table.service.js +0 -47
  77. package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +0 -53
  78. package/lib/interfaces/exportable.interface.d.ts +0 -9
  79. package/lib/services/data-table/data-table.service.d.ts +0 -19
  80. package/lib/services/property/property-holding-costs/property-holding-costs.service.d.ts +0 -24
@@ -0,0 +1,65 @@
1
+ import { TaxReturnCategoryListEnum } from '../../db/Enums/tax-return-category-list.enum';
2
+ export const TAX_RETURN_CATEGORIES = {
3
+ work: {
4
+ income: [
5
+ TaxReturnCategoryListEnum.SALARY,
6
+ TaxReturnCategoryListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES,
7
+ TaxReturnCategoryListEnum.EMPLOYER_LUMP_SUM_PAYMENTS,
8
+ TaxReturnCategoryListEnum.ETP,
9
+ TaxReturnCategoryListEnum.GOVERNMENT_ALLOWANCES,
10
+ TaxReturnCategoryListEnum.GOVERNMENT_PENSIONS,
11
+ TaxReturnCategoryListEnum.ANNUITIES_SUPER_INCOME_STREAMS,
12
+ TaxReturnCategoryListEnum.SUPERANNUATION_LUMP_SUM_PAYMENTS,
13
+ TaxReturnCategoryListEnum.ATTRIBUTED_PSI_INCOME
14
+ ],
15
+ expenses: [
16
+ TaxReturnCategoryListEnum.WORK_EXPENSES
17
+ ],
18
+ interest: [
19
+ TaxReturnCategoryListEnum.GROSS_INTEREST
20
+ ],
21
+ taxWithheld: [
22
+ TaxReturnCategoryListEnum.TAX_WITHHELD
23
+ ]
24
+ },
25
+ property: {
26
+ income: [
27
+ TaxReturnCategoryListEnum.GROSS_RENT
28
+ ],
29
+ expenses: [
30
+ TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS
31
+ ],
32
+ interest: [
33
+ TaxReturnCategoryListEnum.INTEREST_DEDUCTIONS
34
+ ],
35
+ depreciation: [
36
+ TaxReturnCategoryListEnum.CAPITAL_WORKS,
37
+ TaxReturnCategoryListEnum.DEPRECIATION
38
+ ]
39
+ },
40
+ other: {
41
+ income: [
42
+ TaxReturnCategoryListEnum.GROSS_INTEREST,
43
+ TaxReturnCategoryListEnum.DIVIDENDS,
44
+ TaxReturnCategoryListEnum.SHARE_SCHEMES,
45
+ TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS,
46
+ TaxReturnCategoryListEnum.PSI_SBE_INCOME,
47
+ TaxReturnCategoryListEnum.SOLE_TRADER_BUSINESS_INCOME,
48
+ TaxReturnCategoryListEnum.CAPITAL_GAINS,
49
+ TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME,
50
+ TaxReturnCategoryListEnum.BONUSES_FROM_LIFE_INSURANCE,
51
+ TaxReturnCategoryListEnum.FORESTRY_MANAGED_INVESTMENT_SCHEMES,
52
+ TaxReturnCategoryListEnum.OTHER_INCOME
53
+ ],
54
+ expenses: [
55
+ TaxReturnCategoryListEnum.OTHER_DEDUCTIONS
56
+ ],
57
+ taxCredits: [
58
+ TaxReturnCategoryListEnum.TAX_CREDITS
59
+ ],
60
+ taxOffsets: [
61
+ TaxReturnCategoryListEnum.TAX_OFFSETS
62
+ ]
63
+ }
64
+ };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yaWVzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RheC1zdW1tYXJ5L3RheC1yZXR1cm4tY2F0ZWdvcmllcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBa0U7SUFDbEcsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsTUFBTTtZQUNoQyx5QkFBeUIsQ0FBQyxzQ0FBc0M7WUFDaEUseUJBQXlCLENBQUMsMEJBQTBCO1lBQ3BELHlCQUF5QixDQUFDLEdBQUc7WUFDN0IseUJBQXlCLENBQUMscUJBQXFCO1lBQy9DLHlCQUF5QixDQUFDLG1CQUFtQjtZQUM3Qyx5QkFBeUIsQ0FBQyw4QkFBOEI7WUFDeEQseUJBQXlCLENBQUMsZ0NBQWdDO1lBQzFELHlCQUF5QixDQUFDLHFCQUFxQjtTQUNoRDtRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLGFBQWE7U0FDeEM7UUFDRCxRQUFRLEVBQUU7WUFDUix5QkFBeUIsQ0FBQyxjQUFjO1NBQ3pDO1FBQ0QsV0FBVyxFQUFFO1lBQ1gseUJBQXlCLENBQUMsWUFBWTtTQUN2QztLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsVUFBVTtTQUNyQztRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLHVCQUF1QjtTQUNsRDtRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLG1CQUFtQjtTQUM5QztRQUNELFlBQVksRUFBRTtZQUNaLHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMsWUFBWTtTQUN2QztLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsY0FBYztZQUN4Qyx5QkFBeUIsQ0FBQyxTQUFTO1lBQ25DLHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMsbUJBQW1CO1lBQzdDLHlCQUF5QixDQUFDLGNBQWM7WUFDeEMseUJBQXlCLENBQUMsMkJBQTJCO1lBQ3JELHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMscUJBQXFCO1lBQy9DLHlCQUF5QixDQUFDLDJCQUEyQjtZQUNyRCx5QkFBeUIsQ0FBQyxtQ0FBbUM7WUFDN0QseUJBQXlCLENBQUMsWUFBWTtTQUN2QztRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLGdCQUFnQjtTQUMzQztRQUNELFVBQVUsRUFBRTtZQUNWLHlCQUF5QixDQUFDLFdBQVc7U0FDdEM7UUFDRCxVQUFVLEVBQUU7WUFDVix5QkFBeUIsQ0FBQyxXQUFXO1NBQ3RDO0tBQ0Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcblxuZXhwb3J0IGNvbnN0IFRBWF9SRVRVUk5fQ0FURUdPUklFUzoge1trZXk6IHN0cmluZ106IHtba2V5OiBzdHJpbmddOiBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtW119fSA9IHtcbiAgd29yazoge1xuICAgIGluY29tZTogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TQUxBUlksXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFMTE9XQU5DRVNfRUFSTklOR1NfVElQU19ESVJFQ1RPUl9GRUVTLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5FTVBMT1lFUl9MVU1QX1NVTV9QQVlNRU5UUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uRVRQLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5HT1ZFUk5NRU5UX0FMTE9XQU5DRVMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdPVkVSTk1FTlRfUEVOU0lPTlMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFOTlVJVElFU19TVVBFUl9JTkNPTUVfU1RSRUFNUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uU1VQRVJBTk5VQVRJT05fTFVNUF9TVU1fUEFZTUVOVFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFUVFJJQlVURURfUFNJX0lOQ09NRVxuICAgIF0sXG4gICAgZXhwZW5zZXM6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uV09SS19FWFBFTlNFU1xuICAgIF0sXG4gICAgaW50ZXJlc3Q6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfSU5URVJFU1RcbiAgICBdLFxuICAgIHRheFdpdGhoZWxkOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9XSVRISEVMRFxuICAgIF1cbiAgfSxcbiAgcHJvcGVydHk6IHtcbiAgICBpbmNvbWU6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfUkVOVFxuICAgIF0sXG4gICAgZXhwZW5zZXM6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfUkVOVEFMX0RFRFVDVElPTlNcbiAgICBdLFxuICAgIGludGVyZXN0OiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLklOVEVSRVNUX0RFRFVDVElPTlNcbiAgICBdLFxuICAgIGRlcHJlY2lhdGlvbjogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5DQVBJVEFMX1dPUktTLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ERVBSRUNJQVRJT05cbiAgICBdXG4gIH0sXG4gIG90aGVyOiB7XG4gICAgaW5jb21lOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdST1NTX0lOVEVSRVNULFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ESVZJREVORFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlNIQVJFX1NDSEVNRVMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBBUlRORVJTSElQU19UUlVTVFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBTSV9TQkVfSU5DT01FLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TT0xFX1RSQURFUl9CVVNJTkVTU19JTkNPTUUsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkNBUElUQUxfR0FJTlMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZPUkVJR05fU09VUkNFX0lOQ09NRSxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQk9OVVNFU19GUk9NX0xJRkVfSU5TVVJBTkNFLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5GT1JFU1RSWV9NQU5BR0VEX0lOVkVTVE1FTlRfU0NIRU1FUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfSU5DT01FXG4gICAgXSxcbiAgICBleHBlbnNlczogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5PVEhFUl9ERURVQ1RJT05TXG4gICAgXSxcbiAgICB0YXhDcmVkaXRzOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9DUkVESVRTXG4gICAgXSxcbiAgICB0YXhPZmZzZXRzOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9PRkZTRVRTXG4gICAgXVxuICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Collection } from '../collection';
2
+ import { CollectionDictionary } from '../collection-dictionary';
3
+ export class TransactionAllocationCollection extends Collection {
4
+ get amount() {
5
+ return this.sumBy('amount');
6
+ }
7
+ getByTransactionsIds(ids) {
8
+ return new TransactionAllocationCollection(this.items.filter((allocation) => ids.includes(allocation.transaction.id)));
9
+ }
10
+ getByBankTransactionsIds(ids) {
11
+ return new TransactionAllocationCollection(this.items.filter((allocation) => ids.includes(allocation.bankTransaction.id)));
12
+ }
13
+ /**
14
+ * Group allocations by bank account via bank transactions collection
15
+ */
16
+ groupByBankAccount(bankTransactions) {
17
+ // Group bank transactions by bank account id
18
+ const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount.id');
19
+ // Create empty dictionary of transaction allocations
20
+ const allocationsByBankAccount = new CollectionDictionary(new TransactionAllocationCollection([]));
21
+ // Fill allocations dictionary with bank transactions dictionary keys and allocations related with each bank transaction collection
22
+ bankTransactionsByBankAccount.keys.forEach((key) => {
23
+ allocationsByBankAccount.add(key, this.getByBankTransactionsIds(bankTransactionsByBankAccount.get(key).getIds()));
24
+ });
25
+ return allocationsByBankAccount;
26
+ }
27
+ /**
28
+ * check if collection includes allocation of passed transaction
29
+ */
30
+ hasTransaction(transaction) {
31
+ return !!this.items.find((allocation) => allocation.transaction.id === transaction.id);
32
+ }
33
+ /**
34
+ * Check if bank transaction is related with current allocations
35
+ */
36
+ hasBankTransaction(bankTransaction) {
37
+ return !!this.items.find((allocation) => allocation.bankTransaction.id === bankTransaction.id);
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS2hFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEoscURBQXFEO1FBQ3JELE1BQU0sd0JBQXdCLEdBQTBELElBQUksb0JBQW9CLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFKLG1JQUFtSTtRQUNuSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDL0Qsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sd0JBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGVBQWdDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi9iYW5rLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4ge1xuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0QnlUcmFuc2FjdGlvbnNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi5iYW5rVHJhbnNhY3Rpb24uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYWxsb2NhdGlvbnMgYnkgYmFuayBhY2NvdW50IHZpYSBiYW5rIHRyYW5zYWN0aW9ucyBjb2xsZWN0aW9uXG4gICAqL1xuICBncm91cEJ5QmFua0FjY291bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSBiYW5rIGFjY291bnQgaWRcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudDogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoYmFua1RyYW5zYWN0aW9ucywgJ2JhbmtBY2NvdW50LmlkJyk7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGRpY3Rpb25hcnkgb2YgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnNcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKSk7XG4gICAgLy8gRmlsbCBhbGxvY2F0aW9ucyBkaWN0aW9uYXJ5IHdpdGggYmFuayB0cmFuc2FjdGlvbnMgZGljdGlvbmFyeSBrZXlzIGFuZCBhbGxvY2F0aW9ucyByZWxhdGVkIHdpdGggZWFjaCBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb25cbiAgICBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudC5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQuYWRkKGtleSwgdGhpcy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQuZ2V0KGtleSkuZ2V0SWRzKCkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGNvbGxlY3Rpb24gaW5jbHVkZXMgYWxsb2NhdGlvbiBvZiBwYXNzZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIGhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyByZWxhdGVkIHdpdGggY3VycmVudCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkID09PSBiYW5rVHJhbnNhY3Rpb24uaWQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,167 @@
1
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
2
+ import { ExportCell } from '../../models/export/export-cell';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { ExportCellTypeEnum } from '../../models/export/export-cell-type.enum';
5
+ import { ExportableCollection } from '../exportable.collection';
6
+ /**
7
+ * Collection of transactions
8
+ */
9
+ export class TransactionCollection extends ExportableCollection {
10
+ /**
11
+ * Get total amount of all transactions in the collection
12
+ */
13
+ get amount() {
14
+ return +this.items.reduce((sum, transaction) => sum + transaction.getNetAmount(), 0).toFixed(2);
15
+ }
16
+ /**
17
+ * Difference between allocated amount and total amount
18
+ */
19
+ getUnallocatedAmount(allocations) {
20
+ return +(this.amount - allocations.getByTransactionsIds(this.getIds()).amount).toFixed(2);
21
+ }
22
+ /**
23
+ * Get cash position
24
+ * Cash Position = Income - Expenses
25
+ * Cash position is equal to Total Amount because income is positive and expense is negative,
26
+ */
27
+ get cashPosition() {
28
+ return this.claimAmount;
29
+ }
30
+ /**
31
+ * get date of the last transaction
32
+ */
33
+ getLastTransactionDate() {
34
+ return new Date(Math.max.apply(Math, this.items.map((transaction) => transaction.date)));
35
+ }
36
+ /**
37
+ * Get summary of claim amounts
38
+ */
39
+ get claimAmount() {
40
+ return this.items.reduce((sum, transaction) => sum + transaction.claimAmount, 0);
41
+ }
42
+ get grossAmount() {
43
+ return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
44
+ }
45
+ getByChartAccountsCategories(categories) {
46
+ return new TransactionCollection(this.items.filter((transaction) => categories.includes(transaction.chartAccounts.category)));
47
+ }
48
+ /**
49
+ * Get transactions by month
50
+ * @param monthIndex by which desired month should be taken
51
+ */
52
+ getByMonth(monthIndex) {
53
+ return new TransactionCollection(this.items.filter((transaction) => transaction.date.getMonth() === monthIndex));
54
+ }
55
+ /**
56
+ * get list of transactions filtered by chart accounts id
57
+ * @param chartAccountsId chart accounts id for filtering
58
+ */
59
+ getByChartAccountsId(chartAccountsId) {
60
+ return this.items.filter((transaction) => transaction.chartAccounts.id === chartAccountsId);
61
+ }
62
+ getIncomeTransactions() {
63
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isIncome()));
64
+ }
65
+ get claimIncome() {
66
+ return this.getIncomeTransactions().claimAmount;
67
+ }
68
+ getExpenseTransactions() {
69
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
70
+ }
71
+ get claimExpense() {
72
+ return this.getExpenseTransactions().claimAmount;
73
+ }
74
+ getInterestTransactions() {
75
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isInterest()));
76
+ }
77
+ get claimInterest() {
78
+ return this.getInterestTransactions().claimAmount;
79
+ }
80
+ /**
81
+ * Get collection of transactions and properties filtered by properties ids
82
+ * @param ids Ids of properties for filter
83
+ */
84
+ getByPropertiesIds(ids) {
85
+ return new TransactionCollection(this.items.filter((transaction) => {
86
+ var _a;
87
+ return ids.includes((_a = transaction.property) === null || _a === void 0 ? void 0 : _a.id);
88
+ }));
89
+ }
90
+ /**
91
+ * Get new collection filtered by income source id
92
+ * @param id id of income source for filter
93
+ */
94
+ getByIncomeSourceId(id) {
95
+ return new TransactionCollection(this.items.filter((transaction) => { var _a; return ((_a = transaction.incomeSource) === null || _a === void 0 ? void 0 : _a.id) === id; }));
96
+ }
97
+ /**
98
+ * Get new collection filtered by chart accounts category
99
+ * @param category Chart accounts category value
100
+ */
101
+ getByChartAccountsCategory(category) {
102
+ return new TransactionCollection(this.items.filter((transaction) => transaction.chartAccounts.category === category));
103
+ }
104
+ /**
105
+ * Get new collection of property transactions
106
+ */
107
+ getPropertyTransactions() {
108
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isPropertyTank()));
109
+ }
110
+ getDebitTransactions() {
111
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
112
+ }
113
+ getCreditTransactions() {
114
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isCredit()));
115
+ }
116
+ getByAllocations(allocations) {
117
+ return new TransactionCollection(this.items.filter((transaction) => allocations.hasTransaction(transaction)));
118
+ }
119
+ /**
120
+ * Get transactions related to Vehicle category
121
+ */
122
+ getVehicleTransactions() {
123
+ return this.create(this.items.filter((transaction) => {
124
+ return transaction.isVehicleTransaction();
125
+ }));
126
+ }
127
+ /**
128
+ * Get new transaction collection filtered by tank type
129
+ */
130
+ getByTankType(tankType) {
131
+ return this.create(this.items.filter((transaction) => {
132
+ switch (tankType) {
133
+ case TankTypeEnum.PROPERTY:
134
+ return transaction.isPropertyTank();
135
+ case TankTypeEnum.WORK:
136
+ return transaction.isWorkTank();
137
+ case TankTypeEnum.SOLE:
138
+ return transaction.isSoleTank();
139
+ // Transaction may be not related to any tank type (personal)
140
+ default:
141
+ return false;
142
+ }
143
+ }));
144
+ }
145
+ getExportHeader() {
146
+ return ['Date', 'Description', 'Debit', 'Credit'];
147
+ }
148
+ getExportFooter() {
149
+ return [
150
+ plainToClass(ExportCell, { value: 'Total', type: ExportCellTypeEnum.STRING }),
151
+ plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
152
+ plainToClass(ExportCell, { value: this.sumBy('debit'), type: ExportCellTypeEnum.CURRENCY }),
153
+ plainToClass(ExportCell, { value: this.sumBy('credit'), type: ExportCellTypeEnum.CURRENCY })
154
+ ];
155
+ }
156
+ getExportBody() {
157
+ return this.items.map((transaction) => {
158
+ return [
159
+ plainToClass(ExportCell, { value: transaction.date, type: ExportCellTypeEnum.DATE }),
160
+ plainToClass(ExportCell, { value: transaction.description, type: ExportCellTypeEnum.STRING }),
161
+ plainToClass(ExportCell, { value: transaction.debit, type: ExportCellTypeEnum.CURRENCY }),
162
+ plainToClass(ExportCell, { value: transaction.credit, type: ExportCellTypeEnum.CURRENCY })
163
+ ];
164
+ });
165
+ }
166
+ }
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFpQztJQUMxRTs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxXQUF3QixFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0IsQ0FBQyxXQUE0QztRQUMvRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJ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SSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO2FBQ3pGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFeHBvcnRhYmxlQ29sbGVjdGlvbiB9IGZyb20gJy4uL2V4cG9ydGFibGUuY29sbGVjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiBleHRlbmRzIEV4cG9ydGFibGVDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5nZXROZXRBbW91bnQoKSwgMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNhc2ggcG9zaXRpb25cbiAgICogQ2FzaCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxuICAgKi9cbiAgZ2V0IGNhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdW1tYXJ5IG9mIGNsYWltIGFtb3VudHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGlkXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzSWQoY2hhcnRBY2NvdW50c0lkOiBudW1iZXIpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb24gbWF5IGJlIG5vdCByZWxhdGVkIHRvIGFueSB0YW5rIHR5cGUgKHBlcnNvbmFsKVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdEZXNjcmlwdGlvbicsICdEZWJpdCcsICdDcmVkaXQnXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiAnVG90YWwnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogdGhpcy5zdW1CeSgnZGViaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiB0aGlzLnN1bUJ5KCdjcmVkaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSlcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHRyYW5zYWN0aW9uLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHRyYW5zYWN0aW9uLmRlYml0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogdHJhbnNhY3Rpb24uY3JlZGl0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KVxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,28 +1,42 @@
1
1
  export var TaxReturnCategoryListEnum;
2
2
  (function (TaxReturnCategoryListEnum) {
3
3
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SALARY"] = 1] = "SALARY";
4
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 30] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
5
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["EMPLOYER_LUMP_SUM_PAYMENTS"] = 31] = "EMPLOYER_LUMP_SUM_PAYMENTS";
6
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ETP"] = 32] = "ETP";
7
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_ALLOWANCES"] = 2] = "GOVERNMENT_ALLOWANCES";
8
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_PENSIONS"] = 33] = "GOVERNMENT_PENSIONS";
9
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ANNUITIES_SUPER_INCOME_STREAMS"] = 3] = "ANNUITIES_SUPER_INCOME_STREAMS";
10
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SUPERANNUATION_LUMP_SUM_PAYMENTS"] = 34] = "SUPERANNUATION_LUMP_SUM_PAYMENTS";
11
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ATTRIBUTED_PSI_INCOME"] = 4] = "ATTRIBUTED_PSI_INCOME";
4
12
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["WORK_EXPENSES"] = 7] = "WORK_EXPENSES";
5
13
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_RENT"] = 8] = "GROSS_RENT";
14
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_RENTAL_DEDUCTIONS"] = 12] = "OTHER_RENTAL_DEDUCTIONS";
6
15
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["INTEREST_DEDUCTIONS"] = 9] = "INTEREST_DEDUCTIONS";
7
16
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_WORKS"] = 10] = "CAPITAL_WORKS";
8
17
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DEPRECIATION"] = 11] = "DEPRECIATION";
9
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_RENTAL_DEDUCTIONS"] = 12] = "OTHER_RENTAL_DEDUCTIONS";
10
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BORROWING_EXPENSES"] = 29] = "BORROWING_EXPENSES";
18
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_INTEREST"] = 5] = "GROSS_INTEREST";
19
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DIVIDENDS"] = 6] = "DIVIDENDS";
20
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SHARE_SCHEMES"] = 35] = "SHARE_SCHEMES";
11
21
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PARTNERSHIPS_TRUSTS"] = 13] = "PARTNERSHIPS_TRUSTS";
12
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PCI_SBE_INCOME"] = 14] = "PCI_SBE_INCOME";
22
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PSI_SBE_INCOME"] = 14] = "PSI_SBE_INCOME";
23
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SOLE_TRADER_BUSINESS_INCOME"] = 38] = "SOLE_TRADER_BUSINESS_INCOME";
13
24
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_GAINS"] = 15] = "CAPITAL_GAINS";
14
25
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FOREIGN_SOURCE_INCOME"] = 16] = "FOREIGN_SOURCE_INCOME";
15
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_INCOME"] = 17] = "OTHER_INCOME";
26
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BONUSES_FROM_LIFE_INSURANCE"] = 17] = "BONUSES_FROM_LIFE_INSURANCE";
27
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES"] = 39] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES";
28
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_INCOME"] = 40] = "OTHER_INCOME";
29
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
16
30
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_DEDUCTIONS"] = 18] = "OTHER_DEDUCTIONS";
31
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
32
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BORROWING_EXPENSES"] = 29] = "BORROWING_EXPENSES";
17
33
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_TAX_PAYABLE"] = 19] = "GROSS_TAX_PAYABLE";
18
34
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_ON_TAXABLE_INCOME"] = 20] = "TAX_ON_TAXABLE_INCOME";
19
35
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["MEDICARE"] = 21] = "MEDICARE";
20
36
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["STUDENT_LOAN_REPAYMENT"] = 22] = "STUDENT_LOAN_REPAYMENT";
21
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
22
37
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_WITHHELD"] = 24] = "TAX_WITHHELD";
23
38
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_INSTALMENTS"] = 25] = "TAX_INSTALMENTS";
24
39
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FRANKING_CREDITS"] = 26] = "FRANKING_CREDITS";
25
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
26
40
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_PAYABLE"] = 28] = "TAX_PAYABLE";
27
41
  })(TaxReturnCategoryListEnum || (TaxReturnCategoryListEnum = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkseUJBeUJYO0FBekJELFdBQVkseUJBQXlCO0lBQ25DLDZFQUFVLENBQUE7SUFDViwyRkFBaUIsQ0FBQTtJQUNqQixxRkFBYyxDQUFBO0lBQ2QsdUdBQXVCLENBQUE7SUFDdkIsNEZBQWtCLENBQUE7SUFDbEIsMEZBQWlCLENBQUE7SUFDakIsZ0hBQTRCLENBQUE7SUFDNUIsc0dBQXVCLENBQUE7SUFDdkIsd0dBQXdCLENBQUE7SUFDeEIsOEZBQW1CLENBQUE7SUFDbkIsNEZBQWtCLENBQUE7SUFDbEIsNEdBQTBCLENBQUE7SUFDMUIsMEZBQWlCLENBQUE7SUFDakIsa0dBQXFCLENBQUE7SUFDdEIsb0dBQXNCLENBQUE7SUFDdEIsNEdBQTBCLENBQUE7SUFDMUIsa0ZBQWEsQ0FBQTtJQUNiLDhHQUEyQixDQUFBO0lBQzNCLHdGQUFnQixDQUFBO0lBQ2hCLDBGQUFpQixDQUFBO0lBQ2pCLGdHQUFvQixDQUFBO0lBQ3BCLGtHQUFxQixDQUFBO0lBQ3JCLHdGQUFnQixDQUFBO0lBQ2hCLHdGQUFnQixDQUFBO0FBQ2pCLENBQUMsRUF6QlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQXlCcEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtIHtcbiAgU0FMQVJZID0gMSxcbiAgV09SS19FWFBFTlNFUyA9IDcsXG4gIEdST1NTX1JFTlQgPSA4LFxuICBJTlRFUkVTVF9ERURVQ1RJT05TID0gOSxcbiAgQ0FQSVRBTF9XT1JLUyA9IDEwLFxuICBERVBSRUNJQVRJT04gPSAxMSxcbiAgT1RIRVJfUkVOVEFMX0RFRFVDVElPTlMgPSAxMixcbiAgQk9SUk9XSU5HX0VYUEVOU0VTID0gMjksXG4gIFBBUlRORVJTSElQU19UUlVTVFMgPSAxMyxcbiAgUENJX1NCRV9JTkNPTUUgPSAxNCxcbiAgQ0FQSVRBTF9HQUlOUyA9IDE1LFxuICBGT1JFSUdOX1NPVVJDRV9JTkNPTUUgPSAxNixcbiAgT1RIRVJfSU5DT01FID0gMTcsXG4gIE9USEVSX0RFRFVDVElPTlMgPSAxOCxcblx0R1JPU1NfVEFYX1BBWUFCTEUgPSAxOSxcblx0VEFYX09OX1RBWEFCTEVfSU5DT01FID0gMjAsXG5cdE1FRElDQVJFID0gMjEsXG5cdFNUVURFTlRfTE9BTl9SRVBBWU1FTlQgPSAyMixcblx0VEFYX0NSRURJVFMgPSAyMyxcblx0VEFYX1dJVEhIRUxEID0gMjQsXG5cdFRBWF9JTlNUQUxNRU5UUyA9IDI1LFxuXHRGUkFOS0lOR19DUkVESVRTID0gMjYsXG5cdFRBWF9PRkZTRVRTID0gMjcsXG5cdFRBWF9QQVlBQkxFID0gMjgsXG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkseUJBaURYO0FBakRELFdBQVkseUJBQXlCO0lBQ25DLDZFQUFVLENBQUE7SUFDViw4SUFBMkMsQ0FBQTtJQUMzQyxzSEFBK0IsQ0FBQTtJQUMvQix3RUFBUSxDQUFBO0lBQ1IsMkdBQXlCLENBQUE7SUFDekIsd0dBQXdCLENBQUE7SUFDeEIsNkhBQWtDLENBQUE7SUFDbEMsa0lBQXFDLENBQUE7SUFDckMsMkdBQXlCLENBQUE7SUFFekIsMkZBQWlCLENBQUE7SUFFakIscUZBQWMsQ0FBQTtJQUVkLGdIQUE0QixDQUFBO0lBRTVCLHVHQUF1QixDQUFBO0lBRXZCLDRGQUFrQixDQUFBO0lBQ2xCLDBGQUFpQixDQUFBO0lBRWpCLDZGQUFrQixDQUFBO0lBQ2xCLG1GQUFhLENBQUE7SUFDYiw0RkFBa0IsQ0FBQTtJQUNsQix3R0FBd0IsQ0FBQTtJQUN4Qiw4RkFBbUIsQ0FBQTtJQUNuQix3SEFBZ0MsQ0FBQTtJQUNoQyw0RkFBa0IsQ0FBQTtJQUNsQiw0R0FBMEIsQ0FBQTtJQUMxQix3SEFBZ0MsQ0FBQTtJQUNoQyx3SUFBd0MsQ0FBQTtJQUN4QywwRkFBaUIsQ0FBQTtJQUVqQix3RkFBZ0IsQ0FBQTtJQUVoQixrR0FBcUIsQ0FBQTtJQUVyQix3RkFBZ0IsQ0FBQTtJQUVoQixzR0FBdUIsQ0FBQTtJQUN2QixvR0FBc0IsQ0FBQTtJQUN0Qiw0R0FBMEIsQ0FBQTtJQUMxQixrRkFBYSxDQUFBO0lBQ2IsOEdBQTJCLENBQUE7SUFDM0IsMEZBQWlCLENBQUE7SUFDakIsZ0dBQW9CLENBQUE7SUFDcEIsa0dBQXFCLENBQUE7SUFDckIsd0ZBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQWpEVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBaURwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0ge1xuICBTQUxBUlkgPSAxLFxuICBBTExPV0FOQ0VTX0VBUk5JTkdTX1RJUFNfRElSRUNUT1JfRkVFUyA9IDMwLFxuICBFTVBMT1lFUl9MVU1QX1NVTV9QQVlNRU5UUyA9IDMxLFxuICBFVFAgPSAzMixcbiAgR09WRVJOTUVOVF9BTExPV0FOQ0VTID0gMixcbiAgR09WRVJOTUVOVF9QRU5TSU9OUyA9IDMzLFxuICBBTk5VSVRJRVNfU1VQRVJfSU5DT01FX1NUUkVBTVMgPSAzLFxuICBTVVBFUkFOTlVBVElPTl9MVU1QX1NVTV9QQVlNRU5UUyA9IDM0LFxuICBBVFRSSUJVVEVEX1BTSV9JTkNPTUUgPSA0LFxuXG4gIFdPUktfRVhQRU5TRVMgPSA3LFxuXG4gIEdST1NTX1JFTlQgPSA4LFxuXG4gIE9USEVSX1JFTlRBTF9ERURVQ1RJT05TID0gMTIsXG5cbiAgSU5URVJFU1RfREVEVUNUSU9OUyA9IDksXG5cbiAgQ0FQSVRBTF9XT1JLUyA9IDEwLFxuICBERVBSRUNJQVRJT04gPSAxMSxcblxuICBHUk9TU19JTlRFUkVTVCA9IDUsXG4gIERJVklERU5EUyA9IDYsXG4gIFNIQVJFX1NDSEVNRVMgPSAzNSxcbiAgUEFSVE5FUlNISVBTX1RSVVNUUyA9IDEzLFxuICBQU0lfU0JFX0lOQ09NRSA9IDE0LFxuICBTT0xFX1RSQURFUl9CVVNJTkVTU19JTkNPTUUgPSAzOCxcbiAgQ0FQSVRBTF9HQUlOUyA9IDE1LFxuICBGT1JFSUdOX1NPVVJDRV9JTkNPTUUgPSAxNixcbiAgQk9OVVNFU19GUk9NX0xJRkVfSU5TVVJBTkNFID0gMTcsXG4gIEZPUkVTVFJZX01BTkFHRURfSU5WRVNUTUVOVF9TQ0hFTUVTID0gMzksXG4gIE9USEVSX0lOQ09NRSA9IDQwLFxuXG4gIFRBWF9DUkVESVRTID0gMjMsXG5cbiAgT1RIRVJfREVEVUNUSU9OUyA9IDE4LFxuXG4gIFRBWF9PRkZTRVRTID0gMjcsXG5cbiAgQk9SUk9XSU5HX0VYUEVOU0VTID0gMjksXG4gIEdST1NTX1RBWF9QQVlBQkxFID0gMTksXG4gIFRBWF9PTl9UQVhBQkxFX0lOQ09NRSA9IDIwLFxuICBNRURJQ0FSRSA9IDIxLFxuICBTVFVERU5UX0xPQU5fUkVQQVlNRU5UID0gMjIsXG4gIFRBWF9XSVRISEVMRCA9IDI0LFxuICBUQVhfSU5TVEFMTUVOVFMgPSAyNSxcbiAgRlJBTktJTkdfQ1JFRElUUyA9IDI2LFxuICBUQVhfUEFZQUJMRSA9IDI4LFxufVxuIl19
@@ -64,4 +64,4 @@ export class BankTransaction extends BankTransactionBase {
64
64
  __decorate([
65
65
  Type(() => Date)
66
66
  ], BankTransaction.prototype, "date", void 0);
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQXhEOztRQUNFLDhDQUE4QztRQUM5QyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7SUE4RGhDLENBQUM7SUF2REM7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCO1lBQzlDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLFdBQTRDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsV0FBNEM7UUFDN0QsT0FBTyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsV0FBNEM7UUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUF6REM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIGFzIEJhbmtUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvYmFuay10cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbiBleHRlbmRzIEJhbmtUcmFuc2FjdGlvbkJhc2Uge1xuICAvLyBhbGxvY2F0ZWQgbW9uZXkgYW1vdW50IGZvciBiYW5rIHRyYW5zYWN0aW9uXG4gIGFsbG9jYXRlZEFtb3VudDogbnVtYmVyID0gMDtcbiAgdW5hbGxvY2F0ZWRBbW91bnQ6IG51bWJlciA9IDA7XG5cbiAgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW07XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICAvKipcbiAgICogZ2V0IGFsbG9jYXRlZCBhbW91bnQgdmFsdWUgYnV0IHdpdGggKy8tIHNpZ25cbiAgICovXG4gIGdldCBiYWxhbmNlQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKSA/IHRoaXMuYWxsb2NhdGVkQW1vdW50IDogLXRoaXMuYWxsb2NhdGVkQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGJhbmsgdHJhbnNhY3Rpb24gaXMgZGViaXRcbiAgICovXG4gIGlzRGViaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQmFua1RyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyBjcmVkaXRcbiAgICovXG4gIGlzQ3JlZGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtUcmFuc2FjdGlvblR5cGVFbnVtLkNSRURJVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgVHJhbnNhY3Rpb24gaW5zdGFuY2UgYmFzZWQgb24gQmFuayBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiArdGhpcy5hbW91bnQudG9GaXhlZCgyKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQkFOS19UUkFOU0FDVElPTixcbiAgICAgIG9wZXJhdGlvbjogdGhpcy5vcGVyYXRpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmFuayB0cmFuc2FjdGlvbiBhbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoW3RoaXMuaWRdKS5hbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhbmsgdHJhbnNhY3Rpb24gdW5hbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG59XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQXhEOztRQUNFLDhDQUE4QztRQUM5QyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7SUE4RGhDLENBQUM7SUF2REM7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCO1lBQzlDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLFdBQTRDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsV0FBNEM7UUFDN0QsT0FBTyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsV0FBNEM7UUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUF6REM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIGFzIEJhbmtUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvYmFuay10cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbiBleHRlbmRzIEJhbmtUcmFuc2FjdGlvbkJhc2Uge1xuICAvLyBhbGxvY2F0ZWQgbW9uZXkgYW1vdW50IGZvciBiYW5rIHRyYW5zYWN0aW9uXG4gIGFsbG9jYXRlZEFtb3VudDogbnVtYmVyID0gMDtcbiAgdW5hbGxvY2F0ZWRBbW91bnQ6IG51bWJlciA9IDA7XG5cbiAgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW07XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICAvKipcbiAgICogZ2V0IGFsbG9jYXRlZCBhbW91bnQgdmFsdWUgYnV0IHdpdGggKy8tIHNpZ25cbiAgICovXG4gIGdldCBiYWxhbmNlQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKSA/IHRoaXMuYWxsb2NhdGVkQW1vdW50IDogLXRoaXMuYWxsb2NhdGVkQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGJhbmsgdHJhbnNhY3Rpb24gaXMgZGViaXRcbiAgICovXG4gIGlzRGViaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQmFua1RyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyBjcmVkaXRcbiAgICovXG4gIGlzQ3JlZGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtUcmFuc2FjdGlvblR5cGVFbnVtLkNSRURJVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgVHJhbnNhY3Rpb24gaW5zdGFuY2UgYmFzZWQgb24gQmFuayBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiArdGhpcy5hbW91bnQudG9GaXhlZCgyKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQkFOS19UUkFOU0FDVElPTixcbiAgICAgIG9wZXJhdGlvbjogdGhpcy5vcGVyYXRpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmFuayB0cmFuc2FjdGlvbiBhbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoW3RoaXMuaWRdKS5hbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhbmsgdHJhbnNhY3Rpb24gdW5hbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * type of export table column value
3
+ */
4
+ export var ExportCellTypeEnum;
5
+ (function (ExportCellTypeEnum) {
6
+ ExportCellTypeEnum[ExportCellTypeEnum["STRING"] = 0] = "STRING";
7
+ ExportCellTypeEnum[ExportCellTypeEnum["CURRENCY"] = 1] = "CURRENCY";
8
+ ExportCellTypeEnum[ExportCellTypeEnum["DATE"] = 2] = "DATE";
9
+ })(ExportCellTypeEnum || (ExportCellTypeEnum = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNlbGwtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwrREFBTSxDQUFBO0lBQ04sbUVBQVEsQ0FBQTtJQUNSLDJEQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogdHlwZSBvZiBleHBvcnQgdGFibGUgY29sdW1uIHZhbHVlXG4gKi9cbmV4cG9ydCBlbnVtIEV4cG9ydENlbGxUeXBlRW51bSB7XG4gIFNUUklORyxcbiAgQ1VSUkVOQ1ksXG4gIERBVEVcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ /**
2
+ * export table column
3
+ */
4
+ export class ExportCell {
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0NBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSAnLi9leHBvcnQtY2VsbC10eXBlLmVudW0nO1xuXG4vKipcbiAqIGV4cG9ydCB0YWJsZSBjb2x1bW5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4cG9ydENlbGwge1xuICB2YWx1ZTogYW55O1xuICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW1cbn1cbiJdfQ==
@@ -1,9 +1,3 @@
1
- /**
2
- * Data table structure suitable for export
3
- */
4
1
  export class ExportDataTable {
5
- constructor() {
6
- this.footer = [];
7
- }
8
2
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBSUUsV0FBTSxHQUFhLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERhdGEgdGFibGUgc3RydWN0dXJlIHN1aXRhYmxlIGZvciBleHBvcnRcbiAqL1xuZXhwb3J0IGNsYXNzIEV4cG9ydERhdGFUYWJsZSB7XG4gIGNhcHRpb24/OiBzdHJpbmc7XG4gIGhlYWRlcjogc3RyaW5nW107XG4gIHJvd3M6IHN0cmluZ1tdW107XG4gIGZvb3Rlcjogc3RyaW5nW10gPSBbXVxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sZUFBZTtDQUszQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGF0YSB0YWJsZSBzdHJ1Y3R1cmUgc3VpdGFibGUgZm9yIGV4cG9ydFxuICovXG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi9leHBvcnQtY2VsbCc7XG5cbmV4cG9ydCBjbGFzcyBFeHBvcnREYXRhVGFibGUge1xuICBjYXB0aW9uPzogc3RyaW5nO1xuICBoZWFkZXI6IHN0cmluZ1tdO1xuICBib2R5OiBFeHBvcnRDZWxsW11bXTtcbiAgZm9vdGVyOiBFeHBvcnRDZWxsW11bXVxufVxuIl19
@@ -42,4 +42,4 @@ export class IncomeSourceChartData {
42
42
  return chartData;
43
43
  }
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21lLXNvdXJjZS1jaGFydC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtY2hhcnQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUNFLHNCQUE4QixFQUM5QixZQUFtQztRQUVuQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE1BQU0sU0FBUyxHQUFpQixDQUFDO2dCQUMvQixFQUFFLEVBQUUsY0FBYztnQkFDbEIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxFQUFFO2dCQUNSLHVGQUF1RjtnQkFDdkYsS0FBSyxFQUFFLENBQUM7d0JBQ04saUNBQWlDO3dCQUNqQyxLQUFLLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTt3QkFDeEUsU0FBUyxFQUFFLE9BQU87cUJBQ25CLEVBQUU7d0JBQ0QscUJBQXFCO3dCQUNyQixTQUFTLEVBQUUsTUFBTTtxQkFDbEIsQ0FBQzthQUNILEVBQUU7Z0JBQ0QsRUFBRSxFQUFFLGtCQUFrQjtnQkFDdEIsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFO1lBQ3BDLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyw0Q0FBNEM7Z0JBQzVDLE1BQU0sMEJBQTBCLEdBQTBCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTlHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMvSCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0g7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgSUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2hhcnQtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IE1vbnRoTmFtZVNob3J0RW51bSB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW5hbWUtc2hvcnQuZW51bSc7XG5pbXBvcnQgeyBNb250aE51bWJlckVudW0gfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9tb250aC1udW1iZXIuZW51bSc7XG5cbi8qKlxuICogSW5jb21lIHNvdXJjZXMgY2hhcnQgZGF0YVxuICovXG5leHBvcnQgY2xhc3MgSW5jb21lU291cmNlQ2hhcnREYXRhIHtcbiAgcHJpdmF0ZSBmb3JlY2FzdGVkSW5jb21lQW1vdW50OiBudW1iZXI7XG4gIHByaXZhdGUgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9yZWNhc3RlZEluY29tZUFtb3VudDogbnVtYmVyLFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICApIHtcbiAgICB0aGlzLmZvcmVjYXN0ZWRJbmNvbWVBbW91bnQgPSBmb3JlY2FzdGVkSW5jb21lQW1vdW50O1xuICAgIHRoaXMudHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcmVwYXJlZCBkYXRhIGZvciBpbmNvbWUgc291cmNlcyBjaGFydFxuICAgKi9cbiAgZ2V0KCk6IElDaGFydERhdGFbXSB7XG4gICAgY29uc3QgY2hhcnREYXRhOiBJQ2hhcnREYXRhW10gPSBbe1xuICAgICAgaWQ6ICdhY3R1YWxJbmNvbWUnLFxuICAgICAgbmFtZTogJ0FjdHVhbCBJbmNvbWUnLFxuICAgICAgZGF0YTogW10sXG4gICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBhY3R1YWwgaW5jb21lcyB3aXRoIGRhc2ggbGluZSBhbmQgcGFzdCBhY3R1YWwgaW5jb21lcyB3aXRoIHNvbGlkIGxpbmVcbiAgICAgIHpvbmVzOiBbe1xuICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgbW9udGhcbiAgICAgICAgdmFsdWU6IG5ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0TW9udGhEYXRlKG5ldyBEYXRlKCkuZ2V0TW9udGgoKSkuZ2V0VGltZSgpLFxuICAgICAgICBkYXNoU3R5bGU6ICdTb2xpZCdcbiAgICAgIH0sIHtcbiAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgIGRhc2hTdHlsZTogJ0Rhc2gnXG4gICAgICB9XVxuICAgIH0sIHtcbiAgICAgIGlkOiAnZm9yZWNhc3RlZEluY29tZScsXG4gICAgICBuYW1lOiAnRm9yZWNhc3RlZCBJbmNvbWUnLFxuICAgICAgZGF0YTogW10sXG4gICAgfV07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBNb250aE5hbWVTaG9ydEVudW0pIHtcbiAgICAgIGlmIChNb250aE5hbWVTaG9ydEVudW0uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAvLyB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGZvciBwcm92aWRlZCBtb250aFxuICAgICAgICBjb25zdCBtb250aFRyYW5zYWN0aW9uQ29sbGVjdGlvbjogVHJhbnNhY3Rpb25Db2xsZWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbnMuZ2V0QnlNb250aCgrTW9udGhOdW1iZXJFbnVtW2tleV0pO1xuXG4gICAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goW25ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0TW9udGhEYXRlKCtNb250aE51bWJlckVudW1ba2V5XSkuZ2V0VGltZSgpLCBtb250aFRyYW5zYWN0aW9uQ29sbGVjdGlvbi5hbW91bnRdKTtcbiAgICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaChbbmV3IEZpbmFuY2lhbFllYXIoKS5nZXRNb250aERhdGUoK01vbnRoTnVtYmVyRW51bVtrZXldKS5nZXRUaW1lKCksIHRoaXMuZm9yZWNhc3RlZEluY29tZUFtb3VudCAvIDEyXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21lLXNvdXJjZS1jaGFydC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtY2hhcnQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUNFLHNCQUE4QixFQUM5QixZQUFtQztRQUVuQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE1BQU0sU0FBUyxHQUFpQixDQUFDO2dCQUMvQixFQUFFLEVBQUUsY0FBYztnQkFDbEIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxFQUFFO2dCQUNSLHVGQUF1RjtnQkFDdkYsS0FBSyxFQUFFLENBQUM7d0JBQ04saUNBQWlDO3dCQUNqQyxLQUFLLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTt3QkFDeEUsU0FBUyxFQUFFLE9BQU87cUJBQ25CLEVBQUU7d0JBQ0QscUJBQXFCO3dCQUNyQixTQUFTLEVBQUUsTUFBTTtxQkFDbEIsQ0FBQzthQUNILEVBQUU7Z0JBQ0QsRUFBRSxFQUFFLGtCQUFrQjtnQkFDdEIsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFO1lBQ3BDLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyw0Q0FBNEM7Z0JBQzVDLE1BQU0sMEJBQTBCLEdBQTBCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTlHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMvSCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0g7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgSUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2hhcnQtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IE1vbnRoTmFtZVNob3J0RW51bSB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW5hbWUtc2hvcnQuZW51bSc7XG5pbXBvcnQgeyBNb250aE51bWJlckVudW0gfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9tb250aC1udW1iZXIuZW51bSc7XG5cbi8qKlxuICogSW5jb21lIHNvdXJjZXMgY2hhcnQgZGF0YVxuICovXG5leHBvcnQgY2xhc3MgSW5jb21lU291cmNlQ2hhcnREYXRhIHtcbiAgcHJpdmF0ZSBmb3JlY2FzdGVkSW5jb21lQW1vdW50OiBudW1iZXI7XG4gIHByaXZhdGUgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9yZWNhc3RlZEluY29tZUFtb3VudDogbnVtYmVyLFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICApIHtcbiAgICB0aGlzLmZvcmVjYXN0ZWRJbmNvbWVBbW91bnQgPSBmb3JlY2FzdGVkSW5jb21lQW1vdW50O1xuICAgIHRoaXMudHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcmVwYXJlZCBkYXRhIGZvciBpbmNvbWUgc291cmNlcyBjaGFydFxuICAgKi9cbiAgZ2V0KCk6IElDaGFydERhdGFbXSB7XG4gICAgY29uc3QgY2hhcnREYXRhOiBJQ2hhcnREYXRhW10gPSBbe1xuICAgICAgaWQ6ICdhY3R1YWxJbmNvbWUnLFxuICAgICAgbmFtZTogJ0FjdHVhbCBJbmNvbWUnLFxuICAgICAgZGF0YTogW10sXG4gICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBhY3R1YWwgaW5jb21lcyB3aXRoIGRhc2ggbGluZSBhbmQgcGFzdCBhY3R1YWwgaW5jb21lcyB3aXRoIHNvbGlkIGxpbmVcbiAgICAgIHpvbmVzOiBbe1xuICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgbW9udGhcbiAgICAgICAgdmFsdWU6IG5ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0TW9udGhEYXRlKG5ldyBEYXRlKCkuZ2V0TW9udGgoKSkuZ2V0VGltZSgpLFxuICAgICAgICBkYXNoU3R5bGU6ICdTb2xpZCdcbiAgICAgIH0sIHtcbiAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgIGRhc2hTdHlsZTogJ0Rhc2gnXG4gICAgICB9XVxuICAgIH0sIHtcbiAgICAgIGlkOiAnZm9yZWNhc3RlZEluY29tZScsXG4gICAgICBuYW1lOiAnRm9yZWNhc3RlZCBJbmNvbWUnLFxuICAgICAgZGF0YTogW10sXG4gICAgfV07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBNb250aE5hbWVTaG9ydEVudW0pIHtcbiAgICAgIGlmIChNb250aE5hbWVTaG9ydEVudW0uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAvLyB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGZvciBwcm92aWRlZCBtb250aFxuICAgICAgICBjb25zdCBtb250aFRyYW5zYWN0aW9uQ29sbGVjdGlvbjogVHJhbnNhY3Rpb25Db2xsZWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbnMuZ2V0QnlNb250aCgrTW9udGhOdW1iZXJFbnVtW2tleV0pO1xuXG4gICAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goW25ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0TW9udGhEYXRlKCtNb250aE51bWJlckVudW1ba2V5XSkuZ2V0VGltZSgpLCBtb250aFRyYW5zYWN0aW9uQ29sbGVjdGlvbi5hbW91bnRdKTtcbiAgICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaChbbmV3IEZpbmFuY2lhbFllYXIoKS5nZXRNb250aERhdGUoK01vbnRoTnVtYmVyRW51bVtrZXldKS5nZXRUaW1lKCksIHRoaXMuZm9yZWNhc3RlZEluY29tZUFtb3VudCAvIDEyXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxufVxuIl19
@@ -1,34 +1,12 @@
1
1
  import { __decorate } from "tslib";
2
- import { plainToClass, Type } from 'class-transformer';
3
- import { ExportRow } from '../export/export-row';
4
- import { ExportRowDataTypeEnum } from '../export/export-row-data-type.enum';
5
- export const EXPORT_DATA_TABLE_COLUMNS = [
6
- 'Pmt No.',
7
- 'Date',
8
- 'Payment Due',
9
- 'Interest Accrued',
10
- 'Principal Paid',
11
- 'Principal Balance',
12
- 'Payout'
13
- ];
2
+ import { Type } from 'class-transformer';
14
3
  // @Todo no base model from backend list
15
4
  /**
16
5
  * Loan payment class
17
6
  */
18
7
  export class LoanPayment {
19
- toDataTableRows() {
20
- return [
21
- plainToClass(ExportRow, { data: this.number, type: ExportRowDataTypeEnum.STRING }),
22
- plainToClass(ExportRow, { data: this.date, type: ExportRowDataTypeEnum.DATE }),
23
- plainToClass(ExportRow, { data: this.paymentDue, type: ExportRowDataTypeEnum.CURRENCY }),
24
- plainToClass(ExportRow, { data: this.interestAccrued, type: ExportRowDataTypeEnum.CURRENCY }),
25
- plainToClass(ExportRow, { data: this.principalPaid, type: ExportRowDataTypeEnum.CURRENCY }),
26
- plainToClass(ExportRow, { data: this.principalBalance, type: ExportRowDataTypeEnum.CURRENCY }),
27
- plainToClass(ExportRow, { data: this.payout, type: ExportRowDataTypeEnum.CURRENCY }),
28
- ];
29
- }
30
8
  }
31
9
  __decorate([
32
10
  Type(() => Date)
33
11
  ], LoanPayment.prototype, "date", void 0);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1wYXltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9sb2FuL2xvYW4tcGF5bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQWE7SUFDakQsU0FBUztJQUNULE1BQU07SUFDTixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsUUFBUTtDQUNULENBQUM7QUFFRix3Q0FBd0M7QUFDeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQVl0QixlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUscUJBQXFCLENBQUMsTUFBTSxFQUFDLENBQUM7WUFDaEYsWUFBWSxDQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUMsQ0FBQztZQUM1RSxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ3RGLFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDM0YsWUFBWSxDQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUN6RixZQUFZLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUscUJBQXFCLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDNUYsWUFBWSxDQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUMsQ0FBQztTQUNuRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckJDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBsYWluVG9DbGFzcywgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IERhdGFUYWJsZUV4cG9ydGFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3RhYmxlLWV4cG9ydGFibGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4cG9ydFJvdyB9IGZyb20gJy4uL2V4cG9ydC9leHBvcnQtcm93JztcbmltcG9ydCB7IEV4cG9ydFJvd0RhdGFUeXBlRW51bSB9IGZyb20gJy4uL2V4cG9ydC9leHBvcnQtcm93LWRhdGEtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RBQkxFX0NPTFVNTlM6IHN0cmluZ1tdID0gW1xuICAnUG10IE5vLicsXG4gICdEYXRlJyxcbiAgJ1BheW1lbnQgRHVlJyxcbiAgJ0ludGVyZXN0IEFjY3J1ZWQnLFxuICAnUHJpbmNpcGFsIFBhaWQnLFxuICAnUHJpbmNpcGFsIEJhbGFuY2UnLFxuICAnUGF5b3V0J1xuXTtcblxuLy8gQFRvZG8gbm8gYmFzZSBtb2RlbCBmcm9tIGJhY2tlbmQgbGlzdFxuLyoqXG4gKiBMb2FuIHBheW1lbnQgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIExvYW5QYXltZW50IGltcGxlbWVudHMgRGF0YVRhYmxlRXhwb3J0YWJsZSB7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG4gIGludGVyZXN0QWNjcnVlZDogbnVtYmVyO1xuICBpbnRlcmVzdEJhbGFuY2U6IG51bWJlcjtcbiAgbnVtYmVyOiBudW1iZXI7XG4gIHBheW1lbnREdWU6IG51bWJlcjtcbiAgcHJpbmNpcGFsQmFsYW5jZTogbnVtYmVyO1xuICBwcmluY2lwYWxQYWlkOiBudW1iZXI7XG4gIHBheW91dDogbnVtYmVyO1xuICB0b3RhbE93ZWQ6IG51bWJlcjtcblxuICB0b0RhdGFUYWJsZVJvd3MoKTogRXhwb3J0Um93W10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Um93LCB7ZGF0YTogdGhpcy5udW1iZXIsIHR5cGU6IEV4cG9ydFJvd0RhdGFUeXBlRW51bS5TVFJJTkd9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRSb3csIHtkYXRhOiB0aGlzLmRhdGUsIHR5cGU6IEV4cG9ydFJvd0RhdGFUeXBlRW51bS5EQVRFfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Um93LCB7ZGF0YTogdGhpcy5wYXltZW50RHVlLCB0eXBlOiBFeHBvcnRSb3dEYXRhVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRSb3csIHtkYXRhOiB0aGlzLmludGVyZXN0QWNjcnVlZCwgdHlwZTogRXhwb3J0Um93RGF0YVR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Um93LCB7ZGF0YTogdGhpcy5wcmluY2lwYWxQYWlkLCB0eXBlOiBFeHBvcnRSb3dEYXRhVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRSb3csIHtkYXRhOiB0aGlzLnByaW5jaXBhbEJhbGFuY2UsIHR5cGU6IEV4cG9ydFJvd0RhdGFUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydFJvdywge2RhdGE6IHRoaXMucGF5b3V0LCB0eXBlOiBFeHBvcnRSb3dEYXRhVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICBdO1xuICB9XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1wYXltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9sb2FuL2xvYW4tcGF5bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLHdDQUF3QztBQUN4Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0NBV3ZCO0FBVEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLy8gQFRvZG8gbm8gYmFzZSBtb2RlbCBmcm9tIGJhY2tlbmQgbGlzdFxuLyoqXG4gKiBMb2FuIHBheW1lbnQgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIExvYW5QYXltZW50IHtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcbiAgaW50ZXJlc3RBY2NydWVkOiBudW1iZXI7XG4gIGludGVyZXN0QmFsYW5jZTogbnVtYmVyO1xuICBudW1iZXI6IG51bWJlcjtcbiAgcGF5bWVudER1ZTogbnVtYmVyO1xuICBwcmluY2lwYWxCYWxhbmNlOiBudW1iZXI7XG4gIHByaW5jaXBhbFBhaWQ6IG51bWJlcjtcbiAgcGF5b3V0OiBudW1iZXI7XG4gIHRvdGFsT3dlZDogbnVtYmVyO1xufVxuIl19
@@ -88,4 +88,4 @@ export class VehicleClaim extends VehicleClaimBase {
88
88
  return ChartAccountsListEnum.KLMS_TRAVELLED;
89
89
  }
90
90
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLElBQUksZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQUNFLDZCQUE2QjtRQUM3QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFakQsV0FBTSxHQUEyQixzQkFBc0IsQ0FBQyxHQUFHLENBQUM7UUFDNUQsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFrRjNCLENBQUM7SUFoRkM7O09BRUc7SUFDSCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGdCQUF3QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxZQUFtQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLGtCQUFrQixHQUFXLFlBQVk7YUFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUIsc0JBQXNCLEVBQUU7WUFDekIsb0VBQW9FO2FBQ25FLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5CLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLGdCQUF3QjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCO1lBQzFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1lBQ2xDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO1lBQy9CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztZQUNuRCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsRUFBRSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3pEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdDQUFnQyxDQUFDLFdBQXlCLElBQUksQ0FBQyxRQUFRO1FBQ3JFLElBQUksUUFBUSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQztTQUN0RDtRQUVELE9BQU8scUJBQXFCLENBQUMsY0FBYyxDQUFBO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdmVoaWNsZS1jbGFpbS1tZXRob2QuZW51bSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcblxuY29uc3QgV0VFS1NfSU5fWUVBUiA9IDUyO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltIGV4dGVuZHMgVmVoaWNsZUNsYWltQmFzZSB7XG4gIC8vIGxpbWl0IGZvciBrbXMgY2xhaW0gbWV0aG9kXG4gIGttc0xpbWl0OiBudW1iZXIgPSA1MDAwO1xuICBmaW5hbmNpYWxZZWFyOiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG5cbiAgbWV0aG9kOiBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtID0gVmVoaWNsZUNsYWltTWV0aG9kRW51bS5LTVM7XG4gIGtpbG9tZXRlcnM6IG51bWJlciA9IDA7XG4gIHdvcmtVc2FnZTogbnVtYmVyID0gMDtcbiAgaXNNYW51YWw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBnZXQgYW1vdW50IG9mIGtpbG9tZXRyZXMgcGVyIHdlZWtcbiAgICovXG4gIGdldCBhdmVyYWdlV2Vla2x5VHJhdmVsZWRLbXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5raWxvbWV0ZXJzIC8gV0VFS1NfSU5fWUVBUjtcbiAgfVxuXG4gIGlzTG9nYm9va01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uTE9HQk9PSztcbiAgfVxuXG4gIGlzS0xNc01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uS01TO1xuICB9XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFpbSBhbW91bnQgZm9yIEtMTXMgbWV0aG9kLiBFeGlzdHMgb25seSBmb3IgS0xNcyBtZXRob2QuXG4gICAqL1xuICBnZXRLTE1zQ2xhaW1BbW91bnQodmVoaWNsZUNsYWltUmF0ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNLTE1zTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiArKHRoaXMua2lsb21ldGVycyAqIHZlaGljbGVDbGFpbVJhdGUpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZ2Jvb2sgY2xhaW0gYW1vdW50LiBFeGlzdHMgb25seSBmb3IgbG9nYm9vayBtZXRob2QuXG4gICAqIENsYWltQW1vdW50ID0gV29ya1VzYWdlICogdHJhbnNhY3Rpb24vZGVwcmVjaWF0aW9uIGFtb3VudFxuICAgKi9cbiAgZ2V0TG9nYm9va0NsYWltQW1vdW50KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dib29rTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0Ftb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0QnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKVxuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLy8gZXhjZXB0IGtsbXMgdHJhbnNhY3Rpb25zIGJlY2F1c2UgdGhleSBuZWVkZWQgb25seSBmb3Iga2xtcyBtZXRob2RcbiAgICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuaXNLTE1zQnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50Jyk7XG5cbiAgICAvLyBNYXRoLmFicyBiZWNhdXNlIGFtb3VudCB3aWxsIGJlIG5lZ2F0aXZlIChiZWNhdXNlIHdlIHN1bSBleHBlbnNlcyksIGJ1dCB3ZSBkb24ndCB3YW50IG5lZ2F0aXZlIHBlcmNlbnQgdmFsdWVcbiAgICByZXR1cm4gTWF0aC5hYnModHJhbnNhY3Rpb25zQW1vdW50KSAqIHRoaXMud29ya1VzYWdlIC8gMTAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBLTE1zIHRyYW5zYWN0aW9uIGJhc2VkIG9uIHZlaGljbGUgY2xhaW0gYW5kIHZlaGljbGUgY2xhaW0gcmF0ZVxuICAgKiBAVE9ETyBoYW5kbGUgb24gYmFja2VuZDogQ3JlYXRlIGtsbXMgdHJhbnNhY3Rpb24gd2hlbiB2aGljbGUgY2xhaW0gY3JlYXRlZFxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbih2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXIpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiB0aGlzLmtpbG9tZXRlcnMgKiB2ZWhpY2xlQ2xhaW1SYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSCxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQsXG4gICAgICB0YXhXaXRoaGVsZDogMCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnS2xt4oCZcyBtZXRob2QnLFxuICAgICAgZGF0ZTogbmV3IERhdGUoYCR7bmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyfS0wNi0zMGApLFxuICAgICAgY2xhaW1QZXJjZW50OiAxMDAsXG4gICAgICBjaGFydEFjY291bnRzOiB7XG4gICAgICAgIGlkOiB0aGlzLmdldEtsbXNDaGFydEFjY291bnRzSWRCeVRhbmtUeXBlKHRoaXMudGFua1R5cGUpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRLbG1zQ2hhcnRBY2NvdW50c0lkQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtID0gdGhpcy50YW5rVHlwZSk6IG51bWJlciB7XG4gICAgaWYgKHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uV09SSykge1xuICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcbiAgICB9XG5cbiAgICByZXR1cm4gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLElBQUksZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQUNFLDZCQUE2QjtRQUM3QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFakQsV0FBTSxHQUEyQixzQkFBc0IsQ0FBQyxHQUFHLENBQUM7UUFDNUQsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFrRjNCLENBQUM7SUFoRkM7O09BRUc7SUFDSCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGdCQUF3QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxZQUFtQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLGtCQUFrQixHQUFXLFlBQVk7YUFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUIsc0JBQXNCLEVBQUU7WUFDekIsb0VBQW9FO2FBQ25FLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5CLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLGdCQUF3QjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCO1lBQzFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1lBQ2xDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO1lBQy9CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztZQUNuRCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsRUFBRSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3pEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdDQUFnQyxDQUFDLFdBQXlCLElBQUksQ0FBQyxRQUFRO1FBQ3JFLElBQUksUUFBUSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQztTQUN0RDtRQUVELE9BQU8scUJBQXFCLENBQUMsY0FBYyxDQUFBO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdmVoaWNsZS1jbGFpbS1tZXRob2QuZW51bSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcblxuY29uc3QgV0VFS1NfSU5fWUVBUiA9IDUyO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltIGV4dGVuZHMgVmVoaWNsZUNsYWltQmFzZSB7XG4gIC8vIGxpbWl0IGZvciBrbXMgY2xhaW0gbWV0aG9kXG4gIGttc0xpbWl0OiBudW1iZXIgPSA1MDAwO1xuICBmaW5hbmNpYWxZZWFyOiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG5cbiAgbWV0aG9kOiBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtID0gVmVoaWNsZUNsYWltTWV0aG9kRW51bS5LTVM7XG4gIGtpbG9tZXRlcnM6IG51bWJlciA9IDA7XG4gIHdvcmtVc2FnZTogbnVtYmVyID0gMDtcbiAgaXNNYW51YWw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBnZXQgYW1vdW50IG9mIGtpbG9tZXRyZXMgcGVyIHdlZWtcbiAgICovXG4gIGdldCBhdmVyYWdlV2Vla2x5VHJhdmVsZWRLbXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5raWxvbWV0ZXJzIC8gV0VFS1NfSU5fWUVBUjtcbiAgfVxuXG4gIGlzTG9nYm9va01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uTE9HQk9PSztcbiAgfVxuXG4gIGlzS0xNc01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uS01TO1xuICB9XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFpbSBhbW91bnQgZm9yIEtMTXMgbWV0aG9kLiBFeGlzdHMgb25seSBmb3IgS0xNcyBtZXRob2QuXG4gICAqL1xuICBnZXRLTE1zQ2xhaW1BbW91bnQodmVoaWNsZUNsYWltUmF0ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNLTE1zTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiArKHRoaXMua2lsb21ldGVycyAqIHZlaGljbGVDbGFpbVJhdGUpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZ2Jvb2sgY2xhaW0gYW1vdW50LiBFeGlzdHMgb25seSBmb3IgbG9nYm9vayBtZXRob2QuXG4gICAqIENsYWltQW1vdW50ID0gV29ya1VzYWdlICogdHJhbnNhY3Rpb24vZGVwcmVjaWF0aW9uIGFtb3VudFxuICAgKi9cbiAgZ2V0TG9nYm9va0NsYWltQW1vdW50KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dib29rTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0Ftb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0QnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKVxuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLy8gZXhjZXB0IGtsbXMgdHJhbnNhY3Rpb25zIGJlY2F1c2UgdGhleSBuZWVkZWQgb25seSBmb3Iga2xtcyBtZXRob2RcbiAgICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuaXNLTE1zQnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50Jyk7XG5cbiAgICAvLyBNYXRoLmFicyBiZWNhdXNlIGFtb3VudCB3aWxsIGJlIG5lZ2F0aXZlIChiZWNhdXNlIHdlIHN1bSBleHBlbnNlcyksIGJ1dCB3ZSBkb24ndCB3YW50IG5lZ2F0aXZlIHBlcmNlbnQgdmFsdWVcbiAgICByZXR1cm4gTWF0aC5hYnModHJhbnNhY3Rpb25zQW1vdW50KSAqIHRoaXMud29ya1VzYWdlIC8gMTAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBLTE1zIHRyYW5zYWN0aW9uIGJhc2VkIG9uIHZlaGljbGUgY2xhaW0gYW5kIHZlaGljbGUgY2xhaW0gcmF0ZVxuICAgKiBAVE9ETyBoYW5kbGUgb24gYmFja2VuZDogQ3JlYXRlIGtsbXMgdHJhbnNhY3Rpb24gd2hlbiB2aGljbGUgY2xhaW0gY3JlYXRlZFxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbih2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXIpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiB0aGlzLmtpbG9tZXRlcnMgKiB2ZWhpY2xlQ2xhaW1SYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSCxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQsXG4gICAgICB0YXhXaXRoaGVsZDogMCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnS2xt4oCZcyBtZXRob2QnLFxuICAgICAgZGF0ZTogbmV3IERhdGUoYCR7bmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyfS0wNi0zMGApLFxuICAgICAgY2xhaW1QZXJjZW50OiAxMDAsXG4gICAgICBjaGFydEFjY291bnRzOiB7XG4gICAgICAgIGlkOiB0aGlzLmdldEtsbXNDaGFydEFjY291bnRzSWRCeVRhbmtUeXBlKHRoaXMudGFua1R5cGUpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRLbG1zQ2hhcnRBY2NvdW50c0lkQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtID0gdGhpcy50YW5rVHlwZSk6IG51bWJlciB7XG4gICAgaWYgKHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uV09SSykge1xuICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcbiAgICB9XG5cbiAgICByZXR1cm4gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXG4gIH1cbn1cbiJdfQ==