taxtank-core 0.23.7 → 0.23.10

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.
@@ -52,15 +52,11 @@ export const CHART_ACCOUNTS_CATEGORIES = {
52
52
  ],
53
53
  workExpense: [
54
54
  ChartAccountsCategoryEnum.WORK_EXPENSE,
55
- ChartAccountsCategoryEnum.OTHER_EXPENSE,
56
- // @TODO Alex why?
57
- ChartAccountsCategoryEnum.PERSONAL_EXPENSE
55
+ ChartAccountsCategoryEnum.OTHER_EXPENSE
58
56
  ],
59
57
  workIncome: [
60
58
  ChartAccountsCategoryEnum.WORK_INCOME,
61
- ChartAccountsCategoryEnum.OTHER_INCOME,
62
- // @TODO Alex why?
63
- ChartAccountsCategoryEnum.PERSONAL_INCOME
59
+ ChartAccountsCategoryEnum.OTHER_INCOME
64
60
  ],
65
61
  soleExpense: [
66
62
  ChartAccountsCategoryEnum.SOLE_EXPENSE,
@@ -103,4 +99,4 @@ export const CHART_ACCOUNTS_CATEGORIES = {
103
99
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE
104
100
  ]
105
101
  };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4Rjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBaUQ7SUFDckYsTUFBTSxFQUFFO1FBQ04seUJBQXlCLENBQUMsZUFBZTtRQUN6Qyx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsZUFBZTtRQUN6Qyx5QkFBeUIsQ0FBQyxXQUFXO0tBQ3RDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AseUJBQXlCLENBQUMsZ0JBQWdCO1FBQzFDLHlCQUF5QixDQUFDLHFCQUFxQjtRQUMvQyx5QkFBeUIsQ0FBQyxzQkFBc0I7UUFDaEQseUJBQXlCLENBQUMsaUJBQWlCO1FBQzNDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsYUFBYTtRQUN2Qyx5QkFBeUIsQ0FBQyxnQkFBZ0I7UUFDMUMseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxpQkFBaUI7S0FDNUM7SUFDRCxRQUFRLEVBQUU7UUFDUix5QkFBeUIsQ0FBQyxnQkFBZ0I7UUFDMUMseUJBQXlCLENBQUMscUJBQXFCO1FBQy9DLHlCQUF5QixDQUFDLHNCQUFzQjtRQUNoRCx5QkFBeUIsQ0FBQyxlQUFlO0tBQzFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0oseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxpQkFBaUI7UUFDM0MseUJBQXlCLENBQUMsV0FBVztRQUNyQyx5QkFBeUIsQ0FBQyxhQUFhO1FBQ3ZDLHlCQUF5QixDQUFDLFlBQVk7S0FDdkM7SUFDRCxJQUFJLEVBQUU7UUFDSix5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsaUJBQWlCO0tBQzVDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IseUJBQXlCLENBQUMsZ0JBQWdCO1FBQzFDLHlCQUF5QixDQUFDLGVBQWU7S0FDMUM7SUFDRCxlQUFlLEVBQUU7UUFDZix5QkFBeUIsQ0FBQyxnQkFBZ0I7S0FDM0M7SUFDRCxjQUFjLEVBQUU7UUFDZCx5QkFBeUIsQ0FBQyxlQUFlO0tBQzFDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxhQUFhO1FBQ3ZDLGtCQUFrQjtRQUNsQix5QkFBeUIsQ0FBQyxnQkFBZ0I7S0FDM0M7SUFDRCxVQUFVLEVBQUU7UUFDVix5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMsa0JBQWtCO1FBQ2xCLHlCQUF5QixDQUFDLGVBQWU7S0FDMUM7SUFDRCxXQUFXLEVBQUU7UUFDWCx5QkFBeUIsQ0FBQyxZQUFZO0tBQ3ZDO0lBQ0QsVUFBVSxFQUFFO1FBQ1YseUJBQXlCLENBQUMsV0FBVztLQUN0QztJQUNELGdCQUFnQixFQUFFO1FBQ2hCLHlCQUF5QixDQUFDLGlCQUFpQjtLQUM1QztJQUNELGNBQWMsRUFBRTtRQUNkLHlCQUF5QixDQUFDLFdBQVc7UUFDckMseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxZQUFZO1FBQ3RDLHlCQUF5QixDQUFDLGFBQWE7S0FDeEM7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQix5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7S0FDdkM7SUFDRCxzQkFBc0IsRUFBRTtRQUN0Qix5QkFBeUIsQ0FBQyxZQUFZO1FBQ3RDLHlCQUF5QixDQUFDLGFBQWE7S0FDeEM7SUFDRCxZQUFZLEVBQUU7UUFDWix5QkFBeUIsQ0FBQyxxQkFBcUI7UUFDL0MseUJBQXlCLENBQUMsaUJBQWlCO0tBQzVDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gseUJBQXlCLENBQUMsZUFBZTtRQUN6Qyx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsZUFBZTtRQUN6Qyx5QkFBeUIsQ0FBQyxnQkFBZ0I7UUFDMUMseUJBQXlCLENBQUMscUJBQXFCO1FBQy9DLHlCQUF5QixDQUFDLHNCQUFzQjtRQUNoRCx5QkFBeUIsQ0FBQyxpQkFBaUI7UUFDM0MseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxhQUFhO1FBQ3ZDLHlCQUF5QixDQUFDLGdCQUFnQjtLQUMzQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XHJcblxyXG4vKipcclxuICogR3JvdXBlZCBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGZvciBmYXN0IHdvcmtcclxuICogQFRPRE8gQWxleDogQ2xlYW4gdXAgYW5kL29yIHJlbW92ZSBzb21lIGdyb3Vwc1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVM6IHtba2V5OiBzdHJpbmddOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW119ID0ge1xyXG4gIGluY29tZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9JTkNPTUUsXHJcbiAgXSxcclxuICBleHBlbnNlOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0RFUFJFQ0lBVElPTixcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfQ0FQSVRBTF9XT1JLUyxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19ERVBSRUNJQVRJT04sXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0RFUFJFQ0lBVElPTlxyXG4gIF0sXHJcbiAgcHJvcGVydHk6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfREVQUkVDSUFUSU9OLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9DQVBJVEFMX1dPUktTLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9JTkNPTUVcclxuICBdLFxyXG4gIHdvcms6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0RFUFJFQ0lBVElPTixcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0lOQ09NRVxyXG4gIF0sXHJcbiAgc29sZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0RFUFJFQ0lBVElPTlxyXG4gIF0sXHJcbiAgcGVyc29uYWw6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfSU5DT01FXHJcbiAgXSxcclxuICBwcm9wZXJ0eUV4cGVuc2U6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfRVhQRU5TRVxyXG4gIF0sXHJcbiAgcHJvcGVydHlJbmNvbWU6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfSU5DT01FXHJcbiAgXSxcclxuICB3b3JrRXhwZW5zZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0VYUEVOU0UsXHJcbiAgICAvLyBAVE9ETyBBbGV4IHdoeT9cclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfRVhQRU5TRVxyXG4gIF0sXHJcbiAgd29ya0luY29tZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfSU5DT01FLFxyXG4gICAgLy8gQFRPRE8gQWxleCB3aHk/XHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0lOQ09NRVxyXG4gIF0sXHJcbiAgc29sZUV4cGVuc2U6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9FWFBFTlNFLFxyXG4gIF0sXHJcbiAgc29sZUluY29tZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0lOQ09NRSxcclxuICBdLFxyXG4gIHNvbGVEZXByZWNpYXRpb246IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9ERVBSRUNJQVRJT04sXHJcbiAgXSxcclxuICB3b3JrVGFua0hlYWRlcjogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0VYUEVOU0VcclxuICBdLFxyXG4gIHdvcmtUYW5rSGVhZGVySW5jb21lOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUVcclxuICBdLFxyXG4gIHdvcmtUYW5rSGVhZGVyRXhwZW5zZXM6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFXHJcbiAgXSxcclxuICBkZXByZWNpYXRpb246IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfREVQUkVDSUFUSU9OLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0RFUFJFQ0lBVElPTlxyXG4gIF0sXHJcbiAgYWxsOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9ERVBSRUNJQVRJT04sXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0NBUElUQUxfV09SS1MsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfREVQUkVDSUFUSU9OLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0VYUEVOU0VcclxuICBdXHJcbn07XHJcbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4Rjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBaUQ7SUFDckYsTUFBTSxFQUFFO1FBQ04seUJBQXlCLENBQUMsZUFBZTtRQUN6Qyx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsZUFBZTtRQUN6Qyx5QkFBeUIsQ0FBQyxXQUFXO0tBQ3RDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AseUJBQXlCLENBQUMsZ0JBQWdCO1FBQzFDLHlCQUF5QixDQUFDLHFCQUFxQjtRQUMvQyx5QkFBeUIsQ0FBQyxzQkFBc0I7UUFDaEQseUJBQXlCLENBQUMsaUJBQWlCO1FBQzNDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsYUFBYTtRQUN2Qyx5QkFBeUIsQ0FBQyxnQkFBZ0I7UUFDMUMseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxpQkFBaUI7S0FDNUM7SUFDRCxRQUFRLEVBQUU7UUFDUix5QkFBeUIsQ0FBQyxnQkFBZ0I7UUFDMUMseUJBQXlCLENBQUMscUJBQXFCO1FBQy9DLHlCQUF5QixDQUFDLHNCQUFzQjtRQUNoRCx5QkFBeUIsQ0FBQyxlQUFlO0tBQzFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0oseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxpQkFBaUI7UUFDM0MseUJBQXlCLENBQUMsV0FBVztRQUNyQyx5QkFBeUIsQ0FBQyxhQUFhO1FBQ3ZDLHlCQUF5QixDQUFDLFlBQVk7S0FDdkM7SUFDRCxJQUFJLEVBQUU7UUFDSix5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsaUJBQWlCO0tBQzVDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IseUJBQXlCLENBQUMsZ0JBQWdCO1FBQzFDLHlCQUF5QixDQUFDLGVBQWU7S0FDMUM7SUFDRCxlQUFlLEVBQUU7UUFDZix5QkFBeUIsQ0FBQyxnQkFBZ0I7S0FDM0M7SUFDRCxjQUFjLEVBQUU7UUFDZCx5QkFBeUIsQ0FBQyxlQUFlO0tBQzFDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxhQUFhO0tBQ3hDO0lBQ0QsVUFBVSxFQUFFO1FBQ1YseUJBQXlCLENBQUMsV0FBVztRQUNyQyx5QkFBeUIsQ0FBQyxZQUFZO0tBQ3ZDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gseUJBQXlCLENBQUMsWUFBWTtLQUN2QztJQUNELFVBQVUsRUFBRTtRQUNWLHlCQUF5QixDQUFDLFdBQVc7S0FDdEM7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQix5QkFBeUIsQ0FBQyxpQkFBaUI7S0FDNUM7SUFDRCxjQUFjLEVBQUU7UUFDZCx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3JDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxhQUFhO0tBQ3hDO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIseUJBQXlCLENBQUMsV0FBVztRQUNyQyx5QkFBeUIsQ0FBQyxZQUFZO0tBQ3ZDO0lBQ0Qsc0JBQXNCLEVBQUU7UUFDdEIseUJBQXlCLENBQUMsWUFBWTtRQUN0Qyx5QkFBeUIsQ0FBQyxhQUFhO0tBQ3hDO0lBQ0QsWUFBWSxFQUFFO1FBQ1oseUJBQXlCLENBQUMscUJBQXFCO1FBQy9DLHlCQUF5QixDQUFDLGlCQUFpQjtLQUM1QztJQUNELEdBQUcsRUFBRTtRQUNILHlCQUF5QixDQUFDLGVBQWU7UUFDekMseUJBQXlCLENBQUMsV0FBVztRQUNyQyx5QkFBeUIsQ0FBQyxZQUFZO1FBQ3RDLHlCQUF5QixDQUFDLGVBQWU7UUFDekMseUJBQXlCLENBQUMsZ0JBQWdCO1FBQzFDLHlCQUF5QixDQUFDLHFCQUFxQjtRQUMvQyx5QkFBeUIsQ0FBQyxzQkFBc0I7UUFDaEQseUJBQXlCLENBQUMsaUJBQWlCO1FBQzNDLHlCQUF5QixDQUFDLFlBQVk7UUFDdEMseUJBQXlCLENBQUMsYUFBYTtRQUN2Qyx5QkFBeUIsQ0FBQyxnQkFBZ0I7S0FDM0M7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xyXG5cclxuLyoqXHJcbiAqIEdyb3VwZWQgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcmllcyBmb3IgZmFzdCB3b3JrXHJcbiAqIEBUT0RPIEFsZXg6IENsZWFuIHVwIGFuZC9vciByZW1vdmUgc29tZSBncm91cHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTOiB7W2tleTogc3RyaW5nXTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdfSA9IHtcclxuICBpbmNvbWU6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QRVJTT05BTF9JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfSU5DT01FLFxyXG4gIF0sXHJcbiAgZXhwZW5zZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9ERVBSRUNJQVRJT04sXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0NBUElUQUxfV09SS1MsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfREVQUkVDSUFUSU9OLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9ERVBSRUNJQVRJT05cclxuICBdLFxyXG4gIHByb3BlcnR5OiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0RFUFJFQ0lBVElPTixcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfQ0FQSVRBTF9XT1JLUyxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfSU5DT01FXHJcbiAgXSxcclxuICB3b3JrOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19ERVBSRUNJQVRJT04sXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUVcclxuICBdLFxyXG4gIHNvbGU6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9ERVBSRUNJQVRJT05cclxuICBdLFxyXG4gIHBlcnNvbmFsOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0VYUEVOU0UsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0lOQ09NRVxyXG4gIF0sXHJcbiAgcHJvcGVydHlFeHBlbnNlOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0VYUEVOU0VcclxuICBdLFxyXG4gIHByb3BlcnR5SW5jb21lOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0lOQ09NRVxyXG4gIF0sXHJcbiAgd29ya0V4cGVuc2U6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFXHJcbiAgXSxcclxuICB3b3JrSW5jb21lOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUVcclxuICBdLFxyXG4gIHNvbGVFeHBlbnNlOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfRVhQRU5TRSxcclxuICBdLFxyXG4gIHNvbGVJbmNvbWU6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9JTkNPTUUsXHJcbiAgXSxcclxuICBzb2xlRGVwcmVjaWF0aW9uOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfREVQUkVDSUFUSU9OLFxyXG4gIF0sXHJcbiAgd29ya1RhbmtIZWFkZXI6IFtcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFXHJcbiAgXSxcclxuICB3b3JrVGFua0hlYWRlckluY29tZTogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfSU5DT01FXHJcbiAgXSxcclxuICB3b3JrVGFua0hlYWRlckV4cGVuc2VzOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfRVhQRU5TRVxyXG4gIF0sXHJcbiAgZGVwcmVjaWF0aW9uOiBbXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0RFUFJFQ0lBVElPTixcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19ERVBSRUNJQVRJT05cclxuICBdLFxyXG4gIGFsbDogW1xyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfSU5DT01FLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUUsXHJcbiAgICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0lOQ09NRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfRVhQRU5TRSxcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfREVQUkVDSUFUSU9OLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9DQVBJVEFMX1dPUktTLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0RFUFJFQ0lBVElPTixcclxuICAgIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFLFxyXG4gICAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QRVJTT05BTF9FWFBFTlNFXHJcbiAgXVxyXG59O1xyXG4iXX0=
@@ -6,6 +6,7 @@ import { SUBSCRIPTION_TITLE } from './subscription-title.const';
6
6
  import { SUBSCRIPTION_DESCRIPTION } from './subscription-description.const';
7
7
  import { UserRolesEnum } from '../../db/Enums/user-roles.enum';
8
8
  import { Type } from 'class-transformer';
9
+ import { ServiceSubscriptionStatusEnum } from '../../db/Enums/subscription/service-subscription-status.enum';
9
10
  const PROPERTY_INVESTOR_MAX_PROPERTIES = 2;
10
11
  export class ServiceSubscription extends ServiceSubscriptionBase {
11
12
  constructor() {
@@ -56,11 +57,11 @@ export class ServiceSubscription extends ServiceSubscriptionBase {
56
57
  return SUBSCRIPTION_DESCRIPTION[this.type];
57
58
  }
58
59
  /**
59
- * This check on getIsActive need for firm. Accountant has a endDate, but user has not endDate
60
- * and for user we add check for endDate
60
+ * A subscription is considered active if the end date has not yet arrived and its status is "Active" or "Past due"
61
61
  */
62
62
  get isActive() {
63
- return this.endDate ? new Date(this.endDate).getTime() > new Date().getTime() : true;
63
+ const isExpired = new Date(this.endDate).getTime() < new Date().getTime();
64
+ return !isExpired && ([ServiceSubscriptionStatusEnum.ACTIVE, ServiceSubscriptionStatusEnum.PAST_DUE].includes(this.status));
64
65
  }
65
66
  get daysRemain() {
66
67
  const daysRemains = Math.round((new Date(this.endDate).getTime() - new Date().getTime()) / (1000 * 3600 * 24));
@@ -132,6 +133,12 @@ export class ServiceSubscription extends ServiceSubscriptionBase {
132
133
  // subscription with at least one archived product considered as archived
133
134
  return !!this.items.filter((item) => item.price.product.isArchived()).length;
134
135
  }
136
+ /**
137
+ * Case when payment was failed, but user has a time to update payment method
138
+ */
139
+ isPastDue() {
140
+ return this.status === ServiceSubscriptionStatusEnum.PAST_DUE;
141
+ }
135
142
  }
136
143
  __decorate([
137
144
  Type(() => Date)
@@ -142,4 +149,4 @@ __decorate([
142
149
  __decorate([
143
150
  Type(() => ServiceSubscriptionItem)
144
151
  ], ServiceSubscription.prototype, "items", void 0);
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1zdWJzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFBaEU7O1FBVUUsNERBQTREO1FBQzVELGtCQUFhLEdBQVcsQ0FBQyxDQUFDO0lBcUo1QixDQUFDO0lBbkpDLElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLElBQTZCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMs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LENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUF5QyxFQUFFLEVBQUU7WUFDckUsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUix5RUFBeUU7UUFDekUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9FLENBQUM7Q0FDRjtBQTlKQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0RBQ0Q7QUFHaEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO29EQUNIO0FBR2Q7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7a0RBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uIGFzIFNlcnZpY2VTdWJzY3JpcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB9IGZyb20gJy4vc2VydmljZS1zdWJzY3JpcHRpb24taXRlbSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25UeXBlRW51bSB9IGZyb20gJy4vc3Vic2NyaXB0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBTVUJTQ1JJUFRJT05fVElUTEUgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi10aXRsZS5jb25zdCc7XG5pbXBvcnQgeyBTVUJTQ1JJUFRJT05fREVTQ1JJUFRJT04gfSBmcm9tICcuL3N1YnNjcmlwdGlvbi1kZXNjcmlwdGlvbi5jb25zdCc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbmNvbnN0IFBST1BFUlRZX0lOVkVTVE9SX01BWF9QUk9QRVJUSUVTID0gMjtcblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VTdWJzY3JpcHRpb24gZXh0ZW5kcyBTZXJ2aWNlU3Vic2NyaXB0aW9uQmFzZSB7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHN0YXJ0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBlbmREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKVxuICBpdGVtczogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW1bXTtcblxuICAvLyBOdW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCB0aGUgdHJpYWwgdGltZSB3aWxsIGJlIGV4cGlyZWRcbiAgbGFzdFRyaWFsRGF5czogbnVtYmVyID0gNDtcblxuICBnZXQgaXNUcmlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc3RyaXBlSWQ7XG4gIH1cblxuICBnZXQgcHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSkgPT4gc3VtICsgaXRlbS50b3RhbCwgMCk7XG4gIH1cblxuICBnZXQgcHJvcGVydHlRdWFudGl0eSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXNJdGVtID8gdGhpcy5wcm9wZXJ0aWVzSXRlbS5xdWFudGl0eSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHR5cGUgb2Ygc3Vic2NyaXB0aW9uXG4gICAqL1xuICBnZXQgdHlwZSgpOiBTdWJzY3JpcHRpb25UeXBlRW51bSB7XG4gICAgY29uc3Qgd29ya1RhbmtQcm9kdWN0OiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSA9IHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnByaWNlLnByb2R1Y3QuaXNXb3JrVGFuaygpO1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLndvcmtUYW5rSXRlbSB8fCAhdGhpcy5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvblR5cGVFbnVtLldJVEhPVVRfU1VCU0NSSVBUSU9OO1xuICAgIH1cblxuICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMSAmJiAhIXdvcmtUYW5rUHJvZHVjdCkge1xuICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvblR5cGVFbnVtLklORElWSURVQUw7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydHlUYW5rUHJvZHVjdDogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gaXRlbS5wcmljZS5wcm9kdWN0LmlzUHJvcGVydGllcygpO1xuICAgIH0pO1xuXG4gICAgaWYgKCEhdGhpcy5wcm9wZXJ0aWVzSXRlbSAmJiBwcm9wZXJ0eVRhbmtQcm9kdWN0LnF1YW50aXR5ID09PSBQUk9QRVJUWV9JTlZFU1RPUl9NQVhfUFJPUEVSVElFUykge1xuICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvblR5cGVFbnVtLklOVkVTVE9SO1xuICAgIH1cblxuICAgIHJldHVybiBTdWJzY3JpcHRpb25UeXBlRW51bS5JTlZFU1RPUl9QTFVTO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0aXRsZSBvZiBzdWJzY3JpcHRpb25cbiAgICovXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTVUJTQ1JJUFRJT05fVElUTEVbdGhpcy50eXBlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGVzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uXG4gICAqL1xuICBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU1VCU0NSSVBUSU9OX0RFU0NSSVBUSU9OW3RoaXMudHlwZV07XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBjaGVjayBvbiBnZXRJc0FjdGl2ZSBuZWVkIGZvciBmaXJtLiBBY2NvdW50YW50IGhhcyBhIGVuZERhdGUsIGJ1dCB1c2VyIGhhcyBub3QgZW5kRGF0ZVxuICAgKiBhbmQgZm9yIHVzZXIgd2UgYWRkIGNoZWNrIGZvciBlbmREYXRlXG4gICAqL1xuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5kRGF0ZSA/IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSkuZ2V0VGltZSgpID4gbmV3IERhdGUoKS5nZXRUaW1lKCkgOiB0cnVlO1xuICB9XG5cbiAgZ2V0IGRheXNSZW1haW4oKTogbnVtYmVyIHtcbiAgICBjb25zdCBkYXlzUmVtYWluczogbnVtYmVyID0gTWF0aC5yb3VuZChcbiAgICAgIChuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvICgxMDAwICogMzYwMCAqIDI0KVxuICAgICk7XG5cbiAgICByZXR1cm4gZGF5c1JlbWFpbnMgPiAwID8gZGF5c1JlbWFpbnMgOiAwO1xuICB9XG5cbiAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1RyaWFsID8gJ1RyaWFsIHBlcmlvZCcgOiB0aGlzLnRpdGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHN1YnNjcmlwdGlvbiBpcyBJbmRpdmlkdWFsXG4gICAqIFN1YnNjcmlwdGlvbiBpcyBpbmRpdmlkdWFsIHdoZW4gdXNlciBoYXZlIG9ubHkgb25lIHByb2R1Y3QgYW5kIG9ubHkgd29yayB0YW5rXG4gICAqL1xuICBpc0luZGl2aWR1YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU3Vic2NyaXB0aW9uVHlwZUVudW0uSU5ESVZJRFVBTDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBzdWJzY3JpcHRpb24gaXMgSW52ZXN0b3JcbiAgICogU3Vic2NyaXB0aW9uIGlzIGludmVzdG9yIHdoZW4gdXNlciBoYXZlIHByb3BlcnR5IHRhbmsgcHJvZHVjdCBhbmQgbWF4IGNvdW50IG9mIHByb3BlcnRpZXMgaXMgMlxuICAgKi9cbiAgaXNJbnZlc3RvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBTdWJzY3JpcHRpb25UeXBlRW51bS5JTlZFU1RPUjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBzdWJzY3JpcHRpb24gaXMgSW52ZXN0b3IgUGx1c1xuICAgKiBTdWJzY3JpcHRpb24gaXMgaW52ZXN0b3Igd2hlbiB1c2VyIGhhdmUgcHJvcGVydHkgdGFuayBwcm9kdWN0IGFuZCBtYXggY291bnQgb2YgcHJvcGVydGllcyBtb3JlIHRoYW4gMlxuICAgKi9cbiAgaXNJbnZlc3RvclBsdXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU3Vic2NyaXB0aW9uVHlwZUVudW0uSU5WRVNUT1JfUExVUztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmlhbCBleHBpcmVkXG4gICAqL1xuICBpc1RyaWFsRXhwaXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlzUmVtYWluICYmIHRoaXMuZGF5c1JlbWFpbiA8PSAwO1xuICB9XG5cbiAgaXNUcmlhbEV4cGlyaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRheXNSZW1haW4gPiAwICYmIHRoaXMuZGF5c1JlbWFpbiA8PSB0aGlzLmxhc3RUcmlhbERheXM7XG4gIH1cblxuICBpc1JlbmV3YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNUcmlhbCAmJiB0aGlzLmlzQWN0aXZlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IHdvcmtUYW5rSXRlbSgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pc1dvcmtUYW5rKCkpO1xuICB9XG5cbiAgZ2V0IHNvbGVUYW5rSXRlbSgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pc1NvbGVUYW5rKCkpO1xuICB9XG5cbiAgZ2V0IHByb3BlcnRpZXNJdGVtKCk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4gPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzUHJvcGVydGllcygpKTtcbiAgfVxuXG4gIGhhc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uSXRlbS5wcmljZS5wcm9kdWN0LnJvbGUuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhc1dvcmtUYW5rKCkge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoc3Vic2NyaXB0aW9uSXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25JdGVtLnByaWNlLnByb2R1Y3Qucm9sZS5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogYm91Z2h0IGJlZm9yZSBwcmljZSB1cGRhdGVzLCBhY3RpdmUgZm9yIHNvbWUgdGltZSB0byBsZXQgY3VzdG9tZXIgc2VsZWN0IGEgbmV3IHBsYW5cbiAgICogaW1wb3NzaWJsZSB0byB1cGRhdGUsIG9ubHkgcHJvbG9uZyBvciBidXkgbmV3XG4gICAqL1xuICBpc0FyY2hpdmVkKCk6IGJvb2xlYW4ge1xuICAgIC8vIHN1YnNjcmlwdGlvbiB3aXRoIGF0IGxlYXN0IG9uZSBhcmNoaXZlZCBwcm9kdWN0IGNvbnNpZGVyZWQgYXMgYXJjaGl2ZWRcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzQXJjaGl2ZWQoKSkubGVuZ3RoO1xuICB9XG59XG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1zdWJzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTdHLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFBaEU7O1FBVUUsNERBQTREO1FBQzVELGtCQUFhLEdBQVcsQ0FBQyxDQUFDO0lBNko1QixDQUFDO0lBM0pDLElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLElBQTZCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sTUFBTSxlQUFlLEdBQTRCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBNkIsRUFBVyxFQUFFO1lBQzFHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUNsRDtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUU7WUFDaEQsT0FBTyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7U0FDeEM7UUFFRCxNQUFNLG1CQUFtQixHQUE0QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQTZCLEVBQVcsRUFBRTtZQUM5RyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLEtBQUssZ0NBQWdDLEVBQUU7WUFDOUYsT0FBTyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7U0FDdEM7UUFFRCxPQUFPLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixNQUFNLFNBQVMsR0FBWSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuRixPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxNQUFNLEVBQUUsNkJBQTZCLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixNQUFNLFdBQVcsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUNwQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUMvRSxDQUFDO1FBRUYsT0FBTyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLFVBQVUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsYUFBYSxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQTZCLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUE2QixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQTZCLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUF5QyxFQUFFLEVBQUU7WUFDckUsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUF5QyxFQUFFLEVBQUU7WUFDckUsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUix5RUFBeUU7UUFDekUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssNkJBQTZCLENBQUMsUUFBUSxDQUFDO0lBQ2hFLENBQUM7Q0FDRjtBQXRLQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0RBQ0Q7QUFHaEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO29EQUNIO0FBR2Q7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7a0RBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uIGFzIFNlcnZpY2VTdWJzY3JpcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB9IGZyb20gJy4vc2VydmljZS1zdWJzY3JpcHRpb24taXRlbSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25UeXBlRW51bSB9IGZyb20gJy4vc3Vic2NyaXB0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBTVUJTQ1JJUFRJT05fVElUTEUgfSBmcm9tICcuL3N1YnNjcmlwdGlvbi10aXRsZS5jb25zdCc7XG5pbXBvcnQgeyBTVUJTQ1JJUFRJT05fREVTQ1JJUFRJT04gfSBmcm9tICcuL3N1YnNjcmlwdGlvbi1kZXNjcmlwdGlvbi5jb25zdCc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XG5cbmNvbnN0IFBST1BFUlRZX0lOVkVTVE9SX01BWF9QUk9QRVJUSUVTID0gMjtcblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VTdWJzY3JpcHRpb24gZXh0ZW5kcyBTZXJ2aWNlU3Vic2NyaXB0aW9uQmFzZSB7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHN0YXJ0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBlbmREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKVxuICBpdGVtczogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW1bXTtcblxuICAvLyBOdW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCB0aGUgdHJpYWwgdGltZSB3aWxsIGJlIGV4cGlyZWRcbiAgbGFzdFRyaWFsRGF5czogbnVtYmVyID0gNDtcblxuICBnZXQgaXNUcmlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc3RyaXBlSWQ7XG4gIH1cblxuICBnZXQgcHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSkgPT4gc3VtICsgaXRlbS50b3RhbCwgMCk7XG4gIH1cblxuICBnZXQgcHJvcGVydHlRdWFudGl0eSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXNJdGVtID8gdGhpcy5wcm9wZXJ0aWVzSXRlbS5xdWFudGl0eSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHR5cGUgb2Ygc3Vic2NyaXB0aW9uXG4gICAqL1xuICBnZXQgdHlwZSgpOiBTdWJzY3JpcHRpb25UeXBlRW51bSB7XG4gICAgY29uc3Qgd29ya1RhbmtQcm9kdWN0OiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSA9IHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnByaWNlLnByb2R1Y3QuaXNXb3JrVGFuaygpO1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLndvcmtUYW5rSXRlbSB8fCAhdGhpcy5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvblR5cGVFbnVtLldJVEhPVVRfU1VCU0NSSVBUSU9OO1xuICAgIH1cblxuICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMSAmJiAhIXdvcmtUYW5rUHJvZHVjdCkge1xuICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvblR5cGVFbnVtLklORElWSURVQUw7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydHlUYW5rUHJvZHVjdDogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gaXRlbS5wcmljZS5wcm9kdWN0LmlzUHJvcGVydGllcygpO1xuICAgIH0pO1xuXG4gICAgaWYgKCEhdGhpcy5wcm9wZXJ0aWVzSXRlbSAmJiBwcm9wZXJ0eVRhbmtQcm9kdWN0LnF1YW50aXR5ID09PSBQUk9QRVJUWV9JTlZFU1RPUl9NQVhfUFJPUEVSVElFUykge1xuICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvblR5cGVFbnVtLklOVkVTVE9SO1xuICAgIH1cblxuICAgIHJldHVybiBTdWJzY3JpcHRpb25UeXBlRW51bS5JTlZFU1RPUl9QTFVTO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0aXRsZSBvZiBzdWJzY3JpcHRpb25cbiAgICovXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTVUJTQ1JJUFRJT05fVElUTEVbdGhpcy50eXBlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGVzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uXG4gICAqL1xuICBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU1VCU0NSSVBUSU9OX0RFU0NSSVBUSU9OW3RoaXMudHlwZV07XG4gIH1cblxuICAvKipcbiAgICogQSBzdWJzY3JpcHRpb24gaXMgY29uc2lkZXJlZCBhY3RpdmUgaWYgdGhlIGVuZCBkYXRlIGhhcyBub3QgeWV0IGFycml2ZWQgYW5kIGl0cyBzdGF0dXMgaXMgXCJBY3RpdmVcIiBvciBcIlBhc3QgZHVlXCJcbiAgICovXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc0V4cGlyZWQ6IGJvb2xlYW4gPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLmdldFRpbWUoKSA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgcmV0dXJuICFpc0V4cGlyZWQgJiYgKFtTZXJ2aWNlU3Vic2NyaXB0aW9uU3RhdHVzRW51bS5BQ1RJVkUsIFNlcnZpY2VTdWJzY3JpcHRpb25TdGF0dXNFbnVtLlBBU1RfRFVFXS5pbmNsdWRlcyh0aGlzLnN0YXR1cykpO1xuICB9XG5cbiAgZ2V0IGRheXNSZW1haW4oKTogbnVtYmVyIHtcbiAgICBjb25zdCBkYXlzUmVtYWluczogbnVtYmVyID0gTWF0aC5yb3VuZChcbiAgICAgIChuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvICgxMDAwICogMzYwMCAqIDI0KVxuICAgICk7XG5cbiAgICByZXR1cm4gZGF5c1JlbWFpbnMgPiAwID8gZGF5c1JlbWFpbnMgOiAwO1xuICB9XG5cbiAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1RyaWFsID8gJ1RyaWFsIHBlcmlvZCcgOiB0aGlzLnRpdGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHN1YnNjcmlwdGlvbiBpcyBJbmRpdmlkdWFsXG4gICAqIFN1YnNjcmlwdGlvbiBpcyBpbmRpdmlkdWFsIHdoZW4gdXNlciBoYXZlIG9ubHkgb25lIHByb2R1Y3QgYW5kIG9ubHkgd29yayB0YW5rXG4gICAqL1xuICBpc0luZGl2aWR1YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU3Vic2NyaXB0aW9uVHlwZUVudW0uSU5ESVZJRFVBTDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBzdWJzY3JpcHRpb24gaXMgSW52ZXN0b3JcbiAgICogU3Vic2NyaXB0aW9uIGlzIGludmVzdG9yIHdoZW4gdXNlciBoYXZlIHByb3BlcnR5IHRhbmsgcHJvZHVjdCBhbmQgbWF4IGNvdW50IG9mIHByb3BlcnRpZXMgaXMgMlxuICAgKi9cbiAgaXNJbnZlc3RvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBTdWJzY3JpcHRpb25UeXBlRW51bS5JTlZFU1RPUjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBzdWJzY3JpcHRpb24gaXMgSW52ZXN0b3IgUGx1c1xuICAgKiBTdWJzY3JpcHRpb24gaXMgaW52ZXN0b3Igd2hlbiB1c2VyIGhhdmUgcHJvcGVydHkgdGFuayBwcm9kdWN0IGFuZCBtYXggY291bnQgb2YgcHJvcGVydGllcyBtb3JlIHRoYW4gMlxuICAgKi9cbiAgaXNJbnZlc3RvclBsdXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gU3Vic2NyaXB0aW9uVHlwZUVudW0uSU5WRVNUT1JfUExVUztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmlhbCBleHBpcmVkXG4gICAqL1xuICBpc1RyaWFsRXhwaXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlzUmVtYWluICYmIHRoaXMuZGF5c1JlbWFpbiA8PSAwO1xuICB9XG5cbiAgaXNUcmlhbEV4cGlyaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRheXNSZW1haW4gPiAwICYmIHRoaXMuZGF5c1JlbWFpbiA8PSB0aGlzLmxhc3RUcmlhbERheXM7XG4gIH1cblxuICBpc1JlbmV3YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNUcmlhbCAmJiB0aGlzLmlzQWN0aXZlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IHdvcmtUYW5rSXRlbSgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pc1dvcmtUYW5rKCkpO1xuICB9XG5cbiAgZ2V0IHNvbGVUYW5rSXRlbSgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pc1NvbGVUYW5rKCkpO1xuICB9XG5cbiAgZ2V0IHByb3BlcnRpZXNJdGVtKCk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4gPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzUHJvcGVydGllcygpKTtcbiAgfVxuXG4gIGhhc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uSXRlbS5wcmljZS5wcm9kdWN0LnJvbGUuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhc1dvcmtUYW5rKCkge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoc3Vic2NyaXB0aW9uSXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25JdGVtLnByaWNlLnByb2R1Y3Qucm9sZS5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogYm91Z2h0IGJlZm9yZSBwcmljZSB1cGRhdGVzLCBhY3RpdmUgZm9yIHNvbWUgdGltZSB0byBsZXQgY3VzdG9tZXIgc2VsZWN0IGEgbmV3IHBsYW5cbiAgICogaW1wb3NzaWJsZSB0byB1cGRhdGUsIG9ubHkgcHJvbG9uZyBvciBidXkgbmV3XG4gICAqL1xuICBpc0FyY2hpdmVkKCk6IGJvb2xlYW4ge1xuICAgIC8vIHN1YnNjcmlwdGlvbiB3aXRoIGF0IGxlYXN0IG9uZSBhcmNoaXZlZCBwcm9kdWN0IGNvbnNpZGVyZWQgYXMgYXJjaGl2ZWRcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzQXJjaGl2ZWQoKSkubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENhc2Ugd2hlbiBwYXltZW50IHdhcyBmYWlsZWQsIGJ1dCB1c2VyIGhhcyBhIHRpbWUgdG8gdXBkYXRlIHBheW1lbnQgbWV0aG9kXG4gICAqL1xuICBpc1Bhc3REdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTZXJ2aWNlU3Vic2NyaXB0aW9uU3RhdHVzRW51bS5QQVNUX0RVRTtcbiAgfVxufVxuIl19
@@ -1489,6 +1489,16 @@ const SUBSCRIPTION_DESCRIPTION = {
1489
1489
  [SubscriptionTypeEnum.INVESTOR_PLUS]: 'Add your whole portfolio, including investment properties, home and properties in trusts. For 3+ properties an extra $6 will be charged per property.'
1490
1490
  };
1491
1491
 
1492
+ var ServiceSubscriptionStatusEnum;
1493
+ (function (ServiceSubscriptionStatusEnum) {
1494
+ ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["ACTIVE"] = 1] = "ACTIVE";
1495
+ ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["INCOMPLETE"] = 2] = "INCOMPLETE";
1496
+ ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["INCOMPLETE_EXPIRED"] = 3] = "INCOMPLETE_EXPIRED";
1497
+ ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["PAST_DUE"] = 4] = "PAST_DUE";
1498
+ ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["CANCELED"] = 5] = "CANCELED";
1499
+ ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["UNPAID"] = 6] = "UNPAID";
1500
+ })(ServiceSubscriptionStatusEnum || (ServiceSubscriptionStatusEnum = {}));
1501
+
1492
1502
  const PROPERTY_INVESTOR_MAX_PROPERTIES = 2;
1493
1503
  class ServiceSubscription extends ServiceSubscription$1 {
1494
1504
  constructor() {
@@ -1539,11 +1549,11 @@ class ServiceSubscription extends ServiceSubscription$1 {
1539
1549
  return SUBSCRIPTION_DESCRIPTION[this.type];
1540
1550
  }
1541
1551
  /**
1542
- * This check on getIsActive need for firm. Accountant has a endDate, but user has not endDate
1543
- * and for user we add check for endDate
1552
+ * A subscription is considered active if the end date has not yet arrived and its status is "Active" or "Past due"
1544
1553
  */
1545
1554
  get isActive() {
1546
- return this.endDate ? new Date(this.endDate).getTime() > new Date().getTime() : true;
1555
+ const isExpired = new Date(this.endDate).getTime() < new Date().getTime();
1556
+ return !isExpired && ([ServiceSubscriptionStatusEnum.ACTIVE, ServiceSubscriptionStatusEnum.PAST_DUE].includes(this.status));
1547
1557
  }
1548
1558
  get daysRemain() {
1549
1559
  const daysRemains = Math.round((new Date(this.endDate).getTime() - new Date().getTime()) / (1000 * 3600 * 24));
@@ -1615,6 +1625,12 @@ class ServiceSubscription extends ServiceSubscription$1 {
1615
1625
  // subscription with at least one archived product considered as archived
1616
1626
  return !!this.items.filter((item) => item.price.product.isArchived()).length;
1617
1627
  }
1628
+ /**
1629
+ * Case when payment was failed, but user has a time to update payment method
1630
+ */
1631
+ isPastDue() {
1632
+ return this.status === ServiceSubscriptionStatusEnum.PAST_DUE;
1633
+ }
1618
1634
  }
1619
1635
  __decorate([
1620
1636
  Type(() => Date)
@@ -1836,15 +1852,11 @@ const CHART_ACCOUNTS_CATEGORIES = {
1836
1852
  ],
1837
1853
  workExpense: [
1838
1854
  ChartAccountsCategoryEnum.WORK_EXPENSE,
1839
- ChartAccountsCategoryEnum.OTHER_EXPENSE,
1840
- // @TODO Alex why?
1841
- ChartAccountsCategoryEnum.PERSONAL_EXPENSE
1855
+ ChartAccountsCategoryEnum.OTHER_EXPENSE
1842
1856
  ],
1843
1857
  workIncome: [
1844
1858
  ChartAccountsCategoryEnum.WORK_INCOME,
1845
- ChartAccountsCategoryEnum.OTHER_INCOME,
1846
- // @TODO Alex why?
1847
- ChartAccountsCategoryEnum.PERSONAL_INCOME
1859
+ ChartAccountsCategoryEnum.OTHER_INCOME
1848
1860
  ],
1849
1861
  soleExpense: [
1850
1862
  ChartAccountsCategoryEnum.SOLE_EXPENSE,
@@ -6136,16 +6148,6 @@ var ServicePriceTypeEnum;
6136
6148
  ServicePriceTypeEnum[ServicePriceTypeEnum["RECURRING"] = 2] = "RECURRING";
6137
6149
  })(ServicePriceTypeEnum || (ServicePriceTypeEnum = {}));
6138
6150
 
6139
- var ServiceSubscriptionStatusEnum;
6140
- (function (ServiceSubscriptionStatusEnum) {
6141
- ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["ACTIVE"] = 1] = "ACTIVE";
6142
- ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["INCOMPLETE"] = 2] = "INCOMPLETE";
6143
- ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["INCOMPLETE_EXPIRED"] = 3] = "INCOMPLETE_EXPIRED";
6144
- ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["PAST_DUE"] = 4] = "PAST_DUE";
6145
- ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["CANCELED"] = 5] = "CANCELED";
6146
- ServiceSubscriptionStatusEnum[ServiceSubscriptionStatusEnum["UNPAID"] = 6] = "UNPAID";
6147
- })(ServiceSubscriptionStatusEnum || (ServiceSubscriptionStatusEnum = {}));
6148
-
6149
6151
  var SpareDocumentSpareTypeEnum;
6150
6152
  (function (SpareDocumentSpareTypeEnum) {
6151
6153
  SpareDocumentSpareTypeEnum[SpareDocumentSpareTypeEnum["DOCUMENT"] = 1] = "DOCUMENT";