taxtank-core 0.29.35 → 0.29.37

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 (26) hide show
  1. package/bundles/taxtank-core.umd.js +154 -76
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +18 -5
  4. package/esm2015/lib/collections/property/property.collection.js +2 -2
  5. package/esm2015/lib/collections/subscription/service-product.collection.js +4 -1
  6. package/esm2015/lib/collections/subscription/service-subscription.collection.js +4 -1
  7. package/esm2015/lib/db/Enums/chart-accounts/chart-accounts-list.enum.js +2 -1
  8. package/esm2015/lib/forms/transaction/index.js +3 -2
  9. package/esm2015/lib/forms/transaction/transaction.form.js +5 -2
  10. package/esm2015/lib/forms/transaction/work/work-expense.form.js +21 -0
  11. package/esm2015/lib/forms/transaction/work/work-income.form.js +87 -0
  12. package/esm2015/lib/forms/transaction/work/work-transaction.form.js +40 -0
  13. package/esm2015/lib/models/chart-accounts/chart-accounts.js +2 -2
  14. package/esm2015/lib/services/http/user/user.service.js +2 -2
  15. package/fesm2015/taxtank-core.js +133 -76
  16. package/fesm2015/taxtank-core.js.map +1 -1
  17. package/lib/collections/collection.d.ts +6 -2
  18. package/lib/collections/subscription/service-product.collection.d.ts +1 -0
  19. package/lib/collections/subscription/service-subscription.collection.d.ts +1 -0
  20. package/lib/db/Enums/chart-accounts/chart-accounts-list.enum.d.ts +1 -0
  21. package/lib/forms/transaction/index.d.ts +2 -1
  22. package/lib/forms/transaction/work/work-expense.form.d.ts +6 -0
  23. package/lib/forms/transaction/{work-income.form.d.ts → work/work-income.form.d.ts} +4 -8
  24. package/lib/forms/transaction/work/work-transaction.form.d.ts +15 -0
  25. package/package.json +1 -1
  26. package/esm2015/lib/forms/transaction/work-income.form.js +0 -109
@@ -6,7 +6,7 @@ import { ChartAccountsMetadata } from './chart-accounts-metadata';
6
6
  import { ChartAccountsListEnum, ChartAccountsCategoryEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsHeadingListEnum } from '../../db/Enums';
7
7
  import { CHART_ACCOUNTS_CATEGORIES } from './chart-accounts-categories.const';
8
8
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
9
- import { FinancialYear } from '../financial-year/financial-year';
9
+ import { FinancialYear } from '../financial-year';
10
10
  import { ChartAccountsTaxLabelsEnum } from './chart-accounts-tax-labels.enum';
11
11
  import { enumToList } from '../../functions/enum-to-list';
12
12
  export class ChartAccounts extends ChartAccountsBase {
@@ -212,4 +212,4 @@ __decorate([
212
212
  __decorate([
213
213
  Type(() => ChartAccountsMetadata)
214
214
  ], ChartAccounts.prototype, "metadata", void 0);
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxtQ0FBbUMsRUFDckYsK0JBQStCLEVBQUUscUNBQXFDLEVBQUUsbUNBQW1DLEVBQzNHLDRCQUE0QixFQUM3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFakUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXhELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBY2xEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNI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QVEsR0FBRyxHQUFHLENBQUM7QUFDZiw0QkFBYyxHQUFHLEdBQUcsQ0FBQztBQUNyQix3QkFBVSxHQUFHLEVBQUUsQ0FBQztBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs4Q0FDSDtBQUc5QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzsrQ0FDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0QWNjb3VudHMgYXMgQ2hhcnRBY2NvdW50c0Jhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZyB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtaGVhZGluZyc7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNNZXRhZGF0YSB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEnO1xyXG5pbXBvcnQge1xyXG4gIENoYXJ0QWNjb3VudHNMaXN0RW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSwgQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW0sXHJcbiAgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSwgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSwgQ2hhcnRBY2NvdW50c1NhbGFyeUluY2x1ZGVkTGlzdEVudW0sXHJcbiAgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bVxyXG59IGZyb20gJy4uLy4uL2RiL0VudW1zJztcclxuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XHJcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1ZhbHVlIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy12YWx1ZSc7XHJcbmltcG9ydCB7Q2hhcnRBY2NvdW50c1RheExhYmVsc0VudW19IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtdGF4LWxhYmVscy5lbnVtJztcclxuaW1wb3J0IHtlbnVtVG9MaXN0fSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvZW51bS10by1saXN0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzIGV4dGVuZHMgQ2hhcnRBY2NvdW50c0Jhc2Uge1xyXG4gIC8qKlxyXG4gICAqIEF1c3RyYWxpYW4gR1NUIHBlcmNlbnQgdmFsdWUgKFZBVClcclxuICAgKi9cclxuICBzdGF0aWMgR1NUUmF0aW8gPSAwLjE7XHJcbiAgc3RhdGljIEdTVENvZWZmaWNpZW50ID0gMS4xO1xyXG4gIHN0YXRpYyBHU1RQZXJjZW50ID0gMTA7XHJcblxyXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHNIZWFkaW5nKVxyXG4gIGhlYWRpbmc6IENoYXJ0QWNjb3VudHNIZWFkaW5nO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzTWV0YWRhdGEpXHJcbiAgbWV0YWRhdGE6IENoYXJ0QWNjb3VudHNNZXRhZGF0YVtdO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gbmFtZSBhcyBzdHJpbmdcclxuICAgKi9cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdLbXMgdHJhdmVsbGVkIGZvciB3b3JrJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzS21zRm9yV29yaygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUks7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnS21zIHRyYXZlbGxlZCBmb3Igc29sZScgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ttc0ZvclNvbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgS01zIGNhdGVnb3J5IHJlbGF0ZWQgdG8gcGFzc2VkIHRhbmsgdHlwZVxyXG4gICAqL1xyXG4gIGlzS01zQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XHJcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLldPUks6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNLbXNGb3JXb3JrKCk7XHJcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNLbXNGb3JTb2xlKCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3BlY2lhbCB0eXBlIHVzZWQgZm9yIGp1c3QgcHJlLXBheWluZyB0YXggdG8gdGhlIEFUTywgdXNlcyBvbiB0YXggc3VtbWFyeVxyXG4gICAqL1xyXG4gIGlzTlJBUygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVEFYX09GRlNFVFNfTl9SX0FfUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdJbnRlcmVzdCBvbiBMb2FuJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzSW50ZXJlc3RPbkxvYW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnTW90b3IgVmVoaWNsZXMnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNWZWhpY2xlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRVM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnSW50ZXJlc3QgRWFybmVkJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzSW50ZXJlc3RFYXJuZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX0VBUk5FRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdUcnVzdCBJbmNvbWUnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNUcnVzdEluY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVFJVU1RfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ01vdG9yIHZlaGljbGVzIChjb21tZXJjaWFsIGNhcnMpJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzQ29tbWVyY2lhbFZlaGljbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5DT01NRVJDSUFMX1ZFSElDTEVTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgd29yayBpbmNvbWVcclxuICAgKi9cclxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIGlzVmVoaWNsZUV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISFDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bVt0aGlzLmhlYWRpbmc/LmlkXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIG90aGVyIGluY29tZVxyXG4gICAqL1xyXG4gIGlzT3RoZXJJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUU7XHJcbiAgfVxyXG5cclxuICBpc0luY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmluY29tZS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHkuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1dvcmtFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfREVQUkVDSUFUSU9OXVxyXG4gICAgICAuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1NvbGVFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0RFUFJFQ0lBVElPTl1cclxuICAgICAgLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgcHJvcGVydHkgZXhwZW5zZVxyXG4gICAqL1xyXG4gIGlzUHJvcGVydHlFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNQcm9wZXJ0eSgpICYmIHRoaXMuaXNFeHBlbnNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyBwcm9wZXJ0eSBpbmNvbWVcclxuICAgKi9cclxuICBpc1Byb3BlcnR5SW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgaXNQZXJzb25hbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNQZXJzb25hbEV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QRVJTT05BTF9FWFBFTlNFO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgaXMgZGVwcmVjaWF0aW9uXHJcbiAgICovXHJcbiAgaXNEZXByZWNpYXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5kZXByZWNpYXRpb24uaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBjaGFydCBhY2NvdW50IGlzIHdvcmsgcmVsYXRlZCBjYXIgZXhwZW5zZXNcclxuICAgKi9cclxuICBpc1ZlaGljbGVMb2FuRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRV9MT0FOX0lOVEVSRVNUIHx8IHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5WRUhJQ0xFX0xPQU5fUFJJTkNJUEFMO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNoYXJ0IGFjY291bnRzIHZhbHVlIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudFllYXJWYWx1ZSgpOiBDaGFydEFjY291bnRzVmFsdWUge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVCeVllYXIobmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjaGFydCBhY2NvdW50cyB2YWx1ZSBieSBmaW5hbmNpYWwgeWVhclxyXG4gICAqL1xyXG4gIGdldFZhbHVlQnlZZWFyKHllYXI6IG51bWJlcik6IENoYXJ0QWNjb3VudHNWYWx1ZSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuZmluZCgodmFsdWU6IENoYXJ0QWNjb3VudHNWYWx1ZSk6IGJvb2xlYW4gPT4gdmFsdWUuZmluYW5jaWFsWWVhciA9PT0geWVhcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBubyB3YXkgdG8gY2hlY2sgaG93IG11Y2ggdXNlZCBmb3Igd29yay9zb2xlLCBzbyB3ZSBsZXQgdXNlciBhZGp1c3QgaXRcclxuICAgKiBleGNlcHQgdmVoaWNsZSBleHBlbnNlLCB3aGljaCBpcyBlcXVhbCB0byB2ZWhpY2xlQ2xhaW0ud29ya1VzYWdlIGFuZCBwZXJzb25hbCwgd2hpY2ggaXMgZXF1YWwgdG8gMFxyXG4gICAqL1xyXG4gIGlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNXb3JrRXhwZW5zZSgpIHx8IHRoaXMuaXNTb2xlRXhwZW5zZSgpKSAmJiAoIXRoaXMuaXNWZWhpY2xlRXhwZW5zZSgpICYmICF0aGlzLmlzUGVyc29uYWxFeHBlbnNlKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZ2V0IGxhYmVsIGZvciB0cmFuc2FjdGlvbiB0YXggZmllbGQgZGVwZW5kZWQgb24gc2VsZWN0ZWQgY2hhcnQgYWNjb3VudC5cclxuICAgKiB0YXggdHlwZSBkZXBlbmRzIG9uIGNoYXJ0IGFjY291bnQgaGVhZGluZyBvciBjYXRlZ29yeS5cclxuICAgKi9cclxuICBnZXRUYXhMYWJlbCgpOiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bSB7XHJcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXhhYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXHJcbiAgICBjb25zdCB0YXhhYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4YWJsZUVudW0pXHJcbiAgICAgIC5tYXAoKGl0ZW06IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciB9KSA9PiBpdGVtLnZhbHVlKTtcclxuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheC1kZWR1Y3RpYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXHJcbiAgICBjb25zdCBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0pXHJcbiAgICAgIC5tYXAoKGl0ZW06IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciB9KSA9PiBpdGVtLnZhbHVlKTtcclxuXHJcbiAgICAvLyBjaGVjayBpZiBvbmUgb2YgaWRzIGFycmF5cyBpbmNsdWRlcyBjdXJyZW50IGNoYXJ0IGFjY291bnRzIGhlYWRpbmcgaWQgYW5kIHNldCB0YXggbGFiZWxcclxuICAgIC8vIG90aGVyd2lzZSBsYWJlbCBpcyBlbXB0eSBmb3IgdGhpcyBjbGFzc1xyXG4gICAgc3dpdGNoICh0cnVlKSB7XHJcbiAgICAgIGNhc2UgdGF4YWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXModGhpcy5oZWFkaW5nPy5pZCk6XHJcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9QQUlEO1xyXG4gICAgICBjYXNlIGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKHRoaXMuaGVhZGluZz8uaWQpOlxyXG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfREVEVUNURUQ7XHJcbiAgICAgIGNhc2UgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrSW5jb21lLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpOlxyXG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfV0lUSEhFTEQ7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0VUUCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmhlYWRpbmcuaWQgPT09IENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uRVRQXHJcbiAgfVxyXG5cclxuICBpc1NhbGFyeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uU0FMQVJZX09SX1dBR0VTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogY2hhcnQgYWNjb3VudHMgaW5jbHVkZWQgaW4gc2FsYXJ5LCBsaWtlIHRpcHMgb3IgYWxsb3dhbmNlXHJcbiAgICovXHJcbiAgaXNTYWxhcnlJbmNsdWRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkIGluIENoYXJ0QWNjb3VudHNTYWxhcnlJbmNsdWRlZExpc3RFbnVtO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9wZXJ0eUNhcGl0YWxXb3JrcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0NBUElUQUxfV09SS1NcclxuICB9XHJcbn1cclxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxtQ0FBbUMsRUFDckYsK0JBQStCLEVBQUUscUNBQXFDLEVBQUUsbUNBQW1DLEVBQzNHLDRCQUE0QixFQUM3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXhELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBY2xEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNI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QVEsR0FBRyxHQUFHLENBQUM7QUFDZiw0QkFBYyxHQUFHLEdBQUcsQ0FBQztBQUNyQix3QkFBVSxHQUFHLEVBQUUsQ0FBQztBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs4Q0FDSDtBQUc5QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzsrQ0FDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0QWNjb3VudHMgYXMgQ2hhcnRBY2NvdW50c0Jhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZyB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtaGVhZGluZyc7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNNZXRhZGF0YSB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEnO1xyXG5pbXBvcnQge1xyXG4gIENoYXJ0QWNjb3VudHNMaXN0RW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSwgQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW0sXHJcbiAgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSwgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSwgQ2hhcnRBY2NvdW50c1NhbGFyeUluY2x1ZGVkTGlzdEVudW0sXHJcbiAgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bVxyXG59IGZyb20gJy4uLy4uL2RiL0VudW1zJztcclxuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XHJcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1ZhbHVlIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy12YWx1ZSc7XHJcbmltcG9ydCB7Q2hhcnRBY2NvdW50c1RheExhYmVsc0VudW19IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtdGF4LWxhYmVscy5lbnVtJztcclxuaW1wb3J0IHtlbnVtVG9MaXN0fSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvZW51bS10by1saXN0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzIGV4dGVuZHMgQ2hhcnRBY2NvdW50c0Jhc2Uge1xyXG4gIC8qKlxyXG4gICAqIEF1c3RyYWxpYW4gR1NUIHBlcmNlbnQgdmFsdWUgKFZBVClcclxuICAgKi9cclxuICBzdGF0aWMgR1NUUmF0aW8gPSAwLjE7XHJcbiAgc3RhdGljIEdTVENvZWZmaWNpZW50ID0gMS4xO1xyXG4gIHN0YXRpYyBHU1RQZXJjZW50ID0gMTA7XHJcblxyXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHNIZWFkaW5nKVxyXG4gIGhlYWRpbmc6IENoYXJ0QWNjb3VudHNIZWFkaW5nO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzTWV0YWRhdGEpXHJcbiAgbWV0YWRhdGE6IENoYXJ0QWNjb3VudHNNZXRhZGF0YVtdO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gbmFtZSBhcyBzdHJpbmdcclxuICAgKi9cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdLbXMgdHJhdmVsbGVkIGZvciB3b3JrJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzS21zRm9yV29yaygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUks7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnS21zIHRyYXZlbGxlZCBmb3Igc29sZScgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ttc0ZvclNvbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgS01zIGNhdGVnb3J5IHJlbGF0ZWQgdG8gcGFzc2VkIHRhbmsgdHlwZVxyXG4gICAqL1xyXG4gIGlzS01zQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XHJcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLldPUks6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNLbXNGb3JXb3JrKCk7XHJcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNLbXNGb3JTb2xlKCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3BlY2lhbCB0eXBlIHVzZWQgZm9yIGp1c3QgcHJlLXBheWluZyB0YXggdG8gdGhlIEFUTywgdXNlcyBvbiB0YXggc3VtbWFyeVxyXG4gICAqL1xyXG4gIGlzTlJBUygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVEFYX09GRlNFVFNfTl9SX0FfUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdJbnRlcmVzdCBvbiBMb2FuJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzSW50ZXJlc3RPbkxvYW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnTW90b3IgVmVoaWNsZXMnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNWZWhpY2xlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRVM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnSW50ZXJlc3QgRWFybmVkJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzSW50ZXJlc3RFYXJuZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX0VBUk5FRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdUcnVzdCBJbmNvbWUnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNUcnVzdEluY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVFJVU1RfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ01vdG9yIHZlaGljbGVzIChjb21tZXJjaWFsIGNhcnMpJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzQ29tbWVyY2lhbFZlaGljbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5DT01NRVJDSUFMX1ZFSElDTEVTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgd29yayBpbmNvbWVcclxuICAgKi9cclxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIGlzVmVoaWNsZUV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISFDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bVt0aGlzLmhlYWRpbmc/LmlkXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIG90aGVyIGluY29tZVxyXG4gICAqL1xyXG4gIGlzT3RoZXJJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUU7XHJcbiAgfVxyXG5cclxuICBpc0luY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmluY29tZS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHkuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1dvcmtFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfREVQUkVDSUFUSU9OXVxyXG4gICAgICAuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1NvbGVFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0RFUFJFQ0lBVElPTl1cclxuICAgICAgLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgcHJvcGVydHkgZXhwZW5zZVxyXG4gICAqL1xyXG4gIGlzUHJvcGVydHlFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNQcm9wZXJ0eSgpICYmIHRoaXMuaXNFeHBlbnNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyBwcm9wZXJ0eSBpbmNvbWVcclxuICAgKi9cclxuICBpc1Byb3BlcnR5SW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgaXNQZXJzb25hbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNQZXJzb25hbEV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QRVJTT05BTF9FWFBFTlNFO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgaXMgZGVwcmVjaWF0aW9uXHJcbiAgICovXHJcbiAgaXNEZXByZWNpYXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5kZXByZWNpYXRpb24uaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBjaGFydCBhY2NvdW50IGlzIHdvcmsgcmVsYXRlZCBjYXIgZXhwZW5zZXNcclxuICAgKi9cclxuICBpc1ZlaGljbGVMb2FuRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRV9MT0FOX0lOVEVSRVNUIHx8IHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5WRUhJQ0xFX0xPQU5fUFJJTkNJUEFMO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNoYXJ0IGFjY291bnRzIHZhbHVlIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudFllYXJWYWx1ZSgpOiBDaGFydEFjY291bnRzVmFsdWUge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVCeVllYXIobmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjaGFydCBhY2NvdW50cyB2YWx1ZSBieSBmaW5hbmNpYWwgeWVhclxyXG4gICAqL1xyXG4gIGdldFZhbHVlQnlZZWFyKHllYXI6IG51bWJlcik6IENoYXJ0QWNjb3VudHNWYWx1ZSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuZmluZCgodmFsdWU6IENoYXJ0QWNjb3VudHNWYWx1ZSk6IGJvb2xlYW4gPT4gdmFsdWUuZmluYW5jaWFsWWVhciA9PT0geWVhcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBubyB3YXkgdG8gY2hlY2sgaG93IG11Y2ggdXNlZCBmb3Igd29yay9zb2xlLCBzbyB3ZSBsZXQgdXNlciBhZGp1c3QgaXRcclxuICAgKiBleGNlcHQgdmVoaWNsZSBleHBlbnNlLCB3aGljaCBpcyBlcXVhbCB0byB2ZWhpY2xlQ2xhaW0ud29ya1VzYWdlIGFuZCBwZXJzb25hbCwgd2hpY2ggaXMgZXF1YWwgdG8gMFxyXG4gICAqL1xyXG4gIGlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNXb3JrRXhwZW5zZSgpIHx8IHRoaXMuaXNTb2xlRXhwZW5zZSgpKSAmJiAoIXRoaXMuaXNWZWhpY2xlRXhwZW5zZSgpICYmICF0aGlzLmlzUGVyc29uYWxFeHBlbnNlKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZ2V0IGxhYmVsIGZvciB0cmFuc2FjdGlvbiB0YXggZmllbGQgZGVwZW5kZWQgb24gc2VsZWN0ZWQgY2hhcnQgYWNjb3VudC5cclxuICAgKiB0YXggdHlwZSBkZXBlbmRzIG9uIGNoYXJ0IGFjY291bnQgaGVhZGluZyBvciBjYXRlZ29yeS5cclxuICAgKi9cclxuICBnZXRUYXhMYWJlbCgpOiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bSB7XHJcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXhhYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXHJcbiAgICBjb25zdCB0YXhhYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4YWJsZUVudW0pXHJcbiAgICAgIC5tYXAoKGl0ZW06IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciB9KSA9PiBpdGVtLnZhbHVlKTtcclxuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheC1kZWR1Y3RpYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXHJcbiAgICBjb25zdCBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0pXHJcbiAgICAgIC5tYXAoKGl0ZW06IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciB9KSA9PiBpdGVtLnZhbHVlKTtcclxuXHJcbiAgICAvLyBjaGVjayBpZiBvbmUgb2YgaWRzIGFycmF5cyBpbmNsdWRlcyBjdXJyZW50IGNoYXJ0IGFjY291bnRzIGhlYWRpbmcgaWQgYW5kIHNldCB0YXggbGFiZWxcclxuICAgIC8vIG90aGVyd2lzZSBsYWJlbCBpcyBlbXB0eSBmb3IgdGhpcyBjbGFzc1xyXG4gICAgc3dpdGNoICh0cnVlKSB7XHJcbiAgICAgIGNhc2UgdGF4YWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXModGhpcy5oZWFkaW5nPy5pZCk6XHJcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9QQUlEO1xyXG4gICAgICBjYXNlIGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKHRoaXMuaGVhZGluZz8uaWQpOlxyXG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfREVEVUNURUQ7XHJcbiAgICAgIGNhc2UgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrSW5jb21lLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpOlxyXG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfV0lUSEhFTEQ7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0VUUCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmhlYWRpbmcuaWQgPT09IENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uRVRQXHJcbiAgfVxyXG5cclxuICBpc1NhbGFyeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uU0FMQVJZX09SX1dBR0VTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogY2hhcnQgYWNjb3VudHMgaW5jbHVkZWQgaW4gc2FsYXJ5LCBsaWtlIHRpcHMgb3IgYWxsb3dhbmNlXHJcbiAgICovXHJcbiAgaXNTYWxhcnlJbmNsdWRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkIGluIENoYXJ0QWNjb3VudHNTYWxhcnlJbmNsdWRlZExpc3RFbnVtO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9wZXJ0eUNhcGl0YWxXb3JrcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0NBUElUQUxfV09SS1NcclxuICB9XHJcbn1cclxuIl19
@@ -50,8 +50,8 @@ export class UserService {
50
50
  return this.http.get(`${this.environment.apiV2}/users/current`)
51
51
  .pipe(map((userBase) => {
52
52
  const user = plainToClass(User, userBase);
53
+ // @TODO Vik remove
53
54
  localStorage.setItem('userId', user.id.toString());
54
- // @TODO remove
55
55
  localStorage.setItem('financialYear', user.financialYear.toString());
56
56
  this.cache = user;
57
57
  this.cacheSubject.next(this.cache);
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
202
202
  type: Inject,
203
203
  args: ['environment']
204
204
  }] }]; } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBZ0IsWUFBWSxHQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7Ozs7O0FBSWpDOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFJdEIsWUFDVSxJQUFnQixFQUNoQixVQUFzQixFQUN0QixzQkFBOEMsRUFDOUMsVUFBc0IsRUFDQyxXQUFnQjtRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0MsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQakQsaUJBQVksR0FBd0IsSUFBSSxhQUFhLENBQU8sQ0FBQyxDQUFDLENBQUM7UUFTN0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsR0FBRztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxLQUF3QixFQUFFLEVBQUU7Z0JBQzVELDRFQUE0RTtnQkFDNUUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNwRztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLENBQUM7YUFDNUQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixNQUFNLElBQUksR0FBUyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRWhELFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRCxlQUFlO1lBQ2YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDckUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxlQUF1QixFQUFFLFdBQW1CO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssd0JBQXdCLEVBQUUsRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssMEJBQTBCLEVBQUUsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxXQUFtQixFQUFFLFVBQWtCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssdUJBQXVCLEVBQUUsRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYTtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLDRCQUE0QixFQUFFLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZ0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUsscUJBQXFCLEVBQUUsRUFBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyx1QkFBdUIsS0FBSyxFQUFFLENBQUM7YUFDMUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLElBQVU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLEVBQUUsSUFBSSxDQUFDO2FBQ2pFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLDBCQUEwQixFQUFFLEtBQUssQ0FBQzthQUM5RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssd0JBQXdCLEVBQ2pELEVBQUMsTUFBTSxFQUFFLElBQUksVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUMsQ0FDaEUsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVzs7UUFDVCw2Q0FBNkM7UUFDN0MseUVBQXlFO1FBQ3pFLElBQUksTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxPQUFPLEVBQUU7WUFDdkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssYUFBYSxFQUFFLEVBQUUsQ0FBQzthQUM5RCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbkMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNLLGdDQUFnQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sU0FBUyxDQUFDLFVBQWtDLEVBQUUsT0FBcUIsRUFBRSxRQUFrQjtRQUMvRixRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBa0IsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtnQkFDckcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzt5R0E5TlUsV0FBVyxzSUFTWixhQUFhOzZHQVRaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXIgYXMgVXNlckJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7VXNlciwgQXBwRXZlbnQsIEFwcEV2ZW50VHlwZUVudW0sIERlcHJlY2lhdGlvbiwgUHJvcGVydHlTYWxlLH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSc7XG5pbXBvcnQge09ic2VydmFibGVNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7SHR0cE1ldGhvZH0gZnJvbSAnLi4vcmVzdCc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggdXNlclxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2FjaGU6IFVzZXI7XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxVc2VyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFVzZXI+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3NlU2VydmljZTogU3NlU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldmVyIHJldHVybiBjYWNoZSBkaXJlY3RseSB0byBwcmV2ZW50IHVwZGF0ZVxuICAgKi9cbiAgZ2V0Q2FjaGUoKTogVXNlciB7XG4gICAgcmV0dXJuIGNsb25lKHRoaXMuY2FjaGUpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU2VydmljZVN1YnNjcmlwdGlvblVwZGF0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5U2FsZSgpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgoKSA9PiB7fSwgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAvLyBmb3JjZSBsb2dvdXQgdXNlciAoY2xlYXIgbG9jYWxTdG9yYWdlKSB3aGVuIGdldCBjdXJyZW50IHVzZXIgcmV0dXJuIGVycm9yXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DVVJSRU5UX1VTRVJfR0VUX0ZBSUxFRCwgbnVsbCkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IHVzZXJcbiAgICovXG4gIGZldGNoKCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2N1cnJlbnRgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXNlckJhc2U6IFVzZXJCYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXNlcjogVXNlciA9IHBsYWluVG9DbGFzcyhVc2VyLCB1c2VyQmFzZSk7XG5cbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgdXNlci5pZC50b1N0cmluZygpKTtcbiAgICAgICAgICAvLyBAVE9ETyByZW1vdmVcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmluYW5jaWFsWWVhcicsIHVzZXIuZmluYW5jaWFsWWVhci50b1N0cmluZygpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdXNlcjtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIG5ldyB1c2VyXG4gICAqL1xuICByZWdpc3RlcihkYXRhOiBvYmplY3QpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9yZWdpc3RyYXRpb25gLCBkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdXNlclxuICAgKi9cbiAgdXBkYXRlKHVzZXI6IFVzZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy8ke3VzZXIuaWR9YCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5VU0VSX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdXNlciBwYXNzd29yZFxuICAgKi9cbiAgY2hhbmdlUGFzc3dvcmQoY3VycmVudFBhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3Bhc3N3b3JkL2NoYW5nZWAsIHtjdXJyZW50UGFzc3dvcmQsIG5ld1Bhc3N3b3JkfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVjb3ZlcnkgdXNlciBwYXNzd29yZFxuICAgKi9cbiAgcmVjb3ZlcnlQYXNzd29yZChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9yZWNvdmVyeWAsIHtlbWFpbH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIHJlc2V0UGFzc3dvcmQobmV3UGFzc3dvcmQ6IHN0cmluZywgcmVzZXRUb2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9yZXNldGAsIHtuZXdQYXNzd29yZCwgcmVzZXRUb2tlbn0pO1xuICB9XG5cbiAgcmVzZW5kQ29uZmlybWF0aW9uRW1haWwoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2NvbmZpcm1hdGlvbi9yZXNlbmRgLCB7ZW1haWx9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jb25maXJtYXRpb25gLCB7dmVyaWZpY2F0aW9uQ29kZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3NlYXJjaD9lbWFpbD0ke2VtYWlsfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluaXNoIG9uYm9hcmRpbmcgcHJvY2Vzc1xuICAgKi9cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvc3RhdHVzYCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB1c2VyO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB1c2VyIHBob3RvXG4gICAqL1xuICB1cGRhdGVQaG90byhwaG90bzogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBob3RvVXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge3Bob3RvOiBwaG90b1VybH0pKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHN3aXRjaEZpbmFuY2lhbFllYXIoeWVhcjogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9maW5hbmNpYWwteWVhci9zd2l0Y2hgLFxuICAgICAge3BhcmFtczogbmV3IEh0dHBQYXJhbXMoeyBmcm9tU3RyaW5nOiBgZmluYW5jaWFsWWVhcj0ke3llYXJ9YCB9KX1cbiAgICAgICkucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmluYW5jaWFsWWVhcicsIHllYXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjbGVhciBzZXJ2aWNlIGNhY2hlXG4gICAqL1xuICByZXNldENhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYmFzaXEgKGlmIG5vdCBleGlzdCB5ZXQpIHRvIHByb3ZpZGUgYWNjZXNzIHRvIGJhc2lxIGFwaVxuICAgKi9cbiAgY3JlYXRlQmFzaXEoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAvLyBubyBuZWVkIHRvIGNyZWF0ZSBiYXNpcUlkIGlmIGFscmVhZHkgZXhpc3RcbiAgICAvLyBAVE9ETyBBbGV4IChUVC0yNDMxKTogbW92ZSB0aGlzIGNoZWNrIHRvIGNvbXBvbmVudCBvciBzZXBhcmF0ZWQgbWV0aG9kXG4gICAgaWYgKHRoaXMuY2FjaGU/LmJhc2lxSWQpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlLmJhc2lxSWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS91c2VyYCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChiYXNpcUlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge2Jhc2lxSWR9KSk7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcblxuICAgICAgICAgIHJldHVybiBiYXNpcUlkO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiB1c2VyJ3Mgc2VydmljZSBzdWJzY3JpcHRpb24gaXMgdXBkYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5TRVJWSUNFX1NVQlNDUklQVElPTl9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhcGl0YWwgbG9zc2VzIHVwZGF0ZXMgb24gcHJvcGVydHkgc2FsZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eVNhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5Qcm9wZXJ0eVNhbGUuZ2V0RXZlbnROYW1lcygncG9zdCcsICdkZWxldGUnKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlIHdoZW4gdGhlIGNsYXNzIHJlZmFjdG9yZWQgb24gUmVzdFNlcnZpY2VcbiAgICogU3Vic2NyaWJlIHRvIGh0dHAgZXZlbnRzIGFuZCBydW4gY2FsbGJhY2suXG4gICAqIENTRSAtIENsZWludCBTZW50IEV2ZW50c1xuICAgKiBAcGFyYW0gbW9kZWxDbGFzc1xuICAgKiBAcGFyYW0gbWV0aG9kcyBUaGUgbGlzdCBvZiBodHRwIG1ldGhvZHMgc2hvdWxkIGJlIGxpc3RlbmVkIGZvclxuICAgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIGV2ZW50IHRyaWdnZXJlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGxpc3RlbkNTRShtb2RlbENsYXNzOiB0eXBlb2YgT2JzZXJ2YWJsZU1vZGVsLCBtZXRob2RzOiBIdHRwTWV0aG9kW10sIGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIGNhbGxiYWNrID0gY2FsbGJhY2suYmluZCh0aGlzKTtcblxuICAgIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kOiBIdHRwTWV0aG9kKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKG1vZGVsQ2xhc3MuZ2V0RXZlbnROYW1lKG1ldGhvZCkpLnN1YnNjcmliZSgoZGF0YTogT2JzZXJ2YWJsZU1vZGVsW10pID0+IHtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG59XG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBZ0IsWUFBWSxHQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7Ozs7O0FBSWpDOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFJdEIsWUFDVSxJQUFnQixFQUNoQixVQUFzQixFQUN0QixzQkFBOEMsRUFDOUMsVUFBc0IsRUFDQyxXQUFnQjtRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0MsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQakQsaUJBQVksR0FBd0IsSUFBSSxhQUFhLENBQU8sQ0FBQyxDQUFDLENBQUM7UUFTN0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENB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WUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sU0FBUyxDQUFDLFVBQWtDLEVBQUUsT0FBcUIsRUFBRSxRQUFrQjtRQUMvRixRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBa0IsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtnQkFDckcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzt5R0EvTlUsV0FBVyxzSUFTWixhQUFhOzZHQVRaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXIgYXMgVXNlckJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7VXNlciwgQXBwRXZlbnQsIEFwcEV2ZW50VHlwZUVudW0sIERlcHJlY2lhdGlvbiwgUHJvcGVydHlTYWxlLH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSc7XG5pbXBvcnQge09ic2VydmFibGVNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7SHR0cE1ldGhvZH0gZnJvbSAnLi4vcmVzdCc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggdXNlclxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2FjaGU6IFVzZXI7XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxVc2VyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFVzZXI+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3NlU2VydmljZTogU3NlU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldmVyIHJldHVybiBjYWNoZSBkaXJlY3RseSB0byBwcmV2ZW50IHVwZGF0ZVxuICAgKi9cbiAgZ2V0Q2FjaGUoKTogVXNlciB7XG4gICAgcmV0dXJuIGNsb25lKHRoaXMuY2FjaGUpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU2VydmljZVN1YnNjcmlwdGlvblVwZGF0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5U2FsZSgpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgoKSA9PiB7fSwgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAvLyBmb3JjZSBsb2dvdXQgdXNlciAoY2xlYXIgbG9jYWxTdG9yYWdlKSB3aGVuIGdldCBjdXJyZW50IHVzZXIgcmV0dXJuIGVycm9yXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DVVJSRU5UX1VTRVJfR0VUX0ZBSUxFRCwgbnVsbCkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IHVzZXJcbiAgICovXG4gIGZldGNoKCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2N1cnJlbnRgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXNlckJhc2U6IFVzZXJCYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXNlcjogVXNlciA9IHBsYWluVG9DbGFzcyhVc2VyLCB1c2VyQmFzZSk7XG5cbiAgICAgICAgICAvLyBAVE9ETyBWaWsgcmVtb3ZlXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIHVzZXIuaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZpbmFuY2lhbFllYXInLCB1c2VyLmZpbmFuY2lhbFllYXIudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgICB0aGlzLmNhY2hlID0gdXNlcjtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIG5ldyB1c2VyXG4gICAqL1xuICByZWdpc3RlcihkYXRhOiBvYmplY3QpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9yZWdpc3RyYXRpb25gLCBkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdXNlclxuICAgKi9cbiAgdXBkYXRlKHVzZXI6IFVzZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy8ke3VzZXIuaWR9YCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5VU0VSX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdXNlciBwYXNzd29yZFxuICAgKi9cbiAgY2hhbmdlUGFzc3dvcmQoY3VycmVudFBhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3Bhc3N3b3JkL2NoYW5nZWAsIHtjdXJyZW50UGFzc3dvcmQsIG5ld1Bhc3N3b3JkfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVjb3ZlcnkgdXNlciBwYXNzd29yZFxuICAgKi9cbiAgcmVjb3ZlcnlQYXNzd29yZChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9yZWNvdmVyeWAsIHtlbWFpbH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIHJlc2V0UGFzc3dvcmQobmV3UGFzc3dvcmQ6IHN0cmluZywgcmVzZXRUb2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9yZXNldGAsIHtuZXdQYXNzd29yZCwgcmVzZXRUb2tlbn0pO1xuICB9XG5cbiAgcmVzZW5kQ29uZmlybWF0aW9uRW1haWwoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2NvbmZpcm1hdGlvbi9yZXNlbmRgLCB7ZW1haWx9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jb25maXJtYXRpb25gLCB7dmVyaWZpY2F0aW9uQ29kZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3NlYXJjaD9lbWFpbD0ke2VtYWlsfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluaXNoIG9uYm9hcmRpbmcgcHJvY2Vzc1xuICAgKi9cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvc3RhdHVzYCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB1c2VyO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB1c2VyIHBob3RvXG4gICAqL1xuICB1cGRhdGVQaG90byhwaG90bzogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBob3RvVXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge3Bob3RvOiBwaG90b1VybH0pKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHN3aXRjaEZpbmFuY2lhbFllYXIoeWVhcjogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9maW5hbmNpYWwteWVhci9zd2l0Y2hgLFxuICAgICAge3BhcmFtczogbmV3IEh0dHBQYXJhbXMoeyBmcm9tU3RyaW5nOiBgZmluYW5jaWFsWWVhcj0ke3llYXJ9YCB9KX1cbiAgICAgICkucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmluYW5jaWFsWWVhcicsIHllYXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjbGVhciBzZXJ2aWNlIGNhY2hlXG4gICAqL1xuICByZXNldENhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYmFzaXEgKGlmIG5vdCBleGlzdCB5ZXQpIHRvIHByb3ZpZGUgYWNjZXNzIHRvIGJhc2lxIGFwaVxuICAgKi9cbiAgY3JlYXRlQmFzaXEoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAvLyBubyBuZWVkIHRvIGNyZWF0ZSBiYXNpcUlkIGlmIGFscmVhZHkgZXhpc3RcbiAgICAvLyBAVE9ETyBBbGV4IChUVC0yNDMxKTogbW92ZSB0aGlzIGNoZWNrIHRvIGNvbXBvbmVudCBvciBzZXBhcmF0ZWQgbWV0aG9kXG4gICAgaWYgKHRoaXMuY2FjaGU/LmJhc2lxSWQpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlLmJhc2lxSWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS91c2VyYCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChiYXNpcUlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge2Jhc2lxSWR9KSk7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcblxuICAgICAgICAgIHJldHVybiBiYXNpcUlkO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiB1c2VyJ3Mgc2VydmljZSBzdWJzY3JpcHRpb24gaXMgdXBkYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5TRVJWSUNFX1NVQlNDUklQVElPTl9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhcGl0YWwgbG9zc2VzIHVwZGF0ZXMgb24gcHJvcGVydHkgc2FsZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eVNhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5Qcm9wZXJ0eVNhbGUuZ2V0RXZlbnROYW1lcygncG9zdCcsICdkZWxldGUnKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlIHdoZW4gdGhlIGNsYXNzIHJlZmFjdG9yZWQgb24gUmVzdFNlcnZpY2VcbiAgICogU3Vic2NyaWJlIHRvIGh0dHAgZXZlbnRzIGFuZCBydW4gY2FsbGJhY2suXG4gICAqIENTRSAtIENsZWludCBTZW50IEV2ZW50c1xuICAgKiBAcGFyYW0gbW9kZWxDbGFzc1xuICAgKiBAcGFyYW0gbWV0aG9kcyBUaGUgbGlzdCBvZiBodHRwIG1ldGhvZHMgc2hvdWxkIGJlIGxpc3RlbmVkIGZvclxuICAgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIGV2ZW50IHRyaWdnZXJlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGxpc3RlbkNTRShtb2RlbENsYXNzOiB0eXBlb2YgT2JzZXJ2YWJsZU1vZGVsLCBtZXRob2RzOiBIdHRwTWV0aG9kW10sIGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIGNhbGxiYWNrID0gY2FsbGJhY2suYmluZCh0aGlzKTtcblxuICAgIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kOiBIdHRwTWV0aG9kKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKG1vZGVsQ2xhc3MuZ2V0RXZlbnROYW1lKG1ldGhvZCkpLnN1YnNjcmliZSgoZGF0YTogT2JzZXJ2YWJsZU1vZGVsW10pID0+IHtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1163,6 +1163,22 @@ class Collection {
1163
1163
  this.items.push(...items);
1164
1164
  return this.create(this.items);
1165
1165
  }
1166
+ remove(...items) {
1167
+ items.forEach((item) => {
1168
+ const index = this.findIndexBy('id', item.id);
1169
+ if (index < 0) {
1170
+ return;
1171
+ }
1172
+ this.items.splice(index, 1);
1173
+ });
1174
+ return this;
1175
+ }
1176
+ /**
1177
+ * @TODO it's filter, not remove
1178
+ */
1179
+ removeBy(path, values) {
1180
+ return this.filter((item) => !(Array.isArray(values) ? values : [values]).includes(get(item, path)));
1181
+ }
1166
1182
  replaceBy(path, value, item) {
1167
1183
  const index = this.findIndexBy(path, value);
1168
1184
  if (index >= 0) {
@@ -1170,12 +1186,9 @@ class Collection {
1170
1186
  }
1171
1187
  return this;
1172
1188
  }
1173
- remove(items) {
1189
+ diff(items) {
1174
1190
  return this.filter((model) => !items.map((item) => item.id).includes(model.id));
1175
1191
  }
1176
- removeBy(path, values) {
1177
- return this.filter((item) => !(Array.isArray(values) ? values : [values]).includes(get(item, path)));
1178
- }
1179
1192
  minBy(path) {
1180
1193
  return this.items.reduce((prev, current) => (get(prev, path) < get(current, path) ? prev : current));
1181
1194
  }
@@ -1726,7 +1739,7 @@ class PropertyCollection extends Collection {
1726
1739
  activeProperties.getBestPerformanceGrowthProperty(),
1727
1740
  activeProperties.getBestPerformanceTaxProperty(transactions, depreciations)
1728
1741
  ]).toArray(), 'id');
1729
- const newItems = this.remove(bestProperties).toArray();
1742
+ const newItems = this.diff(bestProperties).toArray();
1730
1743
  newItems.unshift(...bestProperties);
1731
1744
  return this.create(newItems);
1732
1745
  }
@@ -1914,6 +1927,7 @@ var ChartAccountsHeadingVehicleListEnum;
1914
1927
 
1915
1928
  var ChartAccountsListEnum;
1916
1929
  (function (ChartAccountsListEnum) {
1930
+ ChartAccountsListEnum[ChartAccountsListEnum["HOME_OFFICE_WORK_HOURS"] = 103] = "HOME_OFFICE_WORK_HOURS";
1917
1931
  ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
1918
1932
  ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
1919
1933
  ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
@@ -2280,6 +2294,50 @@ class ChartAccountsMetadata extends ChartAccountsMetadata$1 {
2280
2294
  }
2281
2295
  }
2282
2296
 
2297
+ /**
2298
+ * @TODO move to pipe/translation
2299
+ * enum with months short names.
2300
+ * Order of items match with financial year months order
2301
+ */
2302
+ var MonthNameShortEnum;
2303
+ (function (MonthNameShortEnum) {
2304
+ MonthNameShortEnum["JULY"] = "Jul";
2305
+ MonthNameShortEnum["AUGUST"] = "Aug";
2306
+ MonthNameShortEnum["SEPTEMBER"] = "Sep";
2307
+ MonthNameShortEnum["OCTOBER"] = "Oct";
2308
+ MonthNameShortEnum["NOVEMBER"] = "Nov";
2309
+ MonthNameShortEnum["DECEMBER"] = "Dec";
2310
+ MonthNameShortEnum["JANUARY"] = "Jan";
2311
+ MonthNameShortEnum["FEBRUARY"] = "Feb";
2312
+ MonthNameShortEnum["MARCH"] = "Mar";
2313
+ MonthNameShortEnum["APRIL"] = "Apr";
2314
+ MonthNameShortEnum["MAY"] = "May";
2315
+ MonthNameShortEnum["JUNE"] = "Jun";
2316
+ })(MonthNameShortEnum || (MonthNameShortEnum = {}));
2317
+
2318
+ /**
2319
+ * enum with months indexes.
2320
+ * item value match with js Date month index from 0 to 11
2321
+ * Order of items match with financial year months order
2322
+ */
2323
+ var MonthNumberEnum;
2324
+ (function (MonthNumberEnum) {
2325
+ MonthNumberEnum[MonthNumberEnum["JULY"] = 6] = "JULY";
2326
+ MonthNumberEnum[MonthNumberEnum["AUGUST"] = 7] = "AUGUST";
2327
+ MonthNumberEnum[MonthNumberEnum["SEPTEMBER"] = 8] = "SEPTEMBER";
2328
+ MonthNumberEnum[MonthNumberEnum["OCTOBER"] = 9] = "OCTOBER";
2329
+ MonthNumberEnum[MonthNumberEnum["NOVEMBER"] = 10] = "NOVEMBER";
2330
+ MonthNumberEnum[MonthNumberEnum["DECEMBER"] = 11] = "DECEMBER";
2331
+ MonthNumberEnum[MonthNumberEnum["JANUARY"] = 0] = "JANUARY";
2332
+ MonthNumberEnum[MonthNumberEnum["FEBRUARY"] = 1] = "FEBRUARY";
2333
+ MonthNumberEnum[MonthNumberEnum["MARCH"] = 2] = "MARCH";
2334
+ MonthNumberEnum[MonthNumberEnum["APRIL"] = 3] = "APRIL";
2335
+ MonthNumberEnum[MonthNumberEnum["MAY"] = 4] = "MAY";
2336
+ MonthNumberEnum[MonthNumberEnum["JUNE"] = 5] = "JUNE";
2337
+ })(MonthNumberEnum || (MonthNumberEnum = {}));
2338
+
2339
+ const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan'];
2340
+
2283
2341
  var ChartAccountsTaxLabelsEnum;
2284
2342
  (function (ChartAccountsTaxLabelsEnum) {
2285
2343
  ChartAccountsTaxLabelsEnum["TAX_WITHHELD"] = "Tax withheld";
@@ -3835,8 +3893,6 @@ __decorate([
3835
3893
  Type(() => ChartSerie)
3836
3894
  ], ChartData.prototype, "data", void 0);
3837
3895
 
3838
- const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan'];
3839
-
3840
3896
  /**
3841
3897
  * Collection of transactions
3842
3898
  */
@@ -4507,6 +4563,9 @@ class SoleInvoiceCollection extends Collection {
4507
4563
  }
4508
4564
 
4509
4565
  class ServiceProductCollection extends Collection {
4566
+ get title() {
4567
+ return this.mapBy('title').join(', ');
4568
+ }
4510
4569
  getActive() {
4511
4570
  return this.filterBy('status', ServiceProductStatusEnum.ACTIVE);
4512
4571
  }
@@ -4588,6 +4647,9 @@ class ServiceSubscriptionCollection extends Collection {
4588
4647
  // @TODO vik remove paid products
4589
4648
  return this.getInactive().getTrials();
4590
4649
  }
4650
+ getExpiredAfter(date) {
4651
+ return this.getInactive().filter((item) => !date || item.endDate >= date);
4652
+ }
4591
4653
  getPaid() {
4592
4654
  return this.filter((subscription) => !!subscription.stripeId);
4593
4655
  }
@@ -5609,48 +5671,6 @@ __decorate([
5609
5671
  Type(() => ServiceSubscriptionItem)
5610
5672
  ], ServiceSubscription.prototype, "items", void 0);
5611
5673
 
5612
- /**
5613
- * @TODO move to pipe/translation
5614
- * enum with months short names.
5615
- * Order of items match with financial year months order
5616
- */
5617
- var MonthNameShortEnum;
5618
- (function (MonthNameShortEnum) {
5619
- MonthNameShortEnum["JULY"] = "Jul";
5620
- MonthNameShortEnum["AUGUST"] = "Aug";
5621
- MonthNameShortEnum["SEPTEMBER"] = "Sep";
5622
- MonthNameShortEnum["OCTOBER"] = "Oct";
5623
- MonthNameShortEnum["NOVEMBER"] = "Nov";
5624
- MonthNameShortEnum["DECEMBER"] = "Dec";
5625
- MonthNameShortEnum["JANUARY"] = "Jan";
5626
- MonthNameShortEnum["FEBRUARY"] = "Feb";
5627
- MonthNameShortEnum["MARCH"] = "Mar";
5628
- MonthNameShortEnum["APRIL"] = "Apr";
5629
- MonthNameShortEnum["MAY"] = "May";
5630
- MonthNameShortEnum["JUNE"] = "Jun";
5631
- })(MonthNameShortEnum || (MonthNameShortEnum = {}));
5632
-
5633
- /**
5634
- * enum with months indexes.
5635
- * item value match with js Date month index from 0 to 11
5636
- * Order of items match with financial year months order
5637
- */
5638
- var MonthNumberEnum;
5639
- (function (MonthNumberEnum) {
5640
- MonthNumberEnum[MonthNumberEnum["JULY"] = 6] = "JULY";
5641
- MonthNumberEnum[MonthNumberEnum["AUGUST"] = 7] = "AUGUST";
5642
- MonthNumberEnum[MonthNumberEnum["SEPTEMBER"] = 8] = "SEPTEMBER";
5643
- MonthNumberEnum[MonthNumberEnum["OCTOBER"] = 9] = "OCTOBER";
5644
- MonthNumberEnum[MonthNumberEnum["NOVEMBER"] = 10] = "NOVEMBER";
5645
- MonthNumberEnum[MonthNumberEnum["DECEMBER"] = 11] = "DECEMBER";
5646
- MonthNumberEnum[MonthNumberEnum["JANUARY"] = 0] = "JANUARY";
5647
- MonthNumberEnum[MonthNumberEnum["FEBRUARY"] = 1] = "FEBRUARY";
5648
- MonthNumberEnum[MonthNumberEnum["MARCH"] = 2] = "MARCH";
5649
- MonthNumberEnum[MonthNumberEnum["APRIL"] = 3] = "APRIL";
5650
- MonthNumberEnum[MonthNumberEnum["MAY"] = 4] = "MAY";
5651
- MonthNumberEnum[MonthNumberEnum["JUNE"] = 5] = "JUNE";
5652
- })(MonthNumberEnum || (MonthNumberEnum = {}));
5653
-
5654
5674
  class User extends User$1 {
5655
5675
  get fullName() {
5656
5676
  return `${this.firstName} ${this.lastName}`;
@@ -8662,8 +8682,8 @@ class UserService {
8662
8682
  return this.http.get(`${this.environment.apiV2}/users/current`)
8663
8683
  .pipe(map((userBase) => {
8664
8684
  const user = plainToClass(User, userBase);
8685
+ // @TODO Vik remove
8665
8686
  localStorage.setItem('userId', user.id.toString());
8666
- // @TODO remove
8667
8687
  localStorage.setItem('financialYear', user.financialYear.toString());
8668
8688
  this.cache = user;
8669
8689
  this.cacheSubject.next(this.cache);
@@ -17965,7 +17985,10 @@ var MessagesEnum;
17965
17985
 
17966
17986
  class TransactionForm extends TransactionBaseForm {
17967
17987
  constructor(transaction, registeredForGst, allocations, controls = {}) {
17968
- super(transaction, registeredForGst, Object.assign(controls, { transactions: new FormArray([]) }));
17988
+ super(transaction, registeredForGst, Object.assign(controls, {
17989
+ transactions: new FormArray([]),
17990
+ source: new FormControl(transaction.source || TransactionSourceEnum.BANK_TRANSACTION, Validators.required)
17991
+ }));
17969
17992
  this.get('date').addValidators([currentFinYearValidator()]);
17970
17993
  // convert child transactions to controls
17971
17994
  transaction.transactions.map((transaction) => {
@@ -18019,19 +18042,50 @@ class TransactionForm extends TransactionBaseForm {
18019
18042
  }
18020
18043
  }
18021
18044
 
18022
- class WorkIncomeForm extends TransactionForm {
18023
- constructor(transaction, registeredForGst, allocations) {
18024
- var _a;
18025
- // for work income we need to show netAmount instead of amount (because some adjustments are included in amount)
18026
- transaction.amount = transaction.netAmount;
18027
- super(transaction, registeredForGst, allocations, {
18028
- // additional data related to work income (like tax instalments)
18045
+ class WorkTransactionForm extends TransactionForm {
18046
+ constructor(transaction, registeredForGst, allocations, controls = {}) {
18047
+ super(transaction, registeredForGst, allocations, Object.assign(controls, {
18048
+ // additional data related to work (like tax instalments)
18029
18049
  metadata: new FormArray((transaction.metadata || []).map((transactionMetadata) => {
18030
18050
  return new FormGroup({
18031
18051
  value: new FormControl(transactionMetadata.value),
18032
18052
  chartAccountsMetadata: new FormControl(transactionMetadata.chartAccountsMetadata)
18033
18053
  });
18034
- })),
18054
+ }))
18055
+ }));
18056
+ this.listenEvents();
18057
+ }
18058
+ listenEvents() {
18059
+ this.watchChartAccounts();
18060
+ }
18061
+ watchChartAccounts() {
18062
+ super.watchChartAccounts();
18063
+ this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
18064
+ this.buildMetadataForm();
18065
+ });
18066
+ }
18067
+ /**
18068
+ * depends on chartAccounts the form could include different extra fields
18069
+ */
18070
+ buildMetadataForm() {
18071
+ // Remove all controls in the FormArray before pushing
18072
+ this.get('metadata').clear();
18073
+ // create form controls for each metadata object from selected chart accounts
18074
+ (this.get('chartAccounts').value.metadata).forEach((chartAccountsMetadata) => {
18075
+ this.get('metadata').push(new FormGroup({
18076
+ value: new FormControl(chartAccountsMetadata.isSharePercentage() ? 100 : 0),
18077
+ chartAccountsMetadata: new FormControl(chartAccountsMetadata),
18078
+ }));
18079
+ });
18080
+ }
18081
+ }
18082
+
18083
+ class WorkIncomeForm extends WorkTransactionForm {
18084
+ constructor(transaction, registeredForGst, allocations) {
18085
+ var _a;
18086
+ // for work income we need to show netAmount instead of amount (because some adjustments are included in amount)
18087
+ transaction.amount = transaction.netAmount;
18088
+ super(transaction, registeredForGst, allocations, {
18035
18089
  tax: new FormControl({
18036
18090
  value: transaction.tax,
18037
18091
  disabled: !transaction.chartAccounts || transaction.chartAccounts.isNRAS(),
@@ -18057,8 +18111,8 @@ class WorkIncomeForm extends TransactionForm {
18057
18111
  this.listenEvents();
18058
18112
  }
18059
18113
  listenEvents() {
18114
+ super.listenEvents();
18060
18115
  this.watchIncomeSource();
18061
- this.watchChartAccounts();
18062
18116
  }
18063
18117
  watchIncomeSource() {
18064
18118
  this.get('incomeSource').valueChanges.subscribe((incomeSource) => {
@@ -18074,7 +18128,6 @@ class WorkIncomeForm extends TransactionForm {
18074
18128
  watchChartAccounts() {
18075
18129
  super.watchChartAccounts();
18076
18130
  this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
18077
- this.buildMetadataForm();
18078
18131
  // tax make no sense for pre-paying tax category
18079
18132
  if (chartAccounts.isNRAS()) {
18080
18133
  this.get('tax').disable();
@@ -18091,20 +18144,6 @@ class WorkIncomeForm extends TransactionForm {
18091
18144
  }
18092
18145
  });
18093
18146
  }
18094
- /**
18095
- * depends on chartAccounts the form could include different extra fields
18096
- */
18097
- buildMetadataForm() {
18098
- // Remove all controls in the FormArray before pushing
18099
- this.get('metadata').clear();
18100
- // create form controls for each metadata object from selected chart accounts
18101
- (this.get('chartAccounts').value.metadata).forEach((chartAccountsMetadata) => {
18102
- this.get('metadata').push(new FormGroup({
18103
- value: new FormControl(chartAccountsMetadata.isSharePercentage() ? 100 : 0),
18104
- chartAccountsMetadata: new FormControl(chartAccountsMetadata),
18105
- }));
18106
- });
18107
- }
18108
18147
  /**
18109
18148
  * salary comes to bankAccount together with related transactions like tips (kind of salary, but reported in different tax summary section),
18110
18149
  * adjustments used to clarify received payment by separating it into multiple transactions,
@@ -18122,6 +18161,24 @@ class WorkIncomeForm extends TransactionForm {
18122
18161
  }
18123
18162
  }
18124
18163
 
18164
+ class WorkExpenseForm extends WorkTransactionForm {
18165
+ listenEvents() {
18166
+ this.watchChartAccountsMetadata();
18167
+ }
18168
+ watchChartAccountsMetadata() {
18169
+ this.get('metadata').valueChanges.subscribe((metadata) => {
18170
+ const hoursMetadata = new Collection(metadata).findBy('chartAccountsMetadata.id', ChartAccountsMetadataListEnum.HOURS);
18171
+ if (!hoursMetadata) {
18172
+ return;
18173
+ }
18174
+ // for home office hours expense amount is a fixed rate per hour
18175
+ this.get('amount').reset();
18176
+ this.get('amount').disable();
18177
+ this.get('amount').setValue(this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetadata.value);
18178
+ });
18179
+ }
18180
+ }
18181
+
18125
18182
  class DepreciationForm extends TransactionBaseForm {
18126
18183
  constructor(depreciation, registeredForGst) {
18127
18184
  super(depreciation, registeredForGst);
@@ -18163,5 +18220,5 @@ class DepreciationForm extends TransactionBaseForm {
18163
18220
  * Generated bundle index. Do not edit.
18164
18221
  */
18165
18222
 
18166
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AlphabetColorsEnum, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, Firm, FirmService, FirmTypeEnum, FormValidationsEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertySaleTaxExemptionMetadataCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, ReceiptService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionReceiptService, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserInviteForm, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate, toArray };
18223
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AlphabetColorsEnum, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, Firm, FirmService, FirmTypeEnum, FormValidationsEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertySaleTaxExemptionMetadataCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, ReceiptService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionReceiptService, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserInviteForm, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate, toArray };
18167
18224
  //# sourceMappingURL=taxtank-core.js.map