taxtank-core 0.30.2 → 0.30.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2020/lib/collections/collection.mjs +1 -1
  2. package/esm2020/lib/db/static/chart-accounts/chart-accounts-value.json +376 -0
  3. package/esm2020/lib/db-static/chart-accounts/chart-accounts-values.mjs +9 -0
  4. package/esm2020/lib/forms/abstract.form.mjs +6 -1
  5. package/esm2020/lib/forms/sole/sole-invoice.form.mjs +3 -3
  6. package/esm2020/lib/forms/transaction/work/work-expense.form.mjs +9 -2
  7. package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +1 -1
  8. package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +10 -2
  9. package/esm2020/lib/models/transaction/transaction.mjs +4 -4
  10. package/esm2020/lib/services/http/income-source/income-source.service.mjs +2 -2
  11. package/esm2020/lib/services/http/rest/rest-old.service.mjs +14 -14
  12. package/esm2020/lib/services/http/rest/rest.service.mjs +16 -16
  13. package/esm2020/lib/services/http/transaction/transaction.service.mjs +12 -13
  14. package/esm2020/lib/services/pdf/index.mjs +2 -1
  15. package/esm2020/lib/services/pdf/js-pdf.mjs +10 -0
  16. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +2 -2
  17. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +5 -6
  18. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +4 -5
  19. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +1 -1
  20. package/fesm2015/taxtank-core.mjs +4376 -3899
  21. package/fesm2015/taxtank-core.mjs.map +1 -1
  22. package/fesm2020/taxtank-core.mjs +4348 -3871
  23. package/fesm2020/taxtank-core.mjs.map +1 -1
  24. package/lib/collections/collection.d.ts +1 -1
  25. package/lib/db-static/chart-accounts/chart-accounts-values.d.ts +6 -0
  26. package/lib/forms/abstract.form.d.ts +5 -1
  27. package/lib/forms/transaction/work/work-expense.form.d.ts +5 -0
  28. package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
  29. package/lib/models/transaction/transaction.d.ts +5 -5
  30. package/lib/services/http/rest/rest-old.service.d.ts +6 -6
  31. package/lib/services/http/rest/rest.service.d.ts +3 -3
  32. package/lib/services/http/transaction/transaction.service.d.ts +2 -1
  33. package/lib/services/pdf/index.d.ts +1 -0
  34. package/lib/services/pdf/js-pdf.d.ts +9 -0
  35. package/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.d.ts +1 -1
  36. package/lib/services/pdf/pdf-from-table/pdf-from-table.service.d.ts +4 -4
  37. package/package.json +3 -3
@@ -144,4 +144,4 @@ export class Collection {
144
144
  return +this.items.reduce(callback, init).toFixed(2);
145
145
  }
146
146
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcxQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQVNyQixZQUFZLFFBQWlCLEVBQUU7UUFML0I7O1dBRUc7UUFDSCxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNC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QztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFXLEVBQUUsT0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFRCxNQUFNLENBQUMsUUFBOEMsRUFBRSxPQUFlLENBQUM7UUFDckUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XHJcbmltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xyXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XHJcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XHJcbmltcG9ydCB7IHNvcnQgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xyXG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2RiL01vZGVscy9hYnN0cmFjdC1tb2RlbCc7XHJcblxyXG5jb25zdCBERUZBVUxUX0lOREVYID0gJ290aGVyJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbGxlY3Rpb24gY2xhc3MuIENvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBhbGwgY29sbGVjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbD4gaW1wbGVtZW50cyBJdGVyYWJsZTxNb2RlbD4ge1xyXG4gIC8vIGxpc3Qgb2YgY29sbGVjdGlvbidzIGl0ZW1zXHJcbiAgaXRlbXM6IE1vZGVsW107XHJcblxyXG4gIC8qKlxyXG4gICAqIGluZGV4IG9mIGN1cnJlbnQgaXRlbSwgdXNlZCB0byBpdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICBpbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IE1vZGVsW10gPSBbXSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgLy8gQFRPRE8gQWxleDogVGhpbmsgYW5kIGltcGxlbWVudCBzb21lIHNtYXJ0IHNvbHV0aW9uIGZvciBkZWZhdWx0IHNvcnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0ZXJhdG9yIHRoYXQgYWxsb3cgdG8gaXRlcmF0ZSBjb2xsZWN0aW9uIGl0ZW1zXHJcbiAgICovXHJcbiAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8TW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGl0ZW1zOiBNb2RlbFtdID0gW10pOiB0aGlzIHtcclxuICAgIHJldHVybiBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KShpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICB0b0FycmF5KCk6IE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLml0ZW1zXTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gZmlyc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gbGFzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IE1vZGVsIHtcclxuICAgIHRoaXMuaW5kZXggPSAwO1xyXG5cclxuICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA8IHRoaXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgrKztcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5pbmRleC0tO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJZHMoKTogbnVtYmVyW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtOiBNb2RlbCk6IG51bWJlciA9PiBpdGVtWydpZCddKTtcclxuICB9XHJcblxyXG4gIG1hcEJ5KHBhdGg6IHN0cmluZyk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBhbnkgPT4gZ2V0KGl0ZW0sIHBhdGgpKVxyXG4gIH1cclxuXHJcbiAgc29ydEJ5KGZpZWxkOiBzdHJpbmcgPSAnaWQnLCBpc0Rlc2M6IGJvb2xlYW4gPSB0cnVlKTogdGhpcyB7XHJcbiAgICBzb3J0KHRoaXMuaXRlbXMsIGZpZWxkLCBpc0Rlc2MpO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc29ydChjYWxsYmFjazogKGE6IE1vZGVsLCBiOiBNb2RlbCkgPT4gbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNvcnQoY2FsbGJhY2spO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRvdGFsIHN1bSBvZiBpdGVtcyBieSBmaWVsZFxyXG4gICAqL1xyXG4gIHN1bUJ5KHBhdGg6IHN0cmluZywgYWJzOiBib29sZWFuID0gZmFsc2UpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucmVkdWNlKFxyXG4gICAgICAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IHN1bSArIChhYnMgPyBNYXRoLmFicyhOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSkgOiBOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5KHBhdGg6IHN0cmluZyA9ICcnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aDogc3RyaW5nKTogb2JqZWN0IHtcclxuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXHJcbiAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogTW9kZWwgfSA9IHt9O1xyXG5cclxuICAgIHRoaXMudG9BcnJheSgpLmZvckVhY2goKG1vZGVsOiBNb2RlbCkgPT4ge1xyXG4gICAgICByZXN1bHRbZ2V0KG1vZGVsLCBwYXRoLCBERUZBVUxUX0lOREVYKV0gPSBtb2RlbDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMuZmlsdGVyKGNhbGxiYWNrKSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeShwYXRoOiBzdHJpbmcsIHZhbHVlczogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnlSYW5nZShwYXRoOiBzdHJpbmcsIGZyb206IGFueSwgdG86IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gZ2V0KGl0ZW0sIHBhdGgpID49IGZyb20gJiYgZ2V0KGl0ZW0sIHBhdGgpIDw9IHRvKTtcclxuICB9XHJcblxyXG4gIGZpbmQoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IE1vZGVsIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobW9kZWw6IE1vZGVsKSA9PiB2YWx1ZSA9PT0gZ2V0KG1vZGVsLCBwYXRoKSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXhCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1c2goLi4uaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KCdpZCcsIGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIGl0J3MgZmlsdGVyLCBub3QgcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIShBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpdGVtOiBNb2RlbCk6IHRoaXMge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZmluZEluZGV4QnkocGF0aCwgdmFsdWUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZGlmZihpdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChtb2RlbDogTW9kZWwpID0+ICFpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKS5pbmNsdWRlcyhtb2RlbC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgbWluQnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPCBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgbWF4QnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPiBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgcmVkdWNlKGNhbGxiYWNrOiAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiBudW1iZXIsIGluaXQ6IG51bWJlciA9IDApOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZShjYWxsYmFjaywgaW5pdCkudG9GaXhlZCgyKTtcclxuICB9XHJcbn1cclxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcxQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQVNyQixZQUFZLFFBQWlCLEVBQUU7UUFML0I7O1dBRUc7UUFDSCxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNC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QztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFXLEVBQUUsT0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFRCxNQUFNLENBQUMsUUFBOEMsRUFBRSxPQUFlLENBQUM7UUFDckUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XHJcbmltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xyXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XHJcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XHJcbmltcG9ydCB7IHNvcnQgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xyXG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcblxyXG5jb25zdCBERUZBVUxUX0lOREVYID0gJ290aGVyJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbGxlY3Rpb24gY2xhc3MuIENvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBhbGwgY29sbGVjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbD4gaW1wbGVtZW50cyBJdGVyYWJsZTxNb2RlbD4ge1xyXG4gIC8vIGxpc3Qgb2YgY29sbGVjdGlvbidzIGl0ZW1zXHJcbiAgaXRlbXM6IE1vZGVsW107XHJcblxyXG4gIC8qKlxyXG4gICAqIGluZGV4IG9mIGN1cnJlbnQgaXRlbSwgdXNlZCB0byBpdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICBpbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IE1vZGVsW10gPSBbXSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgLy8gQFRPRE8gQWxleDogVGhpbmsgYW5kIGltcGxlbWVudCBzb21lIHNtYXJ0IHNvbHV0aW9uIGZvciBkZWZhdWx0IHNvcnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0ZXJhdG9yIHRoYXQgYWxsb3cgdG8gaXRlcmF0ZSBjb2xsZWN0aW9uIGl0ZW1zXHJcbiAgICovXHJcbiAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8TW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGl0ZW1zOiBNb2RlbFtdID0gW10pOiB0aGlzIHtcclxuICAgIHJldHVybiBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KShpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICB0b0FycmF5KCk6IE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLml0ZW1zXTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gZmlyc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gbGFzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IE1vZGVsIHtcclxuICAgIHRoaXMuaW5kZXggPSAwO1xyXG5cclxuICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA8IHRoaXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgrKztcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5pbmRleC0tO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJZHMoKTogbnVtYmVyW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtOiBNb2RlbCk6IG51bWJlciA9PiBpdGVtWydpZCddKTtcclxuICB9XHJcblxyXG4gIG1hcEJ5KHBhdGg6IHN0cmluZyk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBhbnkgPT4gZ2V0KGl0ZW0sIHBhdGgpKVxyXG4gIH1cclxuXHJcbiAgc29ydEJ5KGZpZWxkOiBzdHJpbmcgPSAnaWQnLCBpc0Rlc2M6IGJvb2xlYW4gPSB0cnVlKTogdGhpcyB7XHJcbiAgICBzb3J0KHRoaXMuaXRlbXMsIGZpZWxkLCBpc0Rlc2MpO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc29ydChjYWxsYmFjazogKGE6IE1vZGVsLCBiOiBNb2RlbCkgPT4gbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNvcnQoY2FsbGJhY2spO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRvdGFsIHN1bSBvZiBpdGVtcyBieSBmaWVsZFxyXG4gICAqL1xyXG4gIHN1bUJ5KHBhdGg6IHN0cmluZywgYWJzOiBib29sZWFuID0gZmFsc2UpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucmVkdWNlKFxyXG4gICAgICAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IHN1bSArIChhYnMgPyBNYXRoLmFicyhOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSkgOiBOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5KHBhdGg6IHN0cmluZyA9ICcnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aDogc3RyaW5nKTogb2JqZWN0IHtcclxuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXHJcbiAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogTW9kZWwgfSA9IHt9O1xyXG5cclxuICAgIHRoaXMudG9BcnJheSgpLmZvckVhY2goKG1vZGVsOiBNb2RlbCkgPT4ge1xyXG4gICAgICByZXN1bHRbZ2V0KG1vZGVsLCBwYXRoLCBERUZBVUxUX0lOREVYKV0gPSBtb2RlbDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMuZmlsdGVyKGNhbGxiYWNrKSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeShwYXRoOiBzdHJpbmcsIHZhbHVlczogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnlSYW5nZShwYXRoOiBzdHJpbmcsIGZyb206IGFueSwgdG86IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gZ2V0KGl0ZW0sIHBhdGgpID49IGZyb20gJiYgZ2V0KGl0ZW0sIHBhdGgpIDw9IHRvKTtcclxuICB9XHJcblxyXG4gIGZpbmQoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IE1vZGVsIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobW9kZWw6IE1vZGVsKSA9PiB2YWx1ZSA9PT0gZ2V0KG1vZGVsLCBwYXRoKSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXhCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1c2goLi4uaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KCdpZCcsIGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIGl0J3MgZmlsdGVyLCBub3QgcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIShBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpdGVtOiBNb2RlbCk6IHRoaXMge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZmluZEluZGV4QnkocGF0aCwgdmFsdWUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZGlmZihpdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChtb2RlbDogTW9kZWwpID0+ICFpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKS5pbmNsdWRlcyhtb2RlbC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgbWluQnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPCBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgbWF4QnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPiBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgcmVkdWNlKGNhbGxiYWNrOiAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiBudW1iZXIsIGluaXQ6IG51bWJlciA9IDApOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZShjYWxsYmFjaywgaW5pdCkudG9GaXhlZCgyKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,376 @@
1
+ [
2
+ {
3
+ "id": 1,
4
+ "chartAccounts": { "id": 24 },
5
+ "financialYear": 2017,
6
+ "startDate": null,
7
+ "endDate": null,
8
+ "value": 0.66,
9
+ "unitOfMeasure": "kilometres",
10
+ "createdAt": "2020-05-23 00:00:00",
11
+ "updatedAt": "2020-05-23 00:00:00"
12
+ },
13
+ {
14
+ "id": 2,
15
+ "chartAccounts": { "id": 24 },
16
+ "financialYear": 2018,
17
+ "startDate": null,
18
+ "endDate": null,
19
+ "value": 0.66,
20
+ "unitOfMeasure": "kilometres",
21
+ "createdAt": "2020-05-23 00:00:00",
22
+ "updatedAt": "2020-05-23 00:00:00"
23
+ },
24
+ {
25
+ "id": 3,
26
+ "chartAccounts": { "id": 24 },
27
+ "financialYear": 2019,
28
+ "startDate": null,
29
+ "endDate": null,
30
+ "value": 0.68,
31
+ "unitOfMeasure": "kilometres",
32
+ "createdAt": "2020-05-23 00:00:00",
33
+ "updatedAt": "2020-05-23 00:00:00"
34
+ },
35
+ {
36
+ "id": 4,
37
+ "chartAccounts": { "id": 24 },
38
+ "financialYear": 2020,
39
+ "startDate": null,
40
+ "endDate": null,
41
+ "value": 0.68,
42
+ "unitOfMeasure": "kilometres",
43
+ "createdAt": "2020-05-23 00:00:00",
44
+ "updatedAt": "2020-05-23 00:00:00"
45
+ },
46
+ {
47
+ "id": 14,
48
+ "chartAccounts": { "id": 87 },
49
+ "financialYear": 2018,
50
+ "startDate": null,
51
+ "endDate": null,
52
+ "value": 0.45,
53
+ "unitOfMeasure": "hours",
54
+ "createdAt": "2020-05-23 00:00:00",
55
+ "updatedAt": "2020-05-23 00:00:00"
56
+ },
57
+ {
58
+ "id": 15,
59
+ "chartAccounts": { "id": 87 },
60
+ "financialYear": 2019,
61
+ "startDate": null,
62
+ "endDate": null,
63
+ "value": 0.52,
64
+ "unitOfMeasure": "hours",
65
+ "createdAt": "2020-05-23 00:00:00",
66
+ "updatedAt": "2020-05-23 00:00:00"
67
+ },
68
+ {
69
+ "id": 16,
70
+ "chartAccounts": { "id": 87 },
71
+ "financialYear": 2020,
72
+ "startDate": null,
73
+ "endDate": null,
74
+ "value": 0.52,
75
+ "unitOfMeasure": "hours",
76
+ "createdAt": "2020-05-23 00:00:00",
77
+ "updatedAt": "2020-05-23 00:00:00"
78
+ },
79
+ {
80
+ "id": 17,
81
+ "chartAccounts": { "id": 103 },
82
+ "financialYear": 2017,
83
+ "startDate": null,
84
+ "endDate": null,
85
+ "value": 0.45,
86
+ "unitOfMeasure": "hours",
87
+ "createdAt": "2020-05-23 00:00:00",
88
+ "updatedAt": "2020-05-23 00:00:00"
89
+ },
90
+ {
91
+ "id": 18,
92
+ "chartAccounts": { "id": 103 },
93
+ "financialYear": 2018,
94
+ "startDate": null,
95
+ "endDate": null,
96
+ "value": 0.45,
97
+ "unitOfMeasure": "hours",
98
+ "createdAt": "2020-05-23 00:00:00",
99
+ "updatedAt": "2020-05-23 00:00:00"
100
+ },
101
+ {
102
+ "id": 19,
103
+ "chartAccounts": { "id": 103 },
104
+ "financialYear": 2019,
105
+ "startDate": null,
106
+ "endDate": null,
107
+ "value": 0.52,
108
+ "unitOfMeasure": "hours",
109
+ "createdAt": "2020-05-23 00:00:00",
110
+ "updatedAt": "2020-05-23 00:00:00"
111
+ },
112
+ {
113
+ "id": 20,
114
+ "chartAccounts": { "id": 103 },
115
+ "financialYear": 2020,
116
+ "startDate": null,
117
+ "endDate": null,
118
+ "value": 0.52,
119
+ "unitOfMeasure": "hours",
120
+ "createdAt": "2020-05-23 00:00:00",
121
+ "updatedAt": "2020-05-23 00:00:00"
122
+ },
123
+ {
124
+ "id": 21,
125
+ "chartAccounts": { "id": 288 },
126
+ "financialYear": 2017,
127
+ "startDate": null,
128
+ "endDate": null,
129
+ "value": 0.45,
130
+ "unitOfMeasure": "hours",
131
+ "createdAt": "2020-05-23 00:00:00",
132
+ "updatedAt": "2020-05-23 00:00:00"
133
+ },
134
+ {
135
+ "id": 22,
136
+ "chartAccounts": { "id": 288 },
137
+ "financialYear": 2018,
138
+ "startDate": null,
139
+ "endDate": null,
140
+ "value": 0.45,
141
+ "unitOfMeasure": "hours",
142
+ "createdAt": "2020-05-23 00:00:00",
143
+ "updatedAt": "2020-05-23 00:00:00"
144
+ },
145
+ {
146
+ "id": 23,
147
+ "chartAccounts": { "id": 288 },
148
+ "financialYear": 2019,
149
+ "startDate": null,
150
+ "endDate": null,
151
+ "value": 0.52,
152
+ "unitOfMeasure": "hours",
153
+ "createdAt": "2020-05-23 00:00:00",
154
+ "updatedAt": "2020-05-23 00:00:00"
155
+ },
156
+ {
157
+ "id": 24,
158
+ "chartAccounts": { "id": 288 },
159
+ "financialYear": 2020,
160
+ "startDate": null,
161
+ "endDate": null,
162
+ "value": 0.52,
163
+ "unitOfMeasure": "hours",
164
+ "createdAt": "2020-05-23 00:00:00",
165
+ "updatedAt": "2020-05-23 00:00:00"
166
+ },
167
+ {
168
+ "id": 25,
169
+ "chartAccounts": { "id": 24 },
170
+ "financialYear": 2021,
171
+ "startDate": null,
172
+ "endDate": null,
173
+ "value": 0.72,
174
+ "unitOfMeasure": "kilometres",
175
+ "createdAt": "2020-05-23 00:00:00",
176
+ "updatedAt": "2020-05-23 00:00:00"
177
+ },
178
+ {
179
+ "id": 28,
180
+ "chartAccounts": { "id": 87 },
181
+ "financialYear": 2021,
182
+ "startDate": null,
183
+ "endDate": null,
184
+ "value": 0.52,
185
+ "unitOfMeasure": "hours",
186
+ "createdAt": "2020-05-23 00:00:00",
187
+ "updatedAt": "2020-05-23 00:00:00"
188
+ },
189
+ {
190
+ "id": 29,
191
+ "chartAccounts": { "id": 103 },
192
+ "financialYear": 2021,
193
+ "startDate": null,
194
+ "endDate": null,
195
+ "value": 0.52,
196
+ "unitOfMeasure": "hours",
197
+ "createdAt": "2020-05-23 00:00:00",
198
+ "updatedAt": "2020-05-23 00:00:00"
199
+ },
200
+ {
201
+ "id": 30,
202
+ "chartAccounts": { "id": 288 },
203
+ "financialYear": 2021,
204
+ "startDate": null,
205
+ "endDate": null,
206
+ "value": 0.52,
207
+ "unitOfMeasure": "hours",
208
+ "createdAt": "2020-05-23 00:00:00",
209
+ "updatedAt": "2020-05-23 00:00:00"
210
+ },
211
+ {
212
+ "id": 31,
213
+ "chartAccounts": { "id": 24 },
214
+ "financialYear": 2022,
215
+ "startDate": null,
216
+ "endDate": null,
217
+ "value": 0.72,
218
+ "unitOfMeasure": "kilometres",
219
+ "createdAt": "2020-05-23 00:00:00",
220
+ "updatedAt": "2020-05-23 00:00:00"
221
+ },
222
+ {
223
+ "id": 32,
224
+ "chartAccounts": { "id": 87 },
225
+ "financialYear": 2022,
226
+ "startDate": null,
227
+ "endDate": null,
228
+ "value": 0.52,
229
+ "unitOfMeasure": "hours",
230
+ "createdAt": "2020-05-23 00:00:00",
231
+ "updatedAt": "2020-05-23 00:00:00"
232
+ },
233
+ {
234
+ "id": 33,
235
+ "chartAccounts": { "id": 103 },
236
+ "financialYear": 2022,
237
+ "startDate": null,
238
+ "endDate": null,
239
+ "value": 0.52,
240
+ "unitOfMeasure": "hours",
241
+ "createdAt": "2020-05-23 00:00:00",
242
+ "updatedAt": "2020-05-23 00:00:00"
243
+ },
244
+ {
245
+ "id": 34,
246
+ "chartAccounts": { "id": 288 },
247
+ "financialYear": 2022,
248
+ "startDate": null,
249
+ "endDate": null,
250
+ "value": 0.52,
251
+ "unitOfMeasure": "hours",
252
+ "createdAt": "2020-05-23 00:00:00",
253
+ "updatedAt": "2020-05-23 00:00:00"
254
+ },
255
+ {
256
+ "id": 35,
257
+ "chartAccounts": { "id": 683 },
258
+ "financialYear": 2017,
259
+ "startDate": null,
260
+ "endDate": null,
261
+ "value": 0.66,
262
+ "unitOfMeasure": "kilometres",
263
+ "createdAt": "2022-03-08 00:00:00",
264
+ "updatedAt": "2022-03-08 00:00:00"
265
+ },
266
+ {
267
+ "id": 36,
268
+ "chartAccounts": { "id": 683 },
269
+ "financialYear": 2018,
270
+ "startDate": null,
271
+ "endDate": null,
272
+ "value": 0.66,
273
+ "unitOfMeasure": "kilometres",
274
+ "createdAt": "2022-03-08 00:00:00",
275
+ "updatedAt": "2022-03-08 00:00:00"
276
+ },
277
+ {
278
+ "id": 37,
279
+ "chartAccounts": { "id": 683 },
280
+ "financialYear": 2019,
281
+ "startDate": null,
282
+ "endDate": null,
283
+ "value": 0.68,
284
+ "unitOfMeasure": "kilometres",
285
+ "createdAt": "2022-03-08 00:00:00",
286
+ "updatedAt": "2022-03-08 00:00:00"
287
+ },
288
+ {
289
+ "id": 38,
290
+ "chartAccounts": { "id": 683 },
291
+ "financialYear": 2020,
292
+ "startDate": null,
293
+ "endDate": null,
294
+ "value": 0.68,
295
+ "unitOfMeasure": "kilometres",
296
+ "createdAt": "2022-03-08 00:00:00",
297
+ "updatedAt": "2022-03-08 00:00:00"
298
+ },
299
+ {
300
+ "id": 39,
301
+ "chartAccounts": { "id": 683 },
302
+ "financialYear": 2021,
303
+ "startDate": null,
304
+ "endDate": null,
305
+ "value": 0.72,
306
+ "unitOfMeasure": "kilometres",
307
+ "createdAt": "2022-03-08 00:00:00",
308
+ "updatedAt": "2022-03-08 00:00:00"
309
+ },
310
+ {
311
+ "id": 40,
312
+ "chartAccounts": { "id": 683 },
313
+ "financialYear": 2022,
314
+ "startDate": null,
315
+ "endDate": null,
316
+ "value": 0.72,
317
+ "unitOfMeasure": "kilometres",
318
+ "createdAt": "2022-03-08 00:00:00",
319
+ "updatedAt": "2022-03-08 00:00:00"
320
+ },
321
+ {
322
+ "id": 41,
323
+ "chartAccounts": { "id": 24 },
324
+ "financialYear": 2023,
325
+ "startDate": null,
326
+ "endDate": null,
327
+ "value": 0.78,
328
+ "unitOfMeasure": "kilometres",
329
+ "createdAt": "2022-06-29 00:00:00",
330
+ "updatedAt": "2022-06-29 00:00:00"
331
+ },
332
+ {
333
+ "id": 42,
334
+ "chartAccounts": { "id": 87 },
335
+ "financialYear": 2023,
336
+ "startDate": null,
337
+ "endDate": null,
338
+ "value": 0.52,
339
+ "unitOfMeasure": "hours",
340
+ "createdAt": "2022-06-29 00:00:00",
341
+ "updatedAt": "2022-06-29 00:00:00"
342
+ },
343
+ {
344
+ "id": 43,
345
+ "chartAccounts": { "id": 103 },
346
+ "financialYear": 2023,
347
+ "startDate": null,
348
+ "endDate": null,
349
+ "value": 0.52,
350
+ "unitOfMeasure": "hours",
351
+ "createdAt": "2022-06-29 00:00:00",
352
+ "updatedAt": "2022-06-29 00:00:00"
353
+ },
354
+ {
355
+ "id": 44,
356
+ "chartAccounts": { "id": 288 },
357
+ "financialYear": 2023,
358
+ "startDate": null,
359
+ "endDate": null,
360
+ "value": 0.52,
361
+ "unitOfMeasure": "hours",
362
+ "createdAt": "2022-06-29 00:00:00",
363
+ "updatedAt": "2022-06-29 00:00:00"
364
+ },
365
+ {
366
+ "id": 45,
367
+ "chartAccounts": { "id": 683 },
368
+ "financialYear": 2023,
369
+ "startDate": null,
370
+ "endDate": null,
371
+ "value": 0.78,
372
+ "unitOfMeasure": "kilometres",
373
+ "createdAt": "2022-06-29 00:00:00",
374
+ "updatedAt": "2022-06-29 00:00:00"
375
+ }
376
+ ]
@@ -0,0 +1,9 @@
1
+ import { ChartAccountsValue } from '../../db/Models';
2
+ import { plainToClass } from 'class-transformer';
3
+ import ChartAccountValues from '../../db/static/chart-accounts/chart-accounts-value.json';
4
+ import { Collection, CollectionDictionary } from '../../collections';
5
+ /**
6
+ * @TODO vik performance problems, try https://angular.io/guide/dependency-injection-providers?
7
+ */
8
+ export const CHART_ACCOUNTS_VALUES = new CollectionDictionary(new Collection(ChartAccountValues.map((value) => plainToClass(ChartAccountsValue, value))), 'chartAccounts.id');
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtdmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiLXN0YXRpYy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sa0JBQWtCLE1BQU0sMERBQTBELENBQUM7QUFDMUYsT0FBTyxFQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRW5FOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxvQkFBb0IsQ0FDM0QsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUMxRixrQkFBa0IsQ0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0QWNjb3VudHNWYWx1ZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgQ2hhcnRBY2NvdW50VmFsdWVzIGZyb20gJy4uLy4uL2RiL3N0YXRpYy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZS5qc29uJztcbmltcG9ydCB7Q29sbGVjdGlvbiwgQ29sbGVjdGlvbkRpY3Rpb25hcnl9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBAVE9ETyB2aWsgcGVyZm9ybWFuY2UgcHJvYmxlbXMsIHRyeSBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvZGVwZW5kZW5jeS1pbmplY3Rpb24tcHJvdmlkZXJzP1xuICovXG5leHBvcnQgY29uc3QgQ0hBUlRfQUNDT1VOVFNfVkFMVUVTID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KFxuICBuZXcgQ29sbGVjdGlvbihDaGFydEFjY291bnRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gcGxhaW5Ub0NsYXNzKENoYXJ0QWNjb3VudHNWYWx1ZSwgdmFsdWUpKSksXG4gICdjaGFydEFjY291bnRzLmlkJ1xuKTtcbiJdfQ==
@@ -17,6 +17,7 @@ export class AbstractForm extends UntypedFormGroup {
17
17
  this.unsaved = false;
18
18
  this.onSubmit = new EventEmitter();
19
19
  this.model = model || this.createModelInstance();
20
+ // @TODO Alex no idea how it works, since modelClass used in createModelInstance
20
21
  this.modelClass = this.model.constructor;
21
22
  this.initialValue = this.value;
22
23
  if (model && !model['id']) {
@@ -57,6 +58,10 @@ export class AbstractForm extends UntypedFormGroup {
57
58
  markAsSaved() {
58
59
  this.unsaved = false;
59
60
  }
61
+ /**
62
+ * @TODO use excludeExtraneousValues when all models refactored (exposed all needed properties)
63
+ * @param data
64
+ */
60
65
  createModelInstance(data = {}) {
61
66
  return plainToClass(this.modelClass, data);
62
67
  }
@@ -66,4 +71,4 @@ export class AbstractForm extends UntypedFormGroup {
66
71
  });
67
72
  }
68
73
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9hYnN0cmFjdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkQsZ0JBQWdCLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSCxPQUFPLEVBQUUsWUFBWSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixZQUFvQixTQUFRLGdCQUFnQjtJQWtCaEUsWUFDRSxRQUEwQyxFQUMxQyxLQUFhLEVBQ2IsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFkbkQ7OztXQUdHO1FBQ0gsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFTakQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQThCLENBQUM7UUFDNUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRS9CLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtRQUVELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxPQUFlLEVBQUUsRUFBRSx3QkFBaUMsS0FBSztRQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEUsTUFBTSxLQUFLLEdBQVUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFMUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxPQUF3QixFQUFFLE9BQWlDO1FBQ2xGLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBZSxFQUFFO1FBQzNDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQWJzdHJhY3RDb250cm9sT3B0aW9ucywgQXN5bmNWYWxpZGF0b3JGbiwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcblxuLyoqXG4gKiBBYnN0cmFjdCBmb3JtIGNsYXNzXG4gKiBAVE9ETyByZW5hbWUgdG8gQWJzdHJhY3RGb3JtR3JvdXBcbiAqIEBUT0RPIEFsZXggVFQtMjE5MDogcmVmYWN0b3I6IGNoZWNrIGFuZCBpbXByb3ZlIGxvZ2ljXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvcm08TW9kZWw+IGV4dGVuZHMgVW50eXBlZEZvcm1Hcm91cCB7XG4gIC8qKlxuICAgKiBJbml0aWFsIGZvcm0gdmFsdWUgZm9yIGNvbXBhcmlzb24gd2l0aCBjaGFuZ2VzIHRvIGNoZWNrIHNhdmVkL3Vuc2F2ZWQgc3RhdGVcbiAgICovXG4gIGluaXRpYWxWYWx1ZTogTW9kZWw7XG5cbiAgcHJvdGVjdGVkIG1vZGVsQ2xhc3M6IFR5cGU8TW9kZWw+O1xuICBtb2RlbDogTW9kZWw7XG4gIHN1Ym1pdHRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQFRPRE8gQWxleCBiYWQgbmFtZSwgaXQncyBhbHNvIGFib3V0IHVuY2hhbmdlZFxuICAgKiBGbGFnIGRpc3BsYXkgaWYgc29tZSBmb3JtIHZhbHVlcyBjaGFuZ2VkXG4gICAqL1xuICB1bnNhdmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgb25TdWJtaXQ6IEV2ZW50RW1pdHRlcjxNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGNvbnRyb2xzOiB7W2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sfSxcbiAgICBtb2RlbD86IE1vZGVsLFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICAgIHRoaXMubW9kZWwgPSBtb2RlbCB8fCB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoKTtcbiAgICB0aGlzLm1vZGVsQ2xhc3MgPSB0aGlzLm1vZGVsLmNvbnN0cnVjdG9yIGFzIG5ldyAoKSA9PiBNb2RlbDtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICBpZiAobW9kZWwgJiYgIW1vZGVsWydpZCddKSB7XG4gICAgICB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlblZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHNhdmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy51bnNhdmVkO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShPYmplY3QuYXNzaWduKHt9LCB0aGlzLm1vZGVsLCB0aGlzLmdldFJhd1ZhbHVlKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB2YWxpZGF0aW9uIGFuZCByZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgZ2VuZXJpYyBtb2RlbC5cbiAgICogTWVyZ2UgZm9ybSB2YWx1ZSB0byBpbml0aWFsIG9iamVjdFxuICAgKiBAcGFyYW0gZGF0YSBBZGRpdGlvbmFsIGRhdGEgb2JqZWN0IHdoaWNoIGJlIG1lcmdlZCB0byBmb3JtIHZhbHVlXG4gICAqIEBwYXJhbSBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgaWdub3JlIGRpc2FibGVkIGZpZWxkc1xuICAgKi9cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9LCBpbmNsdWRlRGlzYWJsZWRGaWVsZHM6IGJvb2xlYW4gPSBmYWxzZSk6IE1vZGVsIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gaW5jbHVkZURpc2FibGVkRmllbGRzID8gdGhpcy5nZXRSYXdWYWx1ZSgpIDogdGhpcy52YWx1ZTtcbiAgICBjb25zdCBtb2RlbDogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgdmFsdWUsIGRhdGEpKTtcblxuICAgIHRoaXMub25TdWJtaXQuZW1pdChtb2RlbCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgYWRkQ29udHJvbChuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogdGhpcyB7XG4gICAgc3VwZXIuYWRkQ29udHJvbChuYW1lLCBjb250cm9sLCBvcHRpb25zKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbWFya0FzVW5zYXZlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2F2ZWQgPSB0cnVlO1xuICB9XG5cbiAgbWFya0FzU2F2ZWQoKTogdm9pZCB7XG4gICAgdGhpcy51bnNhdmVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU1vZGVsSW5zdGFuY2UoZGF0YTogb2JqZWN0ID0ge30pOiBNb2RlbCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyh0aGlzLm1vZGVsQ2xhc3MsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICEhdGhpcy5tb2RlbCAmJiAhIXRoaXMubW9kZWxbJ2lkJ10gJiYgaXNFcXVhbCh0aGlzLnZhbHVlLCB0aGlzLmluaXRpYWxWYWx1ZSkgPyB0aGlzLm1hcmtBc1NhdmVkKCkgOiB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9hYnN0cmFjdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkQsZ0JBQWdCLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSCxPQUFPLEVBQUUsWUFBWSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixZQUFvQixTQUFRLGdCQUFnQjtJQWtCaEUsWUFDRSxRQUEwQyxFQUMxQyxLQUFhLEVBQ2IsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFkbkQ7OztXQUdHO1FBQ0gsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFTakQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDakQsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUE4QixDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUvQixJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBZSxFQUFFLEVBQUUsd0JBQWlDLEtBQUs7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RFLE1BQU0sS0FBSyxHQUFVLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTFGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsT0FBd0IsRUFBRSxPQUFpQztRQUNsRixLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE9BQWUsRUFBRTtRQUNuQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIEFzeW5jVmFsaWRhdG9yRm4sIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbi8qKlxuICogQWJzdHJhY3QgZm9ybSBjbGFzc1xuICogQFRPRE8gcmVuYW1lIHRvIEFic3RyYWN0Rm9ybUdyb3VwXG4gKiBAVE9ETyBBbGV4IFRULTIxOTA6IHJlZmFjdG9yOiBjaGVjayBhbmQgaW1wcm92ZSBsb2dpY1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtPE1vZGVsPiBleHRlbmRzIFVudHlwZWRGb3JtR3JvdXAge1xuICAvKipcbiAgICogSW5pdGlhbCBmb3JtIHZhbHVlIGZvciBjb21wYXJpc29uIHdpdGggY2hhbmdlcyB0byBjaGVjayBzYXZlZC91bnNhdmVkIHN0YXRlXG4gICAqL1xuICBpbml0aWFsVmFsdWU6IE1vZGVsO1xuXG4gIHByb3RlY3RlZCBtb2RlbENsYXNzOiBUeXBlPE1vZGVsPjtcbiAgbW9kZWw6IE1vZGVsO1xuICBzdWJtaXR0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXggYmFkIG5hbWUsIGl0J3MgYWxzbyBhYm91dCB1bmNoYW5nZWRcbiAgICogRmxhZyBkaXNwbGF5IGlmIHNvbWUgZm9ybSB2YWx1ZXMgY2hhbmdlZFxuICAgKi9cbiAgdW5zYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG9uU3VibWl0OiBFdmVudEVtaXR0ZXI8TW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBjb250cm9sczoge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbH0sXG4gICAgbW9kZWw/OiBNb2RlbCxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgbnVsbCxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgICB0aGlzLm1vZGVsID0gbW9kZWwgfHwgdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKCk7XG4gICAgLy8gQFRPRE8gQWxleCBubyBpZGVhIGhvdyBpdCB3b3Jrcywgc2luY2UgbW9kZWxDbGFzcyB1c2VkIGluIGNyZWF0ZU1vZGVsSW5zdGFuY2VcbiAgICB0aGlzLm1vZGVsQ2xhc3MgPSB0aGlzLm1vZGVsLmNvbnN0cnVjdG9yIGFzIG5ldyAoKSA9PiBNb2RlbDtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICBpZiAobW9kZWwgJiYgIW1vZGVsWydpZCddKSB7XG4gICAgICB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlblZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHNhdmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy51bnNhdmVkO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShPYmplY3QuYXNzaWduKHt9LCB0aGlzLm1vZGVsLCB0aGlzLmdldFJhd1ZhbHVlKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB2YWxpZGF0aW9uIGFuZCByZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgZ2VuZXJpYyBtb2RlbC5cbiAgICogTWVyZ2UgZm9ybSB2YWx1ZSB0byBpbml0aWFsIG9iamVjdFxuICAgKiBAcGFyYW0gZGF0YSBBZGRpdGlvbmFsIGRhdGEgb2JqZWN0IHdoaWNoIGJlIG1lcmdlZCB0byBmb3JtIHZhbHVlXG4gICAqIEBwYXJhbSBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgaWdub3JlIGRpc2FibGVkIGZpZWxkc1xuICAgKi9cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9LCBpbmNsdWRlRGlzYWJsZWRGaWVsZHM6IGJvb2xlYW4gPSBmYWxzZSk6IE1vZGVsIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gaW5jbHVkZURpc2FibGVkRmllbGRzID8gdGhpcy5nZXRSYXdWYWx1ZSgpIDogdGhpcy52YWx1ZTtcbiAgICBjb25zdCBtb2RlbDogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgdmFsdWUsIGRhdGEpKTtcblxuICAgIHRoaXMub25TdWJtaXQuZW1pdChtb2RlbCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgYWRkQ29udHJvbChuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogdGhpcyB7XG4gICAgc3VwZXIuYWRkQ29udHJvbChuYW1lLCBjb250cm9sLCBvcHRpb25zKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbWFya0FzVW5zYXZlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2F2ZWQgPSB0cnVlO1xuICB9XG5cbiAgbWFya0FzU2F2ZWQoKTogdm9pZCB7XG4gICAgdGhpcy51bnNhdmVkID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gdXNlIGV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzIHdoZW4gYWxsIG1vZGVscyByZWZhY3RvcmVkIChleHBvc2VkIGFsbCBuZWVkZWQgcHJvcGVydGllcylcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIGNyZWF0ZU1vZGVsSW5zdGFuY2UoZGF0YTogb2JqZWN0ID0ge30pOiBNb2RlbCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyh0aGlzLm1vZGVsQ2xhc3MsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICEhdGhpcy5tb2RlbCAmJiAhIXRoaXMubW9kZWxbJ2lkJ10gJiYgaXNFcXVhbCh0aGlzLnZhbHVlLCB0aGlzLmluaXRpYWxWYWx1ZSkgPyB0aGlzLm1hcmtBc1NhdmVkKCkgOiB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- import { SoleInvoice, SoleInvoiceItem } from '../../models';
2
+ import { SoleInvoiceItem } from '../../models';
3
3
  import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
4
4
  import { SoleInvoiceItemForm } from './sole-invoice-item.form';
5
5
  import { plainToClass } from 'class-transformer';
@@ -152,7 +152,7 @@ export class SoleInvoiceForm extends AbstractForm {
152
152
  */
153
153
  get currentValue() {
154
154
  const formRawValue = this.getRawValue();
155
- return plainToClass(SoleInvoice, Object.assign({}, this.model, { ...formRawValue.commonData, items: formRawValue.items }));
155
+ return this.createModelInstance(Object.assign({}, this.model, { ...formRawValue.commonData, items: formRawValue.items }));
156
156
  }
157
157
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWludm9pY2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHbkY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBeUI7SUFDNUQsWUFDVSxPQUFvQixFQUNwQixjQUF1QjtJQUMvQixxQ0FBcUM7SUFDN0IsZUFBb0M7UUFFNUMsS0FBSyxDQUFDO1lBQ0osVUFBVSxFQUFFLElBQUksZ0JBQWdCLENBQUM7Z0JBQy9CLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNyRixNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ25FLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDakUsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMs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LENBQUMsQ0FBQztnQkFDN0IsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBNkI7UUFDbEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYSxDQUFDLFFBQTZCO1FBQ2pELFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQXFCLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsTUFBTSxZQUFZLEdBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTdDLE9BQU8sWUFBWSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUM1QyxFQUFFLEVBQ0YsSUFBSSxDQUFDLEtBQUssRUFDVixFQUFDLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBQyxDQUN4RCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlLCBTb2xlSW52b2ljZUl0ZW0sIFNvbGVJbnZvaWNlVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtRm9ybSB9IGZyb20gJy4vc29sZS1pbnZvaWNlLWl0ZW0uZm9ybSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zb2xlLWludm9pY2UtdGF4LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcblxuLyoqXG4gKiBGb3JtIGlzIGRpdmlkZWQgaW50byB0d28gZ3JvdXBzLCBzaW5jZSB0aGUgY3JlYXRpb24gb2YgU29sZSBpbnZvaWNlIHRha2VzIHBsYWNlIGluIHR3byBzdGVwczpcbiAqIGEgY29tbW9uIGludm9pY2UgZGF0YSBhbmQgc29sZSBpbnZvaWNlIGl0ZW1zLlxuICovXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2VGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPFNvbGVJbnZvaWNlPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbnZvaWNlOiBTb2xlSW52b2ljZSxcbiAgICBwcml2YXRlIHNvbGVEZXRhaWxzR1NUOiBib29sZWFuLFxuICAgIC8vIGRlZmF1bHQgdGVtcGxhdGUgdG8gYmUgcHJlc2VsZWN0ZWRcbiAgICBwcml2YXRlIGRlZmF1bHRUZW1wbGF0ZTogU29sZUludm9pY2VUZW1wbGF0ZSxcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgY29tbW9uRGF0YTogbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBkYXRlRnJvbTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLmRhdGVGcm9tIHx8IG5ldyBEYXRlKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBkYXRlVG86IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5kYXRlVG8sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBwYXllcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLnBheWVyLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgdGF4VHlwZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLnRheFR5cGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBiYW5rQWNjb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLmJhbmtBY2NvdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgcmVmZXJlbmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGludm9pY2UucmVmZXJlbmNlKVxuICAgICAgfSksXG4gICAgICBpdGVtczogbmV3IFVudHlwZWRGb3JtQXJyYXkoKGludm9pY2UuaXRlbXMgfHwgW3BsYWluVG9DbGFzcyhTb2xlSW52b2ljZUl0ZW0sIHt9KV0pLm1hcCgoaXRlbTogU29sZUludm9pY2VJdGVtKSA9PiBuZXcgU29sZUludm9pY2VJdGVtRm9ybShpdGVtKSkpLFxuICAgIH0sIGludm9pY2UpO1xuXG4gICAgLy8gd2UgbmVlZCBpbnZvaWNlIHRlbXBsYXRlIG9ubHkgZm9yIG5ldyBpbnZvaWNlc1xuICAgIGlmICghaW52b2ljZS5pZCkge1xuICAgICAgKHRoaXMuY29tbW9uRGF0YSkuYWRkQ29udHJvbCgndGVtcGxhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuZGVmYXVsdFRlbXBsYXRlKSk7XG5cbiAgICAgIC8vIHVzZXIgY2FuIGhhdmUgbm8gdGVtcGxhdGUsIGJ1dCBoZSBjYW4gYWRkIGl0IGZyb20gdGhpcyBmb3JtXG4gICAgICBpZiAodGhpcy5kZWZhdWx0VGVtcGxhdGUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVUZW1wbGF0ZVJlbGF0ZWRGaWVsZHModGhpcy5kZWZhdWx0VGVtcGxhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGludm9pY2UudGF4VHlwZSBpcyBhbHdheXMgTk9ORSAoJ05vIFRheCcpIHdoZW4gc29sZURldGFpbHMuaXNHU1QgPT09IGZhbHNlXG4gICAgaWYgKCF0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0YXhUeXBlJykuc2V0VmFsdWUoU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVgpO1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLmRpc2FibGUoKTtcblxuICAgICAgLy8gSXRlbXMgaXNHU1QgaXMgbm90IGF2YWlsYWJsZSB3aGVuIGludm9pY2UudGF4VHlwZSA9PT0gTk9ORSAoJ05vIFRheCcpXG4gICAgICB0aGlzLml0ZW1zLmNvbnRyb2xzLmZvckVhY2goKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2l0ZW1zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIGxpc3RlbiB0YXggdHlwZSBhbmQgaXRlbXMgY2hhcnQgYWNjb3VudHMgY2hhbmdlcyB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIC8vIGJlY2F1c2UgaW52b2ljZSB0YXggdHlwZSBhbHdheXMgJ05vIFRheCcgaW4gdGhpcyBjYXNlIGFuZCBub3QgYXZhaWxhYmxlIGZvciBjaGFuZ2luZ1xuICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmxpc3RlblRheFR5cGVDaGFuZ2VzKCk7XG5cbiAgICAgIHRoaXMuaXRlbXMuY29udHJvbHMuZm9yRWFjaCgoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pID0+IHtcbiAgICAgICAgdGhpcy5saXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gbm90aGluZyB0byBsaXN0ZW4gaWYgdGVtcGxhdGUgZmllbGQgaXMgbm90IGV4aXN0IChlZGl0IGludm9pY2UgY2FzZSlcbiAgICBpZiAoKHRoaXMuY29tbW9uRGF0YSkuY29udGFpbnMoJ3RlbXBsYXRlJykpIHtcbiAgICAgIHRoaXMubGlzdGVuVGVtcGxhdGVDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSA9IG5ldyBTb2xlSW52b2ljZUl0ZW1Gb3JtKHBsYWluVG9DbGFzcyhTb2xlSW52b2ljZUl0ZW0sIHt9KSk7XG4gICAgLy8gbm8gbmVlZCB0byBsaXN0ZW4gaXRlbXMgY2hhcnQgYWNjb3VudHMgY2hhbmdlcyB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIC8vIGJlY2F1c2UgaW52b2ljZSB0YXggdHlwZSBhbHdheXMgJ05vIFRheCcgaW4gdGhpcyBjYXNlIGFuZCBub3QgYXZhaWxhYmxlIGZvciBjaGFuZ2luZ1xuICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmxpc3Rlbkl0ZW1DaGFydEFjY291bnRzQ2hhbmdlcyhpdGVtRm9ybSk7XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW1Gb3JtKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9KTogU29sZUludm9pY2Uge1xuICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy52YWxpZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW52b2ljZUluc3RhbmNlOiBTb2xlSW52b2ljZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuXG4gICAgICB0aGlzLm9uU3VibWl0LmVtaXQoaW52b2ljZUluc3RhbmNlKTtcbiAgICAgIHJldHVybiBpbnZvaWNlSW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGRlZmF1bHQgdmFsdWVzIGZyb20gc2VsZWN0ZWQgaW52b2ljZSB0ZW1wbGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5UZW1wbGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25EYXRhLmdldCgndGVtcGxhdGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0ZW1wbGF0ZTogU29sZUludm9pY2VUZW1wbGF0ZSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVUZW1wbGF0ZVJlbGF0ZWRGaWVsZHModGVtcGxhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBpcyBub3QgYXZhaWxhYmxlIGZvciBpdGVtcyB3aGVuIGludm9pY2UudGF4VHlwZSA9PT0gTk9ORVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5UYXhUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0YXhUeXBlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodHlwZTogU29sZUludm9pY2VUYXhUeXBlRW51bSkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5jb250cm9scy5mb3JFYWNoKChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzID0gaXRlbUZvcm0uZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICAgICAgLy8gSXRlbSBHU1QgaXMgYXZhaWxhYmxlIHdoZW4gaW52b2ljZS50YXhUeXBlICE9PSBOT05FICgnTm8gVGF4JylcbiAgICAgICAgaWYgKHR5cGUgIT09IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYICYmIGNoYXJ0QWNjb3VudHM/LmlzR1NUICkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlSXRlbUdTVChpdGVtRm9ybSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaXNhYmxlSXRlbUdTVChpdGVtRm9ybSk7XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRlbXBsYXRlUmVsYXRlZEZpZWxkcyh0ZW1wbGF0ZTogU29sZUludm9pY2VUZW1wbGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ2JhbmtBY2NvdW50Jykuc2V0VmFsdWUodGVtcGxhdGUuYmFua0FjY291bnQpO1xuXG4gICAgY29uc3QgZGF0ZUZyb206IERhdGUgPSB0aGlzLmNvbW1vbkRhdGEuZ2V0KCdkYXRlRnJvbScpLnZhbHVlO1xuICAgIGlmIChkYXRlRnJvbSkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgnZGF0ZVRvJykuc2V0VmFsdWUobmV3IERhdGUoZGF0ZUZyb20uZ2V0VGltZSgpICsgdGVtcGxhdGUudGVybVRpbWUpKTtcbiAgICB9XG5cbiAgICAvLyBpbnZvaWNlLnRheFR5cGUgaXMgYWx3YXlzICdObyBUYXgnIHdoZW4gc29sZURldGFpbHMuaXNHU1QgPSBmYWxzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLnNldFZhbHVlKHRlbXBsYXRlLnRheFR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHU1QgYXZhaWxhYmlsaXR5IGRlcGVuZHMgb24gY2hhcnQgYWNjb3VudHMgaXNHU1QgZmxhZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pOiB2b2lkIHtcbiAgICBpdGVtRm9ybS5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICAvLyBpdGVtLmlzR1NUIGlzIGF2YWlsYWJsZSBvbmx5IHdoZW4gaXRlbS5jaGFydEFjY291bnRzLmlzR1NUID09PSB0cnVlLCBzb2xlRGV0YWlscy5pc0dTVCA9PT0gdHJ1ZSBhbmQgaW52b2ljZS50YXhUeXBlICE9PSBOT05FICgnTm8gVGF4JylcbiAgICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUICYmIGNoYXJ0QWNjb3VudHMuaXNHU1QgJiYgIXRoaXMuY3VycmVudFZhbHVlLmlzTm9UYXgoKSkge1xuICAgICAgICB0aGlzLmVuYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlSXRlbUdTVChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSk6IHZvaWQge1xuICAgIGl0ZW1Gb3JtLmdldCgnaXNHU1QnKS5zZXRWYWx1ZShmYWxzZSk7XG4gICAgaXRlbUZvcm0uZ2V0KCdpc0dTVCcpLmRpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgR1NUIGZpZWxkIGZvciBwYXNzZWQgaXRlbSBmb3JtLiBWYWx1ZSBpcyBhbHdheXMgdHJ1ZSBieSBkZWZhdWx0IGJlY2F1c2Ugb25seSBjYXNlIHdoZW4gdGhpcyBmaWVsZCBpcyBlbmFibGVkIGlzXG4gICAqIHdoZW4gQ2hhcnRBY2NvdW50cy5pc0dTVCA9PT0gdHJ1ZSwgc28gd2UganVzdCB1c2UgZGVmYXVsdCB2YWx1ZSBmcm9tIGNoYXJ0QWNjb3VudHMuaXNHU1RcbiAgICovXG4gIHByaXZhdGUgZW5hYmxlSXRlbUdTVChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSk6IHZvaWQge1xuICAgIGl0ZW1Gb3JtLmdldCgnaXNHU1QnKS5zZXRWYWx1ZSh0cnVlKTtcbiAgICBpdGVtRm9ybS5nZXQoJ2lzR1NUJykuZW5hYmxlKCk7XG4gIH1cblxuICBnZXQgY29tbW9uRGF0YSgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NvbW1vbkRhdGEnKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJld3JpdGUgYWJzdHJhY3QgZm9ybSBnZXR0ZXIgdG8gZmxhdCBcImNvbW1vbkRhdGFcIiBmaWVsZCwgd2hpY2ggaXMgbm90IGluIHRoZSBjbGFzc1xuICAgKi9cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBTb2xlSW52b2ljZSB7XG4gICAgY29uc3QgZm9ybVJhd1ZhbHVlOiBhbnkgPSB0aGlzLmdldFJhd1ZhbHVlKCk7XG5cbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFNvbGVJbnZvaWNlLCBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICB0aGlzLm1vZGVsLFxuICAgICAgey4uLmZvcm1SYXdWYWx1ZS5jb21tb25EYXRhLCBpdGVtczogZm9ybVJhd1ZhbHVlLml0ZW1zfVxuICAgICkpO1xuICB9XG59XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWludm9pY2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFlLGVBQWUsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUduRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUNVLE9BQW9CLEVBQ3BCLGNBQXVCO0lBQy9CLHFDQUFxQztJQUM3QixlQUFvQztRQUU1QyxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDL0IsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JGLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbkUsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNqRSxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMs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O2dCQUM3QixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUE2QjtRQUNsRCxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhLENBQUMsUUFBNkI7UUFDakQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBcUIsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxNQUFNLFlBQVksR0FBUSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDM0MsRUFBRSxFQUNGLElBQUksQ0FBQyxLQUFLLEVBQ1YsRUFBQyxHQUFHLFlBQVksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUMsQ0FDeEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZSwgU29sZUludm9pY2VJdGVtLCBTb2xlSW52b2ljZVRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlSXRlbUZvcm0gfSBmcm9tICcuL3NvbGUtaW52b2ljZS1pdGVtLmZvcm0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRheFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5cbi8qKlxuICogRm9ybSBpcyBkaXZpZGVkIGludG8gdHdvIGdyb3Vwcywgc2luY2UgdGhlIGNyZWF0aW9uIG9mIFNvbGUgaW52b2ljZSB0YWtlcyBwbGFjZSBpbiB0d28gc3RlcHM6XG4gKiBhIGNvbW1vbiBpbnZvaWNlIGRhdGEgYW5kIHNvbGUgaW52b2ljZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbGVJbnZvaWNlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlSW52b2ljZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW52b2ljZTogU29sZUludm9pY2UsXG4gICAgcHJpdmF0ZSBzb2xlRGV0YWlsc0dTVDogYm9vbGVhbixcbiAgICAvLyBkZWZhdWx0IHRlbXBsYXRlIHRvIGJlIHByZXNlbGVjdGVkXG4gICAgcHJpdmF0ZSBkZWZhdWx0VGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUsXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbW1vbkRhdGE6IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgZGF0ZUZyb206IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5kYXRlRnJvbSB8fCBuZXcgRGF0ZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgZGF0ZVRvOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGludm9pY2UuZGF0ZVRvLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgcGF5ZXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5wYXllciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHRheFR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS50YXhUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYmFua0FjY291bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5iYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHJlZmVyZW5jZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLnJlZmVyZW5jZSlcbiAgICAgIH0pLFxuICAgICAgaXRlbXM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KChpbnZvaWNlLml0ZW1zIHx8IFtwbGFpblRvQ2xhc3MoU29sZUludm9pY2VJdGVtLCB7fSldKS5tYXAoKGl0ZW06IFNvbGVJbnZvaWNlSXRlbSkgPT4gbmV3IFNvbGVJbnZvaWNlSXRlbUZvcm0oaXRlbSkpKSxcbiAgICB9LCBpbnZvaWNlKTtcblxuICAgIC8vIHdlIG5lZWQgaW52b2ljZSB0ZW1wbGF0ZSBvbmx5IGZvciBuZXcgaW52b2ljZXNcbiAgICBpZiAoIWludm9pY2UuaWQpIHtcbiAgICAgICh0aGlzLmNvbW1vbkRhdGEpLmFkZENvbnRyb2woJ3RlbXBsYXRlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmRlZmF1bHRUZW1wbGF0ZSkpO1xuXG4gICAgICAvLyB1c2VyIGNhbiBoYXZlIG5vIHRlbXBsYXRlLCBidXQgaGUgY2FuIGFkZCBpdCBmcm9tIHRoaXMgZm9ybVxuICAgICAgaWYgKHRoaXMuZGVmYXVsdFRlbXBsYXRlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVGVtcGxhdGVSZWxhdGVkRmllbGRzKHRoaXMuZGVmYXVsdFRlbXBsYXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbnZvaWNlLnRheFR5cGUgaXMgYWx3YXlzIE5PTkUgKCdObyBUYXgnKSB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIGlmICghdGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLnNldFZhbHVlKFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYKTtcbiAgICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RheFR5cGUnKS5kaXNhYmxlKCk7XG5cbiAgICAgIC8vIEl0ZW1zIGlzR1NUIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBpbnZvaWNlLnRheFR5cGUgPT09IE5PTkUgKCdObyBUYXgnKVxuICAgICAgdGhpcy5pdGVtcy5jb250cm9scy5mb3JFYWNoKChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSkgPT4ge1xuICAgICAgICB0aGlzLmRpc2FibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBnZXQgaXRlbXMoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdpdGVtcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgLy8gbm8gbmVlZCB0byBsaXN0ZW4gdGF4IHR5cGUgYW5kIGl0ZW1zIGNoYXJ0IGFjY291bnRzIGNoYW5nZXMgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9PT0gZmFsc2VcbiAgICAvLyBiZWNhdXNlIGludm9pY2UgdGF4IHR5cGUgYWx3YXlzICdObyBUYXgnIGluIHRoaXMgY2FzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5saXN0ZW5UYXhUeXBlQ2hhbmdlcygpO1xuXG4gICAgICB0aGlzLml0ZW1zLmNvbnRyb2xzLmZvckVhY2goKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdGVuSXRlbUNoYXJ0QWNjb3VudHNDaGFuZ2VzKGl0ZW1Gb3JtKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIG5vdGhpbmcgdG8gbGlzdGVuIGlmIHRlbXBsYXRlIGZpZWxkIGlzIG5vdCBleGlzdCAoZWRpdCBpbnZvaWNlIGNhc2UpXG4gICAgaWYgKCh0aGlzLmNvbW1vbkRhdGEpLmNvbnRhaW5zKCd0ZW1wbGF0ZScpKSB7XG4gICAgICB0aGlzLmxpc3RlblRlbXBsYXRlQ2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZEl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0gPSBuZXcgU29sZUludm9pY2VJdGVtRm9ybShwbGFpblRvQ2xhc3MoU29sZUludm9pY2VJdGVtLCB7fSkpO1xuICAgIC8vIG5vIG5lZWQgdG8gbGlzdGVuIGl0ZW1zIGNoYXJ0IGFjY291bnRzIGNoYW5nZXMgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9PT0gZmFsc2VcbiAgICAvLyBiZWNhdXNlIGludm9pY2UgdGF4IHR5cGUgYWx3YXlzICdObyBUYXgnIGluIHRoaXMgY2FzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5saXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm0pO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXMucHVzaChpdGVtRm9ybSk7XG4gIH1cblxuICByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSk6IFNvbGVJbnZvaWNlIHtcbiAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMubWFya0FsbEFzVG91Y2hlZCgpO1xuXG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGludm9pY2VJbnN0YW5jZTogU29sZUludm9pY2UgPSB0aGlzLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KGludm9pY2VJbnN0YW5jZSk7XG4gICAgICByZXR1cm4gaW52b2ljZUluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHNlbGVjdGVkIGludm9pY2UgdGVtcGxhdGVcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGVtcGxhdGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RlbXBsYXRlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGVtcGxhdGVSZWxhdGVkRmllbGRzKHRlbXBsYXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHU1QgaXMgbm90IGF2YWlsYWJsZSBmb3IgaXRlbXMgd2hlbiBpbnZvaWNlLnRheFR5cGUgPT09IE5PTkVcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGF4VHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHR5cGU6IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMuaXRlbXMuY29udHJvbHMuZm9yRWFjaCgoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IGl0ZW1Gb3JtLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlO1xuXG4gICAgICAgIC8vIEl0ZW0gR1NUIGlzIGF2YWlsYWJsZSB3aGVuIGludm9pY2UudGF4VHlwZSAhPT0gTk9ORSAoJ05vIFRheCcpXG4gICAgICAgIGlmICh0eXBlICE9PSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLk5PX1RBWCAmJiBjaGFydEFjY291bnRzPy5pc0dTVCApIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlzYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUZW1wbGF0ZVJlbGF0ZWRGaWVsZHModGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCdiYW5rQWNjb3VudCcpLnNldFZhbHVlKHRlbXBsYXRlLmJhbmtBY2NvdW50KTtcblxuICAgIGNvbnN0IGRhdGVGcm9tOiBEYXRlID0gdGhpcy5jb21tb25EYXRhLmdldCgnZGF0ZUZyb20nKS52YWx1ZTtcbiAgICBpZiAoZGF0ZUZyb20pIHtcbiAgICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ2RhdGVUbycpLnNldFZhbHVlKG5ldyBEYXRlKGRhdGVGcm9tLmdldFRpbWUoKSArIHRlbXBsYXRlLnRlcm1UaW1lKSk7XG4gICAgfVxuXG4gICAgLy8gaW52b2ljZS50YXhUeXBlIGlzIGFsd2F5cyAnTm8gVGF4JyB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID0gZmFsc2UgYW5kIG5vdCBhdmFpbGFibGUgZm9yIGNoYW5naW5nXG4gICAgaWYgKHRoaXMuc29sZURldGFpbHNHU1QpIHtcbiAgICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RheFR5cGUnKS5zZXRWYWx1ZSh0ZW1wbGF0ZS50YXhUeXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR1NUIGF2YWlsYWJpbGl0eSBkZXBlbmRzIG9uIGNoYXJ0IGFjY291bnRzIGlzR1NUIGZsYWdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuSXRlbUNoYXJ0QWNjb3VudHNDaGFuZ2VzKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKTogdm9pZCB7XG4gICAgaXRlbUZvcm0uZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgLy8gaXRlbS5pc0dTVCBpcyBhdmFpbGFibGUgb25seSB3aGVuIGl0ZW0uY2hhcnRBY2NvdW50cy5pc0dTVCA9PT0gdHJ1ZSwgc29sZURldGFpbHMuaXNHU1QgPT09IHRydWUgYW5kIGludm9pY2UudGF4VHlwZSAhPT0gTk9ORSAoJ05vIFRheCcpXG4gICAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCAmJiBjaGFydEFjY291bnRzLmlzR1NUICYmICF0aGlzLmN1cnJlbnRWYWx1ZS5pc05vVGF4KCkpIHtcbiAgICAgICAgdGhpcy5lbmFibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRpc2FibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZUl0ZW1HU1QoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pOiB2b2lkIHtcbiAgICBpdGVtRm9ybS5nZXQoJ2lzR1NUJykuc2V0VmFsdWUoZmFsc2UpO1xuICAgIGl0ZW1Gb3JtLmdldCgnaXNHU1QnKS5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIEdTVCBmaWVsZCBmb3IgcGFzc2VkIGl0ZW0gZm9ybS4gVmFsdWUgaXMgYWx3YXlzIHRydWUgYnkgZGVmYXVsdCBiZWNhdXNlIG9ubHkgY2FzZSB3aGVuIHRoaXMgZmllbGQgaXMgZW5hYmxlZCBpc1xuICAgKiB3aGVuIENoYXJ0QWNjb3VudHMuaXNHU1QgPT09IHRydWUsIHNvIHdlIGp1c3QgdXNlIGRlZmF1bHQgdmFsdWUgZnJvbSBjaGFydEFjY291bnRzLmlzR1NUXG4gICAqL1xuICBwcml2YXRlIGVuYWJsZUl0ZW1HU1QoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pOiB2b2lkIHtcbiAgICBpdGVtRm9ybS5nZXQoJ2lzR1NUJykuc2V0VmFsdWUodHJ1ZSk7XG4gICAgaXRlbUZvcm0uZ2V0KCdpc0dTVCcpLmVuYWJsZSgpO1xuICB9XG5cbiAgZ2V0IGNvbW1vbkRhdGEoKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb21tb25EYXRhJykgYXMgVW50eXBlZEZvcm1Hcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXdyaXRlIGFic3RyYWN0IGZvcm0gZ2V0dGVyIHRvIGZsYXQgXCJjb21tb25EYXRhXCIgZmllbGQsIHdoaWNoIGlzIG5vdCBpbiB0aGUgY2xhc3NcbiAgICovXG4gIGdldCBjdXJyZW50VmFsdWUoKTogU29sZUludm9pY2Uge1xuICAgIGNvbnN0IGZvcm1SYXdWYWx1ZTogYW55ID0gdGhpcy5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICB0aGlzLm1vZGVsLFxuICAgICAgey4uLmZvcm1SYXdWYWx1ZS5jb21tb25EYXRhLCBpdGVtczogZm9ybVJhd1ZhbHVlLml0ZW1zfVxuICAgICkpO1xuICB9XG59XG4iXX0=
@@ -2,6 +2,13 @@ import { WorkTransactionForm } from './work-transaction.form';
2
2
  import { Collection } from '../../../collections';
3
3
  import { ChartAccountsMetadataListEnum } from '../../../db/Enums';
4
4
  export class WorkExpenseForm extends WorkTransactionForm {
5
+ constructor(transaction, registeredForGst, allocations, controls = {}) {
6
+ super(transaction, registeredForGst, allocations, controls);
7
+ // amount set automatically for chartAccounts with hours metadata
8
+ if (transaction.getMetadataFieldValue(ChartAccountsMetadataListEnum.HOURS)) {
9
+ this.get('amount').disable();
10
+ }
11
+ }
5
12
  listenEvents() {
6
13
  this.watchChartAccountsMetadata();
7
14
  }
@@ -14,8 +21,8 @@ export class WorkExpenseForm extends WorkTransactionForm {
14
21
  // for home office hours expense amount is a fixed rate per hour
15
22
  this.get('amount').reset();
16
23
  this.get('amount').disable();
17
- this.get('amount').setValue(this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetadata.value);
24
+ this.get('amount').setValue((this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetadata.value).toFixed(2));
18
25
  });
19
26
  }
20
27
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1leHBlbnNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vd29yay93b3JrLWV4cGVuc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQVk7UUFDVixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQStCLEVBQUUsRUFBRTtZQUM5RSxNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkgsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDbEIsT0FBTzthQUNSO1lBRUQsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUV2ZW50TGlzdGVuZXJ9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUcmFuc2FjdGlvbk1ldGFkYXRhfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXb3JrVHJhbnNhY3Rpb25Gb3JtfSBmcm9tICcuL3dvcmstdHJhbnNhY3Rpb24uZm9ybSc7XG5pbXBvcnQge0NvbGxlY3Rpb259IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7Q2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW19IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIFdvcmtFeHBlbnNlRm9ybSBleHRlbmRzIFdvcmtUcmFuc2FjdGlvbkZvcm0gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50c01ldGFkYXRhKCk7XG4gIH1cblxuICB3YXRjaENoYXJ0QWNjb3VudHNNZXRhZGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnbWV0YWRhdGEnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChtZXRhZGF0YTogVHJhbnNhY3Rpb25NZXRhZGF0YVtdKSA9PiB7XG4gICAgICBjb25zdCBob3Vyc01ldGFkYXRhID0gbmV3IENvbGxlY3Rpb24obWV0YWRhdGEpLmZpbmRCeSgnY2hhcnRBY2NvdW50c01ldGFkYXRhLmlkJywgQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uSE9VUlMpO1xuICAgICAgaWYgKCFob3Vyc01ldGFkYXRhKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gZm9yIGhvbWUgb2ZmaWNlIGhvdXJzIGV4cGVuc2UgYW1vdW50IGlzIGEgZml4ZWQgcmF0ZSBwZXIgaG91clxuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLnNldFZhbHVlKHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUuZ2V0Q3VycmVudFllYXJWYWx1ZSgpLnZhbHVlICogK2hvdXJzTWV0YWRhdGEudmFsdWUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1leHBlbnNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vd29yay93b3JrLWV4cGVuc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFHaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsaUVBQWlFO1FBQ2pFLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBK0IsRUFBRSxFQUFFO1lBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2SCxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNsQixPQUFPO2FBQ1I7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lFdmVudExpc3RlbmVyfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiwgVHJhbnNhY3Rpb25NZXRhZGF0YX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V29ya1RyYW5zYWN0aW9uRm9ybX0gZnJvbSAnLi93b3JrLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0NoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgV29ya0V4cGVuc2VGb3JtIGV4dGVuZHMgV29ya1RyYW5zYWN0aW9uRm9ybSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLFxuICAgIHJlZ2lzdGVyZWRGb3JHc3Q6IGJvb2xlYW4sXG4gICAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdLFxuICAgIGNvbnRyb2xzOiB7W2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sfSA9IHt9XG4gICkge1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0LCBhbGxvY2F0aW9ucywgY29udHJvbHMpO1xuICAgIC8vIGFtb3VudCBzZXQgYXV0b21hdGljYWxseSBmb3IgY2hhcnRBY2NvdW50cyB3aXRoIGhvdXJzIG1ldGFkYXRhXG4gICAgaWYgKHRyYW5zYWN0aW9uLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5IT1VSUykpIHtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCkge1xuICAgIHRoaXMud2F0Y2hDaGFydEFjY291bnRzTWV0YWRhdGEoKTtcbiAgfVxuXG4gIHdhdGNoQ2hhcnRBY2NvdW50c01ldGFkYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdtZXRhZGF0YScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKG1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhW10pID0+IHtcbiAgICAgIGNvbnN0IGhvdXJzTWV0YWRhdGEgPSBuZXcgQ29sbGVjdGlvbihtZXRhZGF0YSkuZmluZEJ5KCdjaGFydEFjY291bnRzTWV0YWRhdGEuaWQnLCBDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5IT1VSUyk7XG4gICAgICBpZiAoIWhvdXJzTWV0YWRhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBmb3IgaG9tZSBvZmZpY2UgaG91cnMgZXhwZW5zZSBhbW91bnQgaXMgYSBmaXhlZCByYXRlIHBlciBob3VyXG4gICAgICB0aGlzLmdldCgnYW1vdW50JykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmdldCgnYW1vdW50Jykuc2V0VmFsdWUoKHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUuZ2V0Q3VycmVudFllYXJWYWx1ZSgpLnZhbHVlICogK2hvdXJzTWV0YWRhdGEudmFsdWUpLnRvRml4ZWQoMikpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=