taxtank-core 0.30.137 → 0.30.138
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.
- package/esm2020/lib/collections/report/vehicle-expense/vehicle-expense.collection.mjs +3 -3
- package/esm2020/lib/models/income-source/salary-forecast.mjs +3 -3
- package/esm2020/lib/models/property/borrowing-report.mjs +2 -2
- package/fesm2015/taxtank-core.mjs +4440 -4440
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +4412 -4412
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection } from '../../collection';
|
|
2
|
-
import { VehicleExpense } from '../../../models/report
|
|
2
|
+
import { VehicleExpense } from '../../../models/report';
|
|
3
3
|
export class VehicleExpenseCollection extends Collection {
|
|
4
4
|
constructor(transactions, depreciations, vehicleClaim) {
|
|
5
5
|
super();
|
|
@@ -10,8 +10,8 @@ export class VehicleExpenseCollection extends Collection {
|
|
|
10
10
|
const transactionsByChartAccounts = transactions.groupBy('chartAccounts.name');
|
|
11
11
|
const transactionExpenses = transactionsByChartAccounts.keys.map((chartAccountsName) => new VehicleExpense(transactionsByChartAccounts.get(chartAccountsName).amount, vehicleClaim.workUsage, chartAccountsName));
|
|
12
12
|
// group all depreciations into one expense item
|
|
13
|
-
const depreciationExpense = new VehicleExpense(depreciations.getCurrentYearForecastAmount(), vehicleClaim.workUsage, 'Depreciation');
|
|
13
|
+
const depreciationExpense = new VehicleExpense(-depreciations.getCurrentYearForecastAmount(), vehicleClaim.workUsage, 'Depreciation');
|
|
14
14
|
this.items.push(...[depreciationExpense, ...transactionExpenses]);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1leHBlbnNlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3ZlaGljbGUtZXhwZW5zZS92ZWhpY2xlLWV4cGVuc2UuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBS3hELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxVQUEwQjtJQUN0RSxZQUNFLFlBQW1DLEVBQ25DLGFBQXFDLEVBQ3JDLFlBQTBCO1FBRTFCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxRQUFRLENBQUMsWUFBbUMsRUFBRSxhQUFxQyxFQUFFLFlBQTBCO1FBQ3JILElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sMkJBQTJCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sbUJBQW1CLEdBQXFCLDJCQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxpQkFBeUIsRUFBRSxFQUFFLENBQUMsSUFBSSxjQUFjLENBQ2xJLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sRUFDekQsWUFBWSxDQUFDLFNBQVMsRUFDdEIsaUJBQWlCLENBQ2xCLENBQUMsQ0FBQztRQUVILGdEQUFnRDtRQUNoRCxNQUFNLG1CQUFtQixHQUFtQixJQUFJLGNBQWMsQ0FDNUQsQ0FBQyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsRUFDN0MsWUFBWSxDQUFDLFNBQVMsRUFDdEIsY0FBYyxDQUNmLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVmVoaWNsZUV4cGVuc2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVwb3J0JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUV4cGVuc2VDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxWZWhpY2xlRXhwZW5zZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zZXRJdGVtcyh0cmFuc2FjdGlvbnMsIGRlcHJlY2lhdGlvbnMsIHZlaGljbGVDbGFpbSk7XG4gIH1cblxuICBwcml2YXRlIHNldEl0ZW1zKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCB2ZWhpY2xlQ2xhaW06IFZlaGljbGVDbGFpbSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMgPSBbXTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cyA9IHRyYW5zYWN0aW9ucy5ncm91cEJ5KCdjaGFydEFjY291bnRzLm5hbWUnKTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRXhwZW5zZXM6IFZlaGljbGVFeHBlbnNlW10gPSB0cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMua2V5cy5tYXAoKGNoYXJ0QWNjb3VudHNOYW1lOiBzdHJpbmcpID0+IG5ldyBWZWhpY2xlRXhwZW5zZShcbiAgICAgIHRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoY2hhcnRBY2NvdW50c05hbWUpLmFtb3VudCxcbiAgICAgIHZlaGljbGVDbGFpbS53b3JrVXNhZ2UsXG4gICAgICBjaGFydEFjY291bnRzTmFtZVxuICAgICkpO1xuXG4gICAgLy8gZ3JvdXAgYWxsIGRlcHJlY2lhdGlvbnMgaW50byBvbmUgZXhwZW5zZSBpdGVtXG4gICAgY29uc3QgZGVwcmVjaWF0aW9uRXhwZW5zZTogVmVoaWNsZUV4cGVuc2UgPSBuZXcgVmVoaWNsZUV4cGVuc2UoXG4gICAgICAtZGVwcmVjaWF0aW9ucy5nZXRDdXJyZW50WWVhckZvcmVjYXN0QW1vdW50KCksXG4gICAgICB2ZWhpY2xlQ2xhaW0ud29ya1VzYWdlLFxuICAgICAgJ0RlcHJlY2lhdGlvbidcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcy5wdXNoKC4uLltkZXByZWNpYXRpb25FeHBlbnNlLCAuLi50cmFuc2FjdGlvbkV4cGVuc2VzXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,9 +13,9 @@ export class SalaryForecast extends SalaryForecastBase {
|
|
|
13
13
|
case SalaryForecastFrequencyEnum.ANNUAL:
|
|
14
14
|
return this.netPay / FinancialYear.monthsInYear;
|
|
15
15
|
case SalaryForecastFrequencyEnum.FORTNIGHTLY:
|
|
16
|
-
return this.netPay
|
|
16
|
+
return this.netPay * FinancialYear.weeksInYear / FinancialYear.monthsInYear / 2;
|
|
17
17
|
case SalaryForecastFrequencyEnum.WEEKLY:
|
|
18
|
-
return this.netPay / FinancialYear.
|
|
18
|
+
return this.netPay * FinancialYear.weeksInYear / FinancialYear.monthsInYear;
|
|
19
19
|
default:
|
|
20
20
|
return this.netPay;
|
|
21
21
|
}
|
|
@@ -28,4 +28,4 @@ __decorate([
|
|
|
28
28
|
__decorate([
|
|
29
29
|
Type(() => IncomeSource)
|
|
30
30
|
], SalaryForecast.prototype, "incomeSource", void 0);
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsYXJ5LWZvcmVjYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBa0I7SUFPcEQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixLQUFLLDJCQUEyQixDQUFDLE1BQU07Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ2xELEtBQUssMkJBQTJCLENBQUMsV0FBVztnQkFDMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDbEYsS0FBSywyQkFBMkIsQ0FBQyxNQUFNO2dCQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQzlFO2dCQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUN0QjtJQUNILENBQUM7Q0FDRjtBQXJCVztJQURULFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUM1QyxNQUFNLEVBQUU7bURBQXFCO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztvREFDRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhbGFyeUZvcmVjYXN0IGFzIFNhbGFyeUZvcmVjYXN0QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9pbmNvbWVTb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0JztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4vaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBJSW5jb21lU291cmNlRm9yZWNhc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEV4cG9zZSwgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgU2FsYXJ5Rm9yZWNhc3RGcmVxdWVuY3lFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc2FsYXJ5LWZvcmVjYXN0LWZyZXF1ZW5jeS5lbnVtJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5cbmV4cG9ydCBjbGFzcyBTYWxhcnlGb3JlY2FzdCBleHRlbmRzIFNhbGFyeUZvcmVjYXN0QmFzZSBpbXBsZW1lbnRzIElJbmNvbWVTb3VyY2VGb3JlY2FzdCB7XG4gIEBUcmFuc2Zvcm0oKHsgb2JqIH0pID0+IG9iai5uZXRQYXkgKyBvYmoudGF4KVxuICBARXhwb3NlKCkgZ3Jvc3NBbW91bnQ6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBJbmNvbWVTb3VyY2UpXG4gIGluY29tZVNvdXJjZTogSW5jb21lU291cmNlO1xuXG4gIGdldCB0YXhXaXRoaGVsZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdyb3NzQW1vdW50IC0gdGhpcy5uZXRQYXk7XG4gIH1cblxuICBnZXQgbW9udGhseUFtb3VudCgpOiBudW1iZXIge1xuICAgIHN3aXRjaCAodGhpcy5mcmVxdWVuY3kpIHtcbiAgICAgIGNhc2UgU2FsYXJ5Rm9yZWNhc3RGcmVxdWVuY3lFbnVtLkFOTlVBTDpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5IC8gRmluYW5jaWFsWWVhci5tb250aHNJblllYXI7XG4gICAgICBjYXNlIFNhbGFyeUZvcmVjYXN0RnJlcXVlbmN5RW51bS5GT1JUTklHSFRMWTpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5ICogRmluYW5jaWFsWWVhci53ZWVrc0luWWVhciAvIEZpbmFuY2lhbFllYXIubW9udGhzSW5ZZWFyIC8gMjtcbiAgICAgIGNhc2UgU2FsYXJ5Rm9yZWNhc3RGcmVxdWVuY3lFbnVtLldFRUtMWTpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5ICogRmluYW5jaWFsWWVhci53ZWVrc0luWWVhciAvIEZpbmFuY2lhbFllYXIubW9udGhzSW5ZZWFyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5O1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -41,7 +41,7 @@ export class BorrowingReport extends BorrowingReportBase {
|
|
|
41
41
|
* surplus income to cover your debt obligations
|
|
42
42
|
*/
|
|
43
43
|
getNetSurplusRatio(profit, repaymentAmount) {
|
|
44
|
-
if (!(repaymentAmount
|
|
44
|
+
if (!(repaymentAmount + this.loanRepaymentAmount + this.otherLiabilities)) {
|
|
45
45
|
return 0;
|
|
46
46
|
}
|
|
47
47
|
return (profit + this.netRentIncome + this.netSalary + this.spouseNetSalary - this.livingExpenses)
|
|
@@ -51,4 +51,4 @@ export class BorrowingReport extends BorrowingReportBase {
|
|
|
51
51
|
__decorate([
|
|
52
52
|
Type(() => User)
|
|
53
53
|
], BorrowingReport.prototype, "user", void 0);
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9ycm93aW5nLXJlcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvYm9ycm93aW5nLXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2hEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUF4RDs7UUFJRSxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQix3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzdCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO0lBeUM3QixDQUFDO0lBdkNDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FDZCxlQUFpQyxFQUNqQyxxQkFBNkMsRUFDN0MsZ0JBQXFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDMUUsU0FBMEIsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDckIsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO2tCQUNyRSxJQUFJLDhCQUE4QixDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5RjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1NBQzVEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsTUFBYyxFQUFFLGVBQXVCO1FBQ3pELE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWU7Y0FDeEYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFBO0lBQzVFLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLE1BQWMsRUFBRSxlQUF1QjtRQUN4RCxJQUFJLENBQUMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7Y0FDOUYsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQTlDQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkNBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3Jyb3dpbmdSZXBvcnQgYXMgQm9ycm93aW5nUmVwb3J0QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9ib3Jyb3dpbmctcmVwb3J0JztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBJbmNvbWVTb3VyY2VGb3JlY2FzdENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBBbm51YWxDbGllbnREZXRhaWxzIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEluY29tZVNvdXJjZUZvcmVjYXN0LCBTYWxhcnlGb3JlY2FzdCB9IGZyb20gJy4uL2luY29tZS1zb3VyY2UnO1xuXG4vKipcbiAqIEJvcnJvd2luZyBwb3dlciByZXBvcnQsIHNob3dzIGlmIHUgY2FuIGFmZm9yZCBuZXcgcHJvcGVydHkgbG9hblxuICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NzE3NjA4OTYxL0JvcnJvd2luZytQb3dlcitSZXBvcnQrLStQcm9wZXJ0eStUYW5rXG4gKi9cbmV4cG9ydCBjbGFzcyBCb3Jyb3dpbmdSZXBvcnQgZXh0ZW5kcyBCb3Jyb3dpbmdSZXBvcnRCYXNlIHtcbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBuZXRSZW50SW5jb21lOiBudW1iZXIgPSAwO1xuICBsb2FuUmVwYXltZW50QW1vdW50OiBudW1iZXIgPSAwO1xuICBvdGhlckxpYWJpbGl0aWVzOiBudW1iZXIgPSAwO1xuICBsaXZpbmdFeHBlbnNlczogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogc29tZSBmaWVsZHMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IHVudGlsIHVzZXIgZmlsbGVkIHRoZW0gbWFudWFsbHlcbiAgICovXG4gIHN0YXRpYyBjYWxjdWxhdGUoXG4gICAgc2FsYXJ5Rm9yZWNhc3RzOiBTYWxhcnlGb3JlY2FzdFtdLFxuICAgIGluY29tZVNvdXJjZUZvcmVjYXN0czogSW5jb21lU291cmNlRm9yZWNhc3RbXSxcbiAgICBjbGllbnREZXRhaWxzOiBBbm51YWxDbGllbnREZXRhaWxzID0gcGxhaW5Ub0NsYXNzKEFubnVhbENsaWVudERldGFpbHMsIHt9KSxcbiAgICByZXBvcnQ6IEJvcnJvd2luZ1JlcG9ydCA9IHBsYWluVG9DbGFzcyhCb3Jyb3dpbmdSZXBvcnQsIHt9KVxuICApOiBCb3Jyb3dpbmdSZXBvcnQge1xuICAgIGlmICghcmVwb3J0Lm5ldFNhbGFyeSkge1xuICAgICAgcmVwb3J0Lm5ldFNhbGFyeSA9IG5ldyBDb2xsZWN0aW9uKHNhbGFyeUZvcmVjYXN0cykuc3VtQnkoJ21vbnRobHlBbW91bnQnKVxuICAgICAgICArIG5ldyBJbmNvbWVTb3VyY2VGb3JlY2FzdENvbGxlY3Rpb24oaW5jb21lU291cmNlRm9yZWNhc3RzKS5ib251c2VzLnN1bUJ5KCdtb250aGx5QW1vdW50Jyk7XG4gICAgfVxuICAgIGlmICghcmVwb3J0LnNwb3VzZU5ldFNhbGFyeSkge1xuICAgICAgcmVwb3J0LnNwb3VzZU5ldFNhbGFyeSA9IGNsaWVudERldGFpbHMuc3BvdXNlTW9udGhseUluY29tZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVwb3J0O1xuICB9XG5cbiAgLyoqXG4gICAqIGZyZWUgbW9uZXkgYWZ0ZXIgZXhwZW5zZXNcbiAgICovXG4gIGdldE5ldEluY29tZVN1cnBsdXMocHJvZml0OiBudW1iZXIsIHJlcGF5bWVudEFtb3VudDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcHJvZml0ICsgdGhpcy5uZXRSZW50SW5jb21lICsgdGhpcy5uZXRTYWxhcnkgKyB0aGlzLnNwb3VzZU5ldFNhbGFyeSAtIHJlcGF5bWVudEFtb3VudFxuICAgICAgLSB0aGlzLmxvYW5SZXBheW1lbnRBbW91bnQgLSB0aGlzLm90aGVyTGlhYmlsaXRpZXMgLSB0aGlzLmxpdmluZ0V4cGVuc2VzXG4gIH1cblxuICAvKipcbiAgICogc3VycGx1cyBpbmNvbWUgdG8gY292ZXIgeW91ciBkZWJ0IG9ibGlnYXRpb25zXG4gICAqL1xuICBnZXROZXRTdXJwbHVzUmF0aW8ocHJvZml0OiBudW1iZXIsIHJlcGF5bWVudEFtb3VudDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIShyZXBheW1lbnRBbW91bnQgKyB0aGlzLmxvYW5SZXBheW1lbnRBbW91bnQgKyB0aGlzLm90aGVyTGlhYmlsaXRpZXMpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gKHByb2ZpdCArIHRoaXMubmV0UmVudEluY29tZSArIHRoaXMubmV0U2FsYXJ5ICsgdGhpcy5zcG91c2VOZXRTYWxhcnkgLSB0aGlzLmxpdmluZ0V4cGVuc2VzKVxuICAgICAgLyAocmVwYXltZW50QW1vdW50ICsgdGhpcy5sb2FuUmVwYXltZW50QW1vdW50ICsgdGhpcy5vdGhlckxpYWJpbGl0aWVzKTtcbiAgfVxufVxuIl19
|