taxtank-core 0.33.110 → 0.33.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -80,8 +80,8 @@ export class TransactionCollection extends TransactionBaseCollection {
80
80
  getExpenseTransactions() {
81
81
  return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
82
82
  }
83
- get claimIncome() {
84
- return this.getIncomeTransactions().claimAmount;
83
+ get grossClaimIncome() {
84
+ return this.getIncomeTransactions().grossClaimAmount;
85
85
  }
86
86
  get claimExpense() {
87
87
  return this.getExpenseTransactions().claimAmount;
@@ -232,4 +232,4 @@ export class TransactionCollection extends TransactionBaseCollection {
232
232
  return this.filter(transaction => transaction.claimPercent > 0);
233
233
  }
234
234
  }
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsVUFBVSxFQUlYLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSx5QkFBeUIsRUFBNkIscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXNDO0lBQy9FOztPQUVHO0lBQ0gsWUFBWSxlQUE4QixFQUFFLEVBQUUsZ0JBQWdDLEVBQUU7UUFDOUUsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3hCLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUNoQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxD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QkFBc0IsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLFxuICBEaWN0aW9uYXJ5LFxuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25NZXRhRmllbGQsXG4gIFZlaGljbGVDbGFpbVxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEJ1c2luZXNzQ2hhcnRBY2NvdW50c0VudW0sIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IEV4cG9ydENlbGxUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC9jaGFydC1kYXRhJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiwgRmluYW5jaWFsWWVhciwgTU9OVEhTIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiB9IGZyb20gJy4uL3NvbGUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbjxUcmFuc2FjdGlvbj4ge1xuICAvKipcbiAgICogd2UgdXNlIGRlcHJlY2lhdGlvbnMgYXMgZXhwZW5zZSB0cmFuc2FjdGlvbnMgYSBsb3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IFtdLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSA9IFtdKSB7XG4gICAgaWYgKGRlcHJlY2lhdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnMuZmlsdGVyKFxuICAgICAgICB0cmFuc2FjdGlvbiA9PiAhQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5kZXByZWNpYXRpb24uaW5jbHVkZXModHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSlcbiAgICAgICk7XG4gICAgfVxuICAgIHN1cGVyKFsuLi50cmFuc2FjdGlvbnMsIC4uLmRlcHJlY2lhdGlvbnMubWFwKChkZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi50b1RyYW5zYWN0aW9uKCkpXSk7XG4gIH1cblxuICBnZXRTb2xlVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCkpO1xuICB9XG5cbiAgZ2V0RmluZEFuZE1hdGNoKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uY2FuRmluZEFuZE1hdGNoKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhdHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyID0+XG4gICAgICBzdW0gKyB0cmFuc2FjdGlvbi5nZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucy5maWx0ZXJCeSgndHJhbnNhY3Rpb24uaWQnLCB0cmFuc2FjdGlvbi5pZCkpLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmNsYWltQW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uZ3Jvc3NBbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQ2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0R3Jvc3NDbGFpbUFtb3VudFdpdGhvdXRHc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQ2xhaW1BbW91bnRXaXRob3V0R3N0LCAwKTtcbiAgfVxuXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoY2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGNhdGVnb3JpZXMuaW5jbHVkZXModHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIGJ5IG1vbnRoXG4gICAqIEBwYXJhbSBtb250aEluZGV4IGJ5IHdoaWNoIGRlc2lyZWQgbW9udGggc2hvdWxkIGJlIHRha2VuXG4gICAqL1xuICBnZXRCeU1vbnRoKG1vbnRoSW5kZXg6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT5cbiAgICAgIHRyYW5zYWN0aW9uLmRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGhJbmRleFxuICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBtZXRhIGZpZWxkc1xuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25zTWV0YUZpZWxkcygpOiBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uTWV0YUZpZWxkPiB7XG4gICAgY29uc3QgbWV0YUZpZWxkc0FycmF5OiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdID0gW107XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgbWV0YUZpZWxkc0FycmF5LnB1c2goLi4udHJhbnNhY3Rpb24ubWV0YUZpZWxkcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb248VHJhbnNhY3Rpb25NZXRhRmllbGQ+KG1ldGFGaWVsZHNBcnJheSk7XG4gIH1cblxuICBnZXRJbmNvbWVUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW5jb21lKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzRXhwZW5zZSgpICYmICF0cmFuc2FjdGlvbi5pc0ludGVyZXN0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbGFpbUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEluY29tZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0IGNsYWltRXhwZW5zZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIGdldEludGVyZXN0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0ludGVyZXN0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbGFpbUludGVyZXN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnMgYW5kIHByb3BlcnRpZXMgZmlsdGVyZWQgYnkgcHJvcGVydGllcyBpZHNcbiAgICogQHBhcmFtIGlkcyBJZHMgb2YgcHJvcGVydGllcyBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeVByb3BlcnRpZXNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uUFJPUEVSVFkpO1xuICB9XG5cbiAgZ2V0RGViaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzRGViaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q3JlZGl0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0NyZWRpdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb25zLmhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlJbnZvaWNlcyhpbnZvaWNlczogU29sZUludm9pY2VDb2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ2ludm9pY2VJdGVtLmlkJywgaW52b2ljZXMuZ2V0SW52b2ljZUl0ZW1zSWRzKCkpO1xuICB9XG5cbiAgZ2V0QW1vdW50UGVySW52b2ljZSgpOiBEaWN0aW9uYXJ5PG51bWJlcj4ge1xuICAgIC8vIEBUT0RPIGludm9pY2VJdGVtLmludm9pY2Ugd2lsbCBiZSByZW1vdmVkIG9uIGJhY2tlbmRcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNCeUludm9pY2UgPSB0aGlzLmdyb3VwQnkoJ2ludm9pY2VJdGVtLmludm9pY2UuaWQnKTtcbiAgICBjb25zdCBkaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5PG51bWJlcj4gPSBuZXcgRGljdGlvbmFyeShbXSk7XG5cbiAgICB0cmFuc2FjdGlvbnNCeUludm9pY2Uua2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGRpY3Rpb25hcnkuYWRkKGtleSwgdHJhbnNhY3Rpb25zQnlJbnZvaWNlLmdldChrZXkpLmdyb3NzQW1vdW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWN0aW9uYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byBWZWhpY2xlIGNhdGVnb3J5XG4gICAqL1xuICBnZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzVmVoaWNsZVRyYW5zYWN0aW9uKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHRyYW5zYWN0aW9uIGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgdGFuayB0eXBlXG4gICAqL1xuICBnZXRCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCB0YW5rVHlwZSk7XG4gIH1cblxuICBnZXRFeHBvcnRIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbJ0RhdGUnLCAnRGVzY3JpcHRpb24nLCAnRGViaXQnLCAnQ3JlZGl0J107XG4gIH1cblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6ICdUb3RhbCcsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogJycsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdGhpcy5zdW1CeSgnZGViaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRoaXMuc3VtQnkoJ2NyZWRpdCcpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSlcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gaXMgbm90IGEgcmVxdWlyZWQgZmllbGQgZm9yIHRyYW5zYWN0aW9ucy5cbiAgICAgKiBpZiB0aGVyZSBpcyBubyBkZXNjcmlwdGlvbiwgdGhlbiBhZGQgYW4gZW1wdHkgbGluZSBzbyB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgd2hlbiB0cmFuc2xhdGVkIGludG8gYSBzdHJpbmcuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kZXNjcmlwdGlvbiA/PyAnLScsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGViaXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5jcmVkaXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHZlaGljbGUgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IHZlaGljbGUgY2xhaW1cbiAgICovXG4gIGdldEJ5VmVoaWNsZUNsYWltKHZlaGljbGVDbGFpbT86IFZlaGljbGVDbGFpbSk6IHRoaXMge1xuICAgIGlmICghdmVoaWNsZUNsYWltKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGUoW10pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLmZpbHRlckJ5KCd0YW5rVHlwZScsIHZlaGljbGVDbGFpbS50YW5rVHlwZSlcbiAgICAgIC5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCB2ZWhpY2xlQ2xhaW0uYnVzaW5lc3M/LmlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIHRyYW5zYWN0aW9ucyBleGNlcHQgS01TIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0TG9nYm9va1RyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLnJlbW92ZUJ5KCdjaGFydEFjY291bnRzLmlkJywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5LTVNfVFJBVkVMTEVELCBCdXNpbmVzc0NoYXJ0QWNjb3VudHNFbnVtLktNU19UUkFWRUxMRURdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBjaGFydCBkYXRhIHdpdGggdHJhbnNhY3Rpb25zIGNhc2ggcG9zaXRpb24uXG4gICAqIENhc2ggcG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlcyAoaW5jbHVkZSBkZXByZWNpYXRpb25zKVxuICAgKiBDaGFydCBkYXRhIGZvciBlYWNoIG1vbnRoIGZyb20gZmluIHllYXIgc3RhcnQgdGlsbCBjdXJyZW50IG1vbnRoXG4gICAqL1xuICBnZXRDYXNoUG9zaXRpb25DaGFydERhdGEoKTogQ2hhcnREYXRhW10ge1xuICAgIGNvbnN0IGNoYXJ0RGF0YTogQ2hhcnREYXRhW10gPSBbXG4gICAgICBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7IG5hbWU6ICdJbmNvbWUnLCBkYXRhOiBbXSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhDaGFydERhdGEsIHsgbmFtZTogJ0V4cGVuc2UnLCBkYXRhOiBbXSB9KVxuICAgIF07XG5cbiAgICBuZXcgRmluYW5jaWFsWWVhcigpLmdldFBhc3RNb250aHMoKS5mb3JFYWNoKG1vbnRoID0+IHtcbiAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goe1xuICAgICAgICBsYWJlbDogTU9OVEhTW21vbnRoXSxcbiAgICAgICAgdmFsdWU6IHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnRcbiAgICAgIH0pO1xuICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogTWF0aC5hYnModGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnQpXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjaGFydERhdGE7XG4gIH1cblxuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5zdW1CeSgnYW1vdW50JylcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgYnVzaW5lc3MgdHJhbnNhY3Rpb25zIGNhbGN1bGF0ZWQgZGlmZmVyZW50bHksIHNlcGFyYXRlZCBjb2xsZWN0aW9uP1xuICAgKi9cbiAgZ2V0QnVzaW5lc3NDbGFpbUFtb3VudChidXNpbmVzc0lkOiBudW1iZXIgPSBudWxsKTogbnVtYmVyIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBidXNpbmVzc0lkID8gdGhpcy5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCBidXNpbmVzc0lkKSA6IHRoaXM7XG4gICAgY29uc3QgZXhwZW5zZXMgPSB0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGluY29tZXMgPSB0cmFuc2FjdGlvbnMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk7XG5cbiAgICByZXR1cm4gaW5jb21lcy5zdW1CeSgnY2xhaW1BbW91bnQnKSArIGV4cGVuc2VzLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICB9XG5cbiAgZ2V0VGF4YWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50ID4gMCk7XG4gIH1cbn1cbiJdfQ==
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsVUFBVSxFQUlYLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSx5QkFBeUIsRUFBNkIscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXNDO0lBQy9FOztPQUVHO0lBQ0gsWUFBWSxlQUE4QixFQUFFLEVBQUUsZ0JBQWdDLEVBQUU7UUFDOUUsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3hCLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUNoQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxD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QUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdkQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsXG4gIERpY3Rpb25hcnksXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgVmVoaWNsZUNsYWltXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQnVzaW5lc3NDaGFydEFjY291bnRzRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSwgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwnO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXJ0L2NoYXJ0LWRhdGEnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uLCBGaW5hbmNpYWxZZWFyLCBNT05USFMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU29sZUludm9pY2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vc29sZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2VDb2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1iYXNlLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiB3ZSB1c2UgZGVwcmVjaWF0aW9ucyBhcyBleHBlbnNlIHRyYW5zYWN0aW9ucyBhIGxvdFxuICAgKi9cbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW10sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdID0gW10pIHtcbiAgICBpZiAoZGVwcmVjaWF0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9ucy5maWx0ZXIoXG4gICAgICAgIHRyYW5zYWN0aW9uID0+ICFDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmRlcHJlY2lhdGlvbi5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KVxuICAgICAgKTtcbiAgICB9XG4gICAgc3VwZXIoWy4uLnRyYW5zYWN0aW9ucywgLi4uZGVwcmVjaWF0aW9ucy5tYXAoKGRlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLnRvVHJhbnNhY3Rpb24oKSldKTtcbiAgfVxuXG4gIGdldFNvbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXRGaW5kQW5kTWF0Y2goYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5jYW5GaW5kQW5kTWF0Y2goYWxsb2NhdGlvbnMpKTtcbiAgfVxuXG4gIGdldFVuYWxsb2NhdGVkKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICF0cmFuc2FjdGlvbi5pc0FsbG9jYXRlZChhbGxvY2F0aW9ucykpXG4gICAgKTtcbiAgfVxuXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIgPT5cbiAgICAgIHN1bSArIHRyYW5zYWN0aW9uLmdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRyYW5zYWN0aW9uLmlkKSksIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5ncm9zc0Ftb3VudCwgMCk7XG4gIH1cblxuICBnZXQgZ3Jvc3NDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uZ3Jvc3NDbGFpbUFtb3VudCwgMCk7XG4gIH1cblxuICBnZXRHcm9zc0NsYWltQW1vdW50V2l0aG91dEdzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uZ3Jvc3NDbGFpbUFtb3VudFdpdGhvdXRHc3QsIDApO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIG1ldGEgZmllbGRzXG4gICAqL1xuICBnZXRUcmFuc2FjdGlvbnNNZXRhRmllbGRzKCk6IENvbGxlY3Rpb248VHJhbnNhY3Rpb25NZXRhRmllbGQ+IHtcbiAgICBjb25zdCBtZXRhRmllbGRzQXJyYXk6IFRyYW5zYWN0aW9uTWV0YUZpZWxkW10gPSBbXTtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBtZXRhRmllbGRzQXJyYXkucHVzaCguLi50cmFuc2FjdGlvbi5tZXRhRmllbGRzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbjxUcmFuc2FjdGlvbk1ldGFGaWVsZD4obWV0YUZpZWxkc0FycmF5KTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNFeHBlbnNlKCkgJiYgIXRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1JbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5ncm9zc0NsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0IGNsYWltRXhwZW5zZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIGdldEludGVyZXN0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0ludGVyZXN0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbGFpbUludGVyZXN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnMgYW5kIHByb3BlcnRpZXMgZmlsdGVyZWQgYnkgcHJvcGVydGllcyBpZHNcbiAgICogQHBhcmFtIGlkcyBJZHMgb2YgcHJvcGVydGllcyBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeVByb3BlcnRpZXNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uUFJPUEVSVFkpO1xuICB9XG5cbiAgZ2V0RGViaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzRGViaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q3JlZGl0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0NyZWRpdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb25zLmhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlJbnZvaWNlcyhpbnZvaWNlczogU29sZUludm9pY2VDb2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ2ludm9pY2VJdGVtLmlkJywgaW52b2ljZXMuZ2V0SW52b2ljZUl0ZW1zSWRzKCkpO1xuICB9XG5cbiAgZ2V0QW1vdW50UGVySW52b2ljZSgpOiBEaWN0aW9uYXJ5PG51bWJlcj4ge1xuICAgIC8vIEBUT0RPIGludm9pY2VJdGVtLmludm9pY2Ugd2lsbCBiZSByZW1vdmVkIG9uIGJhY2tlbmRcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNCeUludm9pY2UgPSB0aGlzLmdyb3VwQnkoJ2ludm9pY2VJdGVtLmludm9pY2UuaWQnKTtcbiAgICBjb25zdCBkaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5PG51bWJlcj4gPSBuZXcgRGljdGlvbmFyeShbXSk7XG5cbiAgICB0cmFuc2FjdGlvbnNCeUludm9pY2Uua2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGRpY3Rpb25hcnkuYWRkKGtleSwgdHJhbnNhY3Rpb25zQnlJbnZvaWNlLmdldChrZXkpLmdyb3NzQW1vdW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWN0aW9uYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byBWZWhpY2xlIGNhdGVnb3J5XG4gICAqL1xuICBnZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzVmVoaWNsZVRyYW5zYWN0aW9uKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHRyYW5zYWN0aW9uIGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgdGFuayB0eXBlXG4gICAqL1xuICBnZXRCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCB0YW5rVHlwZSk7XG4gIH1cblxuICBnZXRFeHBvcnRIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbJ0RhdGUnLCAnRGVzY3JpcHRpb24nLCAnRGViaXQnLCAnQ3JlZGl0J107XG4gIH1cblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6ICdUb3RhbCcsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogJycsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdGhpcy5zdW1CeSgnZGViaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRoaXMuc3VtQnkoJ2NyZWRpdCcpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSlcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gaXMgbm90IGEgcmVxdWlyZWQgZmllbGQgZm9yIHRyYW5zYWN0aW9ucy5cbiAgICAgKiBpZiB0aGVyZSBpcyBubyBkZXNjcmlwdGlvbiwgdGhlbiBhZGQgYW4gZW1wdHkgbGluZSBzbyB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgd2hlbiB0cmFuc2xhdGVkIGludG8gYSBzdHJpbmcuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kZXNjcmlwdGlvbiA/PyAnLScsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGViaXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5jcmVkaXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHZlaGljbGUgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IHZlaGljbGUgY2xhaW1cbiAgICovXG4gIGdldEJ5VmVoaWNsZUNsYWltKHZlaGljbGVDbGFpbT86IFZlaGljbGVDbGFpbSk6IHRoaXMge1xuICAgIGlmICghdmVoaWNsZUNsYWltKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGUoW10pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLmZpbHRlckJ5KCd0YW5rVHlwZScsIHZlaGljbGVDbGFpbS50YW5rVHlwZSlcbiAgICAgIC5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCB2ZWhpY2xlQ2xhaW0uYnVzaW5lc3M/LmlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIHRyYW5zYWN0aW9ucyBleGNlcHQgS01TIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0TG9nYm9va1RyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLnJlbW92ZUJ5KCdjaGFydEFjY291bnRzLmlkJywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5LTVNfVFJBVkVMTEVELCBCdXNpbmVzc0NoYXJ0QWNjb3VudHNFbnVtLktNU19UUkFWRUxMRURdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBjaGFydCBkYXRhIHdpdGggdHJhbnNhY3Rpb25zIGNhc2ggcG9zaXRpb24uXG4gICAqIENhc2ggcG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlcyAoaW5jbHVkZSBkZXByZWNpYXRpb25zKVxuICAgKiBDaGFydCBkYXRhIGZvciBlYWNoIG1vbnRoIGZyb20gZmluIHllYXIgc3RhcnQgdGlsbCBjdXJyZW50IG1vbnRoXG4gICAqL1xuICBnZXRDYXNoUG9zaXRpb25DaGFydERhdGEoKTogQ2hhcnREYXRhW10ge1xuICAgIGNvbnN0IGNoYXJ0RGF0YTogQ2hhcnREYXRhW10gPSBbXG4gICAgICBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7IG5hbWU6ICdJbmNvbWUnLCBkYXRhOiBbXSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhDaGFydERhdGEsIHsgbmFtZTogJ0V4cGVuc2UnLCBkYXRhOiBbXSB9KVxuICAgIF07XG5cbiAgICBuZXcgRmluYW5jaWFsWWVhcigpLmdldFBhc3RNb250aHMoKS5mb3JFYWNoKG1vbnRoID0+IHtcbiAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goe1xuICAgICAgICBsYWJlbDogTU9OVEhTW21vbnRoXSxcbiAgICAgICAgdmFsdWU6IHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnRcbiAgICAgIH0pO1xuICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogTWF0aC5hYnModGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnQpXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjaGFydERhdGE7XG4gIH1cblxuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5zdW1CeSgnYW1vdW50JylcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgYnVzaW5lc3MgdHJhbnNhY3Rpb25zIGNhbGN1bGF0ZWQgZGlmZmVyZW50bHksIHNlcGFyYXRlZCBjb2xsZWN0aW9uP1xuICAgKi9cbiAgZ2V0QnVzaW5lc3NDbGFpbUFtb3VudChidXNpbmVzc0lkOiBudW1iZXIgPSBudWxsKTogbnVtYmVyIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBidXNpbmVzc0lkID8gdGhpcy5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCBidXNpbmVzc0lkKSA6IHRoaXM7XG4gICAgY29uc3QgZXhwZW5zZXMgPSB0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGluY29tZXMgPSB0cmFuc2FjdGlvbnMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk7XG5cbiAgICByZXR1cm4gaW5jb21lcy5zdW1CeSgnY2xhaW1BbW91bnQnKSArIGV4cGVuc2VzLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICB9XG5cbiAgZ2V0VGF4YWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50ID4gMCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,10 @@
1
1
  import { TransactionBase } from '../transaction/transaction-base';
2
+ import { FinancialYear } from '../../../models';
2
3
  export class Depreciation extends TransactionBase {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.financialYear = new FinancialYear().year;
7
+ this.closeBalance = 0;
8
+ }
3
9
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL01vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRSxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7Q0E4QmhEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uUGVyY2VudEVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24tcGVyY2VudC5lbnVtJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkZvcmVjYXN0IH0gZnJvbSAnLi9kZXByZWNpYXRpb24tZm9yZWNhc3QnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uL3NvbGUvc29sZS1idXNpbmVzcyc7XG5cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2Uge1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICBkYXRlPzogRGF0ZTtcbiAgY2xhaW1TdGFydERhdGU/OiBEYXRlO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0eXBlPzogRGVwcmVjaWF0aW9uVHlwZUVudW07XG4gIGNhbGN1bGF0aW9uPzogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtO1xuICBlZmZlY3RpdmVMaWZlPzogbnVtYmVyO1xuICBjYWxjdWxhdGlvblBlcmNlbnQ/OiBEZXByZWNpYXRpb25DYWxjdWxhdGlvblBlcmNlbnRFbnVtO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG4gIHdyaXRlT2ZmTWFudWFsRGF0ZT86IERhdGU7XG4gIHdyaXRlT2ZmRGF0ZT86IERhdGU7XG4gIGxvd1ZhbHVlUG9vbERhdGU/OiBEYXRlO1xuICBmaW5hbmNpYWxZZWFyPzogbnVtYmVyO1xuICBjbG9zZUJhbGFuY2U/OiBudW1iZXI7XG4gIGRlbGV0ZWRBdD86IERhdGU7XG4gIHVzZXI/OiBVc2VyO1xuICBwcm9wZXJ0eT86IFByb3BlcnR5O1xuICBiYW5rVHJhbnNhY3Rpb24/OiBCYW5rVHJhbnNhY3Rpb247XG4gIGRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0PzogRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3Q7XG4gIGNoYXJ0QWNjb3VudHM/OiBDaGFydEFjY291bnRzO1xuICByZXBsYWNlPzogRGVwcmVjaWF0aW9uO1xuICBmb3JlY2FzdHM/OiBEZXByZWNpYXRpb25Gb3JlY2FzdFtdO1xuICBsb2FuPzogTG9hbjtcbiAgY3JlYXRlZEJ5PzogVXNlcjtcbiAgdXBkYXRlZEJ5PzogVXNlcjtcbiAgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3M7XG4gIGlzR1NUPzogYm9vbGVhbjtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL01vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsTUFBTSxPQUFPLFlBQWEsU0FBUSxlQUFlO0lBQWpEOztRQWVFLGtCQUFhLEdBQVksSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDbEQsaUJBQVksR0FBWSxDQUFDLENBQUM7SUFjNUIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uUGVyY2VudEVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24tcGVyY2VudC5lbnVtJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkZvcmVjYXN0IH0gZnJvbSAnLi9kZXByZWNpYXRpb24tZm9yZWNhc3QnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uL3NvbGUvc29sZS1idXNpbmVzcyc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIERlcHJlY2lhdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSB7XG4gIGNyZWF0ZWRBdD86IERhdGU7XG4gIHVwZGF0ZWRBdD86IERhdGU7XG4gIGRhdGU/OiBEYXRlO1xuICBjbGFpbVN0YXJ0RGF0ZT86IERhdGU7XG4gIGFtb3VudD86IG51bWJlcjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHR5cGU/OiBEZXByZWNpYXRpb25UeXBlRW51bTtcbiAgY2FsY3VsYXRpb24/OiBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW07XG4gIGVmZmVjdGl2ZUxpZmU/OiBudW1iZXI7XG4gIGNhbGN1bGF0aW9uUGVyY2VudD86IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uUGVyY2VudEVudW07XG4gIGNsYWltUGVyY2VudD86IG51bWJlcjtcbiAgd3JpdGVPZmZNYW51YWxEYXRlPzogRGF0ZTtcbiAgd3JpdGVPZmZEYXRlPzogRGF0ZTtcbiAgbG93VmFsdWVQb29sRGF0ZT86IERhdGU7XG4gIGZpbmFuY2lhbFllYXI/OiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG4gIGNsb3NlQmFsYW5jZT86IG51bWJlciA9IDA7XG4gIGRlbGV0ZWRBdD86IERhdGU7XG4gIHVzZXI/OiBVc2VyO1xuICBwcm9wZXJ0eT86IFByb3BlcnR5O1xuICBiYW5rVHJhbnNhY3Rpb24/OiBCYW5rVHJhbnNhY3Rpb247XG4gIGRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0PzogRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3Q7XG4gIGNoYXJ0QWNjb3VudHM/OiBDaGFydEFjY291bnRzO1xuICByZXBsYWNlPzogRGVwcmVjaWF0aW9uO1xuICBmb3JlY2FzdHM/OiBEZXByZWNpYXRpb25Gb3JlY2FzdFtdO1xuICBsb2FuPzogTG9hbjtcbiAgY3JlYXRlZEJ5PzogVXNlcjtcbiAgdXBkYXRlZEJ5PzogVXNlcjtcbiAgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3M7XG4gIGlzR1NUPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -27,4 +27,4 @@ __decorate([
27
27
  __decorate([
28
28
  Type(() => Date)
29
29
  ], Property.prototype, "corelogicLastRequest", void 0);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pDLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQUE3Qzs7UUEyQ0UsWUFBWTtRQUVaLHlCQUFvQixHQUFTLElBQUksQ0FBQztJQUNwQyxDQUFDO2FBN0NRLGNBQVMsR0FBRyxVQUFVLEFBQWIsQ0FBYzs7QUFJOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNJO0FBUXZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDSTtBQWdCdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1E7QUFVM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NEQUNpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5RGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvcHJvcGVydHkvcHJvcGVydHktZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUZvcmVjYXN0IH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi9wcm9wZXJ0eS1zaGFyZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVhdGlvbiB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHsgQmFua0FjY291bnRQcm9wZXJ0eSB9IGZyb20gJy4uL2JhbmsvYmFuay1hY2NvdW50LXByb3BlcnR5JztcbmltcG9ydCB7IFByb3BlcnR5RG9jdW1lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9wcm9wZXJ0eS1kb2N1bWVudCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS1tb2RlbCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBPYnNlcnZhYmxlTW9kZWwge1xuICBzdGF0aWMgY2xhc3NOYW1lID0gJ1Byb3BlcnR5JztcbiAgcGhvdG8/OiBzdHJpbmc7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBwdXJjaGFzZVByaWNlPzogbnVtYmVyO1xuXG4gIGNvbnRyYWN0RGF0ZT86IERhdGU7XG4gIHNldHRsZW1lbnREYXRlPzogRGF0ZTtcbiAgZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb24/OiBQcm9wZXJ0eURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bTtcbiAgc2hhcmVXaXRoPzogc3RyaW5nO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgZ3Jvd3RoUGVyY2VudD86IG51bWJlcjtcblxuICBzdWJzY3JpcHRpb25zPzogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcbiAgZGVsZXRlZEF0PzogRGF0ZTtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgdXNlcj86IFVzZXI7XG4gIGFkZHJlc3M/OiBBZGRyZXNzO1xuICBjYXRlZ29yeT86IFByb3BlcnR5Q2F0ZWdvcnk7XG4gIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb247XG4gIGZvcmVjYXN0cz86IFByb3BlcnR5Rm9yZWNhc3RbXTtcbiAgc2hhcmVzPzogUHJvcGVydHlTaGFyZVtdO1xuICB2YWx1YXRpb25zPzogUHJvcGVydHlWYWx1YXRpb25bXTtcbiAgY2F0ZWdvcnlNb3ZlbWVudHM/OiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRbXTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHN0YW1wRHV0eT86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGxlZ2FsRmVlcz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ2FwaXRhbENvc3RzPzogbnVtYmVyO1xuXG4gIHByb3BlcnR5QmFua0FjY291bnRzPzogQmFua0FjY291bnRQcm9wZXJ0eVtdO1xuICBjcmVhdGVkQnk/OiBVc2VyO1xuICB1cGRhdGVkQnk/OiBVc2VyO1xuICBkb2N1bWVudHM/OiBQcm9wZXJ0eURvY3VtZW50W107XG4gIGRlcHJlY2lhdGlvbnM/OiBEZXByZWNpYXRpb25bXTtcbiAgZmlsZTogRmlsZTtcbiAgLy8gQFRPRE8gbmlrXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvcmVsb2dpY0xhc3RSZXF1ZXN0OiBEYXRlID0gbnVsbDtcbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pDLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQUE3Qzs7UUEwQ0UsWUFBWTtRQUVaLHlCQUFvQixHQUFTLElBQUksQ0FBQztJQUNwQyxDQUFDO2FBNUNRLGNBQVMsR0FBRyxVQUFVLEFBQWIsQ0FBYzs7QUFJOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNJO0FBUXZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDSTtBQWV2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUTtBQVUzQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0RBQ2lCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci91c2VyJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnkgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7IFByb3BlcnR5Rm9yZWNhc3QgfSBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0JztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmUgfSBmcm9tICcuL3Byb3BlcnR5LXNoYXJlJztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS12YWx1YXRpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5IH0gZnJvbSAnLi4vYmFuay9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuaW1wb3J0IHsgUHJvcGVydHlEb2N1bWVudCB9IGZyb20gJy4uL2RvY3VtZW50L3Byb3BlcnR5LWRvY3VtZW50JztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gfSBmcm9tICcuL3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlTW9kZWwgfSBmcm9tICcuLi9vYnNlcnZhYmxlLW1vZGVsJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIE9ic2VydmFibGVNb2RlbCB7XG4gIHN0YXRpYyBjbGFzc05hbWUgPSAnUHJvcGVydHknO1xuICBwaG90bz86IHN0cmluZztcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHB1cmNoYXNlUHJpY2U/OiBudW1iZXI7XG5cbiAgY29udHJhY3REYXRlPzogRGF0ZTtcbiAgc2V0dGxlbWVudERhdGU/OiBEYXRlO1xuICBkZXByZWNpYXRpb25DYWxjdWxhdGlvbj86IFByb3BlcnR5RGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtO1xuICBzaGFyZVdpdGg/OiBzdHJpbmc7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBncm93dGhQZXJjZW50PzogbnVtYmVyO1xuXG4gIHN1YnNjcmlwdGlvbnM/OiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICB1c2VyPzogVXNlcjtcbiAgYWRkcmVzcz86IEFkZHJlc3M7XG4gIGNhdGVnb3J5PzogUHJvcGVydHlDYXRlZ29yeTtcbiAgZm9yZWNhc3RzPzogUHJvcGVydHlGb3JlY2FzdFtdO1xuICBzaGFyZXM/OiBQcm9wZXJ0eVNoYXJlW107XG4gIHZhbHVhdGlvbnM/OiBQcm9wZXJ0eVZhbHVhdGlvbltdO1xuICBjYXRlZ29yeU1vdmVtZW50cz86IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgcHJvcGVydHlCYW5rQWNjb3VudHM/OiBCYW5rQWNjb3VudFByb3BlcnR5W107XG4gIGNyZWF0ZWRCeT86IFVzZXI7XG4gIHVwZGF0ZWRCeT86IFVzZXI7XG4gIGRvY3VtZW50cz86IFByb3BlcnR5RG9jdW1lbnRbXTtcbiAgZGVwcmVjaWF0aW9ucz86IERlcHJlY2lhdGlvbltdO1xuICBmaWxlOiBGaWxlO1xuICAvLyBAVE9ETyBuaWtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY29yZWxvZ2ljTGFzdFJlcXVlc3Q6IERhdGUgPSBudWxsO1xufVxuIl19
@@ -41,8 +41,8 @@ export class DepreciationForm extends TransactionBaseForm {
41
41
  this.setEnabledState(this.get('claimStartDate'), chartAccounts.isBuildingAtCost());
42
42
  });
43
43
  }
44
- submit(data = {}, includeDisabledFields = false) {
44
+ submit(data = {}) {
45
45
  return super.submit(data, true);
46
46
  }
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUErQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFpQztJQUNyRSxZQUFZLFlBQTBCLEVBQUUsZ0JBQXlCO1FBQy9ELEtBQUssQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUU7WUFDcEMscUJBQXFCLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzVDLFlBQVksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM3RyxhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUN0RixjQUFjLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztTQUNuSSxDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDbkIsb0ZBQW9GO1NBQ3JGO1FBRUQseUVBQXlFO1FBQ3pFLElBQUksWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDeEQ7UUFFRCwyQkFBMkI7UUFDM0IscUdBQXFHO1FBQ3JHLElBQUksWUFBWSxDQUFDLDBCQUEwQixFQUFFO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQW1CLEVBQUUsRUFBRTtZQUMvRSxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbkM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBNEIsRUFBRSxFQUFFO1lBQ2hGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWUsRUFBRSxFQUFFLHFCQUFxQixHQUFHLEtBQUs7UUFDckQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZUZvcm0gfSBmcm9tICcuLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzLCBEZXByZWNpYXRpb24sIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgRGVwcmVjaWF0aW9uRm9ybSBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUZvcm08RGVwcmVjaWF0aW9uPiB7XG4gIGNvbnN0cnVjdG9yKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uLCByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuKSB7XG4gICAgc3VwZXIoZGVwcmVjaWF0aW9uLCByZWdpc3RlcmVkRm9yR3N0LCB7XG4gICAgICBpc0Nsb3NlQmFsYW5jZUNvcnJlY3Q6IG5ldyBGb3JtQ29udHJvbCh0cnVlKSxcbiAgICAgIGNsb3NlQmFsYW5jZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IGRlcHJlY2lhdGlvbi5jbG9zZUJhbGFuY2UgfHwgMCwgZGlzYWJsZWQ6IHRydWUgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBmaW5hbmNpYWxZZWFyOiBuZXcgRm9ybUNvbnRyb2woZGVwcmVjaWF0aW9uLmZpbmFuY2lhbFllYXIgfHwgbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyKSxcbiAgICAgIGNsYWltU3RhcnREYXRlOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogZGVwcmVjaWF0aW9uLmNsYWltU3RhcnREYXRlLCBkaXNhYmxlZDogIWRlcHJlY2lhdGlvbi5jaGFydEFjY291bnRzPy5pc0J1aWxkaW5nQXRDb3N0KCkgfSksXG4gICAgfSk7XG5cbiAgICBpZiAoZGVwcmVjaWF0aW9uLmlkKSB7XG4gICAgICAvLyB0aGlzLmdldCgnY2xhaW1QZXJjZW50Jykuc2V0VmFsdWUoZGVwcmVjaWF0aW9uLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50KTtcbiAgICB9XG5cbiAgICAvLyBmb3JiaWQgdG8gY2hhbmdlIGNoYXJ0QWNjb3VudHMvY2xhaW1QZXJjZW50IGZvciBleGlzdGluZyBkZXByZWNpYXRpb25zXG4gICAgaWYgKGRlcHJlY2lhdGlvbi5pZCkge1xuICAgICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMuZ2V0KCdjbGFpbVBlcmNlbnQnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyBzaG91bGQgYmUgd2F0Y2hlZD9cbiAgICAvLyBpZiBkZXByZWNpYXRpb24gaGFzICdkZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCcgdmFsdWUgLSBzZXQgdmFsdWUgYW5kIGRpc2FibGUgJ2RhdGUnIGZvcm0gY29udHJvbFxuICAgIGlmIChkZXByZWNpYXRpb24uZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QpIHtcbiAgICAgIHRoaXMuZ2V0KCdkYXRlJykuc2V0VmFsdWUoZGVwcmVjaWF0aW9uLmRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0LmVmZmVjdGl2ZURhdGUpO1xuICAgICAgdGhpcy5nZXQoJ2RhdGUnKS5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0KCdkYXRlJykuc2V0VmFsdWUoZGVwcmVjaWF0aW9uLmRhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0KCdpc0Nsb3NlQmFsYW5jZUNvcnJlY3QnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmdldCgnY2xvc2VCYWxhbmNlJykuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5nZXQoJ2Nsb3NlQmFsYW5jZScpLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgd2F0Y2hDaGFydEFjY291bnRzKCk6IHZvaWQge1xuICAgIHN1cGVyLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgdGhpcy5zZXRFbmFibGVkU3RhdGUodGhpcy5nZXQoJ2NsYWltU3RhcnREYXRlJyksIGNoYXJ0QWNjb3VudHMuaXNCdWlsZGluZ0F0Q29zdCgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSwgaW5jbHVkZURpc2FibGVkRmllbGRzID0gZmFsc2UpOiBEZXByZWNpYXRpb24ge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUErQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFpQztJQUNyRSxZQUFZLFlBQTBCLEVBQUUsZ0JBQXlCO1FBQy9ELEtBQUssQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUU7WUFDcEMscUJBQXFCLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzVDLFlBQVksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM3RyxhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUN0RixjQUFjLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztTQUNuSSxDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDbkIsb0ZBQW9GO1NBQ3JGO1FBRUQseUVBQXlFO1FBQ3pFLElBQUksWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDeEQ7UUFFRCwyQkFBMkI7UUFDM0IscUdBQXFHO1FBQ3JHLElBQUksWUFBWSxDQUFDLDBCQUEwQixFQUFFO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQW1CLEVBQUUsRUFBRTtZQUMvRSxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbkM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBNEIsRUFBRSxFQUFFO1lBQ2hGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWUsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlRm9ybSB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIERlcHJlY2lhdGlvbiwgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb25Gb3JtIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlRm9ybTxEZXByZWNpYXRpb24+IHtcbiAgY29uc3RydWN0b3IoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24sIHJlZ2lzdGVyZWRGb3JHc3Q6IGJvb2xlYW4pIHtcbiAgICBzdXBlcihkZXByZWNpYXRpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIHtcbiAgICAgIGlzQ2xvc2VCYWxhbmNlQ29ycmVjdDogbmV3IEZvcm1Db250cm9sKHRydWUpLFxuICAgICAgY2xvc2VCYWxhbmNlOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogZGVwcmVjaWF0aW9uLmNsb3NlQmFsYW5jZSB8fCAwLCBkaXNhYmxlZDogdHJ1ZSB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGZpbmFuY2lhbFllYXI6IG5ldyBGb3JtQ29udHJvbChkZXByZWNpYXRpb24uZmluYW5jaWFsWWVhciB8fCBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpLFxuICAgICAgY2xhaW1TdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBkZXByZWNpYXRpb24uY2xhaW1TdGFydERhdGUsIGRpc2FibGVkOiAhZGVwcmVjaWF0aW9uLmNoYXJ0QWNjb3VudHM/LmlzQnVpbGRpbmdBdENvc3QoKSB9KSxcbiAgICB9KTtcblxuICAgIGlmIChkZXByZWNpYXRpb24uaWQpIHtcbiAgICAgIC8vIHRoaXMuZ2V0KCdjbGFpbVBlcmNlbnQnKS5zZXRWYWx1ZShkZXByZWNpYXRpb24uY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbVBlcmNlbnQpO1xuICAgIH1cblxuICAgIC8vIGZvcmJpZCB0byBjaGFuZ2UgY2hhcnRBY2NvdW50cy9jbGFpbVBlcmNlbnQgZm9yIGV4aXN0aW5nIGRlcHJlY2lhdGlvbnNcbiAgICBpZiAoZGVwcmVjaWF0aW9uLmlkKSB7XG4gICAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIC8vIEBUT0RPIHNob3VsZCBiZSB3YXRjaGVkP1xuICAgIC8vIGlmIGRlcHJlY2lhdGlvbiBoYXMgJ2RlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0JyB2YWx1ZSAtIHNldCB2YWx1ZSBhbmQgZGlzYWJsZSAnZGF0ZScgZm9ybSBjb250cm9sXG4gICAgaWYgKGRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCkge1xuICAgICAgdGhpcy5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkZXByZWNpYXRpb24uZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QuZWZmZWN0aXZlRGF0ZSk7XG4gICAgICB0aGlzLmdldCgnZGF0ZScpLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkZXByZWNpYXRpb24uZGF0ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5nZXQoJ2lzQ2xvc2VCYWxhbmNlQ29ycmVjdCcpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdjbG9zZUJhbGFuY2UnKS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdldCgnY2xvc2VCYWxhbmNlJykuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB3YXRjaENoYXJ0QWNjb3VudHMoKTogdm9pZCB7XG4gICAgc3VwZXIud2F0Y2hDaGFydEFjY291bnRzKCk7XG4gICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICB0aGlzLnNldEVuYWJsZWRTdGF0ZSh0aGlzLmdldCgnY2xhaW1TdGFydERhdGUnKSwgY2hhcnRBY2NvdW50cy5pc0J1aWxkaW5nQXRDb3N0KCkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9KTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEsIHRydWUpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- import first from 'lodash/first';
2
1
  import { PropertyEquityChartItem } from './property-equity-chart-item';
3
2
  import { FinancialYear } from '../financial-year';
4
3
  import { PropertyEquityChartTypeEnum } from './property-equity-chart-type.enum';
@@ -129,13 +128,15 @@ export class PropertyEquityChartData {
129
128
  if (year > this.currentYear) {
130
129
  return bankAccounts.items.reduce((totalSum, bankAccount) => totalSum + (bankAccount.getPropertyPercentage(property.id) * (loans.getByBankAccountId(bankAccount.id)?.getLastPaymentByYear(year)?.totalOwed || 0)), 0) - offset;
131
130
  }
132
- return ((property.getForecastByYear(year) || first(property.forecasts)).marketValue) - offset;
131
+ return property.getForecastByYear(year).loanBalance;
132
+ // @TODO TT-4888 no idea why it was calculated like that
133
+ // return property.getValuationByYear(year).marketValue - offset;
133
134
  }
134
135
  getMarketValueForPropertyByYear(property, year) {
135
136
  if (new FinancialYear(property.contractDate).year > year) {
136
137
  return 0;
137
138
  }
138
- return (property.getForecastByYear(year) || first(property.forecasts)).marketValue;
139
+ return property.getValuationByYear(year).marketValue;
139
140
  }
140
141
  /**
141
142
  * Check if loan balance is 0 and set it as null (to not to draw point on the chart)
@@ -158,4 +159,4 @@ export class PropertyEquityChartData {
158
159
  });
159
160
  }
160
161
  }
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU92RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsbUNBQW1DO0FBQ25DLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUUxQjs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFDVSxVQUE4QixFQUM5QixVQUF1QyxFQUN2QyxZQUFtQyxFQUNuQyxLQUFxQixFQUNyQixZQUFrQjtRQUpsQixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUE2QjtRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQU07UUFFMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFl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T0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDaEcsQ0FBQztJQUVELCtCQUErQixDQUFDLFFBQWtCLEVBQUUsSUFBWTtRQUM5RCxJQUFJLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ3hELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDckYsQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBNkIsRUFBRSxFQUFFO1lBQ2xELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUE2QixFQUFFLEVBQUU7WUFDbEQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xuaW1wb3J0IHsgUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0gfSBmcm9tICcuL3Byb3BlcnR5LWVxdWl0eS1jaGFydC1pdGVtJztcbmltcG9ydCB7XG4gIEJhbmtBY2NvdW50Q29sbGVjdGlvbixcbiAgTG9hbkNvbGxlY3Rpb24sXG4gIFByb3BlcnR5Q29sbGVjdGlvbixcbiAgUHJvcGVydHlWYWx1YXRpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0gfSBmcm9tICcuL3Byb3BlcnR5LWVxdWl0eS1jaGFydC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuL3Byb3BlcnR5JztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vYmFuayc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuXG4vLyBjb3VudCBvZiB5ZWFycyBmb3IgZnV0dXJlIHZhbHVlc1xuY29uc3QgRk9SRUNBU1RfWUVBUlMgPSAyNTtcblxuLyoqXG4gKiBjbGFzcyBjb250YWluIGFjdHVhbCBhbmQgZm9yZWNhc3RlZCBtYXJrZXQgdmFsdWVzIGFuZCBsb2FuIGJhbGFuY2VzIGZvciBwYXNzZWQgcHJvcGVydGllc1xuICogWCBheGlzIC0geWVhcnMgZnJvbSB0aGUgZmlyc3QgYWN0dWFsIGRhdGEgeWVhciB0byB0aGUgbGFzdCBmb3JlY2FzdGVkIHllYXJcbiAqIFkgYXhpcyAtIGFtb3VudHMgb2YgbWFya2V0IHZhbHVlcywgbG9hbiBiYWxhbmNlc1xuICogQWxzbyBvbiBob3ZlciBhcHBlYXIgZXF1aXR5IHBvc2l0aW9ucyBwb2ludFxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlFcXVpdHlDaGFydERhdGEge1xuICAvLyBsaXN0IG9mIGVxdWl0eSBwb3NpdGlvbnMgZm9yIGFsbCB5ZWFycyByYW5nZVxuICBsaXN0OiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbVtdO1xuICAvLyBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gIGN1cnJlbnRZZWFyOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSB2YWx1YXRpb25zOiBQcm9wZXJ0eVZhbHVhdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50Q29sbGVjdGlvbixcbiAgICBwcml2YXRlIGxvYW5zOiBMb2FuQ29sbGVjdGlvbixcbiAgICBwcml2YXRlIHJlZ2lzdGVyRGF0ZTogRGF0ZVxuICApIHtcbiAgICB0aGlzLmJhbmtBY2NvdW50cyA9IGJhbmtBY2NvdW50cy5nZXRMb2FuQW5kT2Zmc2V0QWNjb3VudHMoKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIobmV3IERhdGUoKSkueWVhcjtcbiAgICB0aGlzLmluaXRJdGVtcygpO1xuICAgIHRoaXMuYnVpbGRIaXN0b3J5SXRlbXMoKTtcbiAgICB0aGlzLmJ1aWxkQWN0dWFsSXRlbSgpO1xuICAgIHRoaXMuYnVpbGRGb3JlY2FzdGVkSXRlbXMoKTtcbiAgICB0aGlzLmNoZWNrWmVyb0xvYW5CYWxhbmNlKCk7XG4gICAgdGhpcy5jaGVja1plcm9NYXJrZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBpdGVtcyBsaXN0IGluIGNoYXJ0IHNlcmllcyBmb3JtYXRcbiAgICogQHBhcmFtIHR5cGVcbiAgICovXG4gIGdldENoYXJ0U2VyaWVzKHR5cGU6IFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bSk6IG51bWJlcltdW10ge1xuICAgIHJldHVybiB0aGlzLmxpc3QubWFwKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4gaXRlbS5nZXRTZXJpZSh0eXBlKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHByZXBhcmVkIGNoYXJ0IGRhdGFcbiAgICovXG4gIGdldENoYXJ0RGF0YSgpOiBvYmplY3RbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtYXJrZXRWYWx1ZScsXG4gICAgICAgIG5hbWU6ICdNYXJrZXQgVmFsdWUnLFxuICAgICAgICBzZXJpZXM6IHRoaXMuZ2V0Q2hhcnRTZXJpZXMoUHJvcGVydHlFcXVpdHlDaGFydFR5cGVFbnVtLk1BUktFVF9WQUxVRSksXG4gICAgICAgIC8vIGRpc3BsYXkgZnV0dXJlIG1hcmtldCB2YWx1ZSB3aXRoIGRhc2ggbGluZSBhbmQgcGFzdCBtYXJrZXQgdmFsdWUgd2l0aCBzb2xpZCBsaW5lXG4gICAgICAgIHpvbmVzOiBbe1xuICAgICAgICAgIC8vIGxpbmUgc3R5bGUgYWZ0ZXIgY3VycmVudCBjYWxlbmRhciB5ZWFyXG4gICAgICAgICAgdmFsdWU6IHRoaXMuY3VycmVudFllYXIsXG4gICAgICAgICAgZGFzaFN0eWxlOiAnU29saWQnXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAvLyBkZWZhdWx0IGxpbmUgc3R5bGVcbiAgICAgICAgICBkYXNoU3R5bGU6ICdEYXNoJ1xuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gaWQgdXNlZCB0byBhZGQvcmVtb3ZlIHNlcmllIHRvIGNoYXJ0XG4gICAgICAgIGlkOiAnbG9hbkJhbGFuY2UnLFxuICAgICAgICBuYW1lOiAnTG9hbiBCYWxhbmNlJyxcbiAgICAgICAgc2VyaWVzOiB0aGlzLmdldENoYXJ0U2VyaWVzKFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bS5MT0FOX0JBTEFOQ0UpXG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjcmVhdGUgZW1wdHkgZXF1aXR5IHBvc2l0aW9uIGl0ZW0gZm9yIGVhY2ggeWVhciBpbiBjb2xsZWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGluaXRJdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3QgPSBbXTtcbiAgICBmb3IgKGxldCB5ZWFyOiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcih0aGlzLnJlZ2lzdGVyRGF0ZSkueWVhciAtIDE7IHllYXIgPD0gKHRoaXMuY3VycmVudFllYXIgKyBGT1JFQ0FTVF9ZRUFSUyk7IHllYXIrKykge1xuICAgICAgdGhpcy5saXN0LnB1c2gobmV3IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKHllYXIpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY29sbGVjdCBlcXVpdHkgcG9zaXRpb24gaXRlbXMgd2l0aCBwYXN0IHZhbHVlcyBmcm9tIHByb3BlcnRpZXMgZm9yZWNhc3RzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkSGlzdG9yeUl0ZW1zKCk6IHZvaWQge1xuICAgIC8vIGdldCBpdGVtcyBmb3IgcGFzdCBhbmQgY3VycmVudCB5ZWFyc1xuICAgIGNvbnN0IGl0ZW1zOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbVtdID0gdGhpcy5saXN0LmZpbHRlcigoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0ueWVhciA8PSB0aGlzLmN1cnJlbnRZZWFyKTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgLy8gaW5jcmVhc2UgaXRlbSB2YWx1ZXMgd2l0aCBwcm9wZXJ0eSBhY3R1YWwgZm9yZWNhc3RzIGZvciBpdGVtIHllYXJcbiAgICAgIGl0ZW0ubWFya2V0VmFsdWUgPSB0aGlzLnByb3BlcnRpZXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgcHJvcGVydHk6IFByb3BlcnR5KTogbnVtYmVyID0+IHN1bSArIHRoaXMuZ2V0TWFya2V0VmFsdWVGb3JQcm9wZXJ0eUJ5WWVhcihwcm9wZXJ0eSwgaXRlbS55ZWFyKSwgMCk7XG5cbiAgICAgIGl0ZW0ubG9hbkJhbGFuY2UgPSBNYXRoLmFicyh0aGlzLnByb3BlcnRpZXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgcHJvcGVydHk6IFByb3BlcnR5KTogbnVtYmVyID0+IHN1bSArIHRoaXMuZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyByZW1vdmUsIHRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBhY3R1YWwgYW5kIGhpc3RvcnkgY2FsY3VsYXRpb25zXG4gICAqIHNldCBhY3R1YWwgeWVhcidzIHJlYWwgZGF0YVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEFjdHVhbEl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0gPSB0aGlzLmxpc3QuZmluZCgoaTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGkueWVhciA9PT0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbS5tYXJrZXRWYWx1ZSA9IHRoaXMudmFsdWF0aW9ucy5nZXRNYXJrZXRWYWx1ZShuZXcgRGF0ZSgpKTtcbiAgICBpdGVtLmxvYW5CYWxhbmNlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyBNYXRoLmFicyh0aGlzLmJhbmtBY2NvdW50cy5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHkuaWQpKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogY29sbGVjdCBlcXVpdHkgcG9zaXRpb24gaXRlbXMgd2l0aCBmb3JlY2FzdGVkIChmdXR1cmUpIGNhbGN1bGF0ZWQgdmFsdWVzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkRm9yZWNhc3RlZEl0ZW1zKCk6IHZvaWQge1xuICAgIC8vIGNhbGN1bGF0ZSBmdXR1cmUgdmFsdWVzIGZvciBhbGwgcHJvcGVydGllcyBzZXBhcmF0ZWx5XG4gICAgdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLmZvckVhY2goKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3QgbWFya2V0VmFsdWUgPSB0aGlzLnZhbHVhdGlvbnMuZmlsdGVyQnkoJ3Byb3BlcnR5LmlkJywgcHJvcGVydHkuaWQpLmdldE1hcmtldFZhbHVlKG5ldyBEYXRlKCkpO1xuICAgICAgbGV0IGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZTogbnVtYmVyID0gKHByb3BlcnR5Lmdyb3d0aFBlcmNlbnQgLyAxMDApICogbWFya2V0VmFsdWUgKyBtYXJrZXRWYWx1ZTtcblxuICAgICAgLy8gY2FsY3VsYXRlIGZ1dHVyZSB2YWx1ZXMgZm9yIGVhY2ggZnV0dXJlIHllYXIgZm9yIGN1cnJlbnQgaGFuZGxpbmcgcHJvcGVydHlcbiAgICAgIHRoaXMubGlzdFxuICAgICAgICAuZmlsdGVyKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4gaXRlbS55ZWFyID4gdGhpcy5jdXJyZW50WWVhcilcbiAgICAgICAgLmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICAgICAgLy8gaW5jcmVhc2UgbG9hbiBiYWxhbmNlIGFtb3VudCBmb3IgaGFuZGxpbmcgZXF1aXR5IHBvc2l0aW9uIGl0ZW1cbiAgICAgICAgICBpdGVtLmxvYW5CYWxhbmNlICs9IHRoaXMuZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhcik7XG5cbiAgICAgICAgICAvLyBpbmNyZWFzZSBtYXJrZXQgdmFsdWUgYW1vdW50IGZvciBoYW5kbGluZyBlcXVpdHkgcG9zaXRpb24gaXRlbVxuICAgICAgICAgIGl0ZW0ubWFya2V0VmFsdWUgKz0gZm9yZWNhc3RlZE1hcmtldFZhbHVlO1xuXG4gICAgICAgICAgLy8gaW5jcmVhc2UgY3VycmVudCBtYXJrZXQgdmFsdWUgZm9yZWNhc3QgZm9yIHRoZSBuZXh0IGN5Y2xlIGl0ZXJhdGlvblxuICAgICAgICAgIGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZSArPSBmb3JlY2FzdGVkTWFya2V0VmFsdWUgKiAocHJvcGVydHkuZ3Jvd3RoUGVyY2VudCAvIDEwMCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSBsb2FuIGJhbGFuY2UgYnkgZmluYW5jaWFsIHllYXJcbiAgICogQHBhcmFtIHByb3BlcnR5IFByb3BlcnR5IGluc3RhbmNlIGZvciBmaWx0ZXJcbiAgICogQHBhcmFtIHllYXIgRmluYW5jaWFsIHllYXIgbnVtYmVyXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5OiBQcm9wZXJ0eSwgeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobmV3IEZpbmFuY2lhbFllYXIocHJvcGVydHkuY29udHJhY3REYXRlKS55ZWFyID4geWVhcikge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgYmFua0FjY291bnRzID0gdGhpcy5iYW5rQWNjb3VudHMuZ2V0QnlQcm9wZXJ0eUlkKHByb3BlcnR5LmlkKTtcbiAgICBjb25zdCBsb2FucyA9IHRoaXMubG9hbnMuZ2V0QnlCYW5rQWNjb3VudHNJZHMoYmFua0FjY291bnRzLmdldElkcygpKTtcbiAgICBjb25zdCBvZmZzZXQgPSBiYW5rQWNjb3VudHMuZmlsdGVyQnkoJ3R5cGUnLCBCYW5rQWNjb3VudFR5cGVFbnVtLk9GRlNFVCkuZ2V0UHJvcGVydHlCYWxhbmNlQW1vdW50KHByb3BlcnR5LmlkKTtcblxuICAgIGlmICh5ZWFyID4gdGhpcy5jdXJyZW50WWVhcikge1xuICAgICAgcmV0dXJuIGJhbmtBY2NvdW50cy5pdGVtcy5yZWR1Y2UoKHRvdGFsU3VtOiBudW1iZXIsIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gdG90YWxTdW0gKyAoYmFua0FjY291bnQuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5LmlkKSAqIChsb2Fucy5nZXRCeUJhbmtBY2NvdW50SWQoYmFua0FjY291bnQuaWQpPy5nZXRMYXN0UGF5bWVudEJ5WWVhcih5ZWFyKT8udG90YWxPd2VkIHx8IDApKSwgMCkgLSBvZmZzZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuICgocHJvcGVydHkuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcikgfHwgZmlyc3QocHJvcGVydHkuZm9yZWNhc3RzKSkubWFya2V0VmFsdWUpIC0gb2Zmc2V0O1xuICB9XG5cbiAgZ2V0TWFya2V0VmFsdWVGb3JQcm9wZXJ0eUJ5WWVhcihwcm9wZXJ0eTogUHJvcGVydHksIHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKG5ldyBGaW5hbmNpYWxZZWFyKHByb3BlcnR5LmNvbnRyYWN0RGF0ZSkueWVhciA+IHllYXIpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiAocHJvcGVydHkuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcikgfHwgZmlyc3QocHJvcGVydHkuZm9yZWNhc3RzKSkubWFya2V0VmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbG9hbiBiYWxhbmNlIGlzIDAgYW5kIHNldCBpdCBhcyBudWxsICh0byBub3QgdG8gZHJhdyBwb2ludCBvbiB0aGUgY2hhcnQpXG4gICAqL1xuICBwcml2YXRlIGNoZWNrWmVyb0xvYW5CYWxhbmNlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubG9hbkJhbGFuY2UgPT09IDApIHtcbiAgICAgICAgaXRlbS5sb2FuQmFsYW5jZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbWFya2V0IHZhbHVlIGlzIDAgYW5kIHNldCBpdCBhcyBudWxsICh0byBub3QgdG8gZHJhdyBwb2ludCBvbiB0aGUgY2hhcnQpXG4gICAqL1xuICBwcml2YXRlIGNoZWNrWmVyb01hcmtldFZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubWFya2V0VmFsdWUgPT09IDApIHtcbiAgICAgICAgaXRlbS5tYXJrZXRWYWx1ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBT3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxtQ0FBbUM7QUFDbkMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBRTFCOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUNVLFVBQThCLEVBQzlCLFVBQXVDLEVBQ3ZDLFlBQW1DLEVBQ25DLEtBQXFCLEVBQ3JCLFlBQWtCO1FBSmxCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQTZCO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUNuQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBTTtRQUUxQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxvQkFB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LENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDcEQsd0RBQXdEO1FBQ3hELGlFQUFpRTtJQUNuRSxDQUFDO0lBRUQsK0JBQStCLENBQUMsUUFBa0IsRUFBRSxJQUFZO1FBQzlELElBQUksSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDeEQsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE9BQU8sUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUE2QixFQUFFLEVBQUU7WUFDbEQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQTZCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XG5pbXBvcnQgeyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSB9IGZyb20gJy4vcHJvcGVydHktZXF1aXR5LWNoYXJ0LWl0ZW0nO1xuaW1wb3J0IHtcbiAgQmFua0FjY291bnRDb2xsZWN0aW9uLFxuICBMb2FuQ29sbGVjdGlvbixcbiAgUHJvcGVydHlDb2xsZWN0aW9uLFxuICBQcm9wZXJ0eVZhbHVhdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bSB9IGZyb20gJy4vcHJvcGVydHktZXF1aXR5LWNoYXJ0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4vcHJvcGVydHknO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi9iYW5rJztcbmltcG9ydCB7IEJhbmtBY2NvdW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5cbi8vIGNvdW50IG9mIHllYXJzIGZvciBmdXR1cmUgdmFsdWVzXG5jb25zdCBGT1JFQ0FTVF9ZRUFSUyA9IDI1O1xuXG4vKipcbiAqIGNsYXNzIGNvbnRhaW4gYWN0dWFsIGFuZCBmb3JlY2FzdGVkIG1hcmtldCB2YWx1ZXMgYW5kIGxvYW4gYmFsYW5jZXMgZm9yIHBhc3NlZCBwcm9wZXJ0aWVzXG4gKiBYIGF4aXMgLSB5ZWFycyBmcm9tIHRoZSBmaXJzdCBhY3R1YWwgZGF0YSB5ZWFyIHRvIHRoZSBsYXN0IGZvcmVjYXN0ZWQgeWVhclxuICogWSBheGlzIC0gYW1vdW50cyBvZiBtYXJrZXQgdmFsdWVzLCBsb2FuIGJhbGFuY2VzXG4gKiBBbHNvIG9uIGhvdmVyIGFwcGVhciBlcXVpdHkgcG9zaXRpb25zIHBvaW50XG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUVxdWl0eUNoYXJ0RGF0YSB7XG4gIC8vIGxpc3Qgb2YgZXF1aXR5IHBvc2l0aW9ucyBmb3IgYWxsIHllYXJzIHJhbmdlXG4gIGxpc3Q6IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtW107XG4gIC8vIGN1cnJlbnQgZmluYW5jaWFsIHllYXJcbiAgY3VycmVudFllYXI6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBwcml2YXRlIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uQ29sbGVjdGlvbixcbiAgICBwcml2YXRlIGJhbmtBY2NvdW50czogQmFua0FjY291bnRDb2xsZWN0aW9uLFxuICAgIHByaXZhdGUgbG9hbnM6IExvYW5Db2xsZWN0aW9uLFxuICAgIHByaXZhdGUgcmVnaXN0ZXJEYXRlOiBEYXRlXG4gICkge1xuICAgIHRoaXMuYmFua0FjY291bnRzID0gYmFua0FjY291bnRzLmdldExvYW5BbmRPZmZzZXRBY2NvdW50cygpO1xuICAgIHRoaXMuY3VycmVudFllYXIgPSBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZSgpKS55ZWFyO1xuICAgIHRoaXMuaW5pdEl0ZW1zKCk7XG4gICAgdGhpcy5idWlsZEhpc3RvcnlJdGVtcygpO1xuICAgIHRoaXMuYnVpbGRBY3R1YWxJdGVtKCk7XG4gICAgdGhpcy5idWlsZEZvcmVjYXN0ZWRJdGVtcygpO1xuICAgIHRoaXMuY2hlY2taZXJvTG9hbkJhbGFuY2UoKTtcbiAgICB0aGlzLmNoZWNrWmVyb01hcmtldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGl0ZW1zIGxpc3QgaW4gY2hhcnQgc2VyaWVzIGZvcm1hdFxuICAgKiBAcGFyYW0gdHlwZVxuICAgKi9cbiAgZ2V0Q2hhcnRTZXJpZXModHlwZTogUHJvcGVydHlFcXVpdHlDaGFydFR5cGVFbnVtKTogbnVtYmVyW11bXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdC5tYXAoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLmdldFNlcmllKHR5cGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgcHJlcGFyZWQgY2hhcnQgZGF0YVxuICAgKi9cbiAgZ2V0Q2hhcnREYXRhKCk6IG9iamVjdFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ21hcmtldFZhbHVlJyxcbiAgICAgICAgbmFtZTogJ01hcmtldCBWYWx1ZScsXG4gICAgICAgIHNlcmllczogdGhpcy5nZXRDaGFydFNlcmllcyhQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0uTUFSS0VUX1ZBTFVFKSxcbiAgICAgICAgLy8gZGlzcGxheSBmdXR1cmUgbWFya2V0IHZhbHVlIHdpdGggZGFzaCBsaW5lIGFuZCBwYXN0IG1hcmtldCB2YWx1ZSB3aXRoIHNvbGlkIGxpbmVcbiAgICAgICAgem9uZXM6IFt7XG4gICAgICAgICAgLy8gbGluZSBzdHlsZSBhZnRlciBjdXJyZW50IGNhbGVuZGFyIHllYXJcbiAgICAgICAgICB2YWx1ZTogdGhpcy5jdXJyZW50WWVhcixcbiAgICAgICAgICBkYXNoU3R5bGU6ICdTb2xpZCdcbiAgICAgICAgfSwge1xuICAgICAgICAgIC8vIGRlZmF1bHQgbGluZSBzdHlsZVxuICAgICAgICAgIGRhc2hTdHlsZTogJ0Rhc2gnXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBpZCB1c2VkIHRvIGFkZC9yZW1vdmUgc2VyaWUgdG8gY2hhcnRcbiAgICAgICAgaWQ6ICdsb2FuQmFsYW5jZScsXG4gICAgICAgIG5hbWU6ICdMb2FuIEJhbGFuY2UnLFxuICAgICAgICBzZXJpZXM6IHRoaXMuZ2V0Q2hhcnRTZXJpZXMoUHJvcGVydHlFcXVpdHlDaGFydFR5cGVFbnVtLkxPQU5fQkFMQU5DRSlcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIGNyZWF0ZSBlbXB0eSBlcXVpdHkgcG9zaXRpb24gaXRlbSBmb3IgZWFjaCB5ZWFyIGluIGNvbGxlY3Rpb25cbiAgICovXG4gIHByaXZhdGUgaW5pdEl0ZW1zKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdCA9IFtdO1xuICAgIGZvciAobGV0IHllYXI6IG51bWJlciA9IG5ldyBGaW5hbmNpYWxZZWFyKHRoaXMucmVnaXN0ZXJEYXRlKS55ZWFyIC0gMTsgeWVhciA8PSAodGhpcy5jdXJyZW50WWVhciArIEZPUkVDQVNUX1lFQVJTKTsgeWVhcisrKSB7XG4gICAgICB0aGlzLmxpc3QucHVzaChuZXcgUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0oeWVhcikpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjb2xsZWN0IGVxdWl0eSBwb3NpdGlvbiBpdGVtcyB3aXRoIHBhc3QgdmFsdWVzIGZyb20gcHJvcGVydGllcyBmb3JlY2FzdHNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRIaXN0b3J5SXRlbXMoKTogdm9pZCB7XG4gICAgLy8gZ2V0IGl0ZW1zIGZvciBwYXN0IGFuZCBjdXJyZW50IHllYXJzXG4gICAgY29uc3QgaXRlbXM6IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtW10gPSB0aGlzLmxpc3QuZmlsdGVyKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4gaXRlbS55ZWFyIDw9IHRoaXMuY3VycmVudFllYXIpO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICAvLyBpbmNyZWFzZSBpdGVtIHZhbHVlcyB3aXRoIHByb3BlcnR5IGFjdHVhbCBmb3JlY2FzdHMgZm9yIGl0ZW0geWVhclxuICAgICAgaXRlbS5tYXJrZXRWYWx1ZSA9IHRoaXMucHJvcGVydGllcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBwcm9wZXJ0eTogUHJvcGVydHkpOiBudW1iZXIgPT4gc3VtICsgdGhpcy5nZXRNYXJrZXRWYWx1ZUZvclByb3BlcnR5QnlZZWFyKHByb3BlcnR5LCBpdGVtLnllYXIpLCAwKTtcblxuICAgICAgaXRlbS5sb2FuQmFsYW5jZSA9IE1hdGguYWJzKHRoaXMucHJvcGVydGllcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBwcm9wZXJ0eTogUHJvcGVydHkpOiBudW1iZXIgPT4gc3VtICsgdGhpcy5nZXRMb2FuQmFsYW5jZUJ5WWVhcihwcm9wZXJ0eSwgaXRlbS55ZWFyKSwgMCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlbW92ZSwgdGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIGFjdHVhbCBhbmQgaGlzdG9yeSBjYWxjdWxhdGlvbnNcbiAgICogc2V0IGFjdHVhbCB5ZWFyJ3MgcmVhbCBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkQWN0dWFsSXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSA9IHRoaXMubGlzdC5maW5kKChpOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4gaS55ZWFyID09PSB0aGlzLmN1cnJlbnRZZWFyKTtcbiAgICBpdGVtLm1hcmtldFZhbHVlID0gdGhpcy52YWx1YXRpb25zLmdldE1hcmtldFZhbHVlKG5ldyBEYXRlKCkpO1xuICAgIGl0ZW0ubG9hbkJhbGFuY2UgPSB0aGlzLnByb3BlcnRpZXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgcHJvcGVydHk6IFByb3BlcnR5KTogbnVtYmVyID0+IHN1bSArIE1hdGguYWJzKHRoaXMuYmFua0FjY291bnRzLmdldFByb3BlcnR5QmFsYW5jZUFtb3VudChwcm9wZXJ0eS5pZCkpLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjb2xsZWN0IGVxdWl0eSBwb3NpdGlvbiBpdGVtcyB3aXRoIGZvcmVjYXN0ZWQgKGZ1dHVyZSkgY2FsY3VsYXRlZCB2YWx1ZXNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRGb3JlY2FzdGVkSXRlbXMoKTogdm9pZCB7XG4gICAgLy8gY2FsY3VsYXRlIGZ1dHVyZSB2YWx1ZXMgZm9yIGFsbCBwcm9wZXJ0aWVzIHNlcGFyYXRlbHlcbiAgICB0aGlzLnByb3BlcnRpZXMuaXRlbXMuZm9yRWFjaCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiB7XG4gICAgICBjb25zdCBtYXJrZXRWYWx1ZSA9IHRoaXMudmFsdWF0aW9ucy5maWx0ZXJCeSgncHJvcGVydHkuaWQnLCBwcm9wZXJ0eS5pZCkuZ2V0TWFya2V0VmFsdWUobmV3IERhdGUoKSk7XG4gICAgICBsZXQgZm9yZWNhc3RlZE1hcmtldFZhbHVlOiBudW1iZXIgPSAocHJvcGVydHkuZ3Jvd3RoUGVyY2VudCAvIDEwMCkgKiBtYXJrZXRWYWx1ZSArIG1hcmtldFZhbHVlO1xuXG4gICAgICAvLyBjYWxjdWxhdGUgZnV0dXJlIHZhbHVlcyBmb3IgZWFjaCBmdXR1cmUgeWVhciBmb3IgY3VycmVudCBoYW5kbGluZyBwcm9wZXJ0eVxuICAgICAgdGhpcy5saXN0XG4gICAgICAgIC5maWx0ZXIoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLnllYXIgPiB0aGlzLmN1cnJlbnRZZWFyKVxuICAgICAgICAuZm9yRWFjaCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IHtcbiAgICAgICAgICAvLyBpbmNyZWFzZSBsb2FuIGJhbGFuY2UgYW1vdW50IGZvciBoYW5kbGluZyBlcXVpdHkgcG9zaXRpb24gaXRlbVxuICAgICAgICAgIGl0ZW0ubG9hbkJhbGFuY2UgKz0gdGhpcy5nZXRMb2FuQmFsYW5jZUJ5WWVhcihwcm9wZXJ0eSwgaXRlbS55ZWFyKTtcblxuICAgICAgICAgIC8vIGluY3JlYXNlIG1hcmtldCB2YWx1ZSBhbW91bnQgZm9yIGhhbmRsaW5nIGVxdWl0eSBwb3NpdGlvbiBpdGVtXG4gICAgICAgICAgaXRlbS5tYXJrZXRWYWx1ZSArPSBmb3JlY2FzdGVkTWFya2V0VmFsdWU7XG5cbiAgICAgICAgICAvLyBpbmNyZWFzZSBjdXJyZW50IG1hcmtldCB2YWx1ZSBmb3JlY2FzdCBmb3IgdGhlIG5leHQgY3ljbGUgaXRlcmF0aW9uXG4gICAgICAgICAgZm9yZWNhc3RlZE1hcmtldFZhbHVlICs9IGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZSAqIChwcm9wZXJ0eS5ncm93dGhQZXJjZW50IC8gMTAwKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IGxvYW4gYmFsYW5jZSBieSBmaW5hbmNpYWwgeWVhclxuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIGZpbHRlclxuICAgKiBAcGFyYW0geWVhciBGaW5hbmNpYWwgeWVhciBudW1iZXJcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHk6IFByb3BlcnR5LCB5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChuZXcgRmluYW5jaWFsWWVhcihwcm9wZXJ0eS5jb250cmFjdERhdGUpLnllYXIgPiB5ZWFyKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBiYW5rQWNjb3VudHMgPSB0aGlzLmJhbmtBY2NvdW50cy5nZXRCeVByb3BlcnR5SWQocHJvcGVydHkuaWQpO1xuICAgIGNvbnN0IGxvYW5zID0gdGhpcy5sb2Fucy5nZXRCeUJhbmtBY2NvdW50c0lkcyhiYW5rQWNjb3VudHMuZ2V0SWRzKCkpO1xuICAgIGNvbnN0IG9mZnNldCA9IGJhbmtBY2NvdW50cy5maWx0ZXJCeSgndHlwZScsIEJhbmtBY2NvdW50VHlwZUVudW0uT0ZGU0VUKS5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHkuaWQpO1xuXG4gICAgaWYgKHllYXIgPiB0aGlzLmN1cnJlbnRZZWFyKSB7XG4gICAgICByZXR1cm4gYmFua0FjY291bnRzLml0ZW1zLnJlZHVjZSgodG90YWxTdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiB0b3RhbFN1bSArIChiYW5rQWNjb3VudC5nZXRQcm9wZXJ0eVBlcmNlbnRhZ2UocHJvcGVydHkuaWQpICogKGxvYW5zLmdldEJ5QmFua0FjY291bnRJZChiYW5rQWNjb3VudC5pZCk/LmdldExhc3RQYXltZW50QnlZZWFyKHllYXIpPy50b3RhbE93ZWQgfHwgMCkpLCAwKSAtIG9mZnNldDtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydHkuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcikubG9hbkJhbGFuY2U7XG4gICAgLy8gQFRPRE8gVFQtNDg4OCBubyBpZGVhIHdoeSBpdCB3YXMgY2FsY3VsYXRlZCBsaWtlIHRoYXRcbiAgICAvLyByZXR1cm4gcHJvcGVydHkuZ2V0VmFsdWF0aW9uQnlZZWFyKHllYXIpLm1hcmtldFZhbHVlIC0gb2Zmc2V0O1xuICB9XG5cbiAgZ2V0TWFya2V0VmFsdWVGb3JQcm9wZXJ0eUJ5WWVhcihwcm9wZXJ0eTogUHJvcGVydHksIHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKG5ldyBGaW5hbmNpYWxZZWFyKHByb3BlcnR5LmNvbnRyYWN0RGF0ZSkueWVhciA+IHllYXIpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9wZXJ0eS5nZXRWYWx1YXRpb25CeVllYXIoeWVhcikubWFya2V0VmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbG9hbiBiYWxhbmNlIGlzIDAgYW5kIHNldCBpdCBhcyBudWxsICh0byBub3QgdG8gZHJhdyBwb2ludCBvbiB0aGUgY2hhcnQpXG4gICAqL1xuICBwcml2YXRlIGNoZWNrWmVyb0xvYW5CYWxhbmNlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubG9hbkJhbGFuY2UgPT09IDApIHtcbiAgICAgICAgaXRlbS5sb2FuQmFsYW5jZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbWFya2V0IHZhbHVlIGlzIDAgYW5kIHNldCBpdCBhcyBudWxsICh0byBub3QgdG8gZHJhdyBwb2ludCBvbiB0aGUgY2hhcnQpXG4gICAqL1xuICBwcml2YXRlIGNoZWNrWmVyb01hcmtldFZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubWFya2V0VmFsdWUgPT09IDApIHtcbiAgICAgICAgaXRlbS5tYXJrZXRWYWx1ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -11,7 +11,7 @@ import { User } from '../user';
11
11
  import { TaxExemptionEnum } from '../../db/Enums/property/property-sale/tax-exemption.enum';
12
12
  import { PropertyCategoryListEnum } from '../../db/Enums/property/property-category-list.enum';
13
13
  import moment from 'moment';
14
- import { PropertySaleTaxExemptionMetaFieldCollection } from '../../collections';
14
+ import { PropertySaleTaxExemptionMetaFieldCollection, PropertyValuationCollection } from '../../collections';
15
15
  import round from 'lodash/round';
16
16
  import { AppFile } from '../file';
17
17
  import { PropertyCategoryMovement } from './property-category-movement';
@@ -90,6 +90,12 @@ export class Property extends PropertyBase {
90
90
  getForecastByYear(year) {
91
91
  return this.forecasts.find((forecast) => forecast.financialYear === year) ?? plainToClass(PropertyForecast, {});
92
92
  }
93
+ getValuationByYear(year) {
94
+ return new PropertyValuationCollection(this.valuations).filter(valuation => valuation.date <= new FinancialYear(year).endDate).last;
95
+ }
96
+ get valuation() {
97
+ return this.getValuationByYear(new FinancialYear().year);
98
+ }
93
99
  get isShared() {
94
100
  return this.shares.length > 1;
95
101
  }
@@ -245,9 +251,6 @@ __decorate([
245
251
  __decorate([
246
252
  Type(() => PropertyValuation)
247
253
  ], Property.prototype, "valuations", void 0);
248
- __decorate([
249
- Type(() => PropertyValuation)
250
- ], Property.prototype, "valuation", void 0);
251
254
  __decorate([
252
255
  Type(() => User)
253
256
  ], Property.prototype, "user", void 0);
@@ -260,4 +263,4 @@ __decorate([
260
263
  __decorate([
261
264
  Exclude()
262
265
  ], Property.prototype, "documentFile", void 0);
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7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QUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7bURBQ1M7QUFHOUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1E7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7MkNBQ0M7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO3dDQUNGO0FBR3hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzRDQUNFO0FBR2hDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzJDQUNEO0FBRzdCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztzQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOytDQUNLO0FBR3RDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztzQ0FDTjtBQUdkO0lBREMsT0FBTyxFQUFFOzhDQUNTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHkgYXMgUHJvcGVydHlCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmUgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gfSBmcm9tICcuL3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBFeGNsdWRlLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQWRkcmVzcyB9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeSB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnknO1xuaW1wb3J0IHsgUHJvcGVydHlWYWx1YXRpb24gfSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eUZvcmVjYXN0IH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBUYXhFeGVtcHRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSB9IGZyb20gJy4vcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgeyB1bml0T2ZUaW1lIH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7XG4gIERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sIFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24sIFRyYW5zYWN0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgcm91bmQgZnJvbSAnbG9kYXNoL3JvdW5kJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBwcm9wZXJ0eVNhbGUgZG9jcyAtIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDIwOTUwODM1My9Qcm9wZXJ0eStTb2xkK2J1dHRvblxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBQcm9wZXJ0eUJhc2Uge1xuICAvKipcbiAgICogUHJvcGVydHkgYWNxdWlyZWQgYmVmb3JlIDIwIFNlcHRlbWJlciAxOTg1IHdpbGwgZ2VuZXJhbGx5IGJlIHRyZWF0ZWQgYXMgcHJlLUNhcGl0YWwgR2FpbnMgVGF4IChDR1QpIGFzc2V0cy5cbiAgICogQW55IGFzc2V0cyBhY3F1aXJlZCBiZWZvcmUgdGhpcyBkYXkgYXJlIENHVCBleGVtcHQgKGJlY2F1c2UgdGhlIHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqL1xuICBzdGF0aWMgcHJlQ0dUQXNzZXREYXRlOiBEYXRlID0gbmV3IERhdGUoMTk4NSwgOSwgMjApO1xuICBzdGF0aWMgY29yZWxvZ2ljQ29vbGRvd24gPSAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDA7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBwdXJjaGFzZVByaWNlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBncm93dGhQZXJjZW50OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjb250cmFjdERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgc2V0dGxlbWVudERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5KVxuICBjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpXG4gIGNhdGVnb3J5TW92ZW1lbnRzOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRbXTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHN0YW1wRHV0eT86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGxlZ2FsRmVlcz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ2FwaXRhbENvc3RzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Rm9yZWNhc3QpXG4gIGZvcmVjYXN0czogUHJvcGVydHlGb3JlY2FzdFtdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U2hhcmUpXG4gIHNoYXJlczogUHJvcGVydHlTaGFyZVtdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5VmFsdWF0aW9uKVxuICB2YWx1YXRpb25zOiBQcm9wZXJ0eVZhbHVhdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5VmFsdWF0aW9uKVxuICB2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTdWJzY3JpcHRpb24pXG4gIHN1YnNjcmlwdGlvbnM6IFByb3BlcnR5U3Vic2NyaXB0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcblxuICBARXhjbHVkZSgpXG4gIGRvY3VtZW50RmlsZTogRmlsZTtcblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFkZHJlc3MubmFtZTtcbiAgfVxuXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN1YnNjcmlwdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIGlzT3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc1NvbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5teVNoYXJlPy5zYWxlO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3RhbXBEdXR5ICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ2FwaXRhbENvc3RzO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuaXNTb2xkKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbHVhdGlvbj8ubWFya2V0VmFsdWUgfHwgMDtcbiAgfVxuXG4gIGdldCBzaGFyZWRNYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzU29sZCgpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zaGFyZVJhdGlvICogdGhpcy5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhckZvcmVjYXN0KCk6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIGNvbnN0IHllYXIgPSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG5cbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPT09IHllYXIpXG4gICAgICA/PyBwbGFpblRvQ2xhc3MoUHJvcGVydHlGb3JlY2FzdCwge30pO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRSZW50YWxSZXR1cm4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uaW5jb21lID8/IDApIC8gdGhpcy52YWx1YXRpb24ubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFRheFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8udGF4UG9zaXRpb24gfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkQ2FzaFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2FzaFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKSA/PyBwbGFpblRvQ2xhc3MoUHJvcGVydHlGb3JlY2FzdCwge30pO1xuICB9XG5cbiAgZ2V0IGlzU2hhcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlcy5sZW5ndGggPiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIGNvbnNpZGVyIHRvIG1vdmUgbWV0aG9kcyByZWxhdGVkIHdpdGggcHJvcGVydHlTYWxlIHRvIHNlcGFyYXRlZCBjbGFzcywgc2luY2UgdXNlZCBqdXN0IGluIG9uZSBtb2R1bGUgeWV0XG4gICAqIHB1cmNoYXNlIGNvc3RzIC0gY2xhaW1lZCBjb3N0cywgZXhjZXB0IGBwcHIgdG8gaW52ZXN0bWVudGAgZXhlbXB0aW9uLFxuICAgKiBpbiB0aGF0IGNhc2UgaXQncyBlcXVhbCB0byBtYXJrZXQgdmFsdWUsIHdoZW4gcHJvcGVydHkgYmVjYW1lIGFuIGludmVzdG1lbnQgcHJvcGVydHlcbiAgICovXG4gIGNhbGN1bGF0ZUNvc3RCYXNlKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWFya2V0VmFsdWU6IG51bWJlciA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcykuZ2V0TWFya2V0VmFsdWUoKTtcbiAgICBpZiAobWFya2V0VmFsdWUpIHtcbiAgICAgIHJldHVybiBtYXJrZXRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wdXJjaGFzZVByaWNlICsgdGhpcy5jYXBpdGFsQ29zdHNUb3RhbEFtb3VudCArIHNhbGUuaG9sZGluZ0Nvc3RzICsgc2FsZS5zdHJ1Y3R1cmFsSW1wcm92ZW1lbnRzV0RWIC0gc2FsZS5idWlsZGluZ0F0Q29zdENsYWltZWQ7XG4gIH1cblxuICBjYWxjdWxhdGVHcm9zc0NhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHJvdW5kKChzYWxlLm5ldFByaWNlIC0gdGhpcy5jYWxjdWxhdGVDb3N0QmFzZShzYWxlKSkgKiB0aGlzLmdldFBhcnRpYWxDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHRoaXMuc2hhcmVSYXRpbywgMik7XG4gIH1cblxuICAvKipcbiAgICogbmV0IGNhcGl0YWwgZ2FpbiBpbmNsdWRlcyB0YXggZXhlbXB0aW9uXG4gICAqL1xuICBjYWxjdWxhdGVOZXRDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGUpICogc2FsZS5ncm9zc0NhcGl0YWxHYWluO1xuICB9XG5cbiAgLyoqXG4gICAqIGd1ZXNzIHRheCBleGVtcHRpb24gYmFzZWQgb24gcHJvcGVydHkgZGV0YWlsc1xuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uKHNhbGU6IFByb3BlcnR5U2FsZSk6IFRheEV4ZW1wdGlvbkVudW0ge1xuICAgIGlmIChzYWxlLnRheEV4ZW1wdGlvbikge1xuICAgICAgcmV0dXJuIHNhbGUudGF4RXhlbXB0aW9uLmlkO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgLy8gZXhlbXB0aW9uIGZvciBtYWluIHJlc2lkZW5jZSBwcm9wZXJ0aWVzXG4gICAgICBjYXNlIHRoaXMuY2F0ZWdvcnkuaWQgPT09IFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5PV05FUl9PQ0NVUElFRDpcbiAgICAgICAgcmV0dXJuIFRheEV4ZW1wdGlvbkVudW0uUFBSO1xuICAgICAgLy8gZXhlbXB0aW9uIGZvciBpbnZlc3RtZW50IHByb3BlcnRpZXMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKTpcbiAgICAgICAgcmV0dXJuIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhcnRpYWxDR1RFeGVtcHRpb25SYXRpbyhzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1ldGFGaWVsZHM6IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24gPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpO1xuXG4gICAgc3dpdGNoIChzYWxlLnRheEV4ZW1wdGlvbj8uaWQpIHtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgICAgY29uc3Qgb3duZXJzaGlwRGF5cyA9IHRoaXMuZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZSk7XG4gICAgICAgIHJldHVybiAob3duZXJzaGlwRGF5cyAtIG1ldGFGaWVsZHMuZ2V0UFBSRGF5cygpKSAvIG93bmVyc2hpcERheXM7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIHJldHVybiBtZXRhRmllbGRzLmdldENsYWltUGVyY2VudCgpIC8gMTAwO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRheCBleGVtcHRpb24gY2FuIHJlZHVjZSBjZ3QgZnJvbSAxMDAlIHRvIGxlc3MgKHVwIHRvIHplcm8pXG4gICAqL1xuICBnZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICAvLyA1MCUgZXhlbXB0aW9uIGZvciBpbnZlc3RtZW50cyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFOlxuICAgICAgICByZXR1cm4gMC41O1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpID8gMC41IDogMTtcbiAgICAgIC8vIGZ1bGwgZXhlbXB0aW9uXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlNJWF9ZRUFSU19SVUxFOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlRSQU5TRkVSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9USEVSOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIC8vIG5vIGV4ZW1wdGlvblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGluIGNndCByZXBvcnQgd2UgYXBwbHkgbG9zc2VzLCB3aGljaCBjYW4gcmVzZXQgMSB5ZWFyIHJ1bGUgKGluIGNhc2UgaWYgdGhlcmUgaXMgbm8gcHJvZml0IGFmdGVyIGxvc3MpXG4gICAqL1xuICBpc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGU6IFByb3BlcnR5U2FsZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4gPiAwICYmIHRoaXMuZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZSwgJ3llYXJzJykgPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENHVCBpcyBub3QgYXBwbGljYWJsZSBmb3IgcHJvcGVydGllcyBhY3F1aXJlZCBiZWZvcmUgMjAuMDkuMTk4NSAodGF4IGRpZG4ndCBleGlzdCBiZWZvcmUgdGhpcyBkYXRlKS5cbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NjQ0MTEwNDY2L1RheCtSZXR1cm4rTXlUYXgrLStPbmxpbmUrRm9ybSAoXCJDYXBpdGFsIGdhaW5zIG9yIGxvc3Nlc1wiIHNlY3Rpb24pXG4gICAqL1xuICBpc0NHVEFwcGxpY2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJhY3REYXRlID49IFByb3BlcnR5LnByZUNHVEFzc2V0RGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBvd25lcnNoaXAgZHVyYXRpb24gZnJvbSBwdXJjaGFzZSB0aWxsIHNhbGVcbiAgICovXG4gIGdldE93bmVyc2hpcER1cmF0aW9uKHNhbGU6IFByb3BlcnR5U2FsZSwgdW5pdE9mVGltZTogdW5pdE9mVGltZS5EaWZmID0gJ2RheXMnKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KHNhbGUuZGF0ZSkuZGlmZihtb21lbnQodGhpcy5jb250cmFjdERhdGUpLCB1bml0T2ZUaW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYXggUG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QgLSBEZXByZWNpYXRpb25cbiAgICogV2hlcmUgKEluY29tZSAtIEV4cGVuc2UgLSBJbnRlcmVzdCkgaXMgY2FzaCBwb3NpdGlvbi5cbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc0MTU5MjgvRGFzaGJvYXJkK1Byb3BlcnR5XG4gICAqL1xuICBnZXRUYXhQb3NpdGlvbih0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9ucy5ncm9zc0NsYWltQW1vdW50IC0gTWF0aC5hYnMoZGVwcmVjaWF0aW9ucy5jbGFpbUFtb3VudCk7XG4gIH1cblxuICBnZXQgbW9udGhseUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuaW5jb21lIC8gMTI7XG4gIH1cblxuICBnZXQgbW9udGhseUV4cGVuc2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmV4cGVuc2UgLyAxMjtcbiAgfVxuXG4gIGdldCBjb3JlbG9naWNOZXh0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlbG9naWNMYXN0UmVxdWVzdCA/IG5ldyBEYXRlKHRoaXMuY29yZWxvZ2ljTGFzdFJlcXVlc3QuZ2V0VGltZSgpICsgUHJvcGVydHkuY29yZWxvZ2ljQ29vbGRvd24pIDogbmV3IERhdGUoKTtcbiAgfVxuXG4gIGlzQ29yZWxvZ2ljQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvcmVsb2dpY0xhc3RSZXF1ZXN0IDwgbmV3IERhdGUoRGF0ZS5ub3coKSAtIFByb3BlcnR5LmNvcmVsb2dpY0Nvb2xkb3duKTtcbiAgfVxufVxuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUVMLDJDQUEyQyxFQUMzQywyQkFBMkIsRUFFNUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0s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Yi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVhdGlvbiB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5Rm9yZWNhc3QgfSBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IFRheEV4ZW1wdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi9wcm9wZXJ0eS1zYWxlJztcbmltcG9ydCB7IHVuaXRPZlRpbWUgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbixcbiAgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbixcbiAgUHJvcGVydHlWYWx1YXRpb25Db2xsZWN0aW9uLFxuICBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogcHJvcGVydHlTYWxlIGRvY3MgLSBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQyMDk1MDgzNTMvUHJvcGVydHkrU29sZCtidXR0b25cbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgUHJvcGVydHlCYXNlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcbiAgc3RhdGljIGNvcmVsb2dpY0Nvb2xkb3duID0gMzAgKiAyNCAqIDYwICogNjAgKiAxMDAwO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgcHVyY2hhc2VQcmljZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgZ3Jvd3RoUGVyY2VudDogbnVtYmVyXG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY29udHJhY3REYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KVxuICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBzdGFtcER1dHk/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBsZWdhbEZlZXM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBvdGhlckNhcGl0YWxDb3N0cz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUZvcmVjYXN0KVxuICBmb3JlY2FzdHM6IFByb3BlcnR5Rm9yZWNhc3RbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVNoYXJlKVxuICBzaGFyZXM6IFByb3BlcnR5U2hhcmVbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U3Vic2NyaXB0aW9uKVxuICBzdWJzY3JpcHRpb25zOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgQEV4Y2x1ZGUoKVxuICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubXlTaGFyZT8uc2FsZTtcbiAgfVxuXG4gIGdldCBjYXBpdGFsQ29zdHNUb3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN0YW1wRHV0eSArIHRoaXMubGVnYWxGZWVzICsgdGhpcy5vdGhlckNhcGl0YWxDb3N0cztcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzU29sZCgpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgc2hhcmVkTWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5pc1NvbGQoKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVSYXRpbyAqIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICBjb25zdCB5ZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuXG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKVxuICAgICAgPz8gcGxhaW5Ub0NsYXNzKFByb3BlcnR5Rm9yZWNhc3QsIHt9KTtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkUmVudGFsUmV0dXJuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmluY29tZSA/PyAwKSAvIHRoaXMudmFsdWF0aW9uLm1hcmtldFZhbHVlO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IG15U2hhcmUoKTogUHJvcGVydHlTaGFyZSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVzLmZpbmQoKHNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogYm9vbGVhbiA9PiBzaGFyZS51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKTtcbiAgfVxuXG4gIGdldCBjbGFpbVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmNsYWltUGVyY2VudDtcbiAgfVxuXG4gIGdldCBjbGFpbUNvZWZmaWNpZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2xhaW1QZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IHNoYXJlUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm15U2hhcmUucGVyY2VudDtcbiAgfVxuXG4gIGdldCBzaGFyZVJhdGlvKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0Q3VycmVudFN1YnNjcmlwdGlvbigpOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB7XG4gICAgLy8gYWx3YXlzIHJldHVybiBmaXJzdCBlbGVtZW50IGJlY2F1c2Ugc3Vic2NyaXB0aW9ucyBhcnJheSBjb250YWlucyBvbmx5IG9uZSBlbGVtZW50XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1swXTtcbiAgfVxuXG4gIGdldEZvcmVjYXN0QnlZZWFyKHllYXI6IG51bWJlcik6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcikgPz8gcGxhaW5Ub0NsYXNzKFByb3BlcnR5Rm9yZWNhc3QsIHt9KTtcbiAgfVxuXG4gIGdldFZhbHVhdGlvbkJ5WWVhcih5ZWFyOiBudW1iZXIpOiBQcm9wZXJ0eVZhbHVhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eVZhbHVhdGlvbkNvbGxlY3Rpb24odGhpcy52YWx1YXRpb25zKS5maWx0ZXIodmFsdWF0aW9uID0+IHZhbHVhdGlvbi5kYXRlIDw9IG5ldyBGaW5hbmNpYWxZZWFyKHllYXIpLmVuZERhdGUpLmxhc3Q7XG4gIH1cblxuICBnZXQgdmFsdWF0aW9uKCk6IFByb3BlcnR5VmFsdWF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1YXRpb25CeVllYXIobmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgY2FsY3VsYXRlR3Jvc3NDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCgoc2FsZS5uZXRQcmljZSAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5nZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiB0aGlzLnNoYXJlUmF0aW8sIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmluY29tZSAvIDEyO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlFeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5leHBlbnNlIC8gMTI7XG4gIH1cblxuICBnZXQgY29yZWxvZ2ljTmV4dERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29yZWxvZ2ljTGFzdFJlcXVlc3QgPyBuZXcgRGF0ZSh0aGlzLmNvcmVsb2dpY0xhc3RSZXF1ZXN0LmdldFRpbWUoKSArIFByb3BlcnR5LmNvcmVsb2dpY0Nvb2xkb3duKSA6IG5ldyBEYXRlKCk7XG4gIH1cblxuICBpc0NvcmVsb2dpY0F2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlbG9naWNMYXN0UmVxdWVzdCA8IG5ldyBEYXRlKERhdGUubm93KCkgLSBQcm9wZXJ0eS5jb3JlbG9naWNDb29sZG93bik7XG4gIH1cbn1cbiJdfQ==
@@ -5,6 +5,7 @@ import { UserRolesEnum } from 'taxtank-core/common';
5
5
  import { HoldingTradeImport } from '../../../../models';
6
6
  import { throwError as observableThrowError } from 'rxjs';
7
7
  import { catchError, map } from 'rxjs/operators';
8
+ import { HoldingTradeImportMessagesEnum } from './holding-trade-import-messages.enum';
8
9
  import * as i0 from "@angular/core";
9
10
  export class HoldingTradeImportService extends RestService {
10
11
  constructor() {
@@ -23,6 +24,7 @@ export class HoldingTradeImportService extends RestService {
23
24
  return this.http.post(this.apiUrl, formData).pipe(map((response) => {
24
25
  const holdingTradeImport = this.createModelInstance(response);
25
26
  this.handleResponse([holdingTradeImport], 'post');
27
+ this.toastService.success(HoldingTradeImportMessagesEnum.CREATED);
26
28
  return holdingTradeImport;
27
29
  }), catchError((error) => {
28
30
  if (error.status === 400) {
@@ -40,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
40
42
  providedIn: 'root'
41
43
  }]
42
44
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2hvbGRpbmcvaG9sZGluZy10cmFkZS1pbXBvcnQvaG9sZGluZy10cmFkZS1pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT2pELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUF1RjtJQUh0STs7UUFJRSxlQUFVLEdBQThCLGtCQUFrQixDQUFDO1FBQzNELG9CQUFlLEdBQTBDLENBQUEsVUFBOEIsQ0FBQSxDQUFDO1FBQ3hGLGdCQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDdEMsb0JBQWUsR0FBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRixVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7S0F5QnRDO0lBdEJDLE1BQU0sQ0FBQyxJQUFVLEVBQUUsVUFBa0IsRUFBRSxTQUFrQjtRQUN2RCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sa0JBQWtCLEdBQXVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVsRCxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdDO1lBRUQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0E3QlUseUJBQXlCO21IQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlSW1wb3J0IGFzIEhvbGRpbmdUcmFkZUltcG9ydEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvaG9sZGluZy9ob2xkaW5nLXRyYWRlLWltcG9ydCc7XG5pbXBvcnQgeyBIb2xkaW5nVHJhZGVJbXBvcnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlSW1wb3J0TWVzc2FnZXNFbnVtIH0gZnJvbSAnLi9ob2xkaW5nLXRyYWRlLWltcG9ydC1tZXNzYWdlcy5lbnVtJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHJhZGVJbXBvcnRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8SG9sZGluZ1RyYWRlSW1wb3J0QmFzZSwgSG9sZGluZ1RyYWRlSW1wb3J0LCBDb2xsZWN0aW9uPEhvbGRpbmdUcmFkZUltcG9ydD4+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIEhvbGRpbmdUcmFkZUltcG9ydCA9IEhvbGRpbmdUcmFkZUltcG9ydDtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ29sbGVjdGlvbjxIb2xkaW5nVHJhZGVJbXBvcnQ+ID0gQ29sbGVjdGlvbjxIb2xkaW5nVHJhZGVJbXBvcnQ+O1xuICBlbmRwb2ludFVyaSA9ICdob2xkaW5nLXRyYWRlLWltcG9ydHMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0QmF0Y2gnLCAnZGVsZXRlQmF0Y2gnXTtcbiAgcm9sZXMgPSBbVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTktdO1xuXG5cbiAgaW1wb3J0KGZpbGU6IEZpbGUsIGV4Y2hhbmdlSWQ6IG51bWJlciwgaXNUYXhGcmVlOiBib29sZWFuKTogT2JzZXJ2YWJsZTxIb2xkaW5nVHJhZGVJbXBvcnQ+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2V4Y2hhbmdlSWQnLCBleGNoYW5nZUlkLnRvU3RyaW5nKCkpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnaXNUYXhGcmVlJywgKGlzVGF4RnJlZSA/IDEgOiAwKS50b1N0cmluZygpKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCwgZm9ybURhdGEpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgY29uc3QgaG9sZGluZ1RyYWRlSW1wb3J0OiBIb2xkaW5nVHJhZGVJbXBvcnQgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtob2xkaW5nVHJhZGVJbXBvcnRdLCAncG9zdCcpO1xuXG4gICAgICAgIHJldHVybiBob2xkaW5nVHJhZGVJbXBvcnQ7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihlcnJvci5lcnJvci5kZXRhaWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS1pbXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2hvbGRpbmcvaG9sZGluZy10cmFkZS1pbXBvcnQvaG9sZGluZy10cmFkZS1pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBTXRGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUF1RjtJQUh0STs7UUFJRSxlQUFVLEdBQThCLGtCQUFrQixDQUFDO1FBQzNELG9CQUFlLEdBQTBDLENBQUEsVUFBOEIsQ0FBQSxDQUFDO1FBQ3hGLGdCQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDdEMsb0JBQWUsR0FBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRixVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7S0EwQnRDO0lBdkJDLE1BQU0sQ0FBQyxJQUFVLEVBQUUsVUFBa0IsRUFBRSxTQUFrQjtRQUN2RCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sa0JBQWtCLEdBQXVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsRSxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdDO1lBRUQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0E5QlUseUJBQXlCO21IQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlSW1wb3J0IGFzIEhvbGRpbmdUcmFkZUltcG9ydEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvaG9sZGluZy9ob2xkaW5nLXRyYWRlLWltcG9ydCc7XG5pbXBvcnQgeyBIb2xkaW5nVHJhZGVJbXBvcnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlSW1wb3J0TWVzc2FnZXNFbnVtIH0gZnJvbSAnLi9ob2xkaW5nLXRyYWRlLWltcG9ydC1tZXNzYWdlcy5lbnVtJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHJhZGVJbXBvcnRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8SG9sZGluZ1RyYWRlSW1wb3J0QmFzZSwgSG9sZGluZ1RyYWRlSW1wb3J0LCBDb2xsZWN0aW9uPEhvbGRpbmdUcmFkZUltcG9ydD4+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIEhvbGRpbmdUcmFkZUltcG9ydCA9IEhvbGRpbmdUcmFkZUltcG9ydDtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ29sbGVjdGlvbjxIb2xkaW5nVHJhZGVJbXBvcnQ+ID0gQ29sbGVjdGlvbjxIb2xkaW5nVHJhZGVJbXBvcnQ+O1xuICBlbmRwb2ludFVyaSA9ICdob2xkaW5nLXRyYWRlLWltcG9ydHMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0QmF0Y2gnLCAnZGVsZXRlQmF0Y2gnXTtcbiAgcm9sZXMgPSBbVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTktdO1xuXG5cbiAgaW1wb3J0KGZpbGU6IEZpbGUsIGV4Y2hhbmdlSWQ6IG51bWJlciwgaXNUYXhGcmVlOiBib29sZWFuKTogT2JzZXJ2YWJsZTxIb2xkaW5nVHJhZGVJbXBvcnQ+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2V4Y2hhbmdlSWQnLCBleGNoYW5nZUlkLnRvU3RyaW5nKCkpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnaXNUYXhGcmVlJywgKGlzVGF4RnJlZSA/IDEgOiAwKS50b1N0cmluZygpKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCwgZm9ybURhdGEpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgY29uc3QgaG9sZGluZ1RyYWRlSW1wb3J0OiBIb2xkaW5nVHJhZGVJbXBvcnQgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtob2xkaW5nVHJhZGVJbXBvcnRdLCAncG9zdCcpO1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKEhvbGRpbmdUcmFkZUltcG9ydE1lc3NhZ2VzRW51bS5DUkVBVEVEKTtcblxuICAgICAgICByZXR1cm4gaG9sZGluZ1RyYWRlSW1wb3J0O1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3IuZGV0YWlsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==