taxtank-core 0.33.6 → 0.33.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. package/esm2022/src/lib/collections/bank-account.collection.mjs +5 -41
  2. package/esm2022/src/lib/collections/depreciation.collection.mjs +15 -21
  3. package/esm2022/src/lib/collections/exportable.collection.mjs +2 -6
  4. package/esm2022/src/lib/collections/property/property.collection.mjs +8 -4
  5. package/esm2022/src/lib/collections/transaction/index.mjs +2 -1
  6. package/esm2022/src/lib/collections/transaction/transaction-base.collection.mjs +4 -0
  7. package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +5 -17
  8. package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +2 -2
  9. package/esm2022/src/lib/db/Models/bank/bank-account.mjs +1 -1
  10. package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +6 -40
  11. package/esm2022/src/lib/forms/property/property-share.form.mjs +2 -2
  12. package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +7 -2
  13. package/esm2022/src/lib/models/bank/bank-account.mjs +6 -3
  14. package/esm2022/src/lib/models/bank/type-loan.const.mjs +2 -5
  15. package/esm2022/src/lib/models/depreciation/depreciation.mjs +8 -22
  16. package/esm2022/src/lib/models/property/property.mjs +1 -4
  17. package/esm2022/src/lib/models/report/report.interface.mjs +1 -1
  18. package/esm2022/src/lib/models/report/reports.const.mjs +107 -72
  19. package/esm2022/src/lib/models/transaction/transaction.mjs +1 -19
  20. package/esm2022/src/lib/models/user/user.mjs +18 -28
  21. package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +3 -1
  22. package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +3 -1
  23. package/esm2022/src/lib/services/http/property/property.service.mjs +3 -2
  24. package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +1 -18
  25. package/fesm2022/taxtank-core.mjs +182 -287
  26. package/fesm2022/taxtank-core.mjs.map +1 -1
  27. package/package.json +1 -1
  28. package/src/lib/collections/bank-account.collection.d.ts +1 -21
  29. package/src/lib/collections/depreciation.collection.d.ts +6 -3
  30. package/src/lib/collections/exportable.collection.d.ts +2 -2
  31. package/src/lib/collections/property/property.collection.d.ts +1 -1
  32. package/src/lib/collections/transaction/index.d.ts +1 -0
  33. package/src/lib/collections/transaction/transaction-base.collection.d.ts +4 -0
  34. package/src/lib/collections/transaction/transaction.collection.d.ts +2 -2
  35. package/src/lib/db/Enums/bank/bank-account-type.enum.d.ts +1 -0
  36. package/src/lib/db/Models/bank/bank-account.d.ts +0 -1
  37. package/src/lib/db/Models/transaction/transaction-base.d.ts +0 -9
  38. package/src/lib/forms/transaction/transaction-base-filter.form.d.ts +3 -2
  39. package/src/lib/models/bank/bank-account.d.ts +1 -0
  40. package/src/lib/models/bank/type-loan.const.d.ts +0 -3
  41. package/src/lib/models/depreciation/depreciation.d.ts +3 -11
  42. package/src/lib/models/property/property.d.ts +0 -1
  43. package/src/lib/models/report/report.interface.d.ts +4 -3
  44. package/src/lib/models/report/reports.const.d.ts +2 -2
  45. package/src/lib/models/transaction/transaction.d.ts +1 -6
  46. package/src/lib/models/user/user.d.ts +2 -14
  47. package/src/lib/services/http/holding/holding-sale.service.d.ts +2 -0
  48. package/src/lib/services/http/property/property-sale/property-sale.service.d.ts +2 -0
  49. package/src/lib/services/http/property/property.service.d.ts +2 -0
  50. package/src/lib/services/http/transaction/transaction.service.d.ts +0 -6
@@ -7,4 +7,4 @@ export class BankAccount extends ObservableModel {
7
7
  __decorate([
8
8
  Type(() => Number)
9
9
  ], BankAccount.prototype, "currentBalance", void 0);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL01vZGVscy9iYW5rL2JhbmstYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBT0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6QyxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7YUFDdkMsY0FBUyxHQUFHLGFBQWEsQ0FBQzs7QUFTakM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO21EQUNLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFua0FjY291bnRTdGF0dXNFbnVtLCBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMnO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb24gfSBmcm9tICcuL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5IH0gZnJvbSAnLi9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi9iYW5rLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtBY2NvdW50QmFsYW5jZSB9IGZyb20gJy4vYmFuay1hY2NvdW50LWJhbGFuY2UnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi4vc29sZS9zb2xlLWJ1c2luZXNzLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS1tb2RlbCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5leHBvcnQgY2xhc3MgQmFua0FjY291bnQgZXh0ZW5kcyBPYnNlcnZhYmxlTW9kZWwge1xuICBzdGF0aWMgY2xhc3NOYW1lID0gJ0JhbmtBY2NvdW50JztcbiAgc3RhdHVzPzogQmFua0FjY291bnRTdGF0dXNFbnVtO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBCYW5rQWNjb3VudFR5cGVFbnVtO1xuICBhY2NvdW50TmFtZT86IHN0cmluZztcbiAgbmlja25hbWU/OiBzdHJpbmc7XG4gIGFjY291bnROdW1iZXI/OiBzdHJpbmc7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBjdXJyZW50QmFsYW5jZT86IG51bWJlcjtcblxuICBjdXJyZW5jeT86IHN0cmluZztcbiAgaXNNYW51YWw/OiBib29sZWFuO1xuICBtaWdyYXRlRnJvbT86IERhdGU7XG4gIG1pZ3JhdGVUbz86IERhdGU7XG4gIGxhc3RUcmFuc2FjdGlvbkRhdGU/OiBEYXRlO1xuICBiYWxhbmNlSW5pdERhdGU/OiBEYXRlO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICBiYW5rQ29ubmVjdGlvbj86IEJhbmtDb25uZWN0aW9uO1xuICBiYW5rQWNjb3VudFByb3BlcnRpZXM/OiBCYW5rQWNjb3VudFByb3BlcnR5W107XG4gIGJ1c2luZXNzQWxsb2NhdGlvbnM/OiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW107XG4gIGJhbmtUcmFuc2FjdGlvbnM/OiBCYW5rVHJhbnNhY3Rpb25bXTtcbiAgYmFsYW5jZXM/OiBCYW5rQWNjb3VudEJhbGFuY2VbXTtcbiAgbG9hbj86IExvYW47XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL01vZGVscy9iYW5rL2JhbmstYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBT0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6QyxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7YUFDdkMsY0FBUyxHQUFHLGFBQWEsQ0FBQzs7QUFTakM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO21EQUNLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFua0FjY291bnRTdGF0dXNFbnVtLCBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMnO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb24gfSBmcm9tICcuL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5IH0gZnJvbSAnLi9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi9iYW5rLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtBY2NvdW50QmFsYW5jZSB9IGZyb20gJy4vYmFuay1hY2NvdW50LWJhbGFuY2UnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi4vc29sZS9zb2xlLWJ1c2luZXNzLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS1tb2RlbCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5leHBvcnQgY2xhc3MgQmFua0FjY291bnQgZXh0ZW5kcyBPYnNlcnZhYmxlTW9kZWwge1xuICBzdGF0aWMgY2xhc3NOYW1lID0gJ0JhbmtBY2NvdW50JztcbiAgc3RhdHVzPzogQmFua0FjY291bnRTdGF0dXNFbnVtO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBCYW5rQWNjb3VudFR5cGVFbnVtO1xuICBhY2NvdW50TmFtZT86IHN0cmluZztcbiAgbmlja25hbWU/OiBzdHJpbmc7XG4gIGFjY291bnROdW1iZXI/OiBzdHJpbmc7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBjdXJyZW50QmFsYW5jZT86IG51bWJlcjtcblxuICBjdXJyZW5jeT86IHN0cmluZztcbiAgbWlncmF0ZUZyb20/OiBEYXRlO1xuICBtaWdyYXRlVG8/OiBEYXRlO1xuICBsYXN0VHJhbnNhY3Rpb25EYXRlPzogRGF0ZTtcbiAgYmFsYW5jZUluaXREYXRlPzogRGF0ZTtcbiAgZGVsZXRlZEF0PzogRGF0ZTtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgYmFua0Nvbm5lY3Rpb24/OiBCYW5rQ29ubmVjdGlvbjtcbiAgYmFua0FjY291bnRQcm9wZXJ0aWVzPzogQmFua0FjY291bnRQcm9wZXJ0eVtdO1xuICBidXNpbmVzc0FsbG9jYXRpb25zPzogU29sZUJ1c2luZXNzQWxsb2NhdGlvbltdO1xuICBiYW5rVHJhbnNhY3Rpb25zPzogQmFua1RyYW5zYWN0aW9uW107XG4gIGJhbGFuY2VzPzogQmFua0FjY291bnRCYWxhbmNlW107XG4gIGxvYW4/OiBMb2FuO1xufVxuIl19
@@ -29,57 +29,23 @@ export class TransactionBase extends ObservableModel {
29
29
  /**
30
30
  * @TODO remove when AllocateForm is refactored and not merging with Transaction class which cause the issue
31
31
  */
32
- set tankType(tankType) {
33
- }
34
- /**
35
- * Check if current tank is Property
36
- */
32
+ set tankType(tankType) { }
37
33
  isPropertyTank() {
38
- // chart accounts may be empty for new instances
39
- if (this.chartAccounts) {
40
- return CHART_ACCOUNTS_CATEGORIES.property.includes(this.chartAccounts.category);
41
- }
42
- return !!this.property;
34
+ return CHART_ACCOUNTS_CATEGORIES.property.includes(this.chartAccounts?.category);
43
35
  }
44
- /**
45
- * Check if current tank is Work
46
- */
47
36
  isWorkTank() {
48
- // chart accounts may be empty for new instances
49
- if (this.chartAccounts) {
50
- return CHART_ACCOUNTS_CATEGORIES.work.includes(this.chartAccounts?.category);
51
- }
52
- return !this.isPropertyTank() && !this.isSoleTank();
37
+ return CHART_ACCOUNTS_CATEGORIES.work.includes(this.chartAccounts?.category);
53
38
  }
54
- /**
55
- * Check if current tank is Sole
56
- */
57
39
  isSoleTank() {
58
- // chart accounts may be empty for new instances
59
- if (this.chartAccounts) {
60
- return CHART_ACCOUNTS_CATEGORIES.sole.includes(this.chartAccounts?.category);
61
- }
62
- return !!this.business;
40
+ return CHART_ACCOUNTS_CATEGORIES.sole.includes(this.chartAccounts?.category);
63
41
  }
64
42
  isHoldingTank() {
65
- // chart accounts may be empty for new instances
66
- if (this.chartAccounts) {
67
- return CHART_ACCOUNTS_CATEGORIES.holding.includes(this.chartAccounts?.category);
68
- }
69
- // @TODO Alex we need another way to distinguish work/holding
70
- return !this.isPropertyTank() && !this.isSoleTank();
43
+ return CHART_ACCOUNTS_CATEGORIES.holding.includes(this.chartAccounts?.category);
71
44
  }
72
45
  isOtherTank() {
73
- // chart accounts may be empty for new instances
74
- if (!this.chartAccounts) {
75
- return false;
76
- }
77
46
  return CHART_ACCOUNTS_CATEGORIES.other.includes(this.chartAccounts?.category);
78
47
  }
79
48
  isPersonalTank() {
80
- if (!this.chartAccounts) {
81
- return false;
82
- }
83
49
  return CHART_ACCOUNTS_CATEGORIES.personal.includes(this.chartAccounts?.category);
84
50
  }
85
51
  get amountWithGst() {
@@ -119,4 +85,4 @@ __decorate([
119
85
  __decorate([
120
86
  Exclude()
121
87
  ], TransactionBase.prototype, "gstClaimAmount", null);
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxlQUFlO0lBdUIzRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hCLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUMvQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUM5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QUFDO0NBQ0Y7QUEzSUM7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDOytDQUN6QztBQUdoQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7NkNBQ047QUFlZDtJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDOzJEQUNMO0FBaUc1QjtJQURDLE9BQU8sRUFBRTtvREFHVDtBQUdEO0lBREMsT0FBTyxFQUFFO2dEQUdUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7cURBR1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgYXMgQ2hhcnRBY2NvdW50c0Jhc2UgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBBcHBGaWxlLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uL3NvbGUvc29sZS1idXNpbmVzcyc7XG5pbXBvcnQgeyBFeGNsdWRlLCBUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlTW9kZWwgfSBmcm9tICcuLi9vYnNlcnZhYmxlLW1vZGVsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZSBleHRlbmRzIE9ic2VydmFibGVNb2RlbCB7XG4gIC8vIEBUT0RPIHVwZGF0ZSBkYiBzY2hlbWUgdG8gYWx3YXlzIGhhdmUgYSBudW1iZXJcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSA9PT0gbnVsbCA/IG51bGwgOiArdmFsdWUpXG4gIGFtb3VudD86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIHByb3BlcnR5PzogUHJvcGVydHk7XG4gIGJ1c2luZXNzPzogU29sZUJ1c2luZXNzO1xuICBkYXRlPzogRGF0ZTtcbiAgY2hhcnRBY2NvdW50cz86IENoYXJ0QWNjb3VudHNCYXNlO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogZ3N0IGFwcGxpZXMgdG8gc29sZSB0cmFkZXIgZXhwZW5zZS9pbmNvbWUsIGlmIGhlIGlzIHJlZ2lzdGVyZWQgYW5kIGNoYXJ0QWNjb3VudHMgaXMgZWxpZ2libGVcbiAgICovXG4gIGlzR1NUPzogYm9vbGVhbjtcbiAgY2xhaW1QZXJjZW50PzogbnVtYmVyO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gK3ZhbHVlKVxuICBzaGFyZWRDbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgZ2V0IGdzdENvZWZmaWNpZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNHU1QgPyBDaGFydEFjY291bnRzLkdTVENvZWZmaWNpZW50IDogMTtcbiAgfVxuXG4gIGdldCBjbGFpbVJhdGlvKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkQ2xhaW1QZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlKCk6IFRhbmtUeXBlRW51bSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuaXNQcm9wZXJ0eVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5QUk9QRVJUWTtcbiAgICAgIGNhc2UgdGhpcy5pc1dvcmtUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uV09SSztcbiAgICAgIGNhc2UgdGhpcy5pc1NvbGVUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uU09MRTtcbiAgICAgIGNhc2UgdGhpcy5pc0hvbGRpbmdUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uSE9MRElORztcbiAgICAgIGNhc2UgdGhpcy5pc090aGVyVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLk9USEVSO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5QRVJTT05BTDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlIHdoZW4gQWxsb2NhdGVGb3JtIGlzIHJlZmFjdG9yZWQgYW5kIG5vdCBtZXJnaW5nIHdpdGggVHJhbnNhY3Rpb24gY2xhc3Mgd2hpY2ggY2F1c2UgdGhlIGlzc3VlXG4gICAqL1xuICBzZXQgdGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSkge1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgdGFuayBpcyBQcm9wZXJ0eVxuICAgKi9cbiAgaXNQcm9wZXJ0eVRhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHkuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgdGFuayBpcyBXb3JrXG4gICAqL1xuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICh0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmsuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICF0aGlzLmlzUHJvcGVydHlUYW5rKCkgJiYgIXRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgdGFuayBpcyBTb2xlXG4gICAqL1xuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICh0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnNvbGUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhdGhpcy5idXNpbmVzcztcbiAgfVxuXG4gIGlzSG9sZGluZ1RhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuaG9sZGluZy5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyBBbGV4IHdlIG5lZWQgYW5vdGhlciB3YXkgdG8gZGlzdGluZ3Vpc2ggd29yay9ob2xkaW5nXG4gICAgcmV0dXJuICF0aGlzLmlzUHJvcGVydHlUYW5rKCkgJiYgIXRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG5cbiAgaXNPdGhlclRhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5vdGhlci5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWxUYW5rKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWwuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBhbW91bnRXaXRoR3N0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNHU1QgPyB0aGlzLmFtb3VudCAqIENoYXJ0QWNjb3VudHMuR1NUQ29lZmZpY2llbnQgOiB0aGlzLmFtb3VudDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGdzdEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFtb3VudFdpdGhHc3QgLSB0aGlzLmFtb3VudDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGdzdENsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3N0QW1vdW50ICogdGhpcy5jbGFpbVJhdGlvO1xuICB9XG5cbiAgLyoqXG4gICAqIGJhc2UgZ3Jvc3NBbW91bnQsIGV4dGVuZHMgaW4gY2hpbGQgY2xhc3Nlc1xuICAgKi9cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50ICsgdGhpcy5nc3RBbW91bnQ7XG4gIH1cblxuICBnZXQgZ3Jvc3NDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdyb3NzQW1vdW50ICogdGhpcy5jbGFpbVJhdGlvO1xuICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxlQUFlO0lBdUIzRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hCLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUMvQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUM5QixLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQztZQUM1QjtnQkFDRSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVEsQ0FBQyxRQUFzQixJQUFHLENBQUM7SUFFdkMsY0FBYztRQUNaLE9BQU8seUJBQXlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2xGLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8seUJBQXlCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0UsQ0FBQztJQUdELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFHRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQW5HQztJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7K0NBQ3pDO0FBR2hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzs2Q0FDTjtBQWVkO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7MkRBQ0w7QUF5RDVCO0lBREMsT0FBTyxFQUFFO29EQUdUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7Z0RBR1Q7QUFHRDtJQURDLE9BQU8sRUFBRTtxREFHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyBhcyBDaGFydEFjY291bnRzQmFzZSB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IEFwcEZpbGUsIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsIENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vc29sZS9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uL29ic2VydmFibGUtbW9kZWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CYXNlIGV4dGVuZHMgT2JzZXJ2YWJsZU1vZGVsIHtcbiAgLy8gQFRPRE8gdXBkYXRlIGRiIHNjaGVtZSB0byBhbHdheXMgaGF2ZSBhIG51bWJlclxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBudWxsID8gbnVsbCA6ICt2YWx1ZSlcbiAgYW1vdW50PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgcHJvcGVydHk/OiBQcm9wZXJ0eTtcbiAgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3M7XG4gIGRhdGU/OiBEYXRlO1xuICBjaGFydEFjY291bnRzPzogQ2hhcnRBY2NvdW50c0Jhc2U7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBnc3QgYXBwbGllcyB0byBzb2xlIHRyYWRlciBleHBlbnNlL2luY29tZSwgaWYgaGUgaXMgcmVnaXN0ZXJlZCBhbmQgY2hhcnRBY2NvdW50cyBpcyBlbGlnaWJsZVxuICAgKi9cbiAgaXNHU1Q/OiBib29sZWFuO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiArdmFsdWUpXG4gIHNoYXJlZENsYWltUGVyY2VudD86IG51bWJlcjtcblxuICBnZXQgZ3N0Q29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc0dTVCA/IENoYXJ0QWNjb3VudHMuR1NUQ29lZmZpY2llbnQgOiAxO1xuICB9XG5cbiAgZ2V0IGNsYWltUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWRDbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgdGFua1R5cGUoKTogVGFua1R5cGVFbnVtIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1Byb3BlcnR5VGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlBST1BFUlRZO1xuICAgICAgY2FzZSB0aGlzLmlzV29ya1RhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5XT1JLO1xuICAgICAgY2FzZSB0aGlzLmlzU29sZVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5TT0xFO1xuICAgICAgY2FzZSB0aGlzLmlzSG9sZGluZ1RhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5IT0xESU5HO1xuICAgICAgY2FzZSB0aGlzLmlzT3RoZXJUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uT1RIRVI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlBFUlNPTkFMO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyByZW1vdmUgd2hlbiBBbGxvY2F0ZUZvcm0gaXMgcmVmYWN0b3JlZCBhbmQgbm90IG1lcmdpbmcgd2l0aCBUcmFuc2FjdGlvbiBjbGFzcyB3aGljaCBjYXVzZSB0aGUgaXNzdWVcbiAgICovXG4gIHNldCB0YW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKSB7fVxuXG4gIGlzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5LmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpXG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmsuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnNvbGUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc0hvbGRpbmdUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmhvbGRpbmcuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc090aGVyVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5vdGhlci5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWxUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzR1NUID8gdGhpcy5hbW91bnQgKiBDaGFydEFjY291bnRzLkdTVENvZWZmaWNpZW50IDogdGhpcy5hbW91bnQ7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBnc3RBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnRXaXRoR3N0IC0gdGhpcy5hbW91bnQ7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBnc3RDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdzdEFtb3VudCAqIHRoaXMuY2xhaW1SYXRpbztcbiAgfVxuXG4gIC8qKlxuICAgKiBiYXNlIGdyb3NzQW1vdW50LCBleHRlbmRzIGluIGNoaWxkIGNsYXNzZXNcbiAgICovXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFtb3VudCArIHRoaXMuZ3N0QW1vdW50O1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5ncm9zc0Ftb3VudCAqIHRoaXMuY2xhaW1SYXRpbztcbiAgfVxufVxuIl19
@@ -9,8 +9,8 @@ export class PropertyShareForm extends AbstractForm {
9
9
  constructor(share = plainToClass(PropertyShare, {})) {
10
10
  super({
11
11
  fromDate: new UntypedFormControl(share.fromDate || new Date()),
12
- percent: new UntypedFormControl(share.percent, [Validators.required, Validators.min(0), Validators.max(100)])
12
+ percent: new UntypedFormControl(share.percent, [Validators.required, Validators.min(1), Validators.max(100)])
13
13
  }, share);
14
14
  }
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBMkI7SUFDaEUsWUFBWSxRQUF1QixZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQUNoRSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ2xhc3MgZGVzY3JpYmVzIHByb3BlcnR5IHNoYXJlIGZvcm0gZmllbGRzIGFuZCBmb3JtIGxvZ2ljXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNoYXJlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQcm9wZXJ0eVNoYXJlPiB7XG4gIGNvbnN0cnVjdG9yKHNoYXJlOiBQcm9wZXJ0eVNoYXJlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2hhcmUsIHt9KSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZyb21EYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNoYXJlLmZyb21EYXRlIHx8IG5ldyBEYXRlKCkpLFxuICAgICAgcGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzaGFyZS5wZXJjZW50LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldKVxuICAgIH0sIHNoYXJlKTtcbiAgfVxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBMkI7SUFDaEUsWUFBWSxRQUF1QixZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQUNoRSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ2xhc3MgZGVzY3JpYmVzIHByb3BlcnR5IHNoYXJlIGZvcm0gZmllbGRzIGFuZCBmb3JtIGxvZ2ljXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNoYXJlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQcm9wZXJ0eVNoYXJlPiB7XG4gIGNvbnN0cnVjdG9yKHNoYXJlOiBQcm9wZXJ0eVNoYXJlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2hhcmUsIHt9KSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZyb21EYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNoYXJlLmZyb21EYXRlIHx8IG5ldyBEYXRlKCkpLFxuICAgICAgcGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzaGFyZS5wZXJjZW50LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMSksIFZhbGlkYXRvcnMubWF4KDEwMCldKVxuICAgIH0sIHNoYXJlKTtcbiAgfVxufVxuIl19
@@ -1,10 +1,11 @@
1
1
  import { FormControl, FormGroup } from '@angular/forms';
2
2
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
3
3
  export class TransactionBaseFilterForm extends FormGroup {
4
- constructor(tankType, business) {
4
+ constructor(tankType, business, properties) {
5
5
  super({
6
6
  tankType: new FormControl(tankType),
7
7
  business: new FormControl({ value: business, disabled: true }),
8
+ properties: new FormControl({ value: properties, disabled: true }),
8
9
  dateFrom: new FormControl(),
9
10
  dateTo: new FormControl(),
10
11
  });
@@ -13,6 +14,7 @@ export class TransactionBaseFilterForm extends FormGroup {
13
14
  listenEvents() {
14
15
  this.get('tankType').valueChanges.subscribe(tankType => {
15
16
  tankType === TankTypeEnum.SOLE ? this.get('business').enable() : this.get('business').disable();
17
+ tankType === TankTypeEnum.PROPERTY ? this.get('properties').enable() : this.get('properties').disable();
16
18
  });
17
19
  }
18
20
  filter(collection) {
@@ -29,7 +31,10 @@ export class TransactionBaseFilterForm extends FormGroup {
29
31
  if (value.business) {
30
32
  collection = collection.filterBy('business.id', value.business.id);
31
33
  }
34
+ if (value.properties) {
35
+ collection = collection.filterBy('property.id', value.properties.map(property => property.id));
36
+ }
32
37
  return collection;
33
38
  }
34
39
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS1maWx0ZXIuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlLWZpbHRlci5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBWTdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUF5QztJQUN0RixZQUFZLFFBQXVCLEVBQUUsUUFBdUI7UUFDMUQsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUM5RCxRQUFRLEVBQUUsSUFBSSxXQUFXLEVBQUU7WUFDM0IsTUFBTSxFQUFFLElBQUksV0FBVyxFQUFFO1NBQzFCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRCxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQXFGLFVBQTJCO1FBQ3BILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFekIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbkY7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRjtRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xzSW50ZXJmYWNlIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuXG5pbnRlcmZhY2UgSVRyYW5zYWN0aW9uQmFzZUZpbHRlckNvbnRyb2xzIGV4dGVuZHMgQ29udHJvbHNJbnRlcmZhY2Uge1xuICB0YW5rVHlwZTogRm9ybUNvbnRyb2w8VGFua1R5cGVFbnVtPjtcbiAgYnVzaW5lc3M6IEZvcm1Db250cm9sPFNvbGVCdXNpbmVzcz47XG4gIGRhdGVGcm9tOiBGb3JtQ29udHJvbDxEYXRlPjtcbiAgZGF0ZVRvOiBGb3JtQ29udHJvbDxEYXRlPjtcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUZpbHRlckZvcm0gZXh0ZW5kcyBGb3JtR3JvdXA8SVRyYW5zYWN0aW9uQmFzZUZpbHRlckNvbnRyb2xzPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IodGFua1R5cGU/OiBUYW5rVHlwZUVudW0sIGJ1c2luZXNzPzogU29sZUJ1c2luZXNzKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdGFua1R5cGU6IG5ldyBGb3JtQ29udHJvbCh0YW5rVHlwZSksXG4gICAgICBidXNpbmVzczogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IGJ1c2luZXNzLCBkaXNhYmxlZDogdHJ1ZSB9KSxcbiAgICAgIGRhdGVGcm9tOiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgIGRhdGVUbzogbmV3IEZvcm1Db250cm9sKCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGFua1R5cGUgPT4ge1xuICAgICAgdGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5TT0xFID8gdGhpcy5nZXQoJ2J1c2luZXNzJykuZW5hYmxlKCkgOiB0aGlzLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKCk7XG4gICAgfSk7XG4gIH1cblxuICBmaWx0ZXI8TW9kZWxDbGFzcyBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSwgQ29sbGVjdGlvbkNsYXNzIGV4dGVuZHMgQ29sbGVjdGlvbjxNb2RlbENsYXNzPj4oY29sbGVjdGlvbjogQ29sbGVjdGlvbkNsYXNzKTogQ29sbGVjdGlvbkNsYXNzIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICBpZiAodmFsdWUuZGF0ZUZyb20pIHtcbiAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5kYXRlID49IHZhbHVlLmRhdGVGcm9tKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmRhdGVUbykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmRhdGUgPD0gdmFsdWUuZGF0ZVRvKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnRhbmtUeXBlKSB7XG4gICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5maWx0ZXJCeSgndGFua1R5cGUnLCB2YWx1ZS50YW5rVHlwZSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5idXNpbmVzcykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmFsdWUuYnVzaW5lc3MuaWQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICB9XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS1maWx0ZXIuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlLWZpbHRlci5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBYTdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUF5QztJQUN0RixZQUFZLFFBQXVCLEVBQUUsUUFBdUIsRUFBRSxVQUF1QjtRQUNuRixLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQ25DLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzlELFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xFLFFBQVEsRUFBRSxJQUFJLFdBQVcsRUFBRTtZQUMzQixNQUFNLEVBQUUsSUFBSSxXQUFXLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JELFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hHLFFBQVEsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBcUYsVUFBMkI7UUFDcEgsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pGO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEc7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbHNJbnRlcmZhY2UgfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSwgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuXG5pbnRlcmZhY2UgSVRyYW5zYWN0aW9uQmFzZUZpbHRlckNvbnRyb2xzIGV4dGVuZHMgQ29udHJvbHNJbnRlcmZhY2Uge1xuICB0YW5rVHlwZTogRm9ybUNvbnRyb2w8VGFua1R5cGVFbnVtPjtcbiAgYnVzaW5lc3M6IEZvcm1Db250cm9sPFNvbGVCdXNpbmVzcz47XG4gIHByb3BlcnRpZXM6IEZvcm1Db250cm9sPFByb3BlcnR5W10+XG4gIGRhdGVGcm9tOiBGb3JtQ29udHJvbDxEYXRlPjtcbiAgZGF0ZVRvOiBGb3JtQ29udHJvbDxEYXRlPjtcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUZpbHRlckZvcm0gZXh0ZW5kcyBGb3JtR3JvdXA8SVRyYW5zYWN0aW9uQmFzZUZpbHRlckNvbnRyb2xzPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IodGFua1R5cGU/OiBUYW5rVHlwZUVudW0sIGJ1c2luZXNzPzogU29sZUJ1c2luZXNzLCBwcm9wZXJ0aWVzPzogUHJvcGVydHlbXSkge1xuICAgIHN1cGVyKHtcbiAgICAgIHRhbmtUeXBlOiBuZXcgRm9ybUNvbnRyb2wodGFua1R5cGUpLFxuICAgICAgYnVzaW5lc3M6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBidXNpbmVzcywgZGlzYWJsZWQ6IHRydWUgfSksXG4gICAgICBwcm9wZXJ0aWVzOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogcHJvcGVydGllcywgZGlzYWJsZWQ6IHRydWUgfSksXG4gICAgICBkYXRlRnJvbTogbmV3IEZvcm1Db250cm9sKCksXG4gICAgICBkYXRlVG86IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRhbmtUeXBlID0+IHtcbiAgICAgIHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRSA/IHRoaXMuZ2V0KCdidXNpbmVzcycpLmVuYWJsZSgpIDogdGhpcy5nZXQoJ2J1c2luZXNzJykuZGlzYWJsZSgpO1xuICAgICAgdGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5QUk9QRVJUWSA/IHRoaXMuZ2V0KCdwcm9wZXJ0aWVzJykuZW5hYmxlKCkgOiB0aGlzLmdldCgncHJvcGVydGllcycpLmRpc2FibGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlcjxNb2RlbENsYXNzIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlLCBDb2xsZWN0aW9uQ2xhc3MgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsQ2xhc3M+Pihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ2xhc3MpOiBDb2xsZWN0aW9uQ2xhc3Mge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgIGlmICh2YWx1ZS5kYXRlRnJvbSkge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmRhdGUgPj0gdmFsdWUuZGF0ZUZyb20pO1xuICAgIH1cbiAgICBpZiAodmFsdWUuZGF0ZVRvKSB7XG4gICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5maWx0ZXIodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24uZGF0ZSA8PSB2YWx1ZS5kYXRlVG8pO1xuICAgIH1cbiAgICBpZiAodmFsdWUudGFua1R5cGUpIHtcbiAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmZpbHRlckJ5KCd0YW5rVHlwZScsIHZhbHVlLnRhbmtUeXBlKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmJ1c2luZXNzKSB7XG4gICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCB2YWx1ZS5idXNpbmVzcy5pZCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5wcm9wZXJ0aWVzKSB7XG4gICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5maWx0ZXJCeSgncHJvcGVydHkuaWQnLCB2YWx1ZS5wcm9wZXJ0aWVzLm1hcChwcm9wZXJ0eSA9PiBwcm9wZXJ0eS5pZCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICB9XG59XG4iXX0=
@@ -134,7 +134,7 @@ export class BankAccount extends BankAccountBase {
134
134
  * first import (transactions) of basiq accounts
135
135
  */
136
136
  isFirstImport() {
137
- return !this.lastTransactionDate && !this.isManual;
137
+ return !this.lastTransactionDate && !this.isManual();
138
138
  }
139
139
  /**
140
140
  * Check if passed user id is owner of bank account
@@ -149,11 +149,14 @@ export class BankAccount extends BankAccountBase {
149
149
  const shouldPayoutLoanAccount = this.isActive() && this.isLoan() && taxTankBalance === 0;
150
150
  // we don't check current balance for basiq accounts, because basiq doesn't provide us last transactions (can't do for closed accounts),
151
151
  // that's why balance won't be 0 (updated by basiq)
152
- if (shouldPayoutLoanAccount && this.isManual) {
152
+ if (shouldPayoutLoanAccount && this.isManual()) {
153
153
  return this.currentBalance === 0;
154
154
  }
155
155
  return shouldPayoutLoanAccount;
156
156
  }
157
+ isManual() {
158
+ return !this.accountId;
159
+ }
157
160
  }
158
161
  __decorate([
159
162
  Type(() => BankAccountProperty)
@@ -173,4 +176,4 @@ __decorate([
173
176
  __decorate([
174
177
  Transform(({ value }) => value === 4 ? BankAccountTypeEnum.LOAN : value)
175
178
  ], BankAccount.prototype, "type", void 0);
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2pELE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQXNCOUMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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SUFBSSx1QkFBdUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxDQUFDLENBQUM7U0FDbEM7UUFFRCxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQTdMQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzswREFDYTtBQUc3QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzt3REFDVTtBQUc3QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzs2Q0FDQTtBQUkvQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7bURBQ0k7QUFJL0I7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzt5Q0FDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgQmFua0FjY291bnRTdGF0dXNFbnVtLCBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFua0FjY291bnRCYWxhbmNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5IH0gZnJvbSAnLi9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb24gfSBmcm9tICcuL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi4vc29sZSc7XG5pbXBvcnQgeyBCYW5rIH0gZnJvbSAnLi9iYW5rJztcblxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50IGV4dGVuZHMgQmFua0FjY291bnRCYXNlIHtcbiAgLy8gbGlzdCBvZiBwcm9wZXJ0aWVzIHJlbGF0ZWQgd2l0aCB0aGlzIGJhbmsgYWNjb3VudFxuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudFByb3BlcnR5KVxuICBiYW5rQWNjb3VudFByb3BlcnRpZXM6IEJhbmtBY2NvdW50UHJvcGVydHlbXTtcblxuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uKVxuICBidXNpbmVzc0FsbG9jYXRpb25zOiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW11cblxuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudEJhbGFuY2UpXG4gIGJhbGFuY2VzOiBCYW5rQWNjb3VudEJhbGFuY2VbXTtcblxuICAvLyBiYW5rIGFjY291bnQncyBsb2FuXG4gIEBUeXBlKCgpID0+IExvYW4pXG4gIGxvYW46IExvYW47XG5cbiAgQFR5cGUoKCkgPT4gQmFua0Nvbm5lY3Rpb24pXG4gIGJhbmtDb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbjtcblxuICAvLyBAVE9ETyBBbGV4OiB0ZW1wIGhhY2s6IHJlbW92ZSB3aGVuIFRULTIxMDcgcmVhZHkuIEJhY2tlbmQgc2hvdWQgcmV0dXJuIE1vcnRnYWdlIHR5cGUgYXMgTG9hbiB0eXBlXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gdmFsdWUgPT09IDQgPyBCYW5rQWNjb3VudFR5cGVFbnVtLkxPQU4gOiB2YWx1ZSlcbiAgdHlwZTogQmFua0FjY291bnRUeXBlRW51bTtcblxuICBnZXQgYmFuaygpOiBCYW5rIHtcbiAgICByZXR1cm4gdGhpcy5iYW5rQ29ubmVjdGlvbi5iYW5rO1xuICB9XG5cbiAgZ2V0IGJzYigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjY291bnROdW1iZXIuc2xpY2UoMCwgNik7XG4gIH1cblxuICBnZXQgbnVtYmVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudE51bWJlci50cmltKCkuc2xpY2UoNik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxhc3QgZGlnaXRzIG9mIGFjY291bnQgbnVtYmVyXG4gICAqL1xuICBnZXQgcGFydGlhbEFjY291bnROdW1iZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHh4eHgke3RoaXMuYWNjb3VudE51bWJlci5zbGljZSgtNCl9YDtcbiAgfVxuXG4gIGdldCBiYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIEZpbmFuY2lhbFllYXIuaXNDdXJyZW50KCkgPyB0aGlzLmN1cnJlbnRCYWxhbmNlIDogdGhpcy5nZXRPcGVuaW5nQmFsYW5jZShGaW5hbmNpYWxZZWFyLnllYXIgKyAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCBvcGVuaW5nIGJhbGFuY2UgYW1vdW50XG4gICAqL1xuICBnZXRPcGVuaW5nQmFsYW5jZSh5ZWFyOiBudW1iZXIgPSBGaW5hbmNpYWxZZWFyLnllYXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJhbGFuY2VCeVllYXIoeWVhcik/Lm9wZW5pbmdCYWxhbmNlIHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhbmsgYWNjb3VudCBiYWxhbmNlIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gICAqL1xuICBnZXRCYWxhbmNlQnlZZWFyKHllYXI6IG51bWJlcik6IEJhbmtBY2NvdW50QmFsYW5jZSB7XG4gICAgcmV0dXJuIHRoaXMuYmFsYW5jZXMuZmluZCgoYmFsYW5jZTogQmFua0FjY291bnRCYWxhbmNlKTogYm9vbGVhbiA9PiBiYWxhbmNlLmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGJhbmsgYWNjb3VudCB0eXBlIGlzIG9uZSBvZiBzYXZpbmdzIGFjY291bnRzXG4gICAqL1xuICBpc1NhdmluZ3NBY2NvdW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtBY2NvdW50VHlwZUVudW0uSU5WRVNUTUVOVCB8fFxuICAgICAgdGhpcy50eXBlID09PSBCYW5rQWNjb3VudFR5cGVFbnVtLlRFUk1fREVQT1NJVCB8fFxuICAgICAgdGhpcy50eXBlID09PSBCYW5rQWNjb3VudFR5cGVFbnVtLlNBVklOR1M7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayBhY2NvdW50IHR5cGUgaXMgTG9hblxuICAgKi9cbiAgaXNMb2FuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtBY2NvdW50VHlwZUVudW0uTE9BTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBiYW5rIGFjY291bnQgdHlwZSBpcyBDcmVkaXQgY2FyZFxuICAgKi9cbiAgaXNDcmVkaXRDYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtBY2NvdW50VHlwZUVudW0uQ1JFRElUX0NBUkQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayBhY2NvdW50IHJlbGF0ZWQgdG8gd29yayB0YW5rXG4gICAqL1xuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc1Byb3BlcnR5VGFuaygpICYmICF0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBiYW5rIGFjY291bnQgcmVsYXRlZCB0byB3b3JrIHRhbmtcbiAgICovXG4gIGlzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuYmFua0FjY291bnRQcm9wZXJ0aWVzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBiYW5rIGFjY291bnQgcmVsYXRlZCB0byBzb2xlIHRhbmtcbiAgICovXG4gIGlzU29sZVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5idXNpbmVzc0FsbG9jYXRpb25zLmxlbmd0aDtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZSgpOiBUYW5rVHlwZUVudW0ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gICAgICBjYXNlIHRoaXMuaXNTb2xlVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlNPTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLldPUks7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBCYW5rIGFjY291bnQgcHJvcGVydHkgYnkgaWRcbiAgICogQHBhcmFtIGlkIElkIG9mIHByb3BlcnR5XG4gICAqL1xuICBnZXRQcm9wZXJ0eUJ5SWQoaWQ6IG51bWJlcik6IEJhbmtBY2NvdW50UHJvcGVydHkge1xuICAgIHJldHVybiB0aGlzLmJhbmtBY2NvdW50UHJvcGVydGllcy5maW5kKChiYW5rQWNjb3VudFByb3BlcnR5OiBCYW5rQWNjb3VudFByb3BlcnR5KTogYm9vbGVhbiA9PiBiYW5rQWNjb3VudFByb3BlcnR5LnByb3BlcnR5LmlkID09PSBpZCk7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayBhY2NvdW50IGlzIHJlbGF0ZWQgd2l0aCBwYXNzZWQgcHJvcGVydHkgYnkgaWRcbiAgICogQHBhcmFtIHByb3BlcnR5SWQgUHJvcGVydHkgaWQgZm9yIGNoZWNraW5nXG4gICAqL1xuICBoYXNQcm9wZXJ0eShwcm9wZXJ0eUlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFByb3BlcnR5QnlJZChwcm9wZXJ0eUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGVjaW1hbCBwZXJjZW50YWdlIGZvciBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gcHJvcGVydHlJZCBJZCBvZiBwcm9wZXJ0eVxuICAgKi9cbiAgZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5SWQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmhhc1Byb3BlcnR5KHByb3BlcnR5SWQpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eUJ5SWQocHJvcGVydHlJZCkucGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmFsYW5jZSBhbW91bnQgZm9yIHByb3BlcnR5IGJ5IGlkXG4gICAqIEBwYXJhbSBwcm9wZXJ0eUlkIElkIG9mIHByb3BlcnR5XG4gICAqL1xuICBnZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHlJZDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50QmFsYW5jZSAqIHRoaXMuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5SWQpO1xuICB9XG5cbiAgZ2V0TW9udGhseVJlcGF5bWVudEFtb3VudChwcm9wZXJ0eUlkOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxvYW4gPyB0aGlzLmxvYW4ubW9udGhseVJlcGF5bWVudEFtb3VudCAqIHRoaXMuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5SWQpOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJhbmsgYWNjb3VudCBpcyBhY3RpdmUgZm9yIGN1cnJlbnQgZmluYW5jaWFsIHllYXIgKGhhcyAnYWN0aXZlJyBzdGF0dXMgb3IgaGFzbid0IGJlZW4gcGFpZCBvdXQvcmVmaW5hbmNlZClcbiAgICovXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbW1lbmNlbWVudERhdGUgPSB0aGlzLmxvYW4/LmNvbW1lbmNlbWVudERhdGU7XG4gICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBGaW5hbmNpYWxZZWFyKCkuZW5kRGF0ZTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gQmFua0FjY291bnRTdGF0dXNFbnVtLkFDVElWRSAmJiAoIWNvbW1lbmNlbWVudERhdGUgfHwgY29tbWVuY2VtZW50RGF0ZSA8PSBlbmREYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmaXJzdCBpbXBvcnQgKHRyYW5zYWN0aW9ucykgb2YgYmFzaXEgYWNjb3VudHNcbiAgICovXG4gIGlzRmlyc3RJbXBvcnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmxhc3RUcmFuc2FjdGlvbkRhdGUgJiYgIXRoaXMuaXNNYW51YWw7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgcGFzc2VkIHVzZXIgaWQgaXMgb3duZXIgb2YgYmFuayBhY2NvdW50XG4gICAqL1xuICBpc093bmVyKHVzZXJJZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYmFua0Nvbm5lY3Rpb24udXNlci5pZCA9PT0gdXNlcklkO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYW4gaXMgcGFpZCBpZiBpdCBoYXMgbm8gdW5hbGxvY2F0ZWQgdHJhbnNhY3Rpb25zIGFuZCB0aGUgYmFuayBiYWxhbmNlIGlzICQwLlxuICAgKi9cbiAgaXNMb2FuUGFpZCh0YXhUYW5rQmFsYW5jZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2hvdWxkUGF5b3V0TG9hbkFjY291bnQ6IGJvb2xlYW4gPSB0aGlzLmlzQWN0aXZlKCkgJiYgdGhpcy5pc0xvYW4oKSAmJiB0YXhUYW5rQmFsYW5jZSA9PT0gMDtcblxuICAgIC8vIHdlIGRvbid0IGNoZWNrIGN1cnJlbnQgYmFsYW5jZSBmb3IgYmFzaXEgYWNjb3VudHMsIGJlY2F1c2UgYmFzaXEgZG9lc24ndCBwcm92aWRlIHVzIGxhc3QgdHJhbnNhY3Rpb25zIChjYW4ndCBkbyBmb3IgY2xvc2VkIGFjY291bnRzKSxcbiAgICAvLyB0aGF0J3Mgd2h5IGJhbGFuY2Ugd29uJ3QgYmUgMCAodXBkYXRlZCBieSBiYXNpcSlcbiAgICBpZiAoc2hvdWxkUGF5b3V0TG9hbkFjY291bnQgJiYgdGhpcy5pc01hbnVhbCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEJhbGFuY2UgPT09IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFBheW91dExvYW5BY2NvdW50O1xuICB9XG59XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2pELE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQXNCOUMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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QUNuRCxJQUFJLHVCQUF1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQWpNQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzswREFDYTtBQUc3QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzt3REFDVTtBQUc3QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzs2Q0FDQTtBQUkvQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7bURBQ0k7QUFJL0I7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzt5Q0FDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgQmFua0FjY291bnRTdGF0dXNFbnVtLCBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFua0FjY291bnRCYWxhbmNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5IH0gZnJvbSAnLi9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb24gfSBmcm9tICcuL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi4vc29sZSc7XG5pbXBvcnQgeyBCYW5rIH0gZnJvbSAnLi9iYW5rJztcblxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50IGV4dGVuZHMgQmFua0FjY291bnRCYXNlIHtcbiAgLy8gbGlzdCBvZiBwcm9wZXJ0aWVzIHJlbGF0ZWQgd2l0aCB0aGlzIGJhbmsgYWNjb3VudFxuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudFByb3BlcnR5KVxuICBiYW5rQWNjb3VudFByb3BlcnRpZXM6IEJhbmtBY2NvdW50UHJvcGVydHlbXTtcblxuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uKVxuICBidXNpbmVzc0FsbG9jYXRpb25zOiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW11cblxuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudEJhbGFuY2UpXG4gIGJhbGFuY2VzOiBCYW5rQWNjb3VudEJhbGFuY2VbXTtcblxuICAvLyBiYW5rIGFjY291bnQncyBsb2FuXG4gIEBUeXBlKCgpID0+IExvYW4pXG4gIGxvYW46IExvYW47XG5cbiAgQFR5cGUoKCkgPT4gQmFua0Nvbm5lY3Rpb24pXG4gIGJhbmtDb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbjtcblxuICAvLyBAVE9ETyBBbGV4OiB0ZW1wIGhhY2s6IHJlbW92ZSB3aGVuIFRULTIxMDcgcmVhZHkuIEJhY2tlbmQgc2hvdWQgcmV0dXJuIE1vcnRnYWdlIHR5cGUgYXMgTG9hbiB0eXBlXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gdmFsdWUgPT09IDQgPyBCYW5rQWNjb3VudFR5cGVFbnVtLkxPQU4gOiB2YWx1ZSlcbiAgdHlwZTogQmFua0FjY291bnRUeXBlRW51bTtcblxuICBnZXQgYmFuaygpOiBCYW5rIHtcbiAgICByZXR1cm4gdGhpcy5iYW5rQ29ubmVjdGlvbi5iYW5rO1xuICB9XG5cbiAgZ2V0IGJzYigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjY291bnROdW1iZXIuc2xpY2UoMCwgNik7XG4gIH1cblxuICBnZXQgbnVtYmVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudE51bWJlci50cmltKCkuc2xpY2UoNik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxhc3QgZGlnaXRzIG9mIGFjY291bnQgbnVtYmVyXG4gICAqL1xuICBnZXQgcGFydGlhbEFjY291bnROdW1iZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHh4eHgke3RoaXMuYWNjb3VudE51bWJlci5zbGljZSgtNCl9YDtcbiAgfVxuXG4gIGdldCBiYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIEZpbmFuY2lhbFllYXIuaXNDdXJyZW50KCkgPyB0aGlzLmN1cnJlbnRCYWxhbmNlIDogdGhpcy5nZXRPcGVuaW5nQmFsYW5jZShGaW5hbmNpYWxZZWFyLnllYXIgKyAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCBvcGVuaW5nIGJhbGFuY2UgYW1vdW50XG4gICAqL1xuICBnZXRPcGVuaW5nQmFsYW5jZSh5ZWFyOiBudW1iZXIgPSBGaW5hbmNpYWxZZWFyLnllYXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJhbGFuY2VCeVllYXIoeWVhcik/Lm9wZW5pbmdCYWxhbmNlIHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhbmsgYWNjb3VudCBiYWxhbmNlIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gICAqL1xuICBnZXRCYWxhbmNlQnlZZWFyKHllYXI6IG51bWJlcik6IEJhbmtBY2NvdW50QmFsYW5jZSB7XG4gICAgcmV0dXJuIHRoaXMuYmFsYW5jZXMuZmluZCgoYmFsYW5jZTogQmFua0FjY291bnRCYWxhbmNlKTogYm9vbGVhbiA9PiBiYWxhbmNlLmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGJhbmsgYWNjb3VudCB0eXBlIGlzIG9uZSBvZiBzYXZpbmdzIGFjY291bnRzXG4gICAqL1xuICBpc1NhdmluZ3NBY2NvdW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtBY2NvdW50VHlwZUVudW0uSU5WRVNUTUVOVCB8fFxuICAgICAgdGhpcy50eXBlID09PSBCYW5rQWNjb3VudFR5cGVFbnVtLlRFUk1fREVQT1NJVCB8fFxuICAgICAgdGhpcy50eXBlID09PSBCYW5rQWNjb3VudFR5cGVFbnVtLlNBVklOR1M7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayBhY2NvdW50IHR5cGUgaXMgTG9hblxuICAgKi9cbiAgaXNMb2FuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtBY2NvdW50VHlwZUVudW0uTE9BTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBiYW5rIGFjY291bnQgdHlwZSBpcyBDcmVkaXQgY2FyZFxuICAgKi9cbiAgaXNDcmVkaXRDYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtBY2NvdW50VHlwZUVudW0uQ1JFRElUX0NBUkQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayBhY2NvdW50IHJlbGF0ZWQgdG8gd29yayB0YW5rXG4gICAqL1xuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc1Byb3BlcnR5VGFuaygpICYmICF0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBiYW5rIGFjY291bnQgcmVsYXRlZCB0byB3b3JrIHRhbmtcbiAgICovXG4gIGlzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuYmFua0FjY291bnRQcm9wZXJ0aWVzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBiYW5rIGFjY291bnQgcmVsYXRlZCB0byBzb2xlIHRhbmtcbiAgICovXG4gIGlzU29sZVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5idXNpbmVzc0FsbG9jYXRpb25zLmxlbmd0aDtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZSgpOiBUYW5rVHlwZUVudW0ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gICAgICBjYXNlIHRoaXMuaXNTb2xlVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlNPTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLldPUks7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBCYW5rIGFjY291bnQgcHJvcGVydHkgYnkgaWRcbiAgICogQHBhcmFtIGlkIElkIG9mIHByb3BlcnR5XG4gICAqL1xuICBnZXRQcm9wZXJ0eUJ5SWQoaWQ6IG51bWJlcik6IEJhbmtBY2NvdW50UHJvcGVydHkge1xuICAgIHJldHVybiB0aGlzLmJhbmtBY2NvdW50UHJvcGVydGllcy5maW5kKChiYW5rQWNjb3VudFByb3BlcnR5OiBCYW5rQWNjb3VudFByb3BlcnR5KTogYm9vbGVhbiA9PiBiYW5rQWNjb3VudFByb3BlcnR5LnByb3BlcnR5LmlkID09PSBpZCk7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayBhY2NvdW50IGlzIHJlbGF0ZWQgd2l0aCBwYXNzZWQgcHJvcGVydHkgYnkgaWRcbiAgICogQHBhcmFtIHByb3BlcnR5SWQgUHJvcGVydHkgaWQgZm9yIGNoZWNraW5nXG4gICAqL1xuICBoYXNQcm9wZXJ0eShwcm9wZXJ0eUlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFByb3BlcnR5QnlJZChwcm9wZXJ0eUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGVjaW1hbCBwZXJjZW50YWdlIGZvciBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gcHJvcGVydHlJZCBJZCBvZiBwcm9wZXJ0eVxuICAgKi9cbiAgZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5SWQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmhhc1Byb3BlcnR5KHByb3BlcnR5SWQpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eUJ5SWQocHJvcGVydHlJZCkucGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmFsYW5jZSBhbW91bnQgZm9yIHByb3BlcnR5IGJ5IGlkXG4gICAqIEBwYXJhbSBwcm9wZXJ0eUlkIElkIG9mIHByb3BlcnR5XG4gICAqL1xuICBnZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHlJZDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50QmFsYW5jZSAqIHRoaXMuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5SWQpO1xuICB9XG5cbiAgZ2V0TW9udGhseVJlcGF5bWVudEFtb3VudChwcm9wZXJ0eUlkOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxvYW4gPyB0aGlzLmxvYW4ubW9udGhseVJlcGF5bWVudEFtb3VudCAqIHRoaXMuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5SWQpOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJhbmsgYWNjb3VudCBpcyBhY3RpdmUgZm9yIGN1cnJlbnQgZmluYW5jaWFsIHllYXIgKGhhcyAnYWN0aXZlJyBzdGF0dXMgb3IgaGFzbid0IGJlZW4gcGFpZCBvdXQvcmVmaW5hbmNlZClcbiAgICovXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbW1lbmNlbWVudERhdGUgPSB0aGlzLmxvYW4/LmNvbW1lbmNlbWVudERhdGU7XG4gICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBGaW5hbmNpYWxZZWFyKCkuZW5kRGF0ZTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gQmFua0FjY291bnRTdGF0dXNFbnVtLkFDVElWRSAmJiAoIWNvbW1lbmNlbWVudERhdGUgfHwgY29tbWVuY2VtZW50RGF0ZSA8PSBlbmREYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmaXJzdCBpbXBvcnQgKHRyYW5zYWN0aW9ucykgb2YgYmFzaXEgYWNjb3VudHNcbiAgICovXG4gIGlzRmlyc3RJbXBvcnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmxhc3RUcmFuc2FjdGlvbkRhdGUgJiYgIXRoaXMuaXNNYW51YWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBwYXNzZWQgdXNlciBpZCBpcyBvd25lciBvZiBiYW5rIGFjY291bnRcbiAgICovXG4gIGlzT3duZXIodXNlcklkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5iYW5rQ29ubmVjdGlvbi51c2VyLmlkID09PSB1c2VySWQ7XG4gIH1cblxuICAvKipcbiAgICogTG9hbiBpcyBwYWlkIGlmIGl0IGhhcyBubyB1bmFsbG9jYXRlZCB0cmFuc2FjdGlvbnMgYW5kIHRoZSBiYW5rIGJhbGFuY2UgaXMgJDAuXG4gICAqL1xuICBpc0xvYW5QYWlkKHRheFRhbmtCYWxhbmNlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaG91bGRQYXlvdXRMb2FuQWNjb3VudDogYm9vbGVhbiA9IHRoaXMuaXNBY3RpdmUoKSAmJiB0aGlzLmlzTG9hbigpICYmIHRheFRhbmtCYWxhbmNlID09PSAwO1xuXG4gICAgLy8gd2UgZG9uJ3QgY2hlY2sgY3VycmVudCBiYWxhbmNlIGZvciBiYXNpcSBhY2NvdW50cywgYmVjYXVzZSBiYXNpcSBkb2Vzbid0IHByb3ZpZGUgdXMgbGFzdCB0cmFuc2FjdGlvbnMgKGNhbid0IGRvIGZvciBjbG9zZWQgYWNjb3VudHMpLFxuICAgIC8vIHRoYXQncyB3aHkgYmFsYW5jZSB3b24ndCBiZSAwICh1cGRhdGVkIGJ5IGJhc2lxKVxuICAgIGlmIChzaG91bGRQYXlvdXRMb2FuQWNjb3VudCAmJiB0aGlzLmlzTWFudWFsKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRCYWxhbmNlID09PSAwO1xuICAgIH1cblxuICAgIHJldHVybiBzaG91bGRQYXlvdXRMb2FuQWNjb3VudDtcbiAgfVxuXG4gIGlzTWFudWFsKCkge1xuICAgIHJldHVybiAhdGhpcy5hY2NvdW50SWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,6 @@
1
1
  import { BankAccountTypeEnum } from '../../db/Enums';
2
- /**
3
- * @TODO credit card has nothing to do with loan
4
- */
5
2
  export const TYPE_LOAN = [
6
- BankAccountTypeEnum.CREDIT_CARD,
3
+ BankAccountTypeEnum.MORTGAGE,
7
4
  BankAccountTypeEnum.LOAN
8
5
  ];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1sb2FuLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9iYW5rL3R5cGUtbG9hbi5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBMEI7SUFDOUMsbUJBQW1CLENBQUMsV0FBVztJQUMvQixtQkFBbUIsQ0FBQyxJQUFJO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuXG4vKipcbiAqIEBUT0RPIGNyZWRpdCBjYXJkIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggbG9hblxuICovXG5leHBvcnQgY29uc3QgVFlQRV9MT0FOOiBCYW5rQWNjb3VudFR5cGVFbnVtW10gPSBbXG4gIEJhbmtBY2NvdW50VHlwZUVudW0uQ1JFRElUX0NBUkQsXG4gIEJhbmtBY2NvdW50VHlwZUVudW0uTE9BTlxuXTtcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1sb2FuLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9iYW5rL3R5cGUtbG9hbi5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQTBCO0lBQzlDLG1CQUFtQixDQUFDLFFBQVE7SUFDNUIsbUJBQW1CLENBQUMsSUFBSTtDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFua0FjY291bnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNvbnN0IFRZUEVfTE9BTjogQmFua0FjY291bnRUeXBlRW51bVtdID0gW1xuICBCYW5rQWNjb3VudFR5cGVFbnVtLk1PUlRHQUdFLFxuICBCYW5rQWNjb3VudFR5cGVFbnVtLkxPQU5cbl07XG4iXX0=
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Depreciation as DepreciationBase } from '../../db/Models/depreciation/depreciation';
3
3
  import { DepreciationTypeEnum } from '../../db/Enums/depreciation-type.enum';
4
4
  import { DepreciationCalculationEnum } from '../../db/Enums/depreciation-calculation.enum';
5
- import { ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum } from '../../db/Enums';
5
+ import { ChartAccountsHeadingVehicleListEnum } from '../../db/Enums';
6
6
  import { DepreciationCapitalProject } from './depreciation-capital-project';
7
7
  import { DepreciationForecast } from './depreciation-forecast';
8
8
  import { FinancialYear } from '../financial-year';
@@ -18,14 +18,10 @@ export class Depreciation extends DepreciationBase {
18
18
  super(...arguments);
19
19
  this.forecasts = [];
20
20
  this.type = DepreciationTypeEnum.PLANT_EQUIPMENT;
21
- /**
22
- * @TODO remove after ? signs removed from db models
23
- */
24
21
  this.amount = 0;
25
22
  }
26
- static { this.WRITTEN_OFF_THRESHOLD = 300; }
27
- static { this.LOW_VALUE_POOL_THRESHOLD = 1000; }
28
- // Type checking
23
+ static { this.writtenOffThreshold = 300; }
24
+ static { this.lowValuePoolThreshold = 1000; }
29
25
  isCapital() {
30
26
  return this.type === DepreciationTypeEnum.CAPITAL_WORKS;
31
27
  }
@@ -35,7 +31,6 @@ export class Depreciation extends DepreciationBase {
35
31
  isAsset() {
36
32
  return this.type === DepreciationTypeEnum.PLANT_EQUIPMENT;
37
33
  }
38
- // Calculation checking
39
34
  isSBPCalculation() {
40
35
  return this.calculation === DepreciationCalculationEnum.SBP;
41
36
  }
@@ -54,7 +49,7 @@ export class Depreciation extends DepreciationBase {
54
49
  && !this.isSBPCalculation()
55
50
  && this.isDiminishing()
56
51
  && !this.isWrittenOff()
57
- && this.currentYearForecast.closeBalance <= Depreciation.LOW_VALUE_POOL_THRESHOLD;
52
+ && this.currentYearForecast.closeBalance <= Depreciation.lowValuePoolThreshold;
58
53
  }
59
54
  isSBP() {
60
55
  return this.isAsset() && this.isSBPCalculation() && !this.isWrittenOff();
@@ -74,12 +69,6 @@ export class Depreciation extends DepreciationBase {
74
69
  isVehicleDepreciation() {
75
70
  return this.chartAccounts.heading?.id === ChartAccountsHeadingVehicleListEnum.DEPRECIATION_VEHICLES;
76
71
  }
77
- /**
78
- * Get depreciation purchase date
79
- */
80
- getDate() {
81
- return this.date;
82
- }
83
72
  /**
84
73
  * @TODO Vik: Research a problem with depreciations without current year forecast
85
74
  */
@@ -101,9 +90,6 @@ export class Depreciation extends DepreciationBase {
101
90
  getCloseBalanceByYear(year) {
102
91
  return this.getForecastByYear(year)?.closeBalance || 0;
103
92
  }
104
- isBuildingAtCost() {
105
- return this.chartAccounts.id === ChartAccountsListEnum.BUILDING_AT_COST;
106
- }
107
93
  /**
108
94
  * Create a new transaction from current depreciation
109
95
  */
@@ -124,7 +110,7 @@ export class Depreciation extends DepreciationBase {
124
110
  }
125
111
  get amountWithGst() {
126
112
  // gst applies only to new assets
127
- if (this.isNew()) {
113
+ if (this.isCurrentYearBuy()) {
128
114
  return super.amountWithGst;
129
115
  }
130
116
  return this.amount;
@@ -135,7 +121,7 @@ export class Depreciation extends DepreciationBase {
135
121
  /**
136
122
  * assets purchased in the current financial year
137
123
  */
138
- isNew() {
124
+ isCurrentYearBuy() {
139
125
  return new FinancialYear(this.date).year === new FinancialYear().year;
140
126
  }
141
127
  }
@@ -169,7 +155,7 @@ __decorate([
169
155
  forecast.closeBalance < 1000 &&
170
156
  obj.calculation === DepreciationCalculationEnum.DIMINISHING &&
171
157
  obj.type === DepreciationTypeEnum.PLANT_EQUIPMENT &&
172
- !(obj.amount > Depreciation.WRITTEN_OFF_THRESHOLD && obj.amount < Depreciation.LOW_VALUE_POOL_THRESHOLD) &&
158
+ !(obj.amount > Depreciation.writtenOffThreshold && obj.amount < Depreciation.lowValuePoolThreshold) &&
173
159
  !(obj.writeOffDate && new FinancialYear(new Date(obj.writeOffDate)).year === obj.financialYear);
174
160
  });
175
161
  return value;
@@ -187,4 +173,4 @@ __decorate([
187
173
  __decorate([
188
174
  Exclude()
189
175
  ], Depreciation.prototype, "gstClaimAmount", null);
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUFsRDs7UUFzQ0UsY0FBUyxHQUEyQixFQUFFLENBQUM7UUFRdkMsU0FBSSxHQUF5QixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFFbEU7O1dBRUc7UUFDSCxXQUFNLEdBQUcsQ0FBQyxDQUFDO0lBc0piLENBQUM7YUF4TVEsMEJBQXFCLEdBQUcsR0FBRyxBQUFO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QUMsV0FBVztvQkFDM0QsR0FBRyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxlQUFlO29CQUNqRCxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMscUJBQXFCLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEcsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQzsrQ0FDcUM7QUFHdkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO21EQUNHO0FBRzdCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztxREFDSztBQXlJakM7SUFEQyxPQUFPLEVBQUU7aURBUVQ7QUFHRDtJQURDLE9BQU8sRUFBRTtrREFHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlcHJlY2lhdGlvbiBhcyBEZXByZWNpYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtLCBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Gb3JlY2FzdCB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLWZvcmVjYXN0JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFuayc7XG5pbXBvcnQgeyBFeGNsdWRlLCBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRXhwZW5zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGNsYXJpZnkgZ3JvdXBpbmcgcnVsZXMgYW5kIHJlZmFjdG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb24gZXh0ZW5kcyBEZXByZWNpYXRpb25CYXNlIGltcGxlbWVudHMgRXhwZW5zZSB7XG4gIHN0YXRpYyBXUklUVEVOX09GRl9USFJFU0hPTEQgPSAzMDA7XG4gIHN0YXRpYyBMT1dfVkFMVUVfUE9PTF9USFJFU0hPTEQgPSAxMDAwO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHB1cmNoYXNlRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGxvd1ZhbHVlUG9vbERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgd3JpdGVPZmZNYW51YWxEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHdyaXRlT2ZmRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3Q6IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0O1xuXG4gIEBUeXBlKCgpID0+IERlcHJlY2lhdGlvbkZvcmVjYXN0KVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlLCBvYmogfSkgPT4ge1xuICAgIC8vIHZhbHVlID0gYXJyYXkgb2YgRGVwcmVjaWF0aW9uRm9yZWNhc3RcbiAgICAvLyBvYmogPSBwbGFpbiAod2hvbGUgRGVwcmVjaWF0aW9uIG9iamVjdClcbiAgICAvLyBTZXQgaXNMVlAgZmxhZyBmb3IgZWFjaCBEZXByZWNpYXRpb25Gb3JlY2FzdFxuICAgIC8vIEBUT0RPIHJlZmFjdG9yXG4gICAgdmFsdWUuZm9yRWFjaCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogdm9pZCA9PiB7XG4gICAgICBmb3JlY2FzdC5pc0xWUCA9XG4gICAgICAgIGZvcmVjYXN0LmNsb3NlQmFsYW5jZSA8IDEwMDAgJiZcbiAgICAgICAgb2JqLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uRElNSU5JU0hJTkcgJiZcbiAgICAgICAgb2JqLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVCAmJlxuICAgICAgICAhKG9iai5hbW91bnQgPiBEZXByZWNpYXRpb24uV1JJVFRFTl9PRkZfVEhSRVNIT0xEICYmIG9iai5hbW91bnQgPCBEZXByZWNpYXRpb24uTE9XX1ZBTFVFX1BPT0xfVEhSRVNIT0xEKSAmJlxuICAgICAgICAhKG9iai53cml0ZU9mZkRhdGUgJiYgbmV3IEZpbmFuY2lhbFllYXIobmV3IERhdGUob2JqLndyaXRlT2ZmRGF0ZSkpLnllYXIgPT09IG9iai5maW5hbmNpYWxZZWFyKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0pXG4gIGZvcmVjYXN0czogRGVwcmVjaWF0aW9uRm9yZWNhc3RbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gQmFua1RyYW5zYWN0aW9uKVxuICBiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbjtcblxuICB0eXBlOiBEZXByZWNpYXRpb25UeXBlRW51bSA9IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVDtcblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlIGFmdGVyID8gc2lnbnMgcmVtb3ZlZCBmcm9tIGRiIG1vZGVsc1xuICAgKi9cbiAgYW1vdW50ID0gMDtcblxuICAvLyBUeXBlIGNoZWNraW5nXG5cbiAgaXNDYXBpdGFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1M7XG4gIH1cblxuICBpc0JvcnJvd2luZ0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGVwcmVjaWF0aW9uVHlwZUVudW0uQk9SUk9XSU5HX0VYUEVOU0VTO1xuICB9XG5cbiAgaXNBc3NldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIH1cblxuICAvLyBDYWxjdWxhdGlvbiBjaGVja2luZ1xuXG4gIGlzU0JQQ2FsY3VsYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5TQlA7XG4gIH1cblxuICBpc1ByaW1lQ29zdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1Q7XG4gIH1cblxuICBpc0RpbWluaXNoaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uRElNSU5JU0hJTkc7XG4gIH1cblxuICAvLyBQb29sIGNoZWNraW5nXG5cbiAgaXNQbGFudEVxdWlwbWVudFBvb2woKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBc3NldCgpICYmICF0aGlzLmlzU0JQQ2FsY3VsYXRpb24oKSAmJiAhdGhpcy5pc1dyaXR0ZW5PZmYoKSAmJiAhdGhpcy5pc0xWUCgpO1xuICB9XG5cbiAgaXNMVlAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBc3NldCgpXG4gICAgICAmJiAhdGhpcy5pc1NCUENhbGN1bGF0aW9uKClcbiAgICAgICYmIHRoaXMuaXNEaW1pbmlzaGluZygpXG4gICAgICAmJiAhdGhpcy5pc1dyaXR0ZW5PZmYoKVxuICAgICAgJiYgdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmNsb3NlQmFsYW5jZSA8PSBEZXByZWNpYXRpb24uTE9XX1ZBTFVFX1BPT0xfVEhSRVNIT0xEO1xuICB9XG5cbiAgaXNTQlAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBc3NldCgpICYmIHRoaXMuaXNTQlBDYWxjdWxhdGlvbigpICYmICF0aGlzLmlzV3JpdHRlbk9mZigpO1xuICB9XG5cbiAgaXNXcml0dGVuT2ZmKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndyaXRlT2ZmWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuICB9XG5cbiAgZ2V0IHdyaXRlT2ZmWWVhcigpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy53cml0ZU9mZk1hbnVhbERhdGUgJiYgIXRoaXMud3JpdGVPZmZEYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEZpbmFuY2lhbFllYXIodGhpcy53cml0ZU9mZk1hbnVhbERhdGUgfHwgdGhpcy53cml0ZU9mZkRhdGUpPy55ZWFyO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGRlcHJlY2lhdGlvbiBjaGFydCBhY2NvdW50cyBoZWFkaW5nIHJlbGF0ZWQgdG8gdmVoaWNsZXMgY2F0ZWdvcnlcbiAgICovXG4gIGlzVmVoaWNsZURlcHJlY2lhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmhlYWRpbmc/LmlkID09PSBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bS5ERVBSRUNJQVRJT05fVkVISUNMRVM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlcHJlY2lhdGlvbiBwdXJjaGFzZSBkYXRlXG4gICAqL1xuICBnZXREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gVmlrOiBSZXNlYXJjaCBhIHByb2JsZW0gd2l0aCBkZXByZWNpYXRpb25zIHdpdGhvdXQgY3VycmVudCB5ZWFyIGZvcmVjYXN0XG4gICAqL1xuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBEZXByZWNpYXRpb25Gb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoXG4gICAgICAoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXJcbiAgICApIHx8IHBsYWluVG9DbGFzcyhEZXByZWNpYXRpb25Gb3JlY2FzdCwge1xuICAgICAgZmluYW5jaWFsWWVhcjogbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyLFxuICAgICAgb3BlbkJhbGFuY2U6IDAsXG4gICAgICBjbG9zZUJhbGFuY2U6IDAsXG4gICAgICBhbW91bnQ6IDAsXG4gICAgICBjbGFpbVBlcmNlbnQ6IDBcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZvcmVjYXN0QnlZZWFyKHllYXI6IG51bWJlcik6IERlcHJlY2lhdGlvbkZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldENsYWltQW1vdW50QnlZZWFyKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcik/LmNsYWltQW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKT8uY2xvc2VCYWxhbmNlIHx8IDA7XG4gIH1cblxuICBpc0J1aWxkaW5nQXRDb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5CVUlMRElOR19BVF9DT1NUO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyB0cmFuc2FjdGlvbiBmcm9tIGN1cnJlbnQgZGVwcmVjaWF0aW9uXG4gICAqL1xuICB0b1RyYW5zYWN0aW9uKHBhcmFtcyA9IHt9KTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGNsYWltUGVyY2VudCA9IHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1QZXJjZW50IHx8IDA7XG5cbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFxuICAgICAgVHJhbnNhY3Rpb24sXG4gICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgdGhpcywge1xuICAgICAgICBhbW91bnQ6IC10aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmFtb3VudCB8fCAwLFxuICAgICAgICBjbGFpbUFtb3VudDogLXRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1BbW91bnQgfHwgMCxcbiAgICAgICAgY2xhaW1QZXJjZW50OiBjbGFpbVBlcmNlbnQsXG4gICAgICAgIHNoYXJlZENsYWltUGVyY2VudDogY2xhaW1QZXJjZW50LFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIE1pY2hhZWw6IHJlbW92ZSBhbmQgY2hlY2sgZXZlcnl3aGVyZSBpbiByZXBvcnRzXG4gICAqL1xuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jbGFpbUFtb3VudCB8fCAwO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIC8vIGdzdCBhcHBsaWVzIG9ubHkgdG8gbmV3IGFzc2V0c1xuICAgIGlmICh0aGlzLmlzTmV3KCkpIHtcbiAgICAgIHJldHVybiBzdXBlci5hbW91bnRXaXRoR3N0O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFtb3VudDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGdzdENsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3N0QW1vdW50ICogdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jbGFpbVJhdGU7XG4gIH1cblxuICAvKipcbiAgICogYXNzZXRzIHB1cmNoYXNlZCBpbiB0aGUgY3VycmVudCBmaW5hbmNpYWwgeWVhclxuICAgKi9cbiAgaXNOZXcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5ldyBGaW5hbmNpYWxZZWFyKHRoaXMuZGF0ZSkueWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyXG4gIH1cbn1cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUFsRDs7UUFzQ0UsY0FBUyxHQUEyQixFQUFFLENBQUM7UUFRdkMsU0FBSSxHQUF5QixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFDbEUsV0FBTSxHQUFHLENBQUMsQ0FBQztJQXVJYixDQUFDO2FBckxRLHdCQUFtQixHQUFHLEdBQUcsQUFBTixDQUFPO2FBQzFCLDBCQUFxQixHQUFHLElBQUksQUFBUCxDQUFRO0lBK0NwQyxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztJQUMxRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxlQUFlLENBQUM7SUFDNUQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSywyQkFBMkIsQ0FBQyxHQUFHLENBQUM7SUFDOUQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssMkJBQTJCLENBQUMsVUFBVSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLDJCQUEyQixDQUFDLFdBQVcsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCO0lBRWhCLG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdGLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFO2VBQ2hCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2VBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUU7ZUFDcEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2VBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLHFCQUFxQixDQUFDO0lBQ25GLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxtQ0FBbUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUN0RyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixDQUFDLFFBQThCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQ2pHLElBQUksWUFBWSxDQUFDLG9CQUFvQixFQUFFO1lBQ3RDLGFBQWEsRUFBRSxJQUFJLGFBQWEsRUFBRSxDQUFDLElBQUk7WUFDdkMsV0FBVyxFQUFFLENBQUM7WUFDZCxZQUFZLEVBQUUsQ0FBQztZQUNmLE1BQU0sRUFBRSxDQUFDO1lBQ1QsWUFBWSxFQUFFLENBQUM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQThCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWTtRQUNoQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUN2QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUVqRSxPQUFPLFlBQVksQ0FDakIsV0FBVyxFQUNYLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtZQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxJQUFJLENBQUM7WUFDOUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsSUFBSSxDQUFDO1lBQ3hELFlBQVksRUFBRSxZQUFZO1lBQzFCLGtCQUFrQixFQUFFLFlBQVk7U0FDakMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFHRCxJQUFJLGFBQWE7UUFDZixpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUM7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUdELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUE7SUFDdkUsQ0FBQzs7QUFoTEQ7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2tEQUNFO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztzREFDTTtBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0RBQ1E7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2tEQUNFO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dFQUNnQjtBQWtCdkQ7SUFoQkMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBQ2hDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7UUFDNUIsd0NBQXdDO1FBQ3hDLDBDQUEwQztRQUMxQywrQ0FBK0M7UUFDL0MsaUJBQWlCO1FBQ2pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUE4QixFQUFRLEVBQUU7WUFDckQsUUFBUSxDQUFDLEtBQUs7Z0JBQ1osUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJO29CQUM1QixHQUFHLENBQUMsV0FBVyxLQUFLLDJCQUEyQixDQUFDLFdBQVc7b0JBQzNELEdBQUcsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsZUFBZTtvQkFDakQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDO29CQUNuRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7K0NBQ3FDO0FBR3ZDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQzttREFDRztBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7cURBQ0s7QUFzSGpDO0lBREMsT0FBTyxFQUFFO2lEQVFUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7a0RBR1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IERlcHJlY2lhdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0IH0gZnJvbSAnLi9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0JztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkZvcmVjYXN0IH0gZnJvbSAnLi9kZXByZWNpYXRpb24tZm9yZWNhc3QnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9iYW5rJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFRyYW5zZm9ybSwgVHlwZSwgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBFeHBlbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogQFRPRE8gQWxleDogY2xhcmlmeSBncm91cGluZyBydWxlcyBhbmQgcmVmYWN0b3JcbiAqL1xuZXhwb3J0IGNsYXNzIERlcHJlY2lhdGlvbiBleHRlbmRzIERlcHJlY2lhdGlvbkJhc2UgaW1wbGVtZW50cyBFeHBlbnNlIHtcbiAgc3RhdGljIHdyaXR0ZW5PZmZUaHJlc2hvbGQgPSAzMDA7XG4gIHN0YXRpYyBsb3dWYWx1ZVBvb2xUaHJlc2hvbGQgPSAxMDAwO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHB1cmNoYXNlRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGxvd1ZhbHVlUG9vbERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgd3JpdGVPZmZNYW51YWxEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHdyaXRlT2ZmRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3Q6IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0O1xuXG4gIEBUeXBlKCgpID0+IERlcHJlY2lhdGlvbkZvcmVjYXN0KVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlLCBvYmogfSkgPT4ge1xuICAgIC8vIHZhbHVlID0gYXJyYXkgb2YgRGVwcmVjaWF0aW9uRm9yZWNhc3RcbiAgICAvLyBvYmogPSBwbGFpbiAod2hvbGUgRGVwcmVjaWF0aW9uIG9iamVjdClcbiAgICAvLyBTZXQgaXNMVlAgZmxhZyBmb3IgZWFjaCBEZXByZWNpYXRpb25Gb3JlY2FzdFxuICAgIC8vIEBUT0RPIHJlZmFjdG9yXG4gICAgdmFsdWUuZm9yRWFjaCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogdm9pZCA9PiB7XG4gICAgICBmb3JlY2FzdC5pc0xWUCA9XG4gICAgICAgIGZvcmVjYXN0LmNsb3NlQmFsYW5jZSA8IDEwMDAgJiZcbiAgICAgICAgb2JqLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uRElNSU5JU0hJTkcgJiZcbiAgICAgICAgb2JqLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVCAmJlxuICAgICAgICAhKG9iai5hbW91bnQgPiBEZXByZWNpYXRpb24ud3JpdHRlbk9mZlRocmVzaG9sZCAmJiBvYmouYW1vdW50IDwgRGVwcmVjaWF0aW9uLmxvd1ZhbHVlUG9vbFRocmVzaG9sZCkgJiZcbiAgICAgICAgIShvYmoud3JpdGVPZmZEYXRlICYmIG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKG9iai53cml0ZU9mZkRhdGUpKS55ZWFyID09PSBvYmouZmluYW5jaWFsWWVhcik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9KVxuICBmb3JlY2FzdHM6IERlcHJlY2lhdGlvbkZvcmVjYXN0W10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IEJhbmtUcmFuc2FjdGlvbilcbiAgYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb247XG5cbiAgdHlwZTogRGVwcmVjaWF0aW9uVHlwZUVudW0gPSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIGFtb3VudCA9IDA7XG5cbiAgaXNDYXBpdGFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1M7XG4gIH1cblxuICBpc0JvcnJvd2luZ0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGVwcmVjaWF0aW9uVHlwZUVudW0uQk9SUk9XSU5HX0VYUEVOU0VTO1xuICB9XG5cbiAgaXNBc3NldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIH1cblxuICBpc1NCUENhbGN1bGF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uU0JQO1xuICB9XG5cbiAgaXNQcmltZUNvc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5QUklNRV9DT1NUO1xuICB9XG5cbiAgaXNEaW1pbmlzaGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLkRJTUlOSVNISU5HO1xuICB9XG5cbiAgLy8gUG9vbCBjaGVja2luZ1xuXG4gIGlzUGxhbnRFcXVpcG1lbnRQb29sKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQoKSAmJiAhdGhpcy5pc1NCUENhbGN1bGF0aW9uKCkgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKCkgJiYgIXRoaXMuaXNMVlAoKTtcbiAgfVxuXG4gIGlzTFZQKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQoKVxuICAgICAgJiYgIXRoaXMuaXNTQlBDYWxjdWxhdGlvbigpXG4gICAgICAmJiB0aGlzLmlzRGltaW5pc2hpbmcoKVxuICAgICAgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKClcbiAgICAgICYmIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5jbG9zZUJhbGFuY2UgPD0gRGVwcmVjaWF0aW9uLmxvd1ZhbHVlUG9vbFRocmVzaG9sZDtcbiAgfVxuXG4gIGlzU0JQKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQoKSAmJiB0aGlzLmlzU0JQQ2FsY3VsYXRpb24oKSAmJiAhdGhpcy5pc1dyaXR0ZW5PZmYoKTtcbiAgfVxuXG4gIGlzV3JpdHRlbk9mZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53cml0ZU9mZlllYXIgPT09IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcjtcbiAgfVxuXG4gIGdldCB3cml0ZU9mZlllYXIoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMud3JpdGVPZmZNYW51YWxEYXRlICYmICF0aGlzLndyaXRlT2ZmRGF0ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBGaW5hbmNpYWxZZWFyKHRoaXMud3JpdGVPZmZNYW51YWxEYXRlIHx8IHRoaXMud3JpdGVPZmZEYXRlKT8ueWVhcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBkZXByZWNpYXRpb24gY2hhcnQgYWNjb3VudHMgaGVhZGluZyByZWxhdGVkIHRvIHZlaGljbGVzIGNhdGVnb3J5XG4gICAqL1xuICBpc1ZlaGljbGVEZXByZWNpYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5oZWFkaW5nPy5pZCA9PT0gQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW0uREVQUkVDSUFUSU9OX1ZFSElDTEVTO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIFZpazogUmVzZWFyY2ggYSBwcm9ibGVtIHdpdGggZGVwcmVjaWF0aW9ucyB3aXRob3V0IGN1cnJlbnQgeWVhciBmb3JlY2FzdFxuICAgKi9cbiAgZ2V0IGN1cnJlbnRZZWFyRm9yZWNhc3QoKTogRGVwcmVjaWF0aW9uRm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKFxuICAgICAgKGZvcmVjYXN0OiBEZXByZWNpYXRpb25Gb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyXG4gICAgKSB8fCBwbGFpblRvQ2xhc3MoRGVwcmVjaWF0aW9uRm9yZWNhc3QsIHtcbiAgICAgIGZpbmFuY2lhbFllYXI6IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcixcbiAgICAgIG9wZW5CYWxhbmNlOiAwLFxuICAgICAgY2xvc2VCYWxhbmNlOiAwLFxuICAgICAgYW1vdW50OiAwLFxuICAgICAgY2xhaW1QZXJjZW50OiAwXG4gICAgfSk7XG4gIH1cblxuICBnZXRGb3JlY2FzdEJ5WWVhcih5ZWFyOiBudW1iZXIpOiBEZXByZWNpYXRpb25Gb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBEZXByZWNpYXRpb25Gb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcik7XG4gIH1cblxuICBnZXRDbGFpbUFtb3VudEJ5WWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEZvcmVjYXN0QnlZZWFyKHllYXIpPy5jbGFpbUFtb3VudCB8fCAwO1xuICB9XG5cbiAgZ2V0Q2xvc2VCYWxhbmNlQnlZZWFyKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcik/LmNsb3NlQmFsYW5jZSB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyB0cmFuc2FjdGlvbiBmcm9tIGN1cnJlbnQgZGVwcmVjaWF0aW9uXG4gICAqL1xuICB0b1RyYW5zYWN0aW9uKHBhcmFtcyA9IHt9KTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGNsYWltUGVyY2VudCA9IHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1QZXJjZW50IHx8IDA7XG5cbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFxuICAgICAgVHJhbnNhY3Rpb24sXG4gICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgdGhpcywge1xuICAgICAgICBhbW91bnQ6IC10aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmFtb3VudCB8fCAwLFxuICAgICAgICBjbGFpbUFtb3VudDogLXRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1BbW91bnQgfHwgMCxcbiAgICAgICAgY2xhaW1QZXJjZW50OiBjbGFpbVBlcmNlbnQsXG4gICAgICAgIHNoYXJlZENsYWltUGVyY2VudDogY2xhaW1QZXJjZW50LFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIE1pY2hhZWw6IHJlbW92ZSBhbmQgY2hlY2sgZXZlcnl3aGVyZSBpbiByZXBvcnRzXG4gICAqL1xuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jbGFpbUFtb3VudCB8fCAwO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIC8vIGdzdCBhcHBsaWVzIG9ubHkgdG8gbmV3IGFzc2V0c1xuICAgIGlmICh0aGlzLmlzQ3VycmVudFllYXJCdXkoKSkge1xuICAgICAgcmV0dXJuIHN1cGVyLmFtb3VudFdpdGhHc3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYW1vdW50O1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgZ3N0Q2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nc3RBbW91bnQgKiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNsYWltUmF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhc3NldHMgcHVyY2hhc2VkIGluIHRoZSBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gICAqL1xuICBpc0N1cnJlbnRZZWFyQnV5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuZXcgRmluYW5jaWFsWWVhcih0aGlzLmRhdGUpLnllYXIgPT09IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhclxuICB9XG59XG4iXX0=
@@ -61,9 +61,6 @@ export class Property extends PropertyBase {
61
61
  get forecastedCashPosition() {
62
62
  return this.currentYearForecast?.cashPosition || 0;
63
63
  }
64
- get marketValueGrowth() {
65
- return (this.marketValue - this.purchasePrice) / this.marketValue;
66
- }
67
64
  get myShare() {
68
65
  return this.shares.find((share) => share.user.id === +localStorage.getItem('userId'));
69
66
  }
@@ -250,4 +247,4 @@ __decorate([
250
247
  __decorate([
251
248
  Exclude()
252
249
  ], Property.prototype, "documentFile", void 0);
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBQ3hDOzs7T0FHRzthQUNJLG9CQUFlLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQXdEckQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQTBCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDO2VBQy9GLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFvQixFQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUNwQyxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLG9GQUFvRjtRQUNwRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQTBCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsSUFBa0I7UUFDbEMsTUFBTSxXQUFXLEdBQVcsSUFBSSwyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxSCxJQUFJLFdBQVcsRUFBRTtZQUNmLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDN0ksQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQWtCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUIsQ0FBQyxJQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLElBQWtCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1NBQzdCO1FBRUQsUUFBUSxJQUFJLEVBQUU7WUFDWiwwQ0FBMEM7WUFDMUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyx3QkFBd0IsQ0FBQyxjQUFjO2dCQUMvRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztZQUM5QixrRUFBa0U7WUFDbEUsS0FBSyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDO2dCQUMxQyxPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztZQUN4QztnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLElBQWtCO1FBQzVDLE1BQU0sVUFBVSxHQUFnRCxJQUFJLDJDQUEyQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTdJLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUU7WUFDN0IsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUI7Z0JBQ3JDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEQsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUM7WUFDbkUsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUI7Z0JBQ3JDLE9BQU8sVUFBVSxDQUFDLGVBQWUsRUFBRSxHQUFHLEdBQUcsQ0FBQztZQUM1QztnQkFDRSxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsSUFBa0I7UUFDckMsUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRTtZQUM3Qiw0REFBNEQ7WUFDNUQsS0FBSyxnQkFBZ0IsQ0FBQyxhQUFhO2dCQUNqQyxPQUFPLEdBQUcsQ0FBQztZQUNiLEtBQUssZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7WUFDeEMsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUI7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRCxpQkFBaUI7WUFDakIsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7WUFDMUIsS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7WUFDckMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7WUFDL0IsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO2dCQUN6QixPQUFPLENBQUMsQ0FBQztZQUNYLGVBQWU7WUFDZjtnQkFDRSxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNEJBQTRCLENBQUMsSUFBa0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsSUFBa0IsRUFBRSxhQUE4QixNQUFNO1FBQzNFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxZQUFtQyxFQUFFLGFBQXFDO1FBQ3ZGLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztBQWhRRDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ0c7QUFHdEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNFO0FBR3JCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDRTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0RBQ0k7QUFHckI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3lDQUNIO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzBDQUNGO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO21EQUNTO0FBRzlDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO21EQUNRO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzJDQUNDO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQzt3Q0FDRjtBQUd4QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0FDRTtBQUdoQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzsyQ0FDRDtBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0NBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzsrQ0FDSztBQUd0QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7c0NBQ047QUFHZDtJQURDLE9BQU8sRUFBRTs4Q0FDUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IGFzIFByb3BlcnR5QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgRXhjbHVkZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnkgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS12YWx1YXRpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdCB9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNhbGUgfSBmcm9tICcuL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgdW5pdE9mVGltZSB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogcHJvcGVydHlTYWxlIGRvY3MgLSBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQyMDk1MDgzNTMvUHJvcGVydHkrU29sZCtidXR0b25cbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgUHJvcGVydHlCYXNlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHB1cmNoYXNlUHJpY2U6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGdyb3d0aFBlcmNlbnQ6IG51bWJlclxuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvbnRyYWN0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBzZXR0bGVtZW50RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnkpXG4gIGNhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudClcbiAgY2F0ZWdvcnlNb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgZm9yZWNhc3RzOiBQcm9wZXJ0eUZvcmVjYXN0W107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTaGFyZSlcbiAgc2hhcmVzOiBQcm9wZXJ0eVNoYXJlW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb247XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIEBFeGNsdWRlKClcbiAgZG9jdW1lbnRGaWxlOiBGaWxlO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzcy5uYW1lO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoO1xuICB9XG5cbiAgaXNPd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKTtcbiAgfVxuXG4gIGlzU29sZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm15U2hhcmU/LnNhbGU7XG4gIH1cblxuICBnZXQgY2FwaXRhbENvc3RzVG90YWxBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGFtcER1dHkgKyB0aGlzLmxlZ2FsRmVlcyArIHRoaXMub3RoZXJDYXBpdGFsQ29zdHM7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5pc1NvbGQoKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9uPy5tYXJrZXRWYWx1ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyRm9yZWNhc3QoKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgY29uc3QgeWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcjtcblxuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcilcbiAgICAgID8/IHBsYWluVG9DbGFzcyhQcm9wZXJ0eUZvcmVjYXN0LCB7fSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgY2FsY3VsYXRlR3Jvc3NDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCgoc2FsZS5uZXRQcmljZSAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5nZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiB0aGlzLnNoYXJlUmF0aW8sIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmluY29tZSAvIDEyO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlFeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5leHBlbnNlIC8gMTI7XG4gIH1cbn1cbiJdfQ==
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHkgYXMgUHJvcGVydHlCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmUgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gfSBmcm9tICcuL3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBFeGNsdWRlLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQWRkcmVzcyB9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeSB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnknO1xuaW1wb3J0IHsgUHJvcGVydHlWYWx1YXRpb24gfSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eUZvcmVjYXN0IH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBUYXhFeGVtcHRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSB9IGZyb20gJy4vcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgeyB1bml0T2ZUaW1lIH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7XG4gIERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sIFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24sIFRyYW5zYWN0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgcm91bmQgZnJvbSAnbG9kYXNoL3JvdW5kJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBwcm9wZXJ0eVNhbGUgZG9jcyAtIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDIwOTUwODM1My9Qcm9wZXJ0eStTb2xkK2J1dHRvblxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBQcm9wZXJ0eUJhc2Uge1xuICAvKipcbiAgICogUHJvcGVydHkgYWNxdWlyZWQgYmVmb3JlIDIwIFNlcHRlbWJlciAxOTg1IHdpbGwgZ2VuZXJhbGx5IGJlIHRyZWF0ZWQgYXMgcHJlLUNhcGl0YWwgR2FpbnMgVGF4IChDR1QpIGFzc2V0cy5cbiAgICogQW55IGFzc2V0cyBhY3F1aXJlZCBiZWZvcmUgdGhpcyBkYXkgYXJlIENHVCBleGVtcHQgKGJlY2F1c2UgdGhlIHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqL1xuICBzdGF0aWMgcHJlQ0dUQXNzZXREYXRlOiBEYXRlID0gbmV3IERhdGUoMTk4NSwgOSwgMjApO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgcHVyY2hhc2VQcmljZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgZ3Jvd3RoUGVyY2VudDogbnVtYmVyXG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY29udHJhY3REYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KVxuICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBzdGFtcER1dHk/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBsZWdhbEZlZXM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBvdGhlckNhcGl0YWxDb3N0cz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUZvcmVjYXN0KVxuICBmb3JlY2FzdHM6IFByb3BlcnR5Rm9yZWNhc3RbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVNoYXJlKVxuICBzaGFyZXM6IFByb3BlcnR5U2hhcmVbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbjtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U3Vic2NyaXB0aW9uKVxuICBzdWJzY3JpcHRpb25zOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgQEV4Y2x1ZGUoKVxuICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubXlTaGFyZT8uc2FsZTtcbiAgfVxuXG4gIGdldCBjYXBpdGFsQ29zdHNUb3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN0YW1wRHV0eSArIHRoaXMubGVnYWxGZWVzICsgdGhpcy5vdGhlckNhcGl0YWxDb3N0cztcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzU29sZCgpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICBjb25zdCB5ZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuXG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKVxuICAgICAgPz8gcGxhaW5Ub0NsYXNzKFByb3BlcnR5Rm9yZWNhc3QsIHt9KTtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkUmVudGFsUmV0dXJuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8ucmVudGFsUmV0dXJuIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFRheFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8udGF4UG9zaXRpb24gfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkQ2FzaFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2FzaFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgY2FsY3VsYXRlR3Jvc3NDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCgoc2FsZS5uZXRQcmljZSAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5nZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiB0aGlzLnNoYXJlUmF0aW8sIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmluY29tZSAvIDEyO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlFeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5leHBlbnNlIC8gMTI7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3JlcG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICd0YXh0YW5rLWNvcmUvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBJUmVwb3J0IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcm91dGU6IHN0cmluZztcbiAgcm9sZXM6IFVzZXJSb2xlc0VudW1bXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3JlcG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJvdXRlckxpbms6IHN0cmluZztcbiAgcXVlcnlQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9O1xufVxuIl19