taxtank-core 0.30.3 → 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 (25) hide show
  1. package/esm2020/lib/db-static/chart-accounts/chart-accounts-values.mjs +4 -1
  2. package/esm2020/lib/forms/abstract.form.mjs +6 -1
  3. package/esm2020/lib/forms/sole/sole-invoice.form.mjs +3 -3
  4. package/esm2020/lib/forms/transaction/work/work-expense.form.mjs +9 -2
  5. package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +1 -2
  6. package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +5 -11
  7. package/esm2020/lib/services/http/income-source/income-source.service.mjs +2 -2
  8. package/esm2020/lib/services/http/rest/rest-old.service.mjs +14 -24
  9. package/esm2020/lib/services/http/rest/rest.service.mjs +16 -16
  10. package/esm2020/lib/services/http/transaction/transaction.service.mjs +11 -12
  11. package/esm2020/lib/services/pdf/js-pdf.mjs +3 -1
  12. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +2 -2
  13. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +1 -1
  14. package/fesm2015/taxtank-core.mjs +58 -60
  15. package/fesm2015/taxtank-core.mjs.map +1 -1
  16. package/fesm2020/taxtank-core.mjs +58 -60
  17. package/fesm2020/taxtank-core.mjs.map +1 -1
  18. package/lib/db-static/chart-accounts/chart-accounts-values.d.ts +3 -0
  19. package/lib/forms/abstract.form.d.ts +5 -1
  20. package/lib/forms/transaction/work/work-expense.form.d.ts +5 -0
  21. package/lib/services/http/rest/rest-old.service.d.ts +6 -14
  22. package/lib/services/http/rest/rest.service.d.ts +3 -3
  23. package/lib/services/http/transaction/transaction.service.d.ts +1 -1
  24. package/lib/services/pdf/pdf-from-table/pdf-from-table.service.d.ts +4 -4
  25. package/package.json +1 -1
@@ -2,5 +2,8 @@ import { ChartAccountsValue } from '../../db/Models';
2
2
  import { plainToClass } from 'class-transformer';
3
3
  import ChartAccountValues from '../../db/static/chart-accounts/chart-accounts-value.json';
4
4
  import { Collection, CollectionDictionary } from '../../collections';
5
+ /**
6
+ * @TODO vik performance problems, try https://angular.io/guide/dependency-injection-providers?
7
+ */
5
8
  export const CHART_ACCOUNTS_VALUES = new CollectionDictionary(new Collection(ChartAccountValues.map((value) => plainToClass(ChartAccountsValue, value))), 'chartAccounts.id');
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtdmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiLXN0YXRpYy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sa0JBQWtCLE1BQU0sMERBQTBELENBQUM7QUFDMUYsT0FBTyxFQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksb0JBQW9CLENBQzNELElBQUksVUFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDMUYsa0JBQWtCLENBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydEFjY291bnRzVmFsdWUgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IENoYXJ0QWNjb3VudFZhbHVlcyBmcm9tICcuLi8uLi9kYi9zdGF0aWMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdmFsdWUuanNvbic7XG5pbXBvcnQge0NvbGxlY3Rpb24sIENvbGxlY3Rpb25EaWN0aW9uYXJ5fSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBDSEFSVF9BQ0NPVU5UU19WQUxVRVMgPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoXG4gIG5ldyBDb2xsZWN0aW9uKENoYXJ0QWNjb3VudFZhbHVlcy5tYXAoKHZhbHVlKSA9PiBwbGFpblRvQ2xhc3MoQ2hhcnRBY2NvdW50c1ZhbHVlLCB2YWx1ZSkpKSxcbiAgJ2NoYXJ0QWNjb3VudHMuaWQnXG4pO1xuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWludm9pY2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFlLGVBQWUsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUduRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUNVLE9BQW9CLEVBQ3BCLGNBQXVCO0lBQy9CLHFDQUFxQztJQUM3QixlQUFvQztRQUU1QyxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDL0IsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JGLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbkUsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNqRSxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JFLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDN0UsU0FBUyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzthQUNyRCxDQUFDO1lBQ0YsS0FBSyxFQUFFLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2xKLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFmSixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFTO1FBRXZCLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQWM1QyxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDZixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFFdkYsOERBQThEO1lBQzlELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUN4RDtTQUNGO1FBRUQsNkVBQTZFO1FBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUV6Qyx3RUFBd0U7WUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBNkIsRUFBRSxFQUFFO2dCQUM1RCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQXFCLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVk7UUFDViwrRkFBK0Y7UUFDL0YsdUZBQXVGO1FBQ3ZGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUE2QixFQUFFLEVBQUU7Z0JBQzVELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLFFBQVEsR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakcsa0ZBQWtGO1FBQ2xGLHVGQUF1RjtRQUN2RixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZSxFQUFFO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxlQUFlLEdBQWdCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEMsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUE2QixFQUFFLEVBQUU7WUFDdkYsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUE0QixFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBNkIsRUFBRSxFQUFFO2dCQUM1RCxNQUFNLGFBQWEsR0FBa0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBRXpFLGlFQUFpRTtnQkFDakUsSUFBSSxJQUFJLEtBQUssc0JBQXNCLENBQUMsTUFBTSxJQUFJLGFBQWEsRUFBRSxLQUFLLEVBQUc7b0JBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzdCLE9BQU87aUJBQ1I7Z0JBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLDJCQUEyQixDQUFDLFFBQTZCO1FBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEUsTUFBTSxRQUFRLEdBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzdELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMxRjtRQUVELG1HQUFtRztRQUNuRyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLDhCQUE4QixDQUFDLFFBQTZCO1FBQ2xFLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTRCLEVBQUUsRUFBRTtZQUNwRiwwSUFBMEk7WUFDMUksSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLGFBQWEsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM5RSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3QixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUE2QjtRQUNsRCxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhLENBQUMsUUFBNkI7UUFDakQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBcUIsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxNQUFNLFlBQVksR0FBUSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDM0MsRUFBRSxFQUNGLElBQUksQ0FBQyxLQUFLLEVBQ1YsRUFBQyxHQUFHLFlBQVksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUMsQ0FDeEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZSwgU29sZUludm9pY2VJdGVtLCBTb2xlSW52b2ljZVRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlSXRlbUZvcm0gfSBmcm9tICcuL3NvbGUtaW52b2ljZS1pdGVtLmZvcm0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRheFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5cbi8qKlxuICogRm9ybSBpcyBkaXZpZGVkIGludG8gdHdvIGdyb3Vwcywgc2luY2UgdGhlIGNyZWF0aW9uIG9mIFNvbGUgaW52b2ljZSB0YWtlcyBwbGFjZSBpbiB0d28gc3RlcHM6XG4gKiBhIGNvbW1vbiBpbnZvaWNlIGRhdGEgYW5kIHNvbGUgaW52b2ljZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbGVJbnZvaWNlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlSW52b2ljZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW52b2ljZTogU29sZUludm9pY2UsXG4gICAgcHJpdmF0ZSBzb2xlRGV0YWlsc0dTVDogYm9vbGVhbixcbiAgICAvLyBkZWZhdWx0IHRlbXBsYXRlIHRvIGJlIHByZXNlbGVjdGVkXG4gICAgcHJpdmF0ZSBkZWZhdWx0VGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUsXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbW1vbkRhdGE6IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgZGF0ZUZyb206IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5kYXRlRnJvbSB8fCBuZXcgRGF0ZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgZGF0ZVRvOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGludm9pY2UuZGF0ZVRvLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgcGF5ZXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5wYXllciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHRheFR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS50YXhUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYmFua0FjY291bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5iYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHJlZmVyZW5jZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLnJlZmVyZW5jZSlcbiAgICAgIH0pLFxuICAgICAgaXRlbXM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KChpbnZvaWNlLml0ZW1zIHx8IFtwbGFpblRvQ2xhc3MoU29sZUludm9pY2VJdGVtLCB7fSldKS5tYXAoKGl0ZW06IFNvbGVJbnZvaWNlSXRlbSkgPT4gbmV3IFNvbGVJbnZvaWNlSXRlbUZvcm0oaXRlbSkpKSxcbiAgICB9LCBpbnZvaWNlKTtcblxuICAgIC8vIHdlIG5lZWQgaW52b2ljZSB0ZW1wbGF0ZSBvbmx5IGZvciBuZXcgaW52b2ljZXNcbiAgICBpZiAoIWludm9pY2UuaWQpIHtcbiAgICAgICh0aGlzLmNvbW1vbkRhdGEpLmFkZENvbnRyb2woJ3RlbXBsYXRlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmRlZmF1bHRUZW1wbGF0ZSkpO1xuXG4gICAgICAvLyB1c2VyIGNhbiBoYXZlIG5vIHRlbXBsYXRlLCBidXQgaGUgY2FuIGFkZCBpdCBmcm9tIHRoaXMgZm9ybVxuICAgICAgaWYgKHRoaXMuZGVmYXVsdFRlbXBsYXRlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVGVtcGxhdGVSZWxhdGVkRmllbGRzKHRoaXMuZGVmYXVsdFRlbXBsYXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbnZvaWNlLnRheFR5cGUgaXMgYWx3YXlzIE5PTkUgKCdObyBUYXgnKSB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIGlmICghdGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLnNldFZhbHVlKFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYKTtcbiAgICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RheFR5cGUnKS5kaXNhYmxlKCk7XG5cbiAgICAgIC8vIEl0ZW1zIGlzR1NUIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBpbnZvaWNlLnRheFR5cGUgPT09IE5PTkUgKCdObyBUYXgnKVxuICAgICAgdGhpcy5pdGVtcy5jb250cm9scy5mb3JFYWNoKChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSkgPT4ge1xuICAgICAgICB0aGlzLmRpc2FibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBnZXQgaXRlbXMoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdpdGVtcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgLy8gbm8gbmVlZCB0byBsaXN0ZW4gdGF4IHR5cGUgYW5kIGl0ZW1zIGNoYXJ0IGFjY291bnRzIGNoYW5nZXMgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9PT0gZmFsc2VcbiAgICAvLyBiZWNhdXNlIGludm9pY2UgdGF4IHR5cGUgYWx3YXlzICdObyBUYXgnIGluIHRoaXMgY2FzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5saXN0ZW5UYXhUeXBlQ2hhbmdlcygpO1xuXG4gICAgICB0aGlzLml0ZW1zLmNvbnRyb2xzLmZvckVhY2goKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdGVuSXRlbUNoYXJ0QWNjb3VudHNDaGFuZ2VzKGl0ZW1Gb3JtKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIG5vdGhpbmcgdG8gbGlzdGVuIGlmIHRlbXBsYXRlIGZpZWxkIGlzIG5vdCBleGlzdCAoZWRpdCBpbnZvaWNlIGNhc2UpXG4gICAgaWYgKCh0aGlzLmNvbW1vbkRhdGEpLmNvbnRhaW5zKCd0ZW1wbGF0ZScpKSB7XG4gICAgICB0aGlzLmxpc3RlblRlbXBsYXRlQ2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZEl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0gPSBuZXcgU29sZUludm9pY2VJdGVtRm9ybShwbGFpblRvQ2xhc3MoU29sZUludm9pY2VJdGVtLCB7fSkpO1xuICAgIC8vIG5vIG5lZWQgdG8gbGlzdGVuIGl0ZW1zIGNoYXJ0IGFjY291bnRzIGNoYW5nZXMgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9PT0gZmFsc2VcbiAgICAvLyBiZWNhdXNlIGludm9pY2UgdGF4IHR5cGUgYWx3YXlzICdObyBUYXgnIGluIHRoaXMgY2FzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5saXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm0pO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXMucHVzaChpdGVtRm9ybSk7XG4gIH1cblxuICByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSk6IFNvbGVJbnZvaWNlIHtcbiAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMubWFya0FsbEFzVG91Y2hlZCgpO1xuXG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGludm9pY2VJbnN0YW5jZTogU29sZUludm9pY2UgPSB0aGlzLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KGludm9pY2VJbnN0YW5jZSk7XG4gICAgICByZXR1cm4gaW52b2ljZUluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHNlbGVjdGVkIGludm9pY2UgdGVtcGxhdGVcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGVtcGxhdGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RlbXBsYXRlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUpID0+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=
@@ -2,7 +2,6 @@ import { TransactionForm } from '../transaction.form';
2
2
  import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
3
  export class WorkTransactionForm extends TransactionForm {
4
4
  constructor(transaction, registeredForGst, allocations, controls = {}) {
5
- console.log(transaction);
6
5
  super(transaction, registeredForGst, allocations, Object.assign(controls, {
7
6
  // additional data related to work (like tax instalments)
8
7
  metadata: new FormArray((transaction.metadata || []).map((transactionMetadata) => {
@@ -38,4 +37,4 @@ export class WorkTransactionForm extends TransactionForm {
38
37
  });
39
38
  }
40
39
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay10cmFuc2FjdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3dvcmsvd29yay10cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQVNwRCxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxlQUFlO0lBQy9ELFlBQVksV0FBd0IsRUFBRSxnQkFBeUIsRUFBRSxXQUFvQyxFQUFFLFdBQTZDLEVBQUU7UUFDcEosT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixLQUFLLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN4RSx5REFBeUQ7WUFDekQsUUFBUSxFQUFFLElBQUksU0FBUyxDQUNyQixDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQXdDLEVBQWEsRUFBRTtnQkFDdkYsT0FBTyxJQUFJLFNBQVMsQ0FBQztvQkFDbkIsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQztvQkFDakQscUJBQXFCLEVBQUUsSUFBSSxXQUFXLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUM7aUJBQ2xGLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUNIO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTRCLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQjtRQUN2QixzREFBc0Q7UUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU1Qyw2RUFBNkU7UUFDN0UsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxxQkFBNEMsRUFBUSxFQUFFO1lBQ3ZHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFlLENBQUMsSUFBSSxDQUN0QyxJQUFJLFNBQVMsQ0FBQztnQkFDWixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLHFCQUFxQixFQUFFLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDO2FBQzlELENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyYW5zYWN0aW9uRm9ybX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24uZm9ybSc7XG5pbXBvcnQge0lFdmVudExpc3RlbmVyfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIENoYXJ0QWNjb3VudHMsXG4gIENoYXJ0QWNjb3VudHNNZXRhZGF0YSxcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uQWxsb2NhdGlvbixcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YVxufSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya1RyYW5zYWN0aW9uRm9ybSBleHRlbmRzIFRyYW5zYWN0aW9uRm9ybSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10sIGNvbnRyb2xzOiB7W2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sfSA9IHt9KSB7XG4gICAgY29uc29sZS5sb2codHJhbnNhY3Rpb24pO1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0LCBhbGxvY2F0aW9ucywgT2JqZWN0LmFzc2lnbihjb250cm9scywge1xuICAgICAgLy8gYWRkaXRpb25hbCBkYXRhIHJlbGF0ZWQgdG8gd29yayAobGlrZSB0YXggaW5zdGFsbWVudHMpXG4gICAgICBtZXRhZGF0YTogbmV3IEZvcm1BcnJheShcbiAgICAgICAgKHRyYW5zYWN0aW9uLm1ldGFkYXRhIHx8IFtdKS5tYXAoKHRyYW5zYWN0aW9uTWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGEpOiBGb3JtR3JvdXAgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2wodHJhbnNhY3Rpb25NZXRhZGF0YS52YWx1ZSksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzTWV0YWRhdGE6IG5ldyBGb3JtQ29udHJvbCh0cmFuc2FjdGlvbk1ldGFkYXRhLmNoYXJ0QWNjb3VudHNNZXRhZGF0YSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9KSk7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCkge1xuICAgIHRoaXMud2F0Y2hDaGFydEFjY291bnRzKCk7XG4gIH1cblxuICB3YXRjaENoYXJ0QWNjb3VudHMoKTogdm9pZCB7XG4gICAgc3VwZXIud2F0Y2hDaGFydEFjY291bnRzKCk7XG5cbiAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIHRoaXMuYnVpbGRNZXRhZGF0YUZvcm0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZXBlbmRzIG9uIGNoYXJ0QWNjb3VudHMgdGhlIGZvcm0gY291bGQgaW5jbHVkZSBkaWZmZXJlbnQgZXh0cmEgZmllbGRzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkTWV0YWRhdGFGb3JtKCk6IHZvaWQge1xuICAgIC8vIFJlbW92ZSBhbGwgY29udHJvbHMgaW4gdGhlIEZvcm1BcnJheSBiZWZvcmUgcHVzaGluZ1xuICAgICh0aGlzLmdldCgnbWV0YWRhdGEnKSBhcyBGb3JtQXJyYXkpLmNsZWFyKCk7XG5cbiAgICAvLyBjcmVhdGUgZm9ybSBjb250cm9scyBmb3IgZWFjaCBtZXRhZGF0YSBvYmplY3QgZnJvbSBzZWxlY3RlZCBjaGFydCBhY2NvdW50c1xuICAgICh0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlLm1ldGFkYXRhKS5mb3JFYWNoKChjaGFydEFjY291bnRzTWV0YWRhdGE6IENoYXJ0QWNjb3VudHNNZXRhZGF0YSk6IHZvaWQgPT4ge1xuICAgICAgKHRoaXMuZ2V0KCdtZXRhZGF0YScpIGFzIEZvcm1BcnJheSkucHVzaChcbiAgICAgICAgbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgdmFsdWU6IG5ldyBGb3JtQ29udHJvbChjaGFydEFjY291bnRzTWV0YWRhdGEuaXNTaGFyZVBlcmNlbnRhZ2UoKSA/IDEwMCA6IDApLFxuICAgICAgICAgIGNoYXJ0QWNjb3VudHNNZXRhZGF0YTogbmV3IEZvcm1Db250cm9sKGNoYXJ0QWNjb3VudHNNZXRhZGF0YSksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay10cmFuc2FjdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3dvcmsvd29yay10cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQVNwRCxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxlQUFlO0lBQy9ELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDeEUseURBQXlEO1lBQ3pELFFBQVEsRUFBRSxJQUFJLFNBQVMsQ0FDckIsQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG1CQUF3QyxFQUFhLEVBQUU7Z0JBQ3ZGLE9BQU8sSUFBSSxTQUFTLENBQUM7b0JBQ25CLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7b0JBQ2pELHFCQUFxQixFQUFFLElBQUksV0FBVyxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDO2lCQUNsRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDSDtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUI7UUFDdkIsc0RBQXNEO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUMsNkVBQTZFO1FBQzdFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQTRDLEVBQVEsRUFBRTtZQUN2RyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBZSxDQUFDLElBQUksQ0FDdEMsSUFBSSxTQUFTLENBQUM7Z0JBQ1osS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxxQkFBcUIsRUFBRSxJQUFJLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQzthQUM5RCxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUcmFuc2FjdGlvbkZvcm19IGZyb20gJy4uL3RyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHtJRXZlbnRMaXN0ZW5lcn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBDaGFydEFjY291bnRzLFxuICBDaGFydEFjY291bnRzTWV0YWRhdGEsXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkFsbG9jYXRpb24sXG4gIFRyYW5zYWN0aW9uTWV0YWRhdGFcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtUcmFuc2FjdGlvbkZvcm0gZXh0ZW5kcyBUcmFuc2FjdGlvbkZvcm0gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbixcbiAgICByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuLFxuICAgIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSxcbiAgICBjb250cm9sczoge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbH0gPSB7fVxuICApIHtcbiAgICBzdXBlcih0cmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdCwgYWxsb2NhdGlvbnMsIE9iamVjdC5hc3NpZ24oY29udHJvbHMsIHtcbiAgICAgIC8vIGFkZGl0aW9uYWwgZGF0YSByZWxhdGVkIHRvIHdvcmsgKGxpa2UgdGF4IGluc3RhbG1lbnRzKVxuICAgICAgbWV0YWRhdGE6IG5ldyBGb3JtQXJyYXkoXG4gICAgICAgICh0cmFuc2FjdGlvbi5tZXRhZGF0YSB8fCBbXSkubWFwKCh0cmFuc2FjdGlvbk1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhKTogRm9ybUdyb3VwID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKHRyYW5zYWN0aW9uTWV0YWRhdGEudmFsdWUpLFxuICAgICAgICAgICAgY2hhcnRBY2NvdW50c01ldGFkYXRhOiBuZXcgRm9ybUNvbnRyb2wodHJhbnNhY3Rpb25NZXRhZGF0YS5jaGFydEFjY291bnRzTWV0YWRhdGEpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSkpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuICB9XG5cbiAgd2F0Y2hDaGFydEFjY291bnRzKCk6IHZvaWQge1xuICAgIHN1cGVyLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuXG4gICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICB0aGlzLmJ1aWxkTWV0YWRhdGFGb3JtKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZGVwZW5kcyBvbiBjaGFydEFjY291bnRzIHRoZSBmb3JtIGNvdWxkIGluY2x1ZGUgZGlmZmVyZW50IGV4dHJhIGZpZWxkc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZE1ldGFkYXRhRm9ybSgpOiB2b2lkIHtcbiAgICAvLyBSZW1vdmUgYWxsIGNvbnRyb2xzIGluIHRoZSBGb3JtQXJyYXkgYmVmb3JlIHB1c2hpbmdcbiAgICAodGhpcy5nZXQoJ21ldGFkYXRhJykgYXMgRm9ybUFycmF5KS5jbGVhcigpO1xuXG4gICAgLy8gY3JlYXRlIGZvcm0gY29udHJvbHMgZm9yIGVhY2ggbWV0YWRhdGEgb2JqZWN0IGZyb20gc2VsZWN0ZWQgY2hhcnQgYWNjb3VudHNcbiAgICAodGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZS5tZXRhZGF0YSkuZm9yRWFjaCgoY2hhcnRBY2NvdW50c01ldGFkYXRhOiBDaGFydEFjY291bnRzTWV0YWRhdGEpOiB2b2lkID0+IHtcbiAgICAgICh0aGlzLmdldCgnbWV0YWRhdGEnKSBhcyBGb3JtQXJyYXkpLnB1c2goXG4gICAgICAgIG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2woY2hhcnRBY2NvdW50c01ldGFkYXRhLmlzU2hhcmVQZXJjZW50YWdlKCkgPyAxMDAgOiAwKSxcbiAgICAgICAgICBjaGFydEFjY291bnRzTWV0YWRhdGE6IG5ldyBGb3JtQ29udHJvbChjaGFydEFjY291bnRzTWV0YWRhdGEpLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChartAccounts as ChartAccountsBase } from '../../db/Models/chart-accounts/chart-accounts';
3
- import { Type, Transform } from 'class-transformer';
3
+ import { Type, Transform, Expose } from 'class-transformer';
4
4
  import { ChartAccountsHeading } from './chart-accounts-heading';
5
5
  import { ChartAccountsMetadata } from './chart-accounts-metadata';
6
6
  import { ChartAccountsListEnum, ChartAccountsCategoryEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsHeadingListEnum } from '../../db/Enums';
@@ -12,10 +12,6 @@ import { ChartAccountsTaxLabelsEnum } from './chart-accounts-tax-labels.enum';
12
12
  import { enumToList } from '../../functions/enum-to-list';
13
13
  import { CHART_ACCOUNTS_VALUES } from '../../db-static/chart-accounts/chart-accounts-values';
14
14
  export class ChartAccounts extends ChartAccountsBase {
15
- constructor() {
16
- super(...arguments);
17
- this.values = [];
18
- }
19
15
  /**
20
16
  * Return name as string
21
17
  */
@@ -149,7 +145,6 @@ export class ChartAccounts extends ChartAccountsBase {
149
145
  * Get chart accounts value for current financial year
150
146
  */
151
147
  getCurrentYearValue() {
152
- console.log(this);
153
148
  return this.getValueByYear(new FinancialYear().year);
154
149
  }
155
150
  /**
@@ -219,9 +214,8 @@ __decorate([
219
214
  ], ChartAccounts.prototype, "metadata", void 0);
220
215
  __decorate([
221
216
  Type(() => ChartAccountsValue),
222
- Transform(({ obj }) => {
223
- console.log('Transform chart accounts values');
224
- return CHART_ACCOUNTS_VALUES.get(obj.id).toArray();
225
- }, { toClassOnly: true })
217
+ Transform(({ obj }) => CHART_ACCOUNTS_VALUES.get(obj.id).toArray(), { toClassOnly: true }),
218
+ Transform(() => null, { toPlainOnly: true }),
219
+ Expose()
226
220
  ], ChartAccounts.prototype, "values", void 0);
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsbUNBQW1DLEVBQ3JGLCtCQUErQixFQUFFLHFDQUFxQyxFQUFFLG1DQUFtQyxFQUMzRyw0QkFBNEIsRUFDN0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUU3RixNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjtJQUFwRDs7UUFtQkUsV0FBTSxHQUF5QixFQUFFLENBQUM7SUE4TnBDLENBQUM7SUE1TkM7O09BRUc7SUFDSCxR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RUc7SUFDSCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksbUNBQW1DLENBQUM7SUFDeEQsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUsseUJBQXlCLENBQUMsc0JBQXNCLENBQUE7SUFDM0UsQ0FBQzs7QUEvT0Q7O0dBRUc7QUFDSSxzQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLDRCQUFjLEdBQUcsR0FBRyxDQUFDO0FBQ3JCLHdCQUFVLEdBQUcsRUFBRSxDQUFDO0FBR3ZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOzhDQUNIO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDOytDQUNBO0FBT2xDO0lBTEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQzlCLFNBQVMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBRTtRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDL0MsT0FBTyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JELENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzs2Q0FDUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0QWNjb3VudHMgYXMgQ2hhcnRBY2NvdW50c0Jhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xyXG5pbXBvcnQgeyBUeXBlLCBUcmFuc2Zvcm0gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1oZWFkaW5nJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c01ldGFkYXRhIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1tZXRhZGF0YSc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bSxcclxuICBDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtLCBDaGFydEFjY291bnRzU2FsYXJ5SW5jbHVkZWRMaXN0RW51bSxcclxuICBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtXHJcbn0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xyXG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcclxuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xyXG5pbXBvcnQgeyBDaGFydEFjY291bnRzVmFsdWUgfSBmcm9tICcuL2NoYXJ0LWFjY291bnRzLXZhbHVlJztcclxuaW1wb3J0IHtDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bX0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xyXG5pbXBvcnQge2VudW1Ub0xpc3R9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xyXG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19WQUxVRVMgfSBmcm9tICcuLi8uLi9kYi1zdGF0aWMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdmFsdWVzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzIGV4dGVuZHMgQ2hhcnRBY2NvdW50c0Jhc2Uge1xyXG4gIC8qKlxyXG4gICAqIEF1c3RyYWxpYW4gR1NUIHBlcmNlbnQgdmFsdWUgKFZBVClcclxuICAgKi9cclxuICBzdGF0aWMgR1NUUmF0aW8gPSAwLjE7XHJcbiAgc3RhdGljIEdTVENvZWZmaWNpZW50ID0gMS4xO1xyXG4gIHN0YXRpYyBHU1RQZXJjZW50ID0gMTA7XHJcblxyXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHNIZWFkaW5nKVxyXG4gIGhlYWRpbmc6IENoYXJ0QWNjb3VudHNIZWFkaW5nO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzTWV0YWRhdGEpXHJcbiAgbWV0YWRhdGE6IENoYXJ0QWNjb3VudHNNZXRhZGF0YVtdO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzVmFsdWUpXHJcbiAgQFRyYW5zZm9ybSgoe29ian0pID0+IHtcclxuICAgIGNvbnNvbGUubG9nKCdUcmFuc2Zvcm0gY2hhcnQgYWNjb3VudHMgdmFsdWVzJyk7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfVkFMVUVTLmdldChvYmouaWQpLnRvQXJyYXkoKTtcclxuICB9LCB7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXHJcbiAgdmFsdWVzOiBDaGFydEFjY291bnRzVmFsdWVbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gbmFtZSBhcyBzdHJpbmdcclxuICAgKi9cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdLbXMgdHJhdmVsbGVkIGZvciB3b3JrJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzS21zRm9yV29yaygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUks7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnS21zIHRyYXZlbGxlZCBmb3Igc29sZScgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ttc0ZvclNvbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgS01zIGNhdGVnb3J5IHJlbGF0ZWQgdG8gcGFzc2VkIHRhbmsgdHlwZVxyXG4gICAqL1xyXG4gIGlzS01zQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XHJcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLldPUks6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNLbXNGb3JXb3JrKCk7XHJcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNLbXNGb3JTb2xlKCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3BlY2lhbCB0eXBlIHVzZWQgZm9yIGp1c3QgcHJlLXBheWluZyB0YXggdG8gdGhlIEFUTywgdXNlcyBvbiB0YXggc3VtbWFyeVxyXG4gICAqL1xyXG4gIGlzTlJBUygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVEFYX09GRlNFVFNfTl9SX0FfUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdJbnRlcmVzdCBvbiBMb2FuJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzSW50ZXJlc3RPbkxvYW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnTW90b3IgVmVoaWNsZXMnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNWZWhpY2xlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRVM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnSW50ZXJlc3QgRWFybmVkJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzSW50ZXJlc3RFYXJuZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX0VBUk5FRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdUcnVzdCBJbmNvbWUnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNUcnVzdEluY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVFJVU1RfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ01vdG9yIHZlaGljbGVzIChjb21tZXJjaWFsIGNhcnMpJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzQ29tbWVyY2lhbFZlaGljbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5DT01NRVJDSUFMX1ZFSElDTEVTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgd29yayBpbmNvbWVcclxuICAgKi9cclxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIGlzVmVoaWNsZUV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISFDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bVt0aGlzLmhlYWRpbmc/LmlkXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIG90aGVyIGluY29tZVxyXG4gICAqL1xyXG4gIGlzT3RoZXJJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9JTkNPTUU7XHJcbiAgfVxyXG5cclxuICBpc0luY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmluY29tZS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHkuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1dvcmtFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5PVEhFUl9FWFBFTlNFLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfREVQUkVDSUFUSU9OXVxyXG4gICAgICAuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1NvbGVFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0RFUFJFQ0lBVElPTl1cclxuICAgICAgLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgcHJvcGVydHkgZXhwZW5zZVxyXG4gICAqL1xyXG4gIGlzUHJvcGVydHlFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNQcm9wZXJ0eSgpICYmIHRoaXMuaXNFeHBlbnNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyBwcm9wZXJ0eSBpbmNvbWVcclxuICAgKi9cclxuICBpc1Byb3BlcnR5SW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgaXNQZXJzb25hbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNQZXJzb25hbEV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QRVJTT05BTF9FWFBFTlNFO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgaXMgZGVwcmVjaWF0aW9uXHJcbiAgICovXHJcbiAgaXNEZXByZWNpYXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5kZXByZWNpYXRpb24uaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBjaGFydCBhY2NvdW50IGlzIHdvcmsgcmVsYXRlZCBjYXIgZXhwZW5zZXNcclxuICAgKi9cclxuICBpc1ZlaGljbGVMb2FuRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRV9MT0FOX0lOVEVSRVNUIHx8IHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5WRUhJQ0xFX0xPQU5fUFJJTkNJUEFMO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNoYXJ0IGFjY291bnRzIHZhbHVlIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudFllYXJWYWx1ZSgpOiBDaGFydEFjY291bnRzVmFsdWUge1xyXG4gICAgY29uc29sZS5sb2codGhpcyk7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUJ5WWVhcihuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNoYXJ0IGFjY291bnRzIHZhbHVlIGJ5IGZpbmFuY2lhbCB5ZWFyXHJcbiAgICovXHJcbiAgZ2V0VmFsdWVCeVllYXIoeWVhcjogbnVtYmVyKTogQ2hhcnRBY2NvdW50c1ZhbHVlIHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcy5maW5kKCh2YWx1ZTogQ2hhcnRBY2NvdW50c1ZhbHVlKTogYm9vbGVhbiA9PiB2YWx1ZS5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG5vIHdheSB0byBjaGVjayBob3cgbXVjaCB1c2VkIGZvciB3b3JrL3NvbGUsIHNvIHdlIGxldCB1c2VyIGFkanVzdCBpdFxyXG4gICAqIGV4Y2VwdCB2ZWhpY2xlIGV4cGVuc2UsIHdoaWNoIGlzIGVxdWFsIHRvIHZlaGljbGVDbGFpbS53b3JrVXNhZ2UgYW5kIHBlcnNvbmFsLCB3aGljaCBpcyBlcXVhbCB0byAwXHJcbiAgICovXHJcbiAgaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5pc1dvcmtFeHBlbnNlKCkgfHwgdGhpcy5pc1NvbGVFeHBlbnNlKCkpICYmICghdGhpcy5pc1ZlaGljbGVFeHBlbnNlKCkgJiYgIXRoaXMuaXNQZXJzb25hbEV4cGVuc2UoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBnZXQgbGFiZWwgZm9yIHRyYW5zYWN0aW9uIHRheCBmaWVsZCBkZXBlbmRlZCBvbiBzZWxlY3RlZCBjaGFydCBhY2NvdW50LlxyXG4gICAqIHRheCB0eXBlIGRlcGVuZHMgb24gY2hhcnQgYWNjb3VudCBoZWFkaW5nIG9yIGNhdGVnb3J5LlxyXG4gICAqL1xyXG4gIGdldFRheExhYmVsKCk6IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIHtcclxuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheGFibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcclxuICAgIGNvbnN0IHRheGFibGVDQUhlYWRpbmdzSWRzOiBudW1iZXJbXSA9IGVudW1Ub0xpc3QoQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSlcclxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xyXG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4LWRlZHVjdGlibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcclxuICAgIGNvbnN0IGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzOiBudW1iZXJbXSA9IGVudW1Ub0xpc3QoQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSlcclxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xyXG5cclxuICAgIC8vIGNoZWNrIGlmIG9uZSBvZiBpZHMgYXJyYXlzIGluY2x1ZGVzIGN1cnJlbnQgY2hhcnQgYWNjb3VudHMgaGVhZGluZyBpZCBhbmQgc2V0IHRheCBsYWJlbFxyXG4gICAgLy8gb3RoZXJ3aXNlIGxhYmVsIGlzIGVtcHR5IGZvciB0aGlzIGNsYXNzXHJcbiAgICBzd2l0Y2ggKHRydWUpIHtcclxuICAgICAgY2FzZSB0YXhhYmxlQ0FIZWFkaW5nc0lkcy5pbmNsdWRlcyh0aGlzLmhlYWRpbmc/LmlkKTpcclxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1BBSUQ7XHJcbiAgICAgIGNhc2UgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXModGhpcy5oZWFkaW5nPy5pZCk6XHJcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9ERURVQ1RFRDtcclxuICAgICAgY2FzZSBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmtJbmNvbWUuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk6XHJcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9XSVRISEVMRDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRVRQKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZGluZy5pZCA9PT0gQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5FVFBcclxuICB9XHJcblxyXG4gIGlzU2FsYXJ5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5TQUxBUllfT1JfV0FHRVM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBjaGFydCBhY2NvdW50cyBpbmNsdWRlZCBpbiBzYWxhcnksIGxpa2UgdGlwcyBvciBhbGxvd2FuY2VcclxuICAgKi9cclxuICBpc1NhbGFyeUluY2x1ZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgaW4gQ2hhcnRBY2NvdW50c1NhbGFyeUluY2x1ZGVkTGlzdEVudW07XHJcbiAgfVxyXG5cclxuICBpc1Byb3BlcnR5Q2FwaXRhbFdvcmtzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfQ0FQSVRBTF9XT1JLU1xyXG4gIH1cclxufVxyXG4iXX0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUNMLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLG1DQUFtQyxFQUNyRiwrQkFBK0IsRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFDM0csNEJBQTRCLEVBQzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFN0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFtQmxEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJ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QXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQTtJQUMzRSxDQUFDOztBQTVPRDs7R0FFRztBQUNJLHNCQUFRLEdBQUcsR0FBRyxDQUFDO0FBQ2YsNEJBQWMsR0FBRyxHQUFHLENBQUM7QUFDckIsd0JBQVUsR0FBRyxFQUFFLENBQUM7QUFHdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7OENBQ0g7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7K0NBQ0E7QUFLeEI7SUFIVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDOUIsU0FBUyxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN4RixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzVDLE1BQU0sRUFBRTs2Q0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydEFjY291bnRzIGFzIENoYXJ0QWNjb3VudHNCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcclxuaW1wb3J0IHsgVHlwZSwgVHJhbnNmb3JtLCBFeHBvc2UgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1oZWFkaW5nJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c01ldGFkYXRhIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1tZXRhZGF0YSc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bSxcclxuICBDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtLCBDaGFydEFjY291bnRzU2FsYXJ5SW5jbHVkZWRMaXN0RW51bSxcclxuICBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtXHJcbn0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xyXG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcclxuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xyXG5pbXBvcnQgeyBDaGFydEFjY291bnRzVmFsdWUgfSBmcm9tICcuL2NoYXJ0LWFjY291bnRzLXZhbHVlJztcclxuaW1wb3J0IHtDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bX0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xyXG5pbXBvcnQge2VudW1Ub0xpc3R9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xyXG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19WQUxVRVMgfSBmcm9tICcuLi8uLi9kYi1zdGF0aWMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdmFsdWVzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzIGV4dGVuZHMgQ2hhcnRBY2NvdW50c0Jhc2Uge1xyXG4gIC8qKlxyXG4gICAqIEF1c3RyYWxpYW4gR1NUIHBlcmNlbnQgdmFsdWUgKFZBVClcclxuICAgKi9cclxuICBzdGF0aWMgR1NUUmF0aW8gPSAwLjE7XHJcbiAgc3RhdGljIEdTVENvZWZmaWNpZW50ID0gMS4xO1xyXG4gIHN0YXRpYyBHU1RQZXJjZW50ID0gMTA7XHJcblxyXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHNIZWFkaW5nKVxyXG4gIGhlYWRpbmc6IENoYXJ0QWNjb3VudHNIZWFkaW5nO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzTWV0YWRhdGEpXHJcbiAgbWV0YWRhdGE6IENoYXJ0QWNjb3VudHNNZXRhZGF0YVtdO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzVmFsdWUpXHJcbiAgQFRyYW5zZm9ybSgoe29ian0pID0+IENIQVJUX0FDQ09VTlRTX1ZBTFVFUy5nZXQob2JqLmlkKS50b0FycmF5KCksIHsgdG9DbGFzc09ubHk6IHRydWUgfSlcclxuICBAVHJhbnNmb3JtKCgpID0+IG51bGwsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcclxuICBARXhwb3NlKCkgdmFsdWVzOiBDaGFydEFjY291bnRzVmFsdWVbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIG5hbWUgYXMgc3RyaW5nXHJcbiAgICovXHJcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnS21zIHRyYXZlbGxlZCBmb3Igd29yaycgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ttc0ZvcldvcmsoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEX0ZPUl9XT1JLO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ0ttcyB0cmF2ZWxsZWQgZm9yIHNvbGUnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNLbXNGb3JTb2xlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yIEtNcyBjYXRlZ29yeSByZWxhdGVkIHRvIHBhc3NlZCB0YW5rIHR5cGVcclxuICAgKi9cclxuICBpc0tNc0J5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IGJvb2xlYW4ge1xyXG4gICAgc3dpdGNoICh0YW5rVHlwZSkge1xyXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmlzS21zRm9yV29yaygpO1xyXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmlzS21zRm9yU29sZSgpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHNwZWNpYWwgdHlwZSB1c2VkIGZvciBqdXN0IHByZS1wYXlpbmcgdGF4IHRvIHRoZSBBVE8sIHVzZXMgb24gdGF4IHN1bW1hcnlcclxuICAgKi9cclxuICBpc05SQVMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlRBWF9PRkZTRVRTX05fUl9BX1M7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnSW50ZXJlc3Qgb24gTG9hbicgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ludGVyZXN0T25Mb2FuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9PTl9MT0FOO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ01vdG9yIFZlaGljbGVzJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzVmVoaWNsZXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlZFSElDTEVTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ0ludGVyZXN0IEVhcm5lZCcgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ludGVyZXN0RWFybmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9FQVJORUQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnVHJ1c3QgSW5jb21lJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzVHJ1c3RJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlRSVVNUX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdNb3RvciB2ZWhpY2xlcyAoY29tbWVyY2lhbCBjYXJzKScgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0NvbW1lcmNpYWxWZWhpY2xlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uQ09NTUVSQ0lBTF9WRUhJQ0xFUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIHdvcmsgaW5jb21lXHJcbiAgICovXHJcbiAgaXNXb3JrSW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19JTkNPTUU7XHJcbiAgfVxyXG5cclxuICBpc1ZlaGljbGVFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW1bdGhpcy5oZWFkaW5nPy5pZF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyBvdGhlciBpbmNvbWVcclxuICAgKi9cclxuICBpc090aGVySW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5leHBlbnNlLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5LmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNXb3JrRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0VYUEVOU0UsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0RFUFJFQ0lBVElPTl1cclxuICAgICAgLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNTb2xlRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0VYUEVOU0UsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9ERVBSRUNJQVRJT05dXHJcbiAgICAgIC5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIHByb3BlcnR5IGV4cGVuc2VcclxuICAgKi9cclxuICBpc1Byb3BlcnR5RXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUHJvcGVydHkoKSAmJiB0aGlzLmlzRXhwZW5zZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgcHJvcGVydHkgaW5jb21lXHJcbiAgICovXHJcbiAgaXNQcm9wZXJ0eUluY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbC5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzUGVyc29uYWxFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfRVhQRU5TRTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGNhdGVnb3J5IGlzIGRlcHJlY2lhdGlvblxyXG4gICAqL1xyXG4gIGlzRGVwcmVjaWF0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gY2hhcnQgYWNjb3VudCBpcyB3b3JrIHJlbGF0ZWQgY2FyIGV4cGVuc2VzXHJcbiAgICovXHJcbiAgaXNWZWhpY2xlTG9hbkV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlZFSElDTEVfTE9BTl9JTlRFUkVTVCB8fCB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRV9MT0FOX1BSSU5DSVBBTDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjaGFydCBhY2NvdW50cyB2YWx1ZSBmb3IgY3VycmVudCBmaW5hbmNpYWwgeWVhclxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnRZZWFyVmFsdWUoKTogQ2hhcnRBY2NvdW50c1ZhbHVlIHtcclxuICAgIHJldHVybiB0aGlzLmdldFZhbHVlQnlZZWFyKG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY2hhcnQgYWNjb3VudHMgdmFsdWUgYnkgZmluYW5jaWFsIHllYXJcclxuICAgKi9cclxuICBnZXRWYWx1ZUJ5WWVhcih5ZWFyOiBudW1iZXIpOiBDaGFydEFjY291bnRzVmFsdWUge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmZpbmQoKHZhbHVlOiBDaGFydEFjY291bnRzVmFsdWUpOiBib29sZWFuID0+IHZhbHVlLmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbm8gd2F5IHRvIGNoZWNrIGhvdyBtdWNoIHVzZWQgZm9yIHdvcmsvc29sZSwgc28gd2UgbGV0IHVzZXIgYWRqdXN0IGl0XHJcbiAgICogZXhjZXB0IHZlaGljbGUgZXhwZW5zZSwgd2hpY2ggaXMgZXF1YWwgdG8gdmVoaWNsZUNsYWltLndvcmtVc2FnZSBhbmQgcGVyc29uYWwsIHdoaWNoIGlzIGVxdWFsIHRvIDBcclxuICAgKi9cclxuICBpc0NsYWltUGVyY2VudEVkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLmlzV29ya0V4cGVuc2UoKSB8fCB0aGlzLmlzU29sZUV4cGVuc2UoKSkgJiYgKCF0aGlzLmlzVmVoaWNsZUV4cGVuc2UoKSAmJiAhdGhpcy5pc1BlcnNvbmFsRXhwZW5zZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCBsYWJlbCBmb3IgdHJhbnNhY3Rpb24gdGF4IGZpZWxkIGRlcGVuZGVkIG9uIHNlbGVjdGVkIGNoYXJ0IGFjY291bnQuXHJcbiAgICogdGF4IHR5cGUgZGVwZW5kcyBvbiBjaGFydCBhY2NvdW50IGhlYWRpbmcgb3IgY2F0ZWdvcnkuXHJcbiAgICovXHJcbiAgZ2V0VGF4TGFiZWwoKTogQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0ge1xyXG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4YWJsZSBjaGFydCBhY2NvdW50cyBoZWFkaW5nc1xyXG4gICAgY29uc3QgdGF4YWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtKVxyXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XHJcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXgtZGVkdWN0aWJsZSBjaGFydCBhY2NvdW50cyBoZWFkaW5nc1xyXG4gICAgY29uc3QgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtKVxyXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XHJcblxyXG4gICAgLy8gY2hlY2sgaWYgb25lIG9mIGlkcyBhcnJheXMgaW5jbHVkZXMgY3VycmVudCBjaGFydCBhY2NvdW50cyBoZWFkaW5nIGlkIGFuZCBzZXQgdGF4IGxhYmVsXHJcbiAgICAvLyBvdGhlcndpc2UgbGFiZWwgaXMgZW1wdHkgZm9yIHRoaXMgY2xhc3NcclxuICAgIHN3aXRjaCAodHJ1ZSkge1xyXG4gICAgICBjYXNlIHRheGFibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKHRoaXMuaGVhZGluZz8uaWQpOlxyXG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfUEFJRDtcclxuICAgICAgY2FzZSBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkcy5pbmNsdWRlcyh0aGlzLmhlYWRpbmc/LmlkKTpcclxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX0RFRFVDVEVEO1xyXG4gICAgICBjYXNlIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29ya0luY29tZS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTpcclxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1dJVEhIRUxEO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNFVFAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkaW5nLmlkID09PSBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkVUUFxyXG4gIH1cclxuXHJcbiAgaXNTYWxhcnkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlNBTEFSWV9PUl9XQUdFUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNoYXJ0IGFjY291bnRzIGluY2x1ZGVkIGluIHNhbGFyeSwgbGlrZSB0aXBzIG9yIGFsbG93YW5jZVxyXG4gICAqL1xyXG4gIGlzU2FsYXJ5SW5jbHVkZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCBpbiBDaGFydEFjY291bnRzU2FsYXJ5SW5jbHVkZWRMaXN0RW51bTtcclxuICB9XHJcblxyXG4gIGlzUHJvcGVydHlDYXBpdGFsV29ya3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9DQVBJVEFMX1dPUktTXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -55,7 +55,7 @@ export class IncomeSourceService extends RestService {
55
55
  updateBatch(incomeSources, queryParams = {}) {
56
56
  return this.http.put(`${this.environment.apiV2}/${this.url}`, incomeSources, queryParams)
57
57
  .pipe(map((updatedItems) => {
58
- const updatedInstances = updatedItems.map((item) => this.createModelInstance(this.modelClass, item));
58
+ const updatedInstances = updatedItems.map((item) => this.createModelInstance(item));
59
59
  updatedInstances.forEach((instance) => {
60
60
  replace(this.cache, instance);
61
61
  });
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
110
110
  providedIn: 'root'
111
111
  }]
112
112
  }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21lLXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFHN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsUUFBRyxHQUFXLGdCQUFnQixDQUFDO1FBQy9CLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFFMUIsNEJBQXVCLEdBQXNDLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztLQTBHdkc7SUF4R0MsWUFBWTtRQUNWLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7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TTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgYXMgSW5jb21lU291cmNlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9pbmNvbWVTb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS10eXBlJztcbmltcG9ydCB7IFNhbGFyeUZvcmVjYXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0JztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgSW5jb21lU291cmNlVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9pbmNvbWUtc291cmNlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggaW5jb21lIHNvdXJjZXNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW5jb21lU291cmNlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEluY29tZVNvdXJjZUJhc2UsIEluY29tZVNvdXJjZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIHVybDogc3RyaW5nID0gJ2luY29tZS1zb3VyY2VzJztcbiAgbW9kZWxDbGFzcyA9IEluY29tZVNvdXJjZTtcbiAgaW5jb21lU291cmNlVHlwZXM6IEluY29tZVNvdXJjZVR5cGVbXTtcbiAgaW5jb21lU291cmNlVHlwZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8SW5jb21lU291cmNlVHlwZVtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEluY29tZVNvdXJjZVR5cGVbXT4oMSk7XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU29sZUJ1c2luZXNzQ3JlYXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbmNvbWUgc291cmNlcyB0YXggY2FsY3VsYXRpb25cbiAgICogQHBhcmFtIHNhbGFyeUZvcmVjYXN0IGZvciB3aGljaCB0YXggc2hvdWxkIGJlIGNhbGN1bGF0ZWRcbiAgICovXG4gIGdldFRheENhbGN1bGF0aW9uKHNhbGFyeUZvcmVjYXN0OiBTYWxhcnlGb3JlY2FzdCk6IE9ic2VydmFibGU8U2FsYXJ5Rm9yZWNhc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vdGF4LWNhbGN1bGF0aW9uYCwgc2FsYXJ5Rm9yZWNhc3QpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhTYWxhcnlGb3JlY2FzdCwgcmVzcG9uc2UpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYmF0Y2ggb2YgaW5jb21lIHNvdXJjZXNcbiAgICogQHBhcmFtIGluY29tZVNvdXJjZXMgdG8gYWRkXG4gICAqL1xuICBhZGRCYXRjaChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IE9ic2VydmFibGU8SW5jb21lU291cmNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBpbmNvbWVTb3VyY2VzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYWRkZWRJbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VCYXNlW10pID0+IHtcbiAgICAgICAgICAvLyBhc3NpZ24gcmVzcG9uZCBpbmNvbWUgc291cmNlcyB0byBwcm92aWRlZCBpbmNvbWUgc291cmNlc1xuICAgICAgICAgIGNvbnN0IGFzc2lnbmVkSW5jb21lU291cmNlczogSW5jb21lU291cmNlW10gPSBhZGRlZEluY29tZVNvdXJjZXNcbiAgICAgICAgICAgIC5tYXAoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlLCBpbmRleDogbnVtYmVyKSA9PiBPYmplY3QuYXNzaWduKHBsYWluVG9DbGFzcyhJbmNvbWVTb3VyY2UsIHt9KSwgaW5jb21lU291cmNlLCBpbmNvbWVTb3VyY2VzW2luZGV4XSkpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0NSRUFURUQsIGFzc2lnbmVkSW5jb21lU291cmNlcykpO1xuXG4gICAgICAgICAgdGhpcy5jYWNoZS5wdXNoKC4uLmFzc2lnbmVkSW5jb21lU291cmNlcyk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBhc3NpZ25lZEluY29tZVNvdXJjZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYXRjaCBvZiBpbmNvbWUgc291cmNlc1xuICAgKi9cblxuICB1cGRhdGVCYXRjaChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxJbmNvbWVTb3VyY2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgaW5jb21lU291cmNlcywgcXVlcnlQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkSXRlbXM6IEluY29tZVNvdXJjZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEluc3RhbmNlczogSW5jb21lU291cmNlW10gPSB1cGRhdGVkSXRlbXMubWFwKFxuICAgICAgICAgICAgKGl0ZW06IEluY29tZVNvdXJjZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSlcbiAgICAgICAgICApO1xuICAgICAgICAgIHVwZGF0ZWRJbnN0YW5jZXMuZm9yRWFjaCgoaW5zdGFuY2U6IEluY29tZVNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoaW5jb21lU291cmNlc1swXS5mb3JlY2FzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfVVBEQVRFRCwgaW5jb21lU291cmNlcykpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEluc3RhbmNlcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGluY29tZSBzb3VyY2VzIGJ5IHByb3ZpZGVkIHR5cGVzXG4gICAqIEBwYXJhbSB0eXBlc1xuICAgKi9cbiAgZ2V0QnlUeXBlcyh0eXBlczogSW5jb21lU291cmNlVHlwZUVudW1bXSk6IE9ic2VydmFibGU8SW5jb21lU291cmNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IGluY29tZVNvdXJjZXNcbiAgICAgICAgICAuZmlsdGVyKChpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZSkgPT4gdHlwZXMuaW5jbHVkZXMoaW5jb21lU291cmNlLnR5cGUpKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvdGhlciBpbmNvbWVzIHR5cGVzXG4gICAqL1xuICBnZXRJbmNvbWVTb3VyY2VUeXBlcygpOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVR5cGVbXT4ge1xuICAgIGlmICghdGhpcy5pbmNvbWVTb3VyY2VUeXBlcykge1xuICAgICAgdGhpcy5pbmNvbWVTb3VyY2VUeXBlcyA9IFtdO1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9pbmNvbWUtc291cmNlLXR5cGVzYClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UubWFwKChpdGVtOiBhbnkpID0+IHBsYWluVG9DbGFzcyhJbmNvbWVTb3VyY2VUeXBlLCBpdGVtKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChvdGhlckluY29tZXNUeXBlczogSW5jb21lU291cmNlVHlwZVtdKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbmNvbWVTb3VyY2VUeXBlcyA9IG90aGVySW5jb21lc1R5cGVzO1xuICAgICAgICAgIHRoaXMuaW5jb21lU291cmNlVHlwZVN1YmplY3QubmV4dCh0aGlzLmluY29tZVNvdXJjZVR5cGVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlVHlwZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogU29sZSBidXNpbmVzc2VzIGNyZWF0ZSB0b2dldGhlciB3aXRoIGluY29tZSBzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU29sZUJ1c2luZXNzQ3JlYXRlZCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5TT0xFX0JVU0lORVNTX0NSRUFURUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyBAVE9ETyBBbGV4L1ZpayAoVFQtMTc3Nyk6IHdlIGNsZWFyIGNhY2hlIGEgbG90LCBhIGJldHRlciBhbmQgZWFzaWVyIHdheSByZXF1aXJlZCwgYWRkIHRvZG8gYW5kIHRhc2sgdG8gcmVmYWN0b3JcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21lLXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFHN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsUUFBRyxHQUFXLGdCQUFnQixDQUFDO1FBQy9CLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFFMUIsNEJBQXVCLEdBQXNDLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztLQTBHdkc7SUF4R0MsWUFBWTtRQUNWLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7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bnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIGFzIEluY29tZVNvdXJjZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvaW5jb21lU291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtdHlwZSc7XG5pbXBvcnQgeyBTYWxhcnlGb3JlY2FzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IEluY29tZVNvdXJjZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIGluY29tZSBzb3VyY2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEluY29tZVNvdXJjZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxJbmNvbWVTb3VyY2VCYXNlLCBJbmNvbWVTb3VyY2U+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICB1cmw6IHN0cmluZyA9ICdpbmNvbWUtc291cmNlcyc7XG4gIG1vZGVsQ2xhc3MgPSBJbmNvbWVTb3VyY2U7XG4gIGluY29tZVNvdXJjZVR5cGVzOiBJbmNvbWVTb3VyY2VUeXBlW107XG4gIGluY29tZVNvdXJjZVR5cGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEluY29tZVNvdXJjZVR5cGVbXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxJbmNvbWVTb3VyY2VUeXBlW10+KDEpO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblNvbGVCdXNpbmVzc0NyZWF0ZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaW5jb21lIHNvdXJjZXMgdGF4IGNhbGN1bGF0aW9uXG4gICAqIEBwYXJhbSBzYWxhcnlGb3JlY2FzdCBmb3Igd2hpY2ggdGF4IHNob3VsZCBiZSBjYWxjdWxhdGVkXG4gICAqL1xuICBnZXRUYXhDYWxjdWxhdGlvbihzYWxhcnlGb3JlY2FzdDogU2FsYXJ5Rm9yZWNhc3QpOiBPYnNlcnZhYmxlPFNhbGFyeUZvcmVjYXN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9L3RheC1jYWxjdWxhdGlvbmAsIHNhbGFyeUZvcmVjYXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoU2FsYXJ5Rm9yZWNhc3QsIHJlc3BvbnNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGJhdGNoIG9mIGluY29tZSBzb3VyY2VzXG4gICAqIEBwYXJhbSBpbmNvbWVTb3VyY2VzIHRvIGFkZFxuICAgKi9cbiAgYWRkQmF0Y2goaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgaW5jb21lU291cmNlcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGFkZGVkSW5jb21lU291cmNlczogSW5jb21lU291cmNlQmFzZVtdKSA9PiB7XG4gICAgICAgICAgLy8gYXNzaWduIHJlc3BvbmQgaW5jb21lIHNvdXJjZXMgdG8gcHJvdmlkZWQgaW5jb21lIHNvdXJjZXNcbiAgICAgICAgICBjb25zdCBhc3NpZ25lZEluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdID0gYWRkZWRJbmNvbWVTb3VyY2VzXG4gICAgICAgICAgICAubWFwKChpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZSwgaW5kZXg6IG51bWJlcikgPT4gT2JqZWN0LmFzc2lnbihwbGFpblRvQ2xhc3MoSW5jb21lU291cmNlLCB7fSksIGluY29tZVNvdXJjZSwgaW5jb21lU291cmNlc1tpbmRleF0pKTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19DUkVBVEVELCBhc3NpZ25lZEluY29tZVNvdXJjZXMpKTtcblxuICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5hc3NpZ25lZEluY29tZVNvdXJjZXMpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gYXNzaWduZWRJbmNvbWVTb3VyY2VzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmF0Y2ggb2YgaW5jb21lIHNvdXJjZXNcbiAgICovXG5cbiAgdXBkYXRlQmF0Y2goaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8SW5jb21lU291cmNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGluY29tZVNvdXJjZXMsIHF1ZXJ5UGFyYW1zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZEl0ZW1zOiBJbmNvbWVTb3VyY2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnN0YW5jZXM6IEluY29tZVNvdXJjZVtdID0gdXBkYXRlZEl0ZW1zLm1hcChcbiAgICAgICAgICAgIChpdGVtOiBJbmNvbWVTb3VyY2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKVxuICAgICAgICAgICk7XG4gICAgICAgICAgdXBkYXRlZEluc3RhbmNlcy5mb3JFYWNoKChpbnN0YW5jZTogSW5jb21lU291cmNlKSA9PiB7XG4gICAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGluc3RhbmNlKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChpbmNvbWVTb3VyY2VzWzBdLmZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19VUERBVEVELCBpbmNvbWVTb3VyY2VzKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW5zdGFuY2VzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaW5jb21lIHNvdXJjZXMgYnkgcHJvdmlkZWQgdHlwZXNcbiAgICogQHBhcmFtIHR5cGVzXG4gICAqL1xuICBnZXRCeVR5cGVzKHR5cGVzOiBJbmNvbWVTb3VyY2VUeXBlRW51bVtdKTogT2JzZXJ2YWJsZTxJbmNvbWVTb3VyY2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4gaW5jb21lU291cmNlc1xuICAgICAgICAgIC5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiB0eXBlcy5pbmNsdWRlcyhpbmNvbWVTb3VyY2UudHlwZSkpKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG90aGVyIGluY29tZXMgdHlwZXNcbiAgICovXG4gIGdldEluY29tZVNvdXJjZVR5cGVzKCk6IE9ic2VydmFibGU8SW5jb21lU291cmNlVHlwZVtdPiB7XG4gICAgaWYgKCF0aGlzLmluY29tZVNvdXJjZVR5cGVzKSB7XG4gICAgICB0aGlzLmluY29tZVNvdXJjZVR5cGVzID0gW107XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2luY29tZS1zb3VyY2UtdHlwZXNgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5tYXAoKGl0ZW06IGFueSkgPT4gcGxhaW5Ub0NsYXNzKEluY29tZVNvdXJjZVR5cGUsIGl0ZW0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKG90aGVySW5jb21lc1R5cGVzOiBJbmNvbWVTb3VyY2VUeXBlW10pID0+IHtcbiAgICAgICAgICB0aGlzLmluY29tZVNvdXJjZVR5cGVzID0gb3RoZXJJbmNvbWVzVHlwZXM7XG4gICAgICAgICAgdGhpcy5pbmNvbWVTb3VyY2VUeXBlU3ViamVjdC5uZXh0KHRoaXMuaW5jb21lU291cmNlVHlwZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbmNvbWVTb3VyY2VUeXBlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb2xlIGJ1c2luZXNzZXMgY3JlYXRlIHRvZ2V0aGVyIHdpdGggaW5jb21lIHNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Tb2xlQnVzaW5lc3NDcmVhdGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNPTEVfQlVTSU5FU1NfQ1JFQVRFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIC8vIEBUT0RPIEFsZXgvVmlrIChUVC0xNzc3KTogd2UgY2xlYXIgY2FjaGUgYSBsb3QsIGEgYmV0dGVyIGFuZCBlYXNpZXIgd2F5IHJlcXVpcmVkLCBhZGQgdG9kbyBhbmQgdGFzayB0byByZWZhY3RvclxuICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==