igniteui-angular 12.2.4 → 12.2.8

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 (78) hide show
  1. package/bundles/igniteui-angular.umd.js +466 -521
  2. package/bundles/igniteui-angular.umd.js.map +1 -1
  3. package/esm2015/igniteui-angular.js +106 -107
  4. package/esm2015/lib/action-strip/action-strip.component.js +19 -2
  5. package/esm2015/lib/action-strip/grid-actions/grid-action-button.component.js +2 -2
  6. package/esm2015/lib/action-strip/grid-actions/grid-editing-actions.component.js +4 -4
  7. package/esm2015/lib/action-strip/grid-actions/grid-pinning-actions.component.js +5 -5
  8. package/esm2015/lib/banner/banner.component.js +1 -1
  9. package/esm2015/lib/core/i18n/action-strip-resources.js +4 -0
  10. package/esm2015/lib/core/i18n/resources.js +5 -3
  11. package/esm2015/lib/core/utils.js +24 -2
  12. package/esm2015/lib/data-operations/data-clone-strategy.js +7 -0
  13. package/esm2015/lib/data-operations/data-util.js +8 -8
  14. package/esm2015/lib/data-operations/grouping-strategy.js +1 -1
  15. package/esm2015/lib/directives/radio/radio-group.directive.js +5 -13
  16. package/esm2015/lib/drop-down/drop-down-item.base.js +1 -5
  17. package/esm2015/lib/grids/api.service.js +2 -2
  18. package/esm2015/lib/grids/cell.component.js +1 -17
  19. package/esm2015/lib/grids/column-actions/column-actions.component.js +3 -7
  20. package/esm2015/lib/grids/common/crud.service.js +4 -3
  21. package/esm2015/lib/grids/common/grid.interface.js +1 -1
  22. package/esm2015/lib/grids/common/pipes.js +2 -2
  23. package/esm2015/lib/grids/common/row.interface.js +1 -1
  24. package/esm2015/lib/grids/grid/grid.component.js +21 -8
  25. package/esm2015/lib/grids/grid/grid.pipes.js +3 -3
  26. package/esm2015/lib/grids/grid-base.directive.js +82 -118
  27. package/esm2015/lib/grids/grid-public-row.js +18 -16
  28. package/esm2015/lib/grids/headers/grid-header-row.component.js +2 -2
  29. package/esm2015/lib/grids/hierarchical-grid/hierarchical-grid.component.js +3 -7
  30. package/esm2015/lib/grids/row.directive.js +2 -3
  31. package/esm2015/lib/grids/summaries/grid-summary.service.js +2 -2
  32. package/esm2015/lib/grids/tree-grid/tree-grid.component.js +3 -7
  33. package/esm2015/lib/grids/tree-grid/tree-grid.pipes.js +3 -3
  34. package/esm2015/lib/icon/icon.component.js +1 -6
  35. package/esm2015/lib/services/exporter-common/base-export-service.js +2 -2
  36. package/esm2015/lib/services/overlay/overlay.js +2 -1
  37. package/esm2015/lib/services/overlay/utilities.js +1 -1
  38. package/esm2015/lib/services/transaction/base-transaction.js +17 -4
  39. package/esm2015/lib/services/transaction/igx-hierarchical-transaction.js +3 -4
  40. package/esm2015/lib/services/transaction/igx-transaction.js +3 -3
  41. package/esm2015/lib/services/transaction/transaction-factory.service.js +1 -2
  42. package/esm2015/lib/services/transaction/transaction.js +1 -1
  43. package/esm2015/lib/toast/toast.component.js +43 -21
  44. package/esm2015/public_api.js +2 -1
  45. package/fesm2015/igniteui-angular.js +265 -330
  46. package/fesm2015/igniteui-angular.js.map +1 -1
  47. package/igniteui-angular.d.ts +105 -106
  48. package/igniteui-angular.metadata.json +1 -1
  49. package/lib/action-strip/action-strip.component.d.ts +10 -0
  50. package/lib/banner/banner.component.d.ts +1 -2
  51. package/lib/core/i18n/action-strip-resources.d.ts +4 -0
  52. package/lib/core/i18n/resources.d.ts +3 -1
  53. package/lib/core/utils.d.ts +12 -0
  54. package/lib/data-operations/data-clone-strategy.d.ts +6 -0
  55. package/lib/data-operations/data-util.d.ts +5 -3
  56. package/lib/data-operations/grouping-strategy.d.ts +5 -2
  57. package/lib/directives/radio/radio-group.directive.d.ts +4 -4
  58. package/lib/grids/cell.component.d.ts +0 -9
  59. package/lib/grids/column-actions/column-actions.component.d.ts +2 -1
  60. package/lib/grids/common/grid.interface.d.ts +2 -0
  61. package/lib/grids/common/row.interface.d.ts +1 -0
  62. package/lib/grids/grid/grid.component.d.ts +19 -1
  63. package/lib/grids/grid/grid.pipes.d.ts +2 -1
  64. package/lib/grids/grid-base.directive.d.ts +66 -37
  65. package/lib/grids/grid-public-row.d.ts +10 -3
  66. package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
  67. package/lib/grids/tree-grid/tree-grid.component.d.ts +2 -1
  68. package/lib/icon/icon.component.d.ts +2 -2
  69. package/lib/services/overlay/utilities.d.ts +2 -1
  70. package/lib/services/transaction/base-transaction.d.ts +7 -0
  71. package/lib/services/transaction/transaction.d.ts +5 -0
  72. package/lib/toast/toast.component.d.ts +10 -4
  73. package/migrations/common/filterSourceDirs.d.ts +2 -2
  74. package/migrations/common/filterSourceDirs.js +2 -2
  75. package/package.json +1 -1
  76. package/public_api.d.ts +2 -0
  77. package/esm2015/lib/core/deprecateDecorators.js +0 -101
  78. package/lib/core/deprecateDecorators.d.ts +0 -20
@@ -1,13 +1,12 @@
1
1
  import { TransactionType } from './transaction';
2
2
  import { IgxTransactionService } from './igx-transaction';
3
3
  import { DataUtil } from '../../data-operations/data-util';
4
- import { cloneValue } from '../../core/utils';
5
4
  /** @experimental @hidden */
6
5
  export class IgxHierarchicalTransactionService extends IgxTransactionService {
7
6
  getAggregatedChanges(mergeChanges) {
8
7
  const result = [];
9
8
  this._states.forEach((state, key) => {
10
- const value = mergeChanges ? this.mergeValues(state.recordRef, state.value) : cloneValue(state.value);
9
+ const value = mergeChanges ? this.mergeValues(state.recordRef, state.value) : this.cloneStrategy.clone(state.value);
11
10
  this.clearArraysFromObject(value);
12
11
  result.push({ id: key, path: state.path, newValue: value, type: state.type });
13
12
  });
@@ -19,7 +18,7 @@ export class IgxHierarchicalTransactionService extends IgxTransactionService {
19
18
  if (id !== undefined) {
20
19
  transactions = transactions.filter(t => t.id === id);
21
20
  }
22
- DataUtil.mergeHierarchicalTransactions(data, transactions, childDataKey, primaryKeyOrId, true);
21
+ DataUtil.mergeHierarchicalTransactions(data, transactions, childDataKey, primaryKeyOrId, this.cloneStrategy, true);
23
22
  this.clear(id);
24
23
  }
25
24
  else {
@@ -65,4 +64,4 @@ export class IgxHierarchicalTransactionService extends IgxTransactionService {
65
64
  }
66
65
  }
67
66
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWd4LWhpZXJhcmNoaWNhbC10cmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2FjdGlvbi9pZ3gtaGllcmFyY2hpY2FsLXRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsNEJBQTRCO0FBQzVCLE1BQU0sT0FBTyxpQ0FDVCxTQUFRLHFCQUEyQjtJQUU1QixvQkFBb0IsQ0FBQyxZQUFxQjtRQUM3QyxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFRLEVBQUUsR0FBUSxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFPLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBVyxFQUFFLGNBQW9CLEVBQUUsWUFBa0IsRUFBRSxFQUFRO1FBQ3pFLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUM1QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFO2dCQUNsQixZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDeEQ7WUFDRCxRQUFRLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9GLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVTLFdBQVcsQ0FBQyxNQUFtQixFQUFFLFdBQWMsRUFBRSxTQUFlO1FBQ3RFLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVsRCw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxZQUFZLEVBQUU7WUFDZCxZQUFZLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7U0FDeEM7UUFFRCx1RUFBdUU7UUFDdkUsb0VBQW9FO1FBQ3BFLCtDQUErQztRQUMvQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSSxFQUFFLENBQU0sRUFBRSxFQUFFO2dCQUM1QixJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUNqRCxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUU7d0JBQ1osS0FBSyxlQUFlLENBQUMsR0FBRzs0QkFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDakIsTUFBTTt3QkFDVixLQUFLLGVBQWUsQ0FBQyxNQUFNOzRCQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDOzRCQUM1QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7cUJBQ2xDO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxxRkFBcUY7SUFDN0UscUJBQXFCLENBQUMsR0FBUTtRQUNsQyxJQUFJLEdBQUcsRUFBRTtZQUNMLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUMxQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDcEI7YUFDSjtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGllcmFyY2hpY2FsVHJhbnNhY3Rpb24sIEhpZXJhcmNoaWNhbFN0YXRlLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IElneFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vaWd4LXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IERhdGFVdGlsIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBjbG9uZVZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuL2hpZXJhcmNoaWNhbC10cmFuc2FjdGlvbic7XG5cbi8qKiBAZXhwZXJpbWVudGFsIEBoaWRkZW4gKi9cbmV4cG9ydCBjbGFzcyBJZ3hIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2U8VCBleHRlbmRzIEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uLCBTIGV4dGVuZHMgSGllcmFyY2hpY2FsU3RhdGU+XG4gICAgZXh0ZW5kcyBJZ3hUcmFuc2FjdGlvblNlcnZpY2U8VCwgUz4gaW1wbGVtZW50cyBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2U8VCwgUz4ge1xuXG4gICAgcHVibGljIGdldEFnZ3JlZ2F0ZWRDaGFuZ2VzKG1lcmdlQ2hhbmdlczogYm9vbGVhbik6IFRbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogVFtdID0gW107XG4gICAgICAgIHRoaXMuX3N0YXRlcy5mb3JFYWNoKChzdGF0ZTogUywga2V5OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gbWVyZ2VDaGFuZ2VzID8gdGhpcy5tZXJnZVZhbHVlcyhzdGF0ZS5yZWNvcmRSZWYsIHN0YXRlLnZhbHVlKSA6IGNsb25lVmFsdWUoc3RhdGUudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5jbGVhckFycmF5c0Zyb21PYmplY3QodmFsdWUpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goeyBpZDoga2V5LCBwYXRoOiBzdGF0ZS5wYXRoLCBuZXdWYWx1ZTogdmFsdWUsIHR5cGU6IHN0YXRlLnR5cGUgfSBhcyBUKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbW1pdChkYXRhOiBhbnlbXSwgcHJpbWFyeUtleU9ySWQ/OiBhbnksIGNoaWxkRGF0YUtleT86IGFueSwgaWQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoaWxkRGF0YUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsZXQgdHJhbnNhY3Rpb25zID0gdGhpcy5nZXRBZ2dyZWdhdGVkQ2hhbmdlcyh0cnVlKTtcbiAgICAgICAgICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zLmZpbHRlcih0ID0+IHQuaWQgPT09IGlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIERhdGFVdGlsLm1lcmdlSGllcmFyY2hpY2FsVHJhbnNhY3Rpb25zKGRhdGEsIHRyYW5zYWN0aW9ucywgY2hpbGREYXRhS2V5LCBwcmltYXJ5S2V5T3JJZCwgdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKGlkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmNvbW1pdChkYXRhLCBwcmltYXJ5S2V5T3JJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlU3RhdGUoc3RhdGVzOiBNYXA8YW55LCBTPiwgdHJhbnNhY3Rpb246IFQsIHJlY29yZFJlZj86IGFueSk6IHZvaWQge1xuICAgICAgICBzdXBlci51cGRhdGVTdGF0ZShzdGF0ZXMsIHRyYW5zYWN0aW9uLCByZWNvcmRSZWYpO1xuXG4gICAgICAgIC8vICBpZiB0cmFuc2FjdGlvbiBoYXMgbm8gcGF0aCwgZS5nLiBmbGF0IGRhdGEgc291cmNlLCBnZXQgb3V0XG4gICAgICAgIGlmICghdHJhbnNhY3Rpb24ucGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gc3RhdGVzLmdldCh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIGlmIChjdXJyZW50U3RhdGUpIHtcbiAgICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYXRoID0gdHJhbnNhY3Rpb24ucGF0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBpZiB0cmFuc2FjdGlvbiBoYXMgcGF0aCwgSGllcmFyY2hpY2FsIGRhdGEgc291cmNlLCBhbmQgaXQgaXMgREVMRVRFXG4gICAgICAgIC8vICB0eXBlIHRyYW5zYWN0aW9uIGZvciBhbGwgY2hpbGQgcm93cyByZW1vdmUgQUREIHN0YXRlcyBhbmQgdXBkYXRlXG4gICAgICAgIC8vICB0cmFuc2FjdGlvbiB0eXBlIGFuZCB2YWx1ZSBvZiBVUERBVEUgc3RhdGVzXG4gICAgICAgIGlmICh0cmFuc2FjdGlvbi50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuREVMRVRFKSB7XG4gICAgICAgICAgICBzdGF0ZXMuZm9yRWFjaCgodjogUywgazogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHYucGF0aCAmJiB2LnBhdGguaW5kZXhPZih0cmFuc2FjdGlvbi5pZCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodi50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BREQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVzLmRlbGV0ZShrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlVQREFURTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMuZ2V0KGspLnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuREVMRVRFO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlcy5nZXQoaykudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAgVE9ETzogcmVtb3ZlIHRoaXMgbWV0aG9kLiBGb3JjZSBjbG9uaW5nIHRvIHN0cmlwIGNoaWxkIGFycmF5cyB3aGVuIG5lZWRlZCBpbnN0ZWFkXG4gICAgcHJpdmF0ZSBjbGVhckFycmF5c0Zyb21PYmplY3Qob2JqOiBhbnkpIHtcbiAgICAgICAgaWYgKG9iaikge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIE9iamVjdC5rZXlzKG9iaikpIHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmpbcHJvcF0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbcHJvcF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWd4LWhpZXJhcmNoaWNhbC10cmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2FjdGlvbi9pZ3gtaGllcmFyY2hpY2FsLXRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUkzRCw0QkFBNEI7QUFDNUIsTUFBTSxPQUFPLGlDQUNULFNBQVEscUJBQTJCO0lBRTVCLG9CQUFvQixDQUFDLFlBQXFCO1FBQzdDLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVEsRUFBRSxHQUFRLEVBQUUsRUFBRTtZQUN4QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBTyxDQUFDLENBQUM7UUFDdkYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQVcsRUFBRSxjQUFvQixFQUFFLFlBQWtCLEVBQUUsRUFBUTtRQUN6RSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDNUIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtnQkFDbEIsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ3hEO1lBQ0QsUUFBUSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25ILElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVTLFdBQVcsQ0FBQyxNQUFtQixFQUFFLFdBQWMsRUFBRSxTQUFlO1FBQ3RFLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVsRCw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxZQUFZLEVBQUU7WUFDZCxZQUFZLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7U0FDeEM7UUFFRCx1RUFBdUU7UUFDdkUsb0VBQW9FO1FBQ3BFLCtDQUErQztRQUMvQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSSxFQUFFLENBQU0sRUFBRSxFQUFFO2dCQUM1QixJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUNqRCxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUU7d0JBQ1osS0FBSyxlQUFlLENBQUMsR0FBRzs0QkFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDakIsTUFBTTt3QkFDVixLQUFLLGVBQWUsQ0FBQyxNQUFNOzRCQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDOzRCQUM1QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7cUJBQ2xDO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxxRkFBcUY7SUFDN0UscUJBQXFCLENBQUMsR0FBUTtRQUNsQyxJQUFJLEdBQUcsRUFBRTtZQUNMLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUMxQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDcEI7YUFDSjtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGllcmFyY2hpY2FsVHJhbnNhY3Rpb24sIEhpZXJhcmNoaWNhbFN0YXRlLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IElneFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vaWd4LXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IERhdGFVdGlsIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBjbG9uZVZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuL2hpZXJhcmNoaWNhbC10cmFuc2FjdGlvbic7XG5cbi8qKiBAZXhwZXJpbWVudGFsIEBoaWRkZW4gKi9cbmV4cG9ydCBjbGFzcyBJZ3hIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2U8VCBleHRlbmRzIEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uLCBTIGV4dGVuZHMgSGllcmFyY2hpY2FsU3RhdGU+XG4gICAgZXh0ZW5kcyBJZ3hUcmFuc2FjdGlvblNlcnZpY2U8VCwgUz4gaW1wbGVtZW50cyBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2U8VCwgUz4ge1xuXG4gICAgcHVibGljIGdldEFnZ3JlZ2F0ZWRDaGFuZ2VzKG1lcmdlQ2hhbmdlczogYm9vbGVhbik6IFRbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogVFtdID0gW107XG4gICAgICAgIHRoaXMuX3N0YXRlcy5mb3JFYWNoKChzdGF0ZTogUywga2V5OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gbWVyZ2VDaGFuZ2VzID8gdGhpcy5tZXJnZVZhbHVlcyhzdGF0ZS5yZWNvcmRSZWYsIHN0YXRlLnZhbHVlKSA6IHRoaXMuY2xvbmVTdHJhdGVneS5jbG9uZShzdGF0ZS52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQXJyYXlzRnJvbU9iamVjdCh2YWx1ZSk7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7IGlkOiBrZXksIHBhdGg6IHN0YXRlLnBhdGgsIG5ld1ZhbHVlOiB2YWx1ZSwgdHlwZTogc3RhdGUudHlwZSB9IGFzIFQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29tbWl0KGRhdGE6IGFueVtdLCBwcmltYXJ5S2V5T3JJZD86IGFueSwgY2hpbGREYXRhS2V5PzogYW55LCBpZD86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoY2hpbGREYXRhS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxldCB0cmFuc2FjdGlvbnMgPSB0aGlzLmdldEFnZ3JlZ2F0ZWRDaGFuZ2VzKHRydWUpO1xuICAgICAgICAgICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnMuZmlsdGVyKHQgPT4gdC5pZCA9PT0gaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgRGF0YVV0aWwubWVyZ2VIaWVyYXJjaGljYWxUcmFuc2FjdGlvbnMoZGF0YSwgdHJhbnNhY3Rpb25zLCBjaGlsZERhdGFLZXksIHByaW1hcnlLZXlPcklkLCB0aGlzLmNsb25lU3RyYXRlZ3ksIHRydWUpO1xuICAgICAgICAgICAgdGhpcy5jbGVhcihpZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5jb21taXQoZGF0YSwgcHJpbWFyeUtleU9ySWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVN0YXRlKHN0YXRlczogTWFwPGFueSwgUz4sIHRyYW5zYWN0aW9uOiBULCByZWNvcmRSZWY/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIudXBkYXRlU3RhdGUoc3RhdGVzLCB0cmFuc2FjdGlvbiwgcmVjb3JkUmVmKTtcblxuICAgICAgICAvLyAgaWYgdHJhbnNhY3Rpb24gaGFzIG5vIHBhdGgsIGUuZy4gZmxhdCBkYXRhIHNvdXJjZSwgZ2V0IG91dFxuICAgICAgICBpZiAoIXRyYW5zYWN0aW9uLnBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHN0YXRlcy5nZXQodHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICBpZiAoY3VycmVudFN0YXRlKSB7XG4gICAgICAgICAgICBjdXJyZW50U3RhdGUucGF0aCA9IHRyYW5zYWN0aW9uLnBhdGg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAgaWYgdHJhbnNhY3Rpb24gaGFzIHBhdGgsIEhpZXJhcmNoaWNhbCBkYXRhIHNvdXJjZSwgYW5kIGl0IGlzIERFTEVURVxuICAgICAgICAvLyAgdHlwZSB0cmFuc2FjdGlvbiBmb3IgYWxsIGNoaWxkIHJvd3MgcmVtb3ZlIEFERCBzdGF0ZXMgYW5kIHVwZGF0ZVxuICAgICAgICAvLyAgdHJhbnNhY3Rpb24gdHlwZSBhbmQgdmFsdWUgb2YgVVBEQVRFIHN0YXRlc1xuICAgICAgICBpZiAodHJhbnNhY3Rpb24udHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkRFTEVURSkge1xuICAgICAgICAgICAgc3RhdGVzLmZvckVhY2goKHY6IFMsIGs6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2LnBhdGggJiYgdi5wYXRoLmluZGV4T2YodHJhbnNhY3Rpb24uaWQpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHYudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQUREOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlcy5kZWxldGUoayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5VUERBVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVzLmdldChrKS50eXBlID0gVHJhbnNhY3Rpb25UeXBlLkRFTEVURTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMuZ2V0KGspLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gIFRPRE86IHJlbW92ZSB0aGlzIG1ldGhvZC4gRm9yY2UgY2xvbmluZyB0byBzdHJpcCBjaGlsZCBhcnJheXMgd2hlbiBuZWVkZWQgaW5zdGVhZFxuICAgIHByaXZhdGUgY2xlYXJBcnJheXNGcm9tT2JqZWN0KG9iajogYW55KSB7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBPYmplY3Qua2V5cyhvYmopKSB7XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqW3Byb3BdKSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW3Byb3BdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIl19
@@ -1,7 +1,7 @@
1
1
  import { TransactionType, TransactionEventOrigin } from './transaction';
2
2
  import { IgxBaseTransactionService } from './base-transaction';
3
3
  import { EventEmitter } from '@angular/core';
4
- import { isObject, mergeObjects, cloneValue } from '../../core/utils';
4
+ import { isObject, mergeObjects } from '../../core/utils';
5
5
  export class IgxTransactionService extends IgxBaseTransactionService {
6
6
  constructor() {
7
7
  super(...arguments);
@@ -259,7 +259,7 @@ export class IgxTransactionService extends IgxBaseTransactionService {
259
259
  }
260
260
  }
261
261
  else {
262
- state = { value: cloneValue(transaction.newValue), recordRef, type: transaction.type };
262
+ state = { value: this.cloneStrategy.clone(transaction.newValue), recordRef, type: transaction.type };
263
263
  states.set(transaction.id, state);
264
264
  }
265
265
  // should not clean pending state. This will happen automatically on endPending call
@@ -327,4 +327,4 @@ export class IgxTransactionService extends IgxBaseTransactionService {
327
327
  }
328
328
  }
329
329
  }
330
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWd4LXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL2lneC10cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLGVBQWUsRUFBb0Isc0JBQXNCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RSxNQUFNLE9BQU8scUJBQThELFNBQVEseUJBQStCO0lBQWxIOztRQUNJOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVsRCxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixlQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUMvQixlQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUMvQixZQUFPLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFpVi9DLENBQUM7SUEvVUc7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHLENBQUMsV0FBYyxFQUFFLFNBQWU7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFD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RTtvQkFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDckI7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sWUFBWSxDQUFDLElBQVcsRUFBRSxLQUFRO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9GLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGVBQWUsQ0FBQyxHQUFHO2dCQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLE1BQU07Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3pCO2dCQUNELE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxNQUFNO2dCQUN2QixJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN6QztnQkFDRCxNQUFNO1NBQ2I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiwgU3RhdGUsIFRyYW5zYWN0aW9uVHlwZSwgU3RhdGVVcGRhdGVFdmVudCwgVHJhbnNhY3Rpb25FdmVudE9yaWdpbiwgQWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJZ3hCYXNlVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNPYmplY3QsIG1lcmdlT2JqZWN0cywgY2xvbmVWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgSWd4VHJhbnNhY3Rpb25TZXJ2aWNlPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiwgUyBleHRlbmRzIFN0YXRlPiBleHRlbmRzIElneEJhc2VUcmFuc2FjdGlvblNlcnZpY2U8VCwgUz4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIG9uU3RhdGVVcGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFN0YXRlVXBkYXRlRXZlbnQ+KCk7XG5cbiAgICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uczogVFtdID0gW107XG4gICAgcHJvdGVjdGVkIF9yZWRvU3RhY2s6IEFjdGlvbjxUPltdW10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgX3VuZG9TdGFjazogQWN0aW9uPFQ+W11bXSA9IFtdO1xuICAgIHByb3RlY3RlZCBfc3RhdGVzOiBNYXA8YW55LCBTPiA9IG5ldyBNYXAoKTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBjYW5VbmRvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdW5kb1N0YWNrLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGNhblJlZG8oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWRvU3RhY2subGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhZGQodHJhbnNhY3Rpb246IFQsIHJlY29yZFJlZj86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZXMgPSB0aGlzLl9pc1BlbmRpbmcgPyB0aGlzLl9wZW5kaW5nU3RhdGVzIDogdGhpcy5fc3RhdGVzO1xuICAgICAgICB0aGlzLnZlcmlmeUFkZGVkVHJhbnNhY3Rpb24oc3RhdGVzLCB0cmFuc2FjdGlvbiwgcmVjb3JkUmVmKTtcbiAgICAgICAgdGhpcy5hZGRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbiwgc3RhdGVzLCByZWNvcmRSZWYpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldFRyYW5zYWN0aW9uTG9nKGlkPzogYW55KTogVFtdIHtcbiAgICAgICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbnMuZmlsdGVyKHQgPT4gdC5pZCA9PT0gaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbLi4udGhpcy5fdHJhbnNhY3Rpb25zXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZ2dyZWdhdGVkQ2hhbmdlcyhtZXJnZUNoYW5nZXM6IGJvb2xlYW4pOiBUW10ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFRbXSA9IFtdO1xuICAgICAgICB0aGlzLl9zdGF0ZXMuZm9yRWFjaCgoc3RhdGU6IFMsIGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG1lcmdlQ2hhbmdlcyA/IHRoaXMubWVyZ2VWYWx1ZXMoc3RhdGUucmVjb3JkUmVmLCBzdGF0ZS52YWx1ZSkgOiBzdGF0ZS52YWx1ZTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgaWQ6IGtleSwgbmV3VmFsdWU6IHZhbHVlLCB0eXBlOiBzdGF0ZS50eXBlIH0gYXMgVCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldFN0YXRlKGlkOiBhbnksIHBlbmRpbmc6IGJvb2xlYW4gPSBmYWxzZSk6IFMge1xuICAgICAgICByZXR1cm4gcGVuZGluZyA/IHRoaXMuX3BlbmRpbmdTdGF0ZXMuZ2V0KGlkKSA6IHRoaXMuX3N0YXRlcy5nZXQoaWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZ2dyZWdhdGVkVmFsdWUoaWQ6IGFueSwgbWVyZ2VDaGFuZ2VzOiBib29sZWFuKTogYW55IHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZXMuZ2V0KGlkKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ1N0YXRlID0gc3VwZXIuZ2V0U3RhdGUoaWQpO1xuXG4gICAgICAgIC8vICBpZiB0aGVyZSBpcyBubyBzdGF0ZSBhbmQgdGhlcmUgaXMgbm8gcGVuZGluZyBzdGF0ZSByZXR1cm4gbnVsbFxuICAgICAgICBpZiAoIXN0YXRlICYmICFwZW5kaW5nU3RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGVuZGluZ0NoYW5nZSA9IHN1cGVyLmdldEFnZ3JlZ2F0ZWRWYWx1ZShpZCwgZmFsc2UpO1xuICAgICAgICBjb25zdCBjaGFuZ2UgPSBzdGF0ZSAmJiBzdGF0ZS52YWx1ZTtcbiAgICAgICAgbGV0IGFnZ3JlZ2F0ZWRWYWx1ZSA9IHRoaXMubWVyZ2VWYWx1ZXMoY2hhbmdlLCBwZW5kaW5nQ2hhbmdlKTtcbiAgICAgICAgaWYgKG1lcmdlQ2hhbmdlcykge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxWYWx1ZSA9IHN0YXRlID8gc3RhdGUucmVjb3JkUmVmIDogcGVuZGluZ1N0YXRlLnJlY29yZFJlZjtcbiAgICAgICAgICAgIGFnZ3JlZ2F0ZWRWYWx1ZSA9IHRoaXMubWVyZ2VWYWx1ZXMob3JpZ2luYWxWYWx1ZSwgYWdncmVnYXRlZFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWdncmVnYXRlZFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGVuZFBlbmRpbmcoY29tbWl0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoY29tbWl0KSB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb25zOiBBY3Rpb248VD5bXSA9IFtdO1xuICAgICAgICAgICAgLy8gZG9uJ3QgdXNlIGFkZFRyYW5zYWN0aW9uIGR1ZSB0byBjdXN0b20gdW5kbyBoYW5kbGluZ1xuICAgICAgICAgICAgZm9yIChjb25zdCB0cmFuc2FjdGlvbiBvZiB0aGlzLl9wZW5kaW5nVHJhbnNhY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGVuZGluZ1N0YXRlID0gdGhpcy5fcGVuZGluZ1N0YXRlcy5nZXQodHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9ucy5wdXNoKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHRoaXMuX3N0YXRlcywgdHJhbnNhY3Rpb24sIHBlbmRpbmdTdGF0ZS5yZWNvcmRSZWYpO1xuICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7IHRyYW5zYWN0aW9uLCByZWNvcmRSZWY6IHBlbmRpbmdTdGF0ZS5yZWNvcmRSZWYgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3VuZG9TdGFjay5wdXNoKGFjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5fcmVkb1N0YWNrID0gW107XG5cbiAgICAgICAgICAgIHRoaXMub25TdGF0ZVVwZGF0ZS5lbWl0KHsgb3JpZ2luOiBUcmFuc2FjdGlvbkV2ZW50T3JpZ2luLkVORCwgYWN0aW9ucyB9KTtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5lbmRQZW5kaW5nKGNvbW1pdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29tbWl0KGRhdGE6IGFueVtdLCBpZD86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKGlkKTtcbiAgICAgICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUmVjb3JkKGRhdGEsIHN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlcy5mb3JFYWNoKChzOiBTKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSZWNvcmQoZGF0YSwgcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsZWFyKGlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBjbGVhcihpZD86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25zID0gdGhpcy5fdHJhbnNhY3Rpb25zLmZpbHRlcih0ID0+IHQuaWQgIT09IGlkKTtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlcy5kZWxldGUoaWQpO1xuICAgICAgICAgICAgLy8gIFVuZG8gc3RhY2sgaXMgYW4gYXJyYXkgb2YgYWN0aW9ucy4gRWFjaCBhY3Rpb24gaXMgYXJyYXkgb2YgdHJhbnNhY3Rpb24gbGlrZSBvYmplY3RzXG4gICAgICAgICAgICAvLyAgV2UgYXJlIGdvaW5nIHRyb3VnaCBhbGwgdGhlIGFjdGlvbnMuIEZvciBlYWNoIGFjdGlvbiB3ZSBhcmUgZmlsdGVyaW5nIG91dCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vICB3aXRoIHByb3ZpZGVkIGlkLiBGaW5hbGx5IGlmIGFueSBhY3Rpb24gZW5kcyB1cCBhcyBlbXB0eSBhcnJheSB3ZSBhcmUgcmVtb3ZpbmcgaXQgZnJvbVxuICAgICAgICAgICAgLy8gIHVuZG8gc3RhY2tcbiAgICAgICAgICAgIHRoaXMuX3VuZG9TdGFjayA9IHRoaXMuX3VuZG9TdGFjay5tYXAoYSA9PiBhLmZpbHRlcih0ID0+IHQudHJhbnNhY3Rpb24uaWQgIT09IGlkKSkuZmlsdGVyKGEgPT4gYS5sZW5ndGggPiAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fc3RhdGVzLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLl91bmRvU3RhY2sgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWRvU3RhY2sgPSBbXTtcbiAgICAgICAgdGhpcy5vblN0YXRlVXBkYXRlLmVtaXQoeyBvcmlnaW46IFRyYW5zYWN0aW9uRXZlbnRPcmlnaW4uQ0xFQVIsIGFjdGlvbnM6IFtdIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIHVuZG8oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl91bmRvU3RhY2subGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RBY3Rpb25zOiBBY3Rpb248VD5bXSA9IHRoaXMuX3VuZG9TdGFjay5wb3AoKTtcbiAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25zLnNwbGljZSh0aGlzLl90cmFuc2FjdGlvbnMubGVuZ3RoIC0gbGFzdEFjdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5fcmVkb1N0YWNrLnB1c2gobGFzdEFjdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuX3N0YXRlcy5jbGVhcigpO1xuICAgICAgICBmb3IgKGNvbnN0IGN1cnJlbnRBY3Rpb25zIG9mIHRoaXMuX3VuZG9TdGFjaykge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0cmFuc2FjdGlvbiBvZiBjdXJyZW50QWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUodGhpcy5fc3RhdGVzLCB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbiwgdHJhbnNhY3Rpb24ucmVjb3JkUmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25TdGF0ZVVwZGF0ZS5lbWl0KHsgb3JpZ2luOiBUcmFuc2FjdGlvbkV2ZW50T3JpZ2luLlVORE8sIGFjdGlvbnM6IGxhc3RBY3Rpb25zIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIHJlZG8oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9yZWRvU3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uczogQWN0aW9uPFQ+W10gPSB0aGlzLl9yZWRvU3RhY2sucG9wKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh0aGlzLl9zdGF0ZXMsIGFjdGlvbi50cmFuc2FjdGlvbiwgYWN0aW9uLnJlY29yZFJlZik7XG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25zLnB1c2goYWN0aW9uLnRyYW5zYWN0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fdW5kb1N0YWNrLnB1c2goYWN0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLm9uU3RhdGVVcGRhdGUuZW1pdCh7IG9yaWdpbjogVHJhbnNhY3Rpb25FdmVudE9yaWdpbi5SRURPLCBhY3Rpb25zIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBULCBzdGF0ZXM6IE1hcDxhbnksIFM+LCByZWNvcmRSZWY/OiBhbnkpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShzdGF0ZXMsIHRyYW5zYWN0aW9uLCByZWNvcmRSZWYpO1xuXG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IHRoaXMuX2lzUGVuZGluZyA/IHRoaXMuX3BlbmRpbmdUcmFuc2FjdGlvbnMgOiB0aGlzLl90cmFuc2FjdGlvbnM7XG4gICAgICAgIHRyYW5zYWN0aW9ucy5wdXNoKHRyYW5zYWN0aW9uKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2lzUGVuZGluZykge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IFt7IHRyYW5zYWN0aW9uLCByZWNvcmRSZWYgfV07XG4gICAgICAgICAgICB0aGlzLl91bmRvU3RhY2sucHVzaChhY3Rpb25zKTtcbiAgICAgICAgICAgIHRoaXMuX3JlZG9TdGFjayA9IFtdO1xuICAgICAgICAgICAgdGhpcy5vblN0YXRlVXBkYXRlLmVtaXQoeyBvcmlnaW46IFRyYW5zYWN0aW9uRXZlbnRPcmlnaW4uQURELCBhY3Rpb25zIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmVyaWZpZXMgaWYgdGhlIHBhc3NlZCB0cmFuc2FjdGlvbiBpcyBjb3JyZWN0LiBJZiBub3QgdGhyb3dzIGFuIGV4Y2VwdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiB0byBiZSB2ZXJpZmllZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCB2ZXJpZnlBZGRlZFRyYW5zYWN0aW9uKHN0YXRlczogTWFwPGFueSwgUz4sIHRyYW5zYWN0aW9uOiBULCByZWNvcmRSZWY/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBzdGF0ZXMuZ2V0KHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgc3dpdGNoICh0cmFuc2FjdGlvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BREQ6XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICBjYW5ub3QgYWRkIHNhbWUgaXRlbSB0d2ljZVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBhZGQgdGhpcyB0cmFuc2FjdGlvbi4gVHJhbnNhY3Rpb24gd2l0aCBpZDogJHt0cmFuc2FjdGlvbi5pZH0gaGFzIGJlZW4gYWxyZWFkeSBhZGRlZC5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5VUERBVEU6XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlICYmIHN0YXRlLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5ERUxFVEUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gIGNhbm5vdCBkZWxldGUgb3IgdXBkYXRlIGRlbGV0ZWQgaXRlbXNcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgYWRkIHRoaXMgdHJhbnNhY3Rpb24uIFRyYW5zYWN0aW9uIHdpdGggaWQ6ICR7dHJhbnNhY3Rpb24uaWR9IGhhcyBiZWVuIGFscmVhZHkgZGVsZXRlZC5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0ZSAmJiAhcmVjb3JkUmVmICYmICF0aGlzLl9pc1BlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gIGNhbm5vdCBpbml0aWFsbHkgYWRkIHRyYW5zYWN0aW9uIG9yIGRlbGV0ZSBpdGVtIHdpdGggbm8gcmVjb3JkUmVmXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGFkZCB0aGlzIHRyYW5zYWN0aW9uLiBUaGlzIGlzIGZpcnN0IHRyYW5zYWN0aW9uIG9mIHR5cGUgJHt0cmFuc2FjdGlvbi50eXBlfSBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGBmb3IgaWQgJHt0cmFuc2FjdGlvbi5pZH0uIEZvciBmaXJzdCB0cmFuc2FjdGlvbiBvZiB0aGlzIHR5cGUgcmVjb3JkUmVmIGlzIG1hbmRhdG9yeS5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBwcm92aWRlZCBzdGF0ZXMgY29sbGVjdGlvbiBhY2NvcmRpbmcgdG8gcGFzc2VkIHRyYW5zYWN0aW9uIGFuZCByZWNvcmRSZWZcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGF0ZXMgU3RhdGVzIGNvbGxlY3Rpb24gdG8gYXBwbHkgdGhlIHVwZGF0ZSB0b1xuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiB0byBhcHBseSB0byB0aGUgY3VycmVudCBzdGF0ZVxuICAgICAqIEBwYXJhbSByZWNvcmRSZWYgUmVmZXJlbmNlIHRvIHRoZSB2YWx1ZSBvZiB0aGUgcmVjb3JkIGluIGRhdGEgc291cmNlLCBpZiBhbnksIHdoZXJlIHRyYW5zYWN0aW9uIHNob3VsZCBiZSBhcHBsaWVkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVN0YXRlKHN0YXRlczogTWFwPGFueSwgUz4sIHRyYW5zYWN0aW9uOiBULCByZWNvcmRSZWY/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGVzLmdldCh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIC8vICBpZiBUcmFuc2FjdGlvblR5cGUgaXMgQUREIHNpbXBseSBhZGQgdHJhbnNhY3Rpb24gdG8gc3RhdGVzO1xuICAgICAgICAvLyAgaWYgVHJhbnNhY3Rpb25UeXBlIGlzIERFTEVURTpcbiAgICAgICAgLy8gICAgLSBpZiB0aGVyZSBpcyBzdGF0ZSB3aXRoIHRoaXMgaWQgb2YgdHlwZSBBREQgcmVtb3ZlIGl0IGZyb20gdGhlIHN0YXRlcztcbiAgICAgICAgLy8gICAgLSBpZiB0aGVyZSBpcyBzdGF0ZSB3aXRoIHRoaXMgaWQgb2YgdHlwZSBVUERBVEUgY2hhbmdlIGl0cyB0eXBlIHRvIERFTEVURTtcbiAgICAgICAgLy8gICAgLSBpZiB0aGVyZSBpcyBubyBzdGF0ZSB3aXRoIHRoaXMgaWQgYWRkIHRyYW5zYWN0aW9uIHRvIHN0YXRlcztcbiAgICAgICAgLy8gIGlmIFRyYW5zYWN0aW9uVHlwZSBpcyBVUERBVEU6XG4gICAgICAgIC8vICAgIC0gaWYgdGhlcmUgaXMgc3RhdGUgd2l0aCB0aGlzIGlkIG9mIHR5cGUgQUREIG1lcmdlIG5ldyB2YWx1ZSBhbmQgc3RhdGUgcmVjb3JkUmVmIGludG8gc3RhdGUgbmV3IHZhbHVlXG4gICAgICAgIC8vICAgIC0gaWYgdGhlcmUgaXMgc3RhdGUgd2l0aCB0aGlzIGlkIG9mIHR5cGUgVVBEQVRFIG1lcmdlIG5ldyB2YWx1ZSBpbnRvIHN0YXRlIG5ldyB2YWx1ZVxuICAgICAgICAvLyAgICAtIGlmIHRoZXJlIGlzIHN0YXRlIHdpdGggdGhpcyBpZCBhbmQgc3RhdGUgdHlwZSBpcyBERUxFVEUgY2hhbmdlIGl0cyB0eXBlIHRvIFVQREFURVxuICAgICAgICAvLyAgICAtIGlmIHRoZXJlIGlzIG5vIHN0YXRlIHdpdGggdGhpcyBpZCBhZGQgdHJhbnNhY3Rpb24gdG8gc3RhdGVzO1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHJhbnNhY3Rpb24udHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkRFTEVURTpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BREQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlcy5kZWxldGUodHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5VUERBVEUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnZhbHVlID0gdHJhbnNhY3Rpb24ubmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS50eXBlID0gVHJhbnNhY3Rpb25UeXBlLkRFTEVURTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5VUERBVEU6XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09iamVjdChzdGF0ZS52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQUREKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUudmFsdWUgPSB0aGlzLm1lcmdlVmFsdWVzKHN0YXRlLnZhbHVlLCB0cmFuc2FjdGlvbi5uZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlVQREFURSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlT2JqZWN0cyhzdGF0ZS52YWx1ZSwgdHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUudmFsdWUgPSB0cmFuc2FjdGlvbi5uZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUgPSB7IHZhbHVlOiBjbG9uZVZhbHVlKHRyYW5zYWN0aW9uLm5ld1ZhbHVlKSwgcmVjb3JkUmVmLCB0eXBlOiB0cmFuc2FjdGlvbi50eXBlIH0gYXMgUztcbiAgICAgICAgICAgIHN0YXRlcy5zZXQodHJhbnNhY3Rpb24uaWQsIHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBzaG91bGQgbm90IGNsZWFuIHBlbmRpbmcgc3RhdGUuIFRoaXMgd2lsbCBoYXBwZW4gYXV0b21hdGljYWxseSBvbiBlbmRQZW5kaW5nIGNhbGxcbiAgICAgICAgaWYgKCF0aGlzLl9pc1BlbmRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYW5TdGF0ZSh0cmFuc2FjdGlvbi5pZCwgc3RhdGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHRoZSBzdGF0ZSB3aXRoIHJlY29yZFJlZiBhbmQgY2xlYXJzIGFsbCBkdXBsaWNhdGVkIHZhbHVlcy4gSWYgYW55IHN0YXRlIGVuZHMgYXNcbiAgICAgKiBlbXB0eSBvYmplY3QgcmVtb3ZlcyBpdCBmcm9tIHN0YXRlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGF0ZSBTdGF0ZSB0byBjbGVhblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjbGVhblN0YXRlKGlkOiBhbnksIHN0YXRlczogTWFwPGFueSwgUz4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBzdGF0ZXMuZ2V0KGlkKTtcbiAgICAgICAgLy8gIGRvIG5vdGhpbmcgaWZcbiAgICAgICAgLy8gIHRoZXJlIGlzIG5vIHN0YXRlLCBvclxuICAgICAgICAvLyAgdGhlcmUgaXMgbm8gc3RhdGUgdmFsdWUgKGUuZy4gREVMRVRFRCB0cmFuc2FjdGlvbiksIG9yXG4gICAgICAgIC8vICB0aGVyZSBpcyBubyByZWNvcmRSZWYgKGUuZy4gQURERUQgdHJhbnNhY3Rpb24pXG4gICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS52YWx1ZSAmJiBzdGF0ZS5yZWNvcmRSZWYpIHtcbiAgICAgICAgICAgIC8vICBpZiBzdGF0ZSdzIHZhbHVlIGlzIG9iamVjdCBjb21wYXJlIGVhY2gga2V5IHdpdGggdGhlIG9uZXMgaW4gcmVjb3JkUmVmXG4gICAgICAgICAgICAvLyAgaWYgdmFsdWVzIGluIGFueSBrZXkgYXJlIHRoZSBzYW1lIGRlbGV0ZSBpdCBmcm9tIHN0YXRlJ3MgdmFsdWVcbiAgICAgICAgICAgIC8vICBpZiBzdGF0ZSdzIHZhbHVlIGlzIG5vdCBvYmplY3QsIHNpbXBseSBjb21wYXJlIHdpdGggcmVjb3JkUmVmIGFuZCByZW1vdmVcbiAgICAgICAgICAgIC8vICB0aGUgc3RhdGUgaWYgdGhleSBhcmUgZXF1YWxcbiAgICAgICAgICAgIGlmIChpc09iamVjdChzdGF0ZS5yZWNvcmRSZWYpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc3RhdGUudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShzdGF0ZS5yZWNvcmRSZWZba2V5XSkgPT09IEpTT04uc3RyaW5naWZ5KHN0YXRlLnZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgc3RhdGUudmFsdWVba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vICBpZiBzdGF0ZSdzIHZhbHVlIGlzIGVtcHR5IHJlbW92ZSB0aGUgc3RhdGUgZnJvbSB0aGUgc3RhdGVzLCBvbmx5IGlmIHN0YXRlIGlzIG5vdCBERUxFVEUgdHlwZVxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZS50eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuREVMRVRFICYmIE9iamVjdC5rZXlzKHN0YXRlLnZhbHVlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVzLmRlbGV0ZShpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUucmVjb3JkUmVmID09PSBzdGF0ZS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZXMuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHN0YXRlIHJlbGF0ZWQgcmVjb3JkIGluIHRoZSBwcm92aWRlZCBkYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBEYXRhIHNvdXJjZSB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gc3RhdGUgU3RhdGUgdG8gdXBkYXRlIGRhdGEgZnJvbVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVSZWNvcmQoZGF0YTogYW55W10sIHN0YXRlOiBTKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZGF0YS5maW5kSW5kZXgoaSA9PiBKU09OLnN0cmluZ2lmeShpKSA9PT0gSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVjb3JkUmVmIHx8IHt9KSk7XG4gICAgICAgIHN3aXRjaCAoc3RhdGUudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQUREOlxuICAgICAgICAgICAgICAgIGRhdGEucHVzaChzdGF0ZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICAgICAgaWYgKDAgPD0gaW5kZXggJiYgaW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVVBEQVRFOlxuICAgICAgICAgICAgICAgIGlmICgwIDw9IGluZGV4ICYmIGluZGV4IDwgZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVtpbmRleF0gPSB0aGlzLnVwZGF0ZVZhbHVlKHN0YXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWd4LXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL2lneC10cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLGVBQWUsRUFBb0Isc0JBQXNCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFELE1BQU0sT0FBTyxxQkFBOEQsU0FBUSx5QkFBK0I7SUFBbEg7O1FBQ0k7O1dBRUc7UUFDSSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRWxELGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQy9CLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQy9CLFlBQU8sR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWlWL0MsQ0FBQztJQS9VRzs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLEdBQUcsQ0FBQyxXQUFjLEVBQUUsU0FBZTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJ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QyxLQUFLLEVBQUU7b0JBQ2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3JCO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFlBQVksQ0FBQyxJQUFXLEVBQUUsS0FBUTtRQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxlQUFlLENBQUMsR0FBRztnQkFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxNQUFNO2dCQUN2QixJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsTUFBTTtnQkFDdkIsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsTUFBTTtTQUNiO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFN0YXRlLCBUcmFuc2FjdGlvblR5cGUsIFN0YXRlVXBkYXRlRXZlbnQsIFRyYW5zYWN0aW9uRXZlbnRPcmlnaW4sIEFjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSWd4QmFzZVRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vYmFzZS10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzT2JqZWN0LCBtZXJnZU9iamVjdHMgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIElneFRyYW5zYWN0aW9uU2VydmljZTxUIGV4dGVuZHMgVHJhbnNhY3Rpb24sIFMgZXh0ZW5kcyBTdGF0ZT4gZXh0ZW5kcyBJZ3hCYXNlVHJhbnNhY3Rpb25TZXJ2aWNlPFQsIFM+IHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBvblN0YXRlVXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxTdGF0ZVVwZGF0ZUV2ZW50PigpO1xuXG4gICAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbnM6IFRbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBfcmVkb1N0YWNrOiBBY3Rpb248VD5bXVtdID0gW107XG4gICAgcHJvdGVjdGVkIF91bmRvU3RhY2s6IEFjdGlvbjxUPltdW10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgX3N0YXRlczogTWFwPGFueSwgUz4gPSBuZXcgTWFwKCk7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgY2FuVW5kbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VuZG9TdGFjay5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBjYW5SZWRvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVkb1N0YWNrLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkKHRyYW5zYWN0aW9uOiBULCByZWNvcmRSZWY/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGVzID0gdGhpcy5faXNQZW5kaW5nID8gdGhpcy5fcGVuZGluZ1N0YXRlcyA6IHRoaXMuX3N0YXRlcztcbiAgICAgICAgdGhpcy52ZXJpZnlBZGRlZFRyYW5zYWN0aW9uKHN0YXRlcywgdHJhbnNhY3Rpb24sIHJlY29yZFJlZik7XG4gICAgICAgIHRoaXMuYWRkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24sIHN0YXRlcywgcmVjb3JkUmVmKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkxvZyhpZD86IGFueSk6IFRbXSB7XG4gICAgICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25zLmZpbHRlcih0ID0+IHQuaWQgPT09IGlkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuX3RyYW5zYWN0aW9uc107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWdncmVnYXRlZENoYW5nZXMobWVyZ2VDaGFuZ2VzOiBib29sZWFuKTogVFtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBUW10gPSBbXTtcbiAgICAgICAgdGhpcy5fc3RhdGVzLmZvckVhY2goKHN0YXRlOiBTLCBrZXk6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBtZXJnZUNoYW5nZXMgPyB0aGlzLm1lcmdlVmFsdWVzKHN0YXRlLnJlY29yZFJlZiwgc3RhdGUudmFsdWUpIDogc3RhdGUudmFsdWU7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7IGlkOiBrZXksIG5ld1ZhbHVlOiB2YWx1ZSwgdHlwZTogc3RhdGUudHlwZSB9IGFzIFQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTdGF0ZShpZDogYW55LCBwZW5kaW5nOiBib29sZWFuID0gZmFsc2UpOiBTIHtcbiAgICAgICAgcmV0dXJuIHBlbmRpbmcgPyB0aGlzLl9wZW5kaW5nU3RhdGVzLmdldChpZCkgOiB0aGlzLl9zdGF0ZXMuZ2V0KGlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWdncmVnYXRlZFZhbHVlKGlkOiBhbnksIG1lcmdlQ2hhbmdlczogYm9vbGVhbik6IGFueSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc3RhdGVzLmdldChpZCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdTdGF0ZSA9IHN1cGVyLmdldFN0YXRlKGlkKTtcblxuICAgICAgICAvLyAgaWYgdGhlcmUgaXMgbm8gc3RhdGUgYW5kIHRoZXJlIGlzIG5vIHBlbmRpbmcgc3RhdGUgcmV0dXJuIG51bGxcbiAgICAgICAgaWYgKCFzdGF0ZSAmJiAhcGVuZGluZ1N0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBlbmRpbmdDaGFuZ2UgPSBzdXBlci5nZXRBZ2dyZWdhdGVkVmFsdWUoaWQsIGZhbHNlKTtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gc3RhdGUgJiYgc3RhdGUudmFsdWU7XG4gICAgICAgIGxldCBhZ2dyZWdhdGVkVmFsdWUgPSB0aGlzLm1lcmdlVmFsdWVzKGNoYW5nZSwgcGVuZGluZ0NoYW5nZSk7XG4gICAgICAgIGlmIChtZXJnZUNoYW5nZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVmFsdWUgPSBzdGF0ZSA/IHN0YXRlLnJlY29yZFJlZiA6IHBlbmRpbmdTdGF0ZS5yZWNvcmRSZWY7XG4gICAgICAgICAgICBhZ2dyZWdhdGVkVmFsdWUgPSB0aGlzLm1lcmdlVmFsdWVzKG9yaWdpbmFsVmFsdWUsIGFnZ3JlZ2F0ZWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBlbmRQZW5kaW5nKGNvbW1pdDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNvbW1pdCkge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uczogQWN0aW9uPFQ+W10gPSBbXTtcbiAgICAgICAgICAgIC8vIGRvbid0IHVzZSBhZGRUcmFuc2FjdGlvbiBkdWUgdG8gY3VzdG9tIHVuZG8gaGFuZGxpbmdcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHJhbnNhY3Rpb24gb2YgdGhpcy5fcGVuZGluZ1RyYW5zYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBlbmRpbmdTdGF0ZSA9IHRoaXMuX3BlbmRpbmdTdGF0ZXMuZ2V0KHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbnMucHVzaCh0cmFuc2FjdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh0aGlzLl9zdGF0ZXMsIHRyYW5zYWN0aW9uLCBwZW5kaW5nU3RhdGUucmVjb3JkUmVmKTtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goeyB0cmFuc2FjdGlvbiwgcmVjb3JkUmVmOiBwZW5kaW5nU3RhdGUucmVjb3JkUmVmIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl91bmRvU3RhY2sucHVzaChhY3Rpb25zKTtcbiAgICAgICAgICAgIHRoaXMuX3JlZG9TdGFjayA9IFtdO1xuXG4gICAgICAgICAgICB0aGlzLm9uU3RhdGVVcGRhdGUuZW1pdCh7IG9yaWdpbjogVHJhbnNhY3Rpb25FdmVudE9yaWdpbi5FTkQsIGFjdGlvbnMgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZW5kUGVuZGluZyhjb21taXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGNvbW1pdChkYXRhOiBhbnlbXSwgaWQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRTdGF0ZShpZCk7XG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlY29yZChkYXRhLCBzdGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZXMuZm9yRWFjaCgoczogUykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUmVjb3JkKGRhdGEsIHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhcihpZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXIoaWQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9ucyA9IHRoaXMuX3RyYW5zYWN0aW9ucy5maWx0ZXIodCA9PiB0LmlkICE9PSBpZCk7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZXMuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgIC8vICBVbmRvIHN0YWNrIGlzIGFuIGFycmF5IG9mIGFjdGlvbnMuIEVhY2ggYWN0aW9uIGlzIGFycmF5IG9mIHRyYW5zYWN0aW9uIGxpa2Ugb2JqZWN0c1xuICAgICAgICAgICAgLy8gIFdlIGFyZSBnb2luZyB0cm91Z2ggYWxsIHRoZSBhY3Rpb25zLiBGb3IgZWFjaCBhY3Rpb24gd2UgYXJlIGZpbHRlcmluZyBvdXQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyAgd2l0aCBwcm92aWRlZCBpZC4gRmluYWxseSBpZiBhbnkgYWN0aW9uIGVuZHMgdXAgYXMgZW1wdHkgYXJyYXkgd2UgYXJlIHJlbW92aW5nIGl0IGZyb21cbiAgICAgICAgICAgIC8vICB1bmRvIHN0YWNrXG4gICAgICAgICAgICB0aGlzLl91bmRvU3RhY2sgPSB0aGlzLl91bmRvU3RhY2subWFwKGEgPT4gYS5maWx0ZXIodCA9PiB0LnRyYW5zYWN0aW9uLmlkICE9PSBpZCkpLmZpbHRlcihhID0+IGEubGVuZ3RoID4gMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlcy5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5fdW5kb1N0YWNrID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVkb1N0YWNrID0gW107XG4gICAgICAgIHRoaXMub25TdGF0ZVVwZGF0ZS5lbWl0KHsgb3JpZ2luOiBUcmFuc2FjdGlvbkV2ZW50T3JpZ2luLkNMRUFSLCBhY3Rpb25zOiBbXSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyB1bmRvKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdW5kb1N0YWNrLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXN0QWN0aW9uczogQWN0aW9uPFQ+W10gPSB0aGlzLl91bmRvU3RhY2sucG9wKCk7XG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9ucy5zcGxpY2UodGhpcy5fdHJhbnNhY3Rpb25zLmxlbmd0aCAtIGxhc3RBY3Rpb25zLmxlbmd0aCk7XG4gICAgICAgIHRoaXMuX3JlZG9TdGFjay5wdXNoKGxhc3RBY3Rpb25zKTtcblxuICAgICAgICB0aGlzLl9zdGF0ZXMuY2xlYXIoKTtcbiAgICAgICAgZm9yIChjb25zdCBjdXJyZW50QWN0aW9ucyBvZiB0aGlzLl91bmRvU3RhY2spIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHJhbnNhY3Rpb24gb2YgY3VycmVudEFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHRoaXMuX3N0YXRlcywgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLnJlY29yZFJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uU3RhdGVVcGRhdGUuZW1pdCh7IG9yaWdpbjogVHJhbnNhY3Rpb25FdmVudE9yaWdpbi5VTkRPLCBhY3Rpb25zOiBsYXN0QWN0aW9ucyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyByZWRvKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcmVkb1N0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbnM6IEFjdGlvbjxUPltdID0gdGhpcy5fcmVkb1N0YWNrLnBvcCgpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUodGhpcy5fc3RhdGVzLCBhY3Rpb24udHJhbnNhY3Rpb24sIGFjdGlvbi5yZWNvcmRSZWYpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9ucy5wdXNoKGFjdGlvbi50cmFuc2FjdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3VuZG9TdGFjay5wdXNoKGFjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5vblN0YXRlVXBkYXRlLmVtaXQoeyBvcmlnaW46IFRyYW5zYWN0aW9uRXZlbnRPcmlnaW4uUkVETywgYWN0aW9ucyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhZGRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVCwgc3RhdGVzOiBNYXA8YW55LCBTPiwgcmVjb3JkUmVmPzogYW55KSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoc3RhdGVzLCB0cmFuc2FjdGlvbiwgcmVjb3JkUmVmKTtcblxuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSB0aGlzLl9pc1BlbmRpbmcgPyB0aGlzLl9wZW5kaW5nVHJhbnNhY3Rpb25zIDogdGhpcy5fdHJhbnNhY3Rpb25zO1xuICAgICAgICB0cmFuc2FjdGlvbnMucHVzaCh0cmFuc2FjdGlvbik7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9pc1BlbmRpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbnMgPSBbeyB0cmFuc2FjdGlvbiwgcmVjb3JkUmVmIH1dO1xuICAgICAgICAgICAgdGhpcy5fdW5kb1N0YWNrLnB1c2goYWN0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLl9yZWRvU3RhY2sgPSBbXTtcbiAgICAgICAgICAgIHRoaXMub25TdGF0ZVVwZGF0ZS5lbWl0KHsgb3JpZ2luOiBUcmFuc2FjdGlvbkV2ZW50T3JpZ2luLkFERCwgYWN0aW9ucyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZlcmlmaWVzIGlmIHRoZSBwYXNzZWQgdHJhbnNhY3Rpb24gaXMgY29ycmVjdC4gSWYgbm90IHRocm93cyBhbiBleGNlcHRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gdG8gYmUgdmVyaWZpZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdmVyaWZ5QWRkZWRUcmFuc2FjdGlvbihzdGF0ZXM6IE1hcDxhbnksIFM+LCB0cmFuc2FjdGlvbjogVCwgcmVjb3JkUmVmPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gc3RhdGVzLmdldCh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIHN3aXRjaCAodHJhbnNhY3Rpb24udHlwZSkge1xuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQUREOlxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyAgY2Fubm90IGFkZCBzYW1lIGl0ZW0gdHdpY2VcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgYWRkIHRoaXMgdHJhbnNhY3Rpb24uIFRyYW5zYWN0aW9uIHdpdGggaWQ6ICR7dHJhbnNhY3Rpb24uaWR9IGhhcyBiZWVuIGFscmVhZHkgYWRkZWQuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuREVMRVRFOlxuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVVBEQVRFOlxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuREVMRVRFKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICBjYW5ub3QgZGVsZXRlIG9yIHVwZGF0ZSBkZWxldGVkIGl0ZW1zXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGFkZCB0aGlzIHRyYW5zYWN0aW9uLiBUcmFuc2FjdGlvbiB3aXRoIGlkOiAke3RyYW5zYWN0aW9uLmlkfSBoYXMgYmVlbiBhbHJlYWR5IGRlbGV0ZWQuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghc3RhdGUgJiYgIXJlY29yZFJlZiAmJiAhdGhpcy5faXNQZW5kaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICBjYW5ub3QgaW5pdGlhbGx5IGFkZCB0cmFuc2FjdGlvbiBvciBkZWxldGUgaXRlbSB3aXRoIG5vIHJlY29yZFJlZlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBhZGQgdGhpcyB0cmFuc2FjdGlvbi4gVGhpcyBpcyBmaXJzdCB0cmFuc2FjdGlvbiBvZiB0eXBlICR7dHJhbnNhY3Rpb24udHlwZX0gYCArXG4gICAgICAgICAgICAgICAgICAgICAgICBgZm9yIGlkICR7dHJhbnNhY3Rpb24uaWR9LiBGb3IgZmlyc3QgdHJhbnNhY3Rpb24gb2YgdGhpcyB0eXBlIHJlY29yZFJlZiBpcyBtYW5kYXRvcnkuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgcHJvdmlkZWQgc3RhdGVzIGNvbGxlY3Rpb24gYWNjb3JkaW5nIHRvIHBhc3NlZCB0cmFuc2FjdGlvbiBhbmQgcmVjb3JkUmVmXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RhdGVzIFN0YXRlcyBjb2xsZWN0aW9uIHRvIGFwcGx5IHRoZSB1cGRhdGUgdG9cbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGN1cnJlbnQgc3RhdGVcbiAgICAgKiBAcGFyYW0gcmVjb3JkUmVmIFJlZmVyZW5jZSB0byB0aGUgdmFsdWUgb2YgdGhlIHJlY29yZCBpbiBkYXRhIHNvdXJjZSwgaWYgYW55LCB3aGVyZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgYXBwbGllZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVTdGF0ZShzdGF0ZXM6IE1hcDxhbnksIFM+LCB0cmFuc2FjdGlvbjogVCwgcmVjb3JkUmVmPzogYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlcy5nZXQodHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAvLyAgaWYgVHJhbnNhY3Rpb25UeXBlIGlzIEFERCBzaW1wbHkgYWRkIHRyYW5zYWN0aW9uIHRvIHN0YXRlcztcbiAgICAgICAgLy8gIGlmIFRyYW5zYWN0aW9uVHlwZSBpcyBERUxFVEU6XG4gICAgICAgIC8vICAgIC0gaWYgdGhlcmUgaXMgc3RhdGUgd2l0aCB0aGlzIGlkIG9mIHR5cGUgQUREIHJlbW92ZSBpdCBmcm9tIHRoZSBzdGF0ZXM7XG4gICAgICAgIC8vICAgIC0gaWYgdGhlcmUgaXMgc3RhdGUgd2l0aCB0aGlzIGlkIG9mIHR5cGUgVVBEQVRFIGNoYW5nZSBpdHMgdHlwZSB0byBERUxFVEU7XG4gICAgICAgIC8vICAgIC0gaWYgdGhlcmUgaXMgbm8gc3RhdGUgd2l0aCB0aGlzIGlkIGFkZCB0cmFuc2FjdGlvbiB0byBzdGF0ZXM7XG4gICAgICAgIC8vICBpZiBUcmFuc2FjdGlvblR5cGUgaXMgVVBEQVRFOlxuICAgICAgICAvLyAgICAtIGlmIHRoZXJlIGlzIHN0YXRlIHdpdGggdGhpcyBpZCBvZiB0eXBlIEFERCBtZXJnZSBuZXcgdmFsdWUgYW5kIHN0YXRlIHJlY29yZFJlZiBpbnRvIHN0YXRlIG5ldyB2YWx1ZVxuICAgICAgICAvLyAgICAtIGlmIHRoZXJlIGlzIHN0YXRlIHdpdGggdGhpcyBpZCBvZiB0eXBlIFVQREFURSBtZXJnZSBuZXcgdmFsdWUgaW50byBzdGF0ZSBuZXcgdmFsdWVcbiAgICAgICAgLy8gICAgLSBpZiB0aGVyZSBpcyBzdGF0ZSB3aXRoIHRoaXMgaWQgYW5kIHN0YXRlIHR5cGUgaXMgREVMRVRFIGNoYW5nZSBpdHMgdHlwZSB0byBVUERBVEVcbiAgICAgICAgLy8gICAgLSBpZiB0aGVyZSBpcyBubyBzdGF0ZSB3aXRoIHRoaXMgaWQgYWRkIHRyYW5zYWN0aW9uIHRvIHN0YXRlcztcbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRyYW5zYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQUREKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMuZGVsZXRlKHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuVVBEQVRFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS52YWx1ZSA9IHRyYW5zYWN0aW9uLm5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVVBEQVRFOlxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3Qoc3RhdGUudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFERCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnZhbHVlID0gdGhpcy5tZXJnZVZhbHVlcyhzdGF0ZS52YWx1ZSwgdHJhbnNhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5VUERBVEUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXJnZU9iamVjdHMoc3RhdGUudmFsdWUsIHRyYW5zYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnZhbHVlID0gdHJhbnNhY3Rpb24ubmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlID0geyB2YWx1ZTogdGhpcy5jbG9uZVN0cmF0ZWd5LmNsb25lKHRyYW5zYWN0aW9uLm5ld1ZhbHVlKSwgcmVjb3JkUmVmLCB0eXBlOiB0cmFuc2FjdGlvbi50eXBlIH0gYXMgUztcbiAgICAgICAgICAgIHN0YXRlcy5zZXQodHJhbnNhY3Rpb24uaWQsIHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBzaG91bGQgbm90IGNsZWFuIHBlbmRpbmcgc3RhdGUuIFRoaXMgd2lsbCBoYXBwZW4gYXV0b21hdGljYWxseSBvbiBlbmRQZW5kaW5nIGNhbGxcbiAgICAgICAgaWYgKCF0aGlzLl9pc1BlbmRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYW5TdGF0ZSh0cmFuc2FjdGlvbi5pZCwgc3RhdGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHRoZSBzdGF0ZSB3aXRoIHJlY29yZFJlZiBhbmQgY2xlYXJzIGFsbCBkdXBsaWNhdGVkIHZhbHVlcy4gSWYgYW55IHN0YXRlIGVuZHMgYXNcbiAgICAgKiBlbXB0eSBvYmplY3QgcmVtb3ZlcyBpdCBmcm9tIHN0YXRlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGF0ZSBTdGF0ZSB0byBjbGVhblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjbGVhblN0YXRlKGlkOiBhbnksIHN0YXRlczogTWFwPGFueSwgUz4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBzdGF0ZXMuZ2V0KGlkKTtcbiAgICAgICAgLy8gIGRvIG5vdGhpbmcgaWZcbiAgICAgICAgLy8gIHRoZXJlIGlzIG5vIHN0YXRlLCBvclxuICAgICAgICAvLyAgdGhlcmUgaXMgbm8gc3RhdGUgdmFsdWUgKGUuZy4gREVMRVRFRCB0cmFuc2FjdGlvbiksIG9yXG4gICAgICAgIC8vICB0aGVyZSBpcyBubyByZWNvcmRSZWYgKGUuZy4gQURERUQgdHJhbnNhY3Rpb24pXG4gICAgICAgIGlmIChzdGF0ZSAmJiBzdGF0ZS52YWx1ZSAmJiBzdGF0ZS5yZWNvcmRSZWYpIHtcbiAgICAgICAgICAgIC8vICBpZiBzdGF0ZSdzIHZhbHVlIGlzIG9iamVjdCBjb21wYXJlIGVhY2gga2V5IHdpdGggdGhlIG9uZXMgaW4gcmVjb3JkUmVmXG4gICAgICAgICAgICAvLyAgaWYgdmFsdWVzIGluIGFueSBrZXkgYXJlIHRoZSBzYW1lIGRlbGV0ZSBpdCBmcm9tIHN0YXRlJ3MgdmFsdWVcbiAgICAgICAgICAgIC8vICBpZiBzdGF0ZSdzIHZhbHVlIGlzIG5vdCBvYmplY3QsIHNpbXBseSBjb21wYXJlIHdpdGggcmVjb3JkUmVmIGFuZCByZW1vdmVcbiAgICAgICAgICAgIC8vICB0aGUgc3RhdGUgaWYgdGhleSBhcmUgZXF1YWxcbiAgICAgICAgICAgIGlmIChpc09iamVjdChzdGF0ZS5yZWNvcmRSZWYpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc3RhdGUudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShzdGF0ZS5yZWNvcmRSZWZba2V5XSkgPT09IEpTT04uc3RyaW5naWZ5KHN0YXRlLnZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgc3RhdGUudmFsdWVba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vICBpZiBzdGF0ZSdzIHZhbHVlIGlzIGVtcHR5IHJlbW92ZSB0aGUgc3RhdGUgZnJvbSB0aGUgc3RhdGVzLCBvbmx5IGlmIHN0YXRlIGlzIG5vdCBERUxFVEUgdHlwZVxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZS50eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuREVMRVRFICYmIE9iamVjdC5rZXlzKHN0YXRlLnZhbHVlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVzLmRlbGV0ZShpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUucmVjb3JkUmVmID09PSBzdGF0ZS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZXMuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHN0YXRlIHJlbGF0ZWQgcmVjb3JkIGluIHRoZSBwcm92aWRlZCBkYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBEYXRhIHNvdXJjZSB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gc3RhdGUgU3RhdGUgdG8gdXBkYXRlIGRhdGEgZnJvbVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVSZWNvcmQoZGF0YTogYW55W10sIHN0YXRlOiBTKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZGF0YS5maW5kSW5kZXgoaSA9PiBKU09OLnN0cmluZ2lmeShpKSA9PT0gSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVjb3JkUmVmIHx8IHt9KSk7XG4gICAgICAgIHN3aXRjaCAoc3RhdGUudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQUREOlxuICAgICAgICAgICAgICAgIGRhdGEucHVzaChzdGF0ZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICAgICAgaWYgKDAgPD0gaW5kZXggJiYgaW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVVBEQVRFOlxuICAgICAgICAgICAgICAgIGlmICgwIDw9IGluZGV4ICYmIGluZGV4IDwgZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVtpbmRleF0gPSB0aGlzLnVwZGF0ZVZhbHVlKHN0YXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -43,7 +43,6 @@ export class IgxHierarchicalTransactionFactory extends IgxFlatTransactionFactory
43
43
  switch (type) {
44
44
  case ("Base" /* Base */):
45
45
  return new IgxHierarchicalTransactionService();
46
- ;
47
46
  default:
48
47
  return new IgxBaseTransactionService();
49
48
  }
@@ -55,4 +54,4 @@ IgxHierarchicalTransactionFactory.decorators = [
55
54
  providedIn: 'root'
56
55
  },] }
57
56
  ];
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmFjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWMxRDs7R0FFRztBQUlILE1BQU0sT0FBTyx5QkFBeUI7SUFFbEM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBc0I7UUFDaEMsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLG1CQUF1QjtnQkFDeEIsT0FBTyxJQUFJLHFCQUFxQixFQUFFLENBQUM7Z0JBQUEsQ0FBQztZQUN4QztnQkFDSSxPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztTQUM5QztJQUNMLENBQUM7Ozs7WUFsQkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOztBQW1CRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx5QkFBeUI7SUFFNUU7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBc0I7UUFDaEMsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLG1CQUF1QjtnQkFDeEIsT0FBTyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7Z0JBQUEsQ0FBQztZQUNwRDtnQkFDSSxPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztTQUM5QztJQUNMLENBQUM7Ozs7WUFsQkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4QmFzZVRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vYmFzZS10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuL2hpZXJhcmNoaWNhbC10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJZ3hIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuL2lneC1oaWVyYXJjaGljYWwtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSWd4VHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9pZ3gtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSGllcmFyY2hpY2FsU3RhdGUsIEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uLCBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSB0cmFuc2FjdGlvbiB0aGF0IHNob3VsZCBiZSBwcm92aWRlZC5cbiAqIFdoZW4gYmF0Y2hFZGl0aW5nIGlzIGRpc2FibGVkLCBgTm9uZWAgaXMgcHJvdmlkZWQuXG4gKiBXaGVuIGVuYWJsZWQgLSBgQmFzZWAgaXMgcHJvdmlkZWQuXG4gKiBBbiBlbnVtIGluc3RlYWQgb2YgYSBib29sZWFuIHZhbHVlIGxlYXZlcyByb29tIGZvciBleHRyYSBzY2VuYXJpb3MgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gVFJBTlNBQ1RJT05fVFlQRSB7XG4gICAgJ05vbmUnID0gJ05vbmUnLFxuICAgICdCYXNlJyA9ICdCYXNlJ1xufVxuXG4vKipcbiAqIEZhY3Rvcnkgc2VydmljZSBmb3IgaW5zdGFudGlhdGluZyBUcmFuc2FjdGlvblNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4RmxhdFRyYW5zYWN0aW9uRmFjdG9yeSB7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IFRyYW5zYWN0aW9uIHNlcnZpY2UgaW5zdGFuY2UgZGVwZW5kaW5nIG9uIHRoZSBzcGVjaWZpZWQgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgICAqIEByZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIFRyYW5zYWN0aW9uU2VydmljZTxUcmFuc2FjdGlvbiwgU3RhdGU+XG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZSh0eXBlOiBUUkFOU0FDVElPTl9UWVBFKTogVHJhbnNhY3Rpb25TZXJ2aWNlPFRyYW5zYWN0aW9uLCBTdGF0ZT4ge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgKFRSQU5TQUNUSU9OX1RZUEUuQmFzZSk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBJZ3hUcmFuc2FjdGlvblNlcnZpY2UoKTs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSWd4QmFzZVRyYW5zYWN0aW9uU2VydmljZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZhY3Rvcnkgc2VydmljZSBmb3IgaW5zdGFudGlhdGluZyBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4SGllcmFyY2hpY2FsVHJhbnNhY3Rpb25GYWN0b3J5IGV4dGVuZHMgSWd4RmxhdFRyYW5zYWN0aW9uRmFjdG9yeSB7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IEhpZXJhcmNoaWFsVHJhbnNhY3Rpb24gc2VydmljZSBpbnN0YW5jZSBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmllZCB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAgICogQHJldHVybnMgYSBuZXcgaW5zdGFuY2Ugb2YgSGllcmFyY2hpYWxUcmFuc2FjdGlvbjxIaWVyYXJjaGlhbFRyYW5zYWN0aW9uLCBIaWVyYXJjaGlhbFN0YXRlPlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGUodHlwZTogVFJBTlNBQ1RJT05fVFlQRSk6IEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uU2VydmljZTxIaWVyYXJjaGljYWxUcmFuc2FjdGlvbiwgSGllcmFyY2hpY2FsU3RhdGU+IHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIChUUkFOU0FDVElPTl9UWVBFLkJhc2UpOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSWd4SGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlKCk7O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IElneEJhc2VUcmFuc2FjdGlvblNlcnZpY2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmFjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWMxRDs7R0FFRztBQUlILE1BQU0sT0FBTyx5QkFBeUI7SUFFbEM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBc0I7UUFDaEMsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLG1CQUF1QjtnQkFDeEIsT0FBTyxJQUFJLHFCQUFxQixFQUFFLENBQUM7Z0JBQUEsQ0FBQztZQUN4QztnQkFDSSxPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztTQUM5QztJQUNMLENBQUM7Ozs7WUFsQkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOztBQW1CRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx5QkFBeUI7SUFFNUU7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBc0I7UUFFaEMsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLG1CQUF1QjtnQkFDeEIsT0FBTyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7WUFDbkQ7Z0JBQ0ksT0FBTyxJQUFJLHlCQUF5QixFQUFFLENBQUM7U0FDOUM7SUFDTCxDQUFDOzs7O1lBbkJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneEJhc2VUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSWd4SGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9pZ3gtaGllcmFyY2hpY2FsLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IElneFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vaWd4LXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEhpZXJhcmNoaWNhbFN0YXRlLCBIaWVyYXJjaGljYWxUcmFuc2FjdGlvbiwgU3RhdGUsIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuLyoqXG4gKiBUaGUgdHlwZSBvZiB0aGUgdHJhbnNhY3Rpb24gdGhhdCBzaG91bGQgYmUgcHJvdmlkZWQuXG4gKiBXaGVuIGJhdGNoRWRpdGluZyBpcyBkaXNhYmxlZCwgYE5vbmVgIGlzIHByb3ZpZGVkLlxuICogV2hlbiBlbmFibGVkIC0gYEJhc2VgIGlzIHByb3ZpZGVkLlxuICogQW4gZW51bSBpbnN0ZWFkIG9mIGEgYm9vbGVhbiB2YWx1ZSBsZWF2ZXMgcm9vbSBmb3IgZXh0cmEgc2NlbmFyaW9zIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFRSQU5TQUNUSU9OX1RZUEUge1xuICAgICdOb25lJyA9ICdOb25lJyxcbiAgICAnQmFzZScgPSAnQmFzZSdcbn1cblxuLyoqXG4gKiBGYWN0b3J5IHNlcnZpY2UgZm9yIGluc3RhbnRpYXRpbmcgVHJhbnNhY3Rpb25TZXJ2aWNlc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElneEZsYXRUcmFuc2FjdGlvbkZhY3Rvcnkge1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBUcmFuc2FjdGlvbiBzZXJ2aWNlIGluc3RhbmNlIGRlcGVuZGluZyBvbiB0aGUgc3BlY2lmaWVkIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICAgKiBAcmV0dXJucyBhIG5ldyBpbnN0YW5jZSBvZiBUcmFuc2FjdGlvblNlcnZpY2U8VHJhbnNhY3Rpb24sIFN0YXRlPlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGUodHlwZTogVFJBTlNBQ1RJT05fVFlQRSk6IFRyYW5zYWN0aW9uU2VydmljZTxUcmFuc2FjdGlvbiwgU3RhdGU+IHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIChUUkFOU0FDVElPTl9UWVBFLkJhc2UpOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSWd4VHJhbnNhY3Rpb25TZXJ2aWNlKCk7O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IElneEJhc2VUcmFuc2FjdGlvblNlcnZpY2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IHNlcnZpY2UgZm9yIGluc3RhbnRpYXRpbmcgSGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElneEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uRmFjdG9yeSBleHRlbmRzIElneEZsYXRUcmFuc2FjdGlvbkZhY3Rvcnkge1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBIaWVyYXJjaGlhbFRyYW5zYWN0aW9uIHNlcnZpY2UgaW5zdGFuY2UgZGVwZW5kaW5nIG9uIHRoZSBzcGVjaWZpZWQgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgICAqIEByZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIEhpZXJhcmNoaWFsVHJhbnNhY3Rpb248SGllcmFyY2hpYWxUcmFuc2FjdGlvbiwgSGllcmFyY2hpYWxTdGF0ZT5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlKHR5cGU6IFRSQU5TQUNUSU9OX1RZUEUpOlxuICAgICAgICBIaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2U8SGllcmFyY2hpY2FsVHJhbnNhY3Rpb24sIEhpZXJhcmNoaWNhbFN0YXRlPiB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSAoVFJBTlNBQ1RJT05fVFlQRS5CYXNlKTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IElneEhpZXJhcmNoaWNhbFRyYW5zYWN0aW9uU2VydmljZSgpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IElneEJhc2VUcmFuc2FjdGlvblNlcnZpY2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export var TransactionEventOrigin;
12
12
  TransactionEventOrigin["ADD"] = "add";
13
13
  TransactionEventOrigin["END"] = "endPending";
14
14
  })(TransactionEventOrigin || (TransactionEventOrigin = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN2Qiw4QkFBVyxDQUFBO0lBQ1gsb0NBQWlCLENBQUE7SUFDakIsb0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBTVg7QUFORCxXQUFZLHNCQUFzQjtJQUM5Qix1Q0FBYSxDQUFBO0lBQ2IsdUNBQWEsQ0FBQTtJQUNiLHlDQUFlLENBQUE7SUFDZixxQ0FBVyxDQUFBO0lBQ1gsNENBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQU5XLHNCQUFzQixLQUF0QixzQkFBc0IsUUFNakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGVudW0gVHJhbnNhY3Rpb25UeXBlIHtcbiAgICBBREQgPSAnYWRkJyxcbiAgICBERUxFVEUgPSAnZGVsZXRlJyxcbiAgICBVUERBVEUgPSAndXBkYXRlJ1xufVxuXG5leHBvcnQgZW51bSBUcmFuc2FjdGlvbkV2ZW50T3JpZ2luIHtcbiAgICBVTkRPID0gJ3VuZG8nLFxuICAgIFJFRE8gPSAncmVkbycsXG4gICAgQ0xFQVIgPSAnY2xlYXInLFxuICAgIEFERCA9ICdhZGQnLFxuICAgIEVORCA9ICdlbmRQZW5kaW5nJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uIHtcbiAgICBpZDogYW55O1xuICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgICBuZXdWYWx1ZTogYW55O1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgICBwYXRoPzogYW55W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xuICAgIHZhbHVlOiBhbnk7XG4gICAgcmVjb3JkUmVmOiBhbnk7XG4gICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbjxUIGV4dGVuZHMgVHJhbnNhY3Rpb24+IHtcbiAgICB0cmFuc2FjdGlvbjogVDtcbiAgICByZWNvcmRSZWY6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZVVwZGF0ZUV2ZW50IHtcbiAgICBvcmlnaW46IFRyYW5zYWN0aW9uRXZlbnRPcmlnaW47XG4gICAgYWN0aW9uczogQWN0aW9uPFRyYW5zYWN0aW9uPltdO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxTdGF0ZSBleHRlbmRzIFN0YXRlIHtcbiAgICBwYXRoOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblNlcnZpY2U8VCBleHRlbmRzIFRyYW5zYWN0aW9uLCBTIGV4dGVuZHMgU3RhdGU+IHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdHJhbnNhY3Rpb24gaXMgZW5hYmxlZCBmb3IgdGhpcyBzZXJ2aWNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW5hYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGZpcmVkIHdoZW4gdHJhbnNhY3Rpb24gc3RhdGUgaGFzIGNoYW5nZWQgLSBhZGQgdHJhbnNhY3Rpb24sIGNvbW1pdCBhbGwgdHJhbnNhY3Rpb25zLCB1bmRvIGFuZCByZWRvXG4gICAgICovXG4gICAgb25TdGF0ZVVwZGF0ZT86IEV2ZW50RW1pdHRlcjxTdGF0ZVVwZGF0ZUV2ZW50PjtcblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGlmIHRoZXJlIGFyZSBhbnkgdHJhbnNhY3Rpb25zIGluIHRoZSBVbmRvIHN0YWNrXG4gICAgICovXG4gICAgY2FuVW5kbzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGlmIHRoZXJlIGFyZSBhbnkgdHJhbnNhY3Rpb25zIGluIHRoZSBSZWRvIHN0YWNrXG4gICAgICovXG4gICAgY2FuUmVkbzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEFkZHMgcHJvdmlkZWQgIHRyYW5zYWN0aW9uIHdpdGggcmVjb3JkUmVmIGlmIGFueVxuICAgICAqXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIHRvIGJlIGFkZGVkXG4gICAgICogQHBhcmFtIHJlY29yZFJlZiBSZWZlcmVuY2UgdG8gdGhlIHZhbHVlIG9mIHRoZSByZWNvcmQgaW4gdGhlIGRhdGEgc291cmNlIHJlbGF0ZWQgdG8gdGhlIGNoYW5nZWQgaXRlbVxuICAgICAqL1xuICAgIGFkZCh0cmFuc2FjdGlvbjogVCwgcmVjb3JkUmVmPzogYW55KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYWxsIHJlY29yZGVkIHRyYW5zYWN0aW9ucyBpbiBjaHJvbm9sb2dpY2FsIG9yZGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgT3B0aW9uYWwgcmVjb3JkIGlkIHRvIGdldCB0cmFuc2FjdGlvbnMgZm9yXG4gICAgICogQHJldHVybnMgQWxsIHRyYW5zYWN0aW9uIGluIHRoZSBzZXJ2aWNlIG9yIGZvciB0aGUgc3BlY2lmaWVkIHJlY29yZFxuICAgICAqL1xuICAgIGdldFRyYW5zYWN0aW9uTG9nKGlkPzogYW55KTogVFtdO1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBsYXN0IHRyYW5zYWN0aW9uIGlmIGFueVxuICAgICAqL1xuICAgIHVuZG8oKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEFwcGxpZXMgdGhlIGxhc3QgdW5kb25lIHRyYW5zYWN0aW9uIGlmIGFueVxuICAgICAqL1xuICAgIHJlZG8oKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYWdncmVnYXRlZCBjaGFuZ2VzIGZyb20gYWxsIHRyYW5zYWN0aW9uc1xuICAgICAqXG4gICAgICogQHBhcmFtIG1lcmdlQ2hhbmdlcyBJZiBzZXQgdG8gdHJ1ZSB3aWxsIG1lcmdlIGVhY2ggc3RhdGUncyB2YWx1ZSBvdmVyIHJlbGF0ZSByZWNvcmRSZWZcbiAgICAgKiBhbmQgd2lsbCByZWNvcmQgcmVzdWx0aW5nIHZhbHVlIGluIHRoZSByZWxhdGVkIHRyYW5zYWN0aW9uXG4gICAgICogQHJldHVybnMgQ29sbGVjdGlvbiBvZiBhZ2dyZWdhdGVkIHRyYW5zYWN0aW9ucyBmb3IgZWFjaCBjaGFuZ2VkIHJlY29yZFxuICAgICAqL1xuICAgIGdldEFnZ3JlZ2F0ZWRDaGFuZ2VzKG1lcmdlQ2hhbmdlczogYm9vbGVhbik6IFRbXTtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHN0YXRlIG9mIHRoZSByZWNvcmQgd2l0aCBwcm92aWRlZCBpZFxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgcmVjb3JkXG4gICAgICogQHBhcmFtIHBlbmRpbmcgU2hvdWxkIGdldCBwZW5kaW5nIHN0YXRlXG4gICAgICogQHJldHVybnMgU3RhdGUgb2YgdGhlIHJlY29yZCBpZiBhbnlcbiAgICAgKi9cbiAgICBnZXRTdGF0ZShpZDogYW55LCBwZW5kaW5nPzogYm9vbGVhbik6IFM7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHZhbHVlIG9mIHRoZSByZXF1aXJlZCBpZCBpbmNsdWRpbmcgYWxsIHVuY29tbWl0dGVkIGNoYW5nZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHJlY29yZCB0byByZXR1cm4gdmFsdWUgZm9yXG4gICAgICogQHBhcmFtIG1lcmdlQ2hhbmdlcyBJZiBzZXQgdG8gdHJ1ZSB3aWxsIG1lcmdlIHN0YXRlJ3MgdmFsdWUgb3ZlciByZWxhdGUgcmVjb3JkUmVmXG4gICAgICogYW5kIHdpbGwgcmV0dXJuIG1lcmdlZCB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFZhbHVlIHdpdGggY2hhbmdlcyBvciAqKm51bGwqKlxuICAgICAqL1xuICAgIGdldEFnZ3JlZ2F0ZWRWYWx1ZShpZDogYW55LCBtZXJnZUNoYW5nZXM6IGJvb2xlYW4pOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBBcHBsaWVzIGFsbCB0cmFuc2FjdGlvbnMgb3ZlciB0aGUgcHJvdmlkZWQgZGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgRGF0YSBzb3VyY2UgdG8gdXBkYXRlXG4gICAgICogQHBhcmFtIGlkIE9wdGlvbmFsIHJlY29yZCBpZCB0byBjb21taXQgdHJhbnNhY3Rpb25zIGZvclxuICAgICAqL1xuICAgIGNvbW1pdChkYXRhOiBhbnlbXSwgaWQ/OiBhbnkpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCB0cmFuc2FjdGlvbnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBPcHRpb25hbCByZWNvcmQgaWQgdG8gY2xlYXIgdHJhbnNhY3Rpb25zIGZvclxuICAgICAqL1xuICAgIGNsZWFyKGlkPzogYW55KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFN0YXJ0cyBwZW5kaW5nIHRyYW5zYWN0aW9ucy4gQWxsIHRyYW5zYWN0aW9ucyBwYXNzZWQgYWZ0ZXIgY2FsbCB0byBzdGFydFBlbmRpbmdcbiAgICAgKiB3aWxsIG5vdCBiZSBhZGRlZCB0byB0cmFuc2FjdGlvbiBsb2dcbiAgICAgKi9cbiAgICBzdGFydFBlbmRpbmcoKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwgcGVuZGluZyB0cmFuc2FjdGlvbnMgYW5kIGFnZ3JlZ2F0ZWQgcGVuZGluZyBzdGF0ZS4gSWYgY29tbWl0IGlzIHNldCB0byB0cnVlXG4gICAgICogY29tbWl0cyBwZW5kaW5nIHN0YXRlcyBhcyBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21taXQgU2hvdWxkIGNvbW1pdCB0aGUgcGVuZGluZyBzdGF0ZXNcbiAgICAgKi9cbiAgICBlbmRQZW5kaW5nKGNvbW1pdDogYm9vbGVhbik6IHZvaWQ7XG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN2Qiw4QkFBVyxDQUFBO0lBQ1gsb0NBQWlCLENBQUE7SUFDakIsb0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBTVg7QUFORCxXQUFZLHNCQUFzQjtJQUM5Qix1Q0FBYSxDQUFBO0lBQ2IsdUNBQWEsQ0FBQTtJQUNiLHlDQUFlLENBQUE7SUFDZixxQ0FBVyxDQUFBO0lBQ1gsNENBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQU5XLHNCQUFzQixLQUF0QixzQkFBc0IsUUFNakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRhQ2xvbmVTdHJhdGVneSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLWNsb25lLXN0cmF0ZWd5JztcblxuZXhwb3J0IGVudW0gVHJhbnNhY3Rpb25UeXBlIHtcbiAgICBBREQgPSAnYWRkJyxcbiAgICBERUxFVEUgPSAnZGVsZXRlJyxcbiAgICBVUERBVEUgPSAndXBkYXRlJ1xufVxuXG5leHBvcnQgZW51bSBUcmFuc2FjdGlvbkV2ZW50T3JpZ2luIHtcbiAgICBVTkRPID0gJ3VuZG8nLFxuICAgIFJFRE8gPSAncmVkbycsXG4gICAgQ0xFQVIgPSAnY2xlYXInLFxuICAgIEFERCA9ICdhZGQnLFxuICAgIEVORCA9ICdlbmRQZW5kaW5nJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uIHtcbiAgICBpZDogYW55O1xuICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgICBuZXdWYWx1ZTogYW55O1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgICBwYXRoPzogYW55W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xuICAgIHZhbHVlOiBhbnk7XG4gICAgcmVjb3JkUmVmOiBhbnk7XG4gICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbjxUIGV4dGVuZHMgVHJhbnNhY3Rpb24+IHtcbiAgICB0cmFuc2FjdGlvbjogVDtcbiAgICByZWNvcmRSZWY6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZVVwZGF0ZUV2ZW50IHtcbiAgICBvcmlnaW46IFRyYW5zYWN0aW9uRXZlbnRPcmlnaW47XG4gICAgYWN0aW9uczogQWN0aW9uPFRyYW5zYWN0aW9uPltdO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxTdGF0ZSBleHRlbmRzIFN0YXRlIHtcbiAgICBwYXRoOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblNlcnZpY2U8VCBleHRlbmRzIFRyYW5zYWN0aW9uLCBTIGV4dGVuZHMgU3RhdGU+IHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdHJhbnNhY3Rpb24gaXMgZW5hYmxlZCBmb3IgdGhpcyBzZXJ2aWNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW5hYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEdldHMvU2V0cyB0aGUgZGF0YSBjbG9uZSBzdHJhdGVneSB1c2VkIHRvIGNsb25lIGRhdGFcbiAgICAgKi9cbiAgICAgY2xvbmVTdHJhdGVneTogSURhdGFDbG9uZVN0cmF0ZWd5O1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZmlyZWQgd2hlbiB0cmFuc2FjdGlvbiBzdGF0ZSBoYXMgY2hhbmdlZCAtIGFkZCB0cmFuc2FjdGlvbiwgY29tbWl0IGFsbCB0cmFuc2FjdGlvbnMsIHVuZG8gYW5kIHJlZG9cbiAgICAgKi9cbiAgICBvblN0YXRlVXBkYXRlPzogRXZlbnRFbWl0dGVyPFN0YXRlVXBkYXRlRXZlbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgaWYgdGhlcmUgYXJlIGFueSB0cmFuc2FjdGlvbnMgaW4gdGhlIFVuZG8gc3RhY2tcbiAgICAgKi9cbiAgICBjYW5VbmRvOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgaWYgdGhlcmUgYXJlIGFueSB0cmFuc2FjdGlvbnMgaW4gdGhlIFJlZG8gc3RhY2tcbiAgICAgKi9cbiAgICBjYW5SZWRvOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQWRkcyBwcm92aWRlZCAgdHJhbnNhY3Rpb24gd2l0aCByZWNvcmRSZWYgaWYgYW55XG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gdG8gYmUgYWRkZWRcbiAgICAgKiBAcGFyYW0gcmVjb3JkUmVmIFJlZmVyZW5jZSB0byB0aGUgdmFsdWUgb2YgdGhlIHJlY29yZCBpbiB0aGUgZGF0YSBzb3VyY2UgcmVsYXRlZCB0byB0aGUgY2hhbmdlZCBpdGVtXG4gICAgICovXG4gICAgYWRkKHRyYW5zYWN0aW9uOiBULCByZWNvcmRSZWY/OiBhbnkpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbGwgcmVjb3JkZWQgdHJhbnNhY3Rpb25zIGluIGNocm9ub2xvZ2ljYWwgb3JkZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBPcHRpb25hbCByZWNvcmQgaWQgdG8gZ2V0IHRyYW5zYWN0aW9ucyBmb3JcbiAgICAgKiBAcmV0dXJucyBBbGwgdHJhbnNhY3Rpb24gaW4gdGhlIHNlcnZpY2Ugb3IgZm9yIHRoZSBzcGVjaWZpZWQgcmVjb3JkXG4gICAgICovXG4gICAgZ2V0VHJhbnNhY3Rpb25Mb2coaWQ/OiBhbnkpOiBUW107XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGxhc3QgdHJhbnNhY3Rpb24gaWYgYW55XG4gICAgICovXG4gICAgdW5kbygpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQXBwbGllcyB0aGUgbGFzdCB1bmRvbmUgdHJhbnNhY3Rpb24gaWYgYW55XG4gICAgICovXG4gICAgcmVkbygpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhZ2dyZWdhdGVkIGNoYW5nZXMgZnJvbSBhbGwgdHJhbnNhY3Rpb25zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVyZ2VDaGFuZ2VzIElmIHNldCB0byB0cnVlIHdpbGwgbWVyZ2UgZWFjaCBzdGF0ZSdzIHZhbHVlIG92ZXIgcmVsYXRlIHJlY29yZFJlZlxuICAgICAqIGFuZCB3aWxsIHJlY29yZCByZXN1bHRpbmcgdmFsdWUgaW4gdGhlIHJlbGF0ZWQgdHJhbnNhY3Rpb25cbiAgICAgKiBAcmV0dXJucyBDb2xsZWN0aW9uIG9mIGFnZ3JlZ2F0ZWQgdHJhbnNhY3Rpb25zIGZvciBlYWNoIGNoYW5nZWQgcmVjb3JkXG4gICAgICovXG4gICAgZ2V0QWdncmVnYXRlZENoYW5nZXMobWVyZ2VDaGFuZ2VzOiBib29sZWFuKTogVFtdO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc3RhdGUgb2YgdGhlIHJlY29yZCB3aXRoIHByb3ZpZGVkIGlkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSByZWNvcmRcbiAgICAgKiBAcGFyYW0gcGVuZGluZyBTaG91bGQgZ2V0IHBlbmRpbmcgc3RhdGVcbiAgICAgKiBAcmV0dXJucyBTdGF0ZSBvZiB0aGUgcmVjb3JkIGlmIGFueVxuICAgICAqL1xuICAgIGdldFN0YXRlKGlkOiBhbnksIHBlbmRpbmc/OiBib29sZWFuKTogUztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdmFsdWUgb2YgdGhlIHJlcXVpcmVkIGlkIGluY2x1ZGluZyBhbGwgdW5jb21taXR0ZWQgY2hhbmdlc1xuICAgICAqXG4gICAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgcmVjb3JkIHRvIHJldHVybiB2YWx1ZSBmb3JcbiAgICAgKiBAcGFyYW0gbWVyZ2VDaGFuZ2VzIElmIHNldCB0byB0cnVlIHdpbGwgbWVyZ2Ugc3RhdGUncyB2YWx1ZSBvdmVyIHJlbGF0ZSByZWNvcmRSZWZcbiAgICAgKiBhbmQgd2lsbCByZXR1cm4gbWVyZ2VkIHZhbHVlXG4gICAgICogQHJldHVybnMgVmFsdWUgd2l0aCBjaGFuZ2VzIG9yICoqbnVsbCoqXG4gICAgICovXG4gICAgZ2V0QWdncmVnYXRlZFZhbHVlKGlkOiBhbnksIG1lcmdlQ2hhbmdlczogYm9vbGVhbik6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEFwcGxpZXMgYWxsIHRyYW5zYWN0aW9ucyBvdmVyIHRoZSBwcm92aWRlZCBkYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBEYXRhIHNvdXJjZSB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gaWQgT3B0aW9uYWwgcmVjb3JkIGlkIHRvIGNvbW1pdCB0cmFuc2FjdGlvbnMgZm9yXG4gICAgICovXG4gICAgY29tbWl0KGRhdGE6IGFueVtdLCBpZD86IGFueSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIHRyYW5zYWN0aW9uc1xuICAgICAqXG4gICAgICogQHBhcmFtIGlkIE9wdGlvbmFsIHJlY29yZCBpZCB0byBjbGVhciB0cmFuc2FjdGlvbnMgZm9yXG4gICAgICovXG4gICAgY2xlYXIoaWQ/OiBhbnkpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU3RhcnRzIHBlbmRpbmcgdHJhbnNhY3Rpb25zLiBBbGwgdHJhbnNhY3Rpb25zIHBhc3NlZCBhZnRlciBjYWxsIHRvIHN0YXJ0UGVuZGluZ1xuICAgICAqIHdpbGwgbm90IGJlIGFkZGVkIHRvIHRyYW5zYWN0aW9uIGxvZ1xuICAgICAqL1xuICAgIHN0YXJ0UGVuZGluZygpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBwZW5kaW5nIHRyYW5zYWN0aW9ucyBhbmQgYWdncmVnYXRlZCBwZW5kaW5nIHN0YXRlLiBJZiBjb21taXQgaXMgc2V0IHRvIHRydWVcbiAgICAgKiBjb21taXRzIHBlbmRpbmcgc3RhdGVzIGFzIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbW1pdCBTaG91bGQgY29tbWl0IHRoZSBwZW5kaW5nIHN0YXRlc1xuICAgICAqL1xuICAgIGVuZFBlbmRpbmcoY29tbWl0OiBib29sZWFuKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Inject, Input, NgModule, Optional, Output, } from '@angular/core';
2
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Inject, Input, NgModule, Optional, Output } from '@angular/core';
3
3
  import { takeUntil } from 'rxjs/operators';
4
4
  import { IgxNavigationService } from '../core/navigation';
5
5
  import { IgxOverlayService, HorizontalAlignment, VerticalAlignment, GlobalPositionStrategy } from '../services/public_api';
@@ -71,30 +71,37 @@ export class IgxToastComponent extends IgxNotificationsDirective {
71
71
  * @hidden
72
72
  */
73
73
  this.isVisibleChange = new EventEmitter();
74
- /**
75
- * Sets/gets the position of the toast.
76
- * If not set, the `position` attribute will have value `IgxToastPosition.Bottom`.
77
- * ```html
78
- * <igx-toast [position]="top"></igx-toast>
79
- * ```
80
- * ```typescript
81
- * let toastPosition = this.toast.position;
82
- * ```
83
- *
84
- * @memberof IgxToastComponent
85
- */
86
- this.position = 'bottom';
74
+ this._position = 'bottom';
87
75
  this._positionSettings = {
88
76
  horizontalDirection: HorizontalAlignment.Center,
89
- verticalDirection: this.position === 'bottom'
90
- ? VerticalAlignment.Bottom
91
- : this.position === 'middle'
92
- ? VerticalAlignment.Middle
93
- : VerticalAlignment.Top,
77
+ verticalDirection: VerticalAlignment.Bottom,
94
78
  openAnimation: useAnimation(fadeIn),
95
79
  closeAnimation: useAnimation(fadeOut),
96
80
  };
97
81
  }
82
+ /**
83
+ * @deprecated in version 12.2.3. We suggest using `positionSettings` property instead
84
+ *
85
+ * Sets/gets the position of the toast.
86
+ * If not set, the `position` attribute will have value `IgxToastPosition.Bottom`.
87
+ * ```html
88
+ * <igx-toast [position]="top"></igx-toast>
89
+ * ```
90
+ * ```typescript
91
+ * let toastPosition = this.toast.position;
92
+ * ```
93
+ *
94
+ * @memberof IgxToastComponent
95
+ */
96
+ get position() {
97
+ return this._position;
98
+ }
99
+ set position(position) {
100
+ if (position) {
101
+ this._position = position;
102
+ this._positionSettings.verticalDirection = this.calculatePosition();
103
+ }
104
+ }
98
105
  /**
99
106
  * Get the position and animation settings used by the toast.
100
107
  * ```typescript
@@ -147,10 +154,13 @@ export class IgxToastComponent extends IgxNotificationsDirective {
147
154
  * this.toast.open();
148
155
  * ```
149
156
  */
150
- open(message) {
157
+ open(message, settings) {
151
158
  if (message !== undefined) {
152
159
  this.textMessage = message;
153
160
  }
161
+ if (settings !== undefined) {
162
+ this.positionSettings = settings;
163
+ }
154
164
  this.strategy = new GlobalPositionStrategy(this.positionSettings);
155
165
  super.open();
156
166
  }
@@ -182,6 +192,18 @@ export class IgxToastComponent extends IgxNotificationsDirective {
182
192
  this.isVisibleChange.emit(closedEventArgs);
183
193
  });
184
194
  }
195
+ ngOnChanges(changes) {
196
+ if (changes['position'] && this._positionSettings) {
197
+ this._positionSettings.verticalDirection = this.calculatePosition();
198
+ }
199
+ }
200
+ calculatePosition() {
201
+ return this.position === 'bottom'
202
+ ? VerticalAlignment.Bottom
203
+ : this.position === 'middle'
204
+ ? VerticalAlignment.Middle
205
+ : VerticalAlignment.Top;
206
+ }
185
207
  }
186
208
  IgxToastComponent.decorators = [
187
209
  { type: Component, args: [{
@@ -215,4 +237,4 @@ IgxToastModule.decorators = [
215
237
  imports: [CommonModule],
216
238
  },] }
217
239
  ];
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsUUFBUSxFQUNSLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUV6QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztJQUNuQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsS0FBSztDQUNiLENBQUMsQ0FBQztBQUlIOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBS0gsTUFBTSxP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QUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFqTEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxXQUFXO2dCQUNyQix5RUFBbUM7YUFDdEM7OztZQTVERyxVQUFVO1lBRlYsaUJBQWlCO1lBYVosb0JBQW9CLHVCQTRLcEIsUUFBUTtZQTFLYixpQkFBaUIsdUJBMktaLE1BQU0sU0FBQyxpQkFBaUI7Ozt1QkF0SDVCLFdBQVcsU0FBQyxpQkFBaUI7aUJBYTdCLFdBQVcsU0FBQyxTQUFTLGNBQ3JCLEtBQUs7bUJBZUwsV0FBVyxTQUFDLFdBQVcsY0FDdkIsS0FBSzs4QkFNTCxNQUFNO3VCQWVOLEtBQUs7K0JBVUosS0FBSzs7QUE4R1g7O0dBRUc7QUFNSCxNQUFNLE9BQU8sY0FBYzs7O1lBTDFCLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQzthQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJZ3hOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvbmF2aWdhdGlvbic7XG5pbXBvcnQge1xuICAgIElneE92ZXJsYXlTZXJ2aWNlLFxuICAgIEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgVmVydGljYWxBbGlnbm1lbnQsXG4gICAgR2xvYmFsUG9zaXRpb25TdHJhdGVneSxcbiAgICBQb3NpdGlvblNldHRpbmdzXG59IGZyb20gJy4uL3NlcnZpY2VzL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgbWtlbnVtIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hOb3RpZmljYXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9nZ2xlVmlld0V2ZW50QXJncyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdG9nZ2xlL3RvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBmYWRlSW4sIGZhZGVPdXQgfSBmcm9tICcuLi9hbmltYXRpb25zL2ZhZGUnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbi8qKlxuICogRW51bWVyYXRpb24gZm9yIHRvYXN0IHBvc2l0aW9uXG4gKiBDYW4gYmU6XG4gKiBCb3R0b21cbiAqIE1pZGRsZVxuICogVG9wXG4gKi9cbmV4cG9ydCBjb25zdCBJZ3hUb2FzdFBvc2l0aW9uID0gbWtlbnVtKHtcbiAgICBCb3R0b206ICdib3R0b20nLFxuICAgIE1pZGRsZTogJ21pZGRsZScsXG4gICAgVG9wOiAndG9wJ1xufSk7XG5cbmV4cG9ydCB0eXBlIElneFRvYXN0UG9zaXRpb24gPSAodHlwZW9mIElneFRvYXN0UG9zaXRpb24pW2tleW9mIHR5cGVvZiBJZ3hUb2FzdFBvc2l0aW9uXTtcblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBUb2FzdCoqIC1cbiAqIFtEb2N1bWVudGF0aW9uXShodHRwczovL3d3dy5pbmZyYWdpc3RpY3MuY29tL3Byb2R1Y3RzL2lnbml0ZS11aS1hbmd1bGFyL2FuZ3VsYXIvY29tcG9uZW50cy90b2FzdClcbiAqXG4gKiBUaGUgSWduaXRlIFVJIFRvYXN0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFuZCB3YXJuaW5nIG1lc3NhZ2VzIHRoYXQgYXJlIG5vbi1pbnRlcmFjdGl2ZSBhbmQgY2Fubm90XG4gKiBiZSBkaXNtaXNzZWQgYnkgdGhlIHVzZXIuIFRvYXN0cyBjYW4gYmUgZGlzcGxheWVkIGF0IHRoZSBib3R0b20sIG1pZGRsZSwgb3IgdG9wIG9mIHRoZSBwYWdlLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIChjbGljayk9XCJ0b2FzdC5vcGVuKClcIj5TaG93IG5vdGlmaWNhdGlvbjwvYnV0dG9uPlxuICogPGlneC10b2FzdCAjdG9hc3QgZGlzcGxheVRpbWU9XCIxMDAwXCI+XG4gKiAgICAgIE5vdGlmaWNhdGlvbiBkaXNwbGF5ZWRcbiAqIDwvaWd4LXRvYXN0PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXRvYXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RvYXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hUb2FzdENvbXBvbmVudCBleHRlbmRzIElneE5vdGlmaWNhdGlvbnNEaXJlY3RpdmVcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXRvYXN0JylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LXRvYXN0JztcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgdG9hc3QuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC10b2FzdC0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IGlkID0gXCJteS1maXJzdC10b2FzdFwiPjwvaWd4LXRvYXN0PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdG9hc3RJZCA9IHRoaXMudG9hc3QuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtdG9hc3QtJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZS5cbiAgICAgKiBJZiBub3Qgc2V0LCBgcm9sZWAgd2lsbCBoYXZlIHZhbHVlIGBcImFsZXJ0XCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IFtyb2xlXSA9IFwiJ25vdGlmeSdcIj48L2lneC10b2FzdD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHRvYXN0Um9sZSA9IHRoaXMudG9hc3Qucm9sZTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2FsZXJ0JztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3RXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9hc3QuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBwb3NpdGlvbmAgYXR0cmlidXRlIHdpbGwgaGF2ZSB2YWx1ZSBgSWd4VG9hc3RQb3NpdGlvbi5Cb3R0b21gLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IFtwb3NpdGlvbl09XCJ0b3BcIj48L2lneC10b2FzdD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHRvYXN0UG9zaXRpb24gPSB0aGlzLnRvYXN0LnBvc2l0aW9uO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneFRvYXN0Q29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IElneFRvYXN0UG9zaXRpb24gPSAnYm90dG9tJztcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcG9zaXRpb24gYW5kIGFuaW1hdGlvbiBzZXR0aW5ncyB1c2VkIGJ5IHRoZSB0b2FzdC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogQFZpZXdDaGlsZCgndG9hc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgdG9hc3Q6IElneFRvYXN0Q29tcG9uZW50O1xuICAgICAqIGxldCBjdXJyZW50UG9zaXRpb246IFBvc2l0aW9uU2V0dGluZ3MgPSB0aGlzLnRvYXN0LnBvc2l0aW9uU2V0dGluZ3NcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICAgQElucHV0KClcbiAgICAgcHVibGljIGdldCBwb3NpdGlvblNldHRpbmdzKCk6IFBvc2l0aW9uU2V0dGluZ3Mge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uU2V0dGluZ3M7XG4gICAgIH1cblxuICAgICAvKipcbiAgICAgICogU2V0IHRoZSBwb3NpdGlvbiBhbmQgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIHRvYXN0LlxuICAgICAgKiBgYGBodG1sXG4gICAgICAqIDxpZ3gtdG9hc3QgW3Bvc2l0aW9uU2V0dGluZ3NdPVwibmV3UG9zaXRpb25TZXR0aW5nc1wiPjwvaWd4LXRvYXN0PlxuICAgICAgKiBgYGBcbiAgICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAgKiBpbXBvcnQgeyBzbGlkZUluVG9wLCBzbGlkZU91dEJvdHRvbSB9IGZyb20gJ2lnbml0ZXVpLWFuZ3VsYXInO1xuICAgICAgKiAuLi5cbiAgICAgICogQFZpZXdDaGlsZCgndG9hc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgdG9hc3Q6IElneFRvYXN0Q29tcG9uZW50O1xuICAgICAgKiAgcHVibGljIG5ld1Bvc2l0aW9uU2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAqICAgICAgb3BlbkFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKHNsaWRlSW5Ub3AsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwMG1zJywgZnJvbVBvc2l0aW9uOiAndHJhbnNsYXRlWSgxMDAlKSd9fSksXG4gICAgICAqICAgICAgY2xvc2VBbmltYXRpb246IHVzZUFuaW1hdGlvbihzbGlkZU91dEJvdHRvbSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDAwbXMnLCBmcm9tUG9zaXRpb246ICd0cmFuc2xhdGVZKDApJ319KSxcbiAgICAgICogICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAqICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50Lk1pZGRsZSxcbiAgICAgICogICAgICBob3Jpem9udGFsU3RhcnRQb2ludDogSG9yaXpvbnRhbEFsaWdubWVudC5MZWZ0LFxuICAgICAgKiAgICAgIHZlcnRpY2FsU3RhcnRQb2ludDogVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlXG4gICAgICAqICB9O1xuICAgICAgKiB0aGlzLnRvYXN0LnBvc2l0aW9uU2V0dGluZ3MgPSB0aGlzLm5ld1Bvc2l0aW9uU2V0dGluZ3M7XG4gICAgICAqIGBgYFxuICAgICAgKi9cbiAgICAgcHVibGljIHNldCBwb3NpdGlvblNldHRpbmdzKHNldHRpbmdzOiBQb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgICB0aGlzLl9wb3NpdGlvblNldHRpbmdzID0gc2V0dGluZ3M7XG4gICAgIH1cblxuICAgICBwcml2YXRlIF9wb3NpdGlvblNldHRpbmdzOiBQb3NpdGlvblNldHRpbmdzID0ge1xuICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcbiAgICAgICAgdmVydGljYWxEaXJlY3Rpb246XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJ1xuICAgICAgICAgICAgICAgID8gVmVydGljYWxBbGlnbm1lbnQuQm90dG9tXG4gICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbWlkZGxlJ1xuICAgICAgICAgICAgICAgICAgICA/IFZlcnRpY2FsQWxpZ25tZW50Lk1pZGRsZVxuICAgICAgICAgICAgICAgICAgICA6IFZlcnRpY2FsQWxpZ25tZW50LlRvcCxcbiAgICAgICAgb3BlbkFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKGZhZGVJbiksXG4gICAgICAgIGNsb3NlQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oZmFkZU91dCksXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZUVsZW1lbnQgb2YgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbmF0aXZlRWxlbWVudCA9IHRoaXMudG9hc3QuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgbmF2U2VydmljZTogSWd4TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgY2RyLCBvdmVybGF5U2VydmljZSwgbmF2U2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHRvYXN0LlxuICAgICAqIElmIGBhdXRvSGlkZWAgaXMgZW5hYmxlZCwgdGhlIHRvYXN0IHdpbGwgaGlkZSBhZnRlciBgZGlzcGxheVRpbWVgIGlzIG92ZXIuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy50b2FzdC5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIG9wZW4obWVzc2FnZT86IHN0cmluZykge1xuICAgICAgICBpZiAobWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRNZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RyYXRlZ3kgPSBuZXcgR2xvYmFsUG9zaXRpb25TdHJhdGVneSh0aGlzLnBvc2l0aW9uU2V0dGluZ3MpO1xuICAgICAgICBzdXBlci5vcGVuKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgb3IgY2xvc2VzIHRoZSB0b2FzdCwgZGVwZW5kaW5nIG9uIGl0cyBjdXJyZW50IHN0YXRlLlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMudG9hc3QudG9nZ2xlKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgIHB1YmxpYyB0b2dnbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbGxhcHNlZCB8fCB0aGlzLmlzQ2xvc2luZykge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm9wZW5lZC5waXBlKHRha2VVbnRpbCh0aGlzLmQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wZW5lZEV2ZW50QXJnczogVG9nZ2xlVmlld0V2ZW50QXJncyA9IHsgb3duZXI6IHRoaXMsIGlkOiB0aGlzLl9vdmVybGF5SWQgfTtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlQ2hhbmdlLmVtaXQob3BlbmVkRXZlbnRBcmdzKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5kJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbG9zZWRFdmVudEFyZ3M6IFRvZ2dsZVZpZXdFdmVudEFyZ3MgPSB7IG93bmVyOiB0aGlzLCBpZDogdGhpcy5fb3ZlcmxheUlkIH07XG4gICAgICAgICAgICB0aGlzLmlzVmlzaWJsZUNoYW5nZS5lbWl0KGNsb3NlZEV2ZW50QXJncyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbSWd4VG9hc3RDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtJZ3hUb2FzdENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIElneFRvYXN0TW9kdWxlIHsgfVxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBR1IsUUFBUSxFQUNSLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUV6QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztJQUNuQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsS0FBSztDQUNiLENBQUMsQ0FBQztBQUlIOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBS0gsTUFBTSxP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K0JBbUJKLEtBQUs7O0FBMEhYOztHQUVHO0FBTUgsTUFBTSxPQUFPLGNBQWM7OztZQUwxQixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJZ3hOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvbmF2aWdhdGlvbic7XG5pbXBvcnQge1xuICAgIElneE92ZXJsYXlTZXJ2aWNlLFxuICAgIEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgVmVydGljYWxBbGlnbm1lbnQsXG4gICAgR2xvYmFsUG9zaXRpb25TdHJhdGVneSxcbiAgICBQb3NpdGlvblNldHRpbmdzXG59IGZyb20gJy4uL3NlcnZpY2VzL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgbWtlbnVtIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hOb3RpZmljYXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9nZ2xlVmlld0V2ZW50QXJncyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdG9nZ2xlL3RvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBmYWRlSW4sIGZhZGVPdXQgfSBmcm9tICcuLi9hbmltYXRpb25zL2ZhZGUnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbi8qKlxuICogRW51bWVyYXRpb24gZm9yIHRvYXN0IHBvc2l0aW9uXG4gKiBDYW4gYmU6XG4gKiBCb3R0b21cbiAqIE1pZGRsZVxuICogVG9wXG4gKi9cbmV4cG9ydCBjb25zdCBJZ3hUb2FzdFBvc2l0aW9uID0gbWtlbnVtKHtcbiAgICBCb3R0b206ICdib3R0b20nLFxuICAgIE1pZGRsZTogJ21pZGRsZScsXG4gICAgVG9wOiAndG9wJ1xufSk7XG5cbmV4cG9ydCB0eXBlIElneFRvYXN0UG9zaXRpb24gPSAodHlwZW9mIElneFRvYXN0UG9zaXRpb24pW2tleW9mIHR5cGVvZiBJZ3hUb2FzdFBvc2l0aW9uXTtcblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBUb2FzdCoqIC1cbiAqIFtEb2N1bWVudGF0aW9uXShodHRwczovL3d3dy5pbmZyYWdpc3RpY3MuY29tL3Byb2R1Y3RzL2lnbml0ZS11aS1hbmd1bGFyL2FuZ3VsYXIvY29tcG9uZW50cy90b2FzdClcbiAqXG4gKiBUaGUgSWduaXRlIFVJIFRvYXN0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFuZCB3YXJuaW5nIG1lc3NhZ2VzIHRoYXQgYXJlIG5vbi1pbnRlcmFjdGl2ZSBhbmQgY2Fubm90XG4gKiBiZSBkaXNtaXNzZWQgYnkgdGhlIHVzZXIuIFRvYXN0cyBjYW4gYmUgZGlzcGxheWVkIGF0IHRoZSBib3R0b20sIG1pZGRsZSwgb3IgdG9wIG9mIHRoZSBwYWdlLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIChjbGljayk9XCJ0b2FzdC5vcGVuKClcIj5TaG93IG5vdGlmaWNhdGlvbjwvYnV0dG9uPlxuICogPGlneC10b2FzdCAjdG9hc3QgZGlzcGxheVRpbWU9XCIxMDAwXCI+XG4gKiAgICAgIE5vdGlmaWNhdGlvbiBkaXNwbGF5ZWRcbiAqIDwvaWd4LXRvYXN0PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXRvYXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RvYXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hUb2FzdENvbXBvbmVudCBleHRlbmRzIElneE5vdGlmaWNhdGlvbnNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXRvYXN0JylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LXRvYXN0JztcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgdG9hc3QuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC10b2FzdC0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IGlkID0gXCJteS1maXJzdC10b2FzdFwiPjwvaWd4LXRvYXN0PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdG9hc3RJZCA9IHRoaXMudG9hc3QuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtdG9hc3QtJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZS5cbiAgICAgKiBJZiBub3Qgc2V0LCBgcm9sZWAgd2lsbCBoYXZlIHZhbHVlIGBcImFsZXJ0XCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IFtyb2xlXSA9IFwiJ25vdGlmeSdcIj48L2lneC10b2FzdD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHRvYXN0Um9sZSA9IHRoaXMudG9hc3Qucm9sZTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2FsZXJ0JztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3RXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgaW4gdmVyc2lvbiAxMi4yLjMuIFdlIHN1Z2dlc3QgdXNpbmcgYHBvc2l0aW9uU2V0dGluZ3NgIHByb3BlcnR5IGluc3RlYWRcbiAgICAgKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvYXN0LlxuICAgICAqIElmIG5vdCBzZXQsIHRoZSBgcG9zaXRpb25gIGF0dHJpYnV0ZSB3aWxsIGhhdmUgdmFsdWUgYElneFRvYXN0UG9zaXRpb24uQm90dG9tYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC10b2FzdCBbcG9zaXRpb25dPVwidG9wXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCB0b2FzdFBvc2l0aW9uID0gdGhpcy50b2FzdC5wb3NpdGlvbjtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpOiBJZ3hUb2FzdFBvc2l0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcG9zaXRpb24ocG9zaXRpb246IElneFRvYXN0UG9zaXRpb24pIHtcbiAgICAgICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25TZXR0aW5ncy52ZXJ0aWNhbERpcmVjdGlvbiA9IHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcG9zaXRpb24gYW5kIGFuaW1hdGlvbiBzZXR0aW5ncyB1c2VkIGJ5IHRoZSB0b2FzdC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogQFZpZXdDaGlsZCgndG9hc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgdG9hc3Q6IElneFRvYXN0Q29tcG9uZW50O1xuICAgICAqIGxldCBjdXJyZW50UG9zaXRpb246IFBvc2l0aW9uU2V0dGluZ3MgPSB0aGlzLnRvYXN0LnBvc2l0aW9uU2V0dGluZ3NcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICAgQElucHV0KClcbiAgICAgcHVibGljIGdldCBwb3NpdGlvblNldHRpbmdzKCk6IFBvc2l0aW9uU2V0dGluZ3Mge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uU2V0dGluZ3M7XG4gICAgIH1cblxuICAgICAvKipcbiAgICAgICogU2V0IHRoZSBwb3NpdGlvbiBhbmQgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIHRvYXN0LlxuICAgICAgKiBgYGBodG1sXG4gICAgICAqIDxpZ3gtdG9hc3QgW3Bvc2l0aW9uU2V0dGluZ3NdPVwibmV3UG9zaXRpb25TZXR0aW5nc1wiPjwvaWd4LXRvYXN0PlxuICAgICAgKiBgYGBcbiAgICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAgKiBpbXBvcnQgeyBzbGlkZUluVG9wLCBzbGlkZU91dEJvdHRvbSB9IGZyb20gJ2lnbml0ZXVpLWFuZ3VsYXInO1xuICAgICAgKiAuLi5cbiAgICAgICogQFZpZXdDaGlsZCgndG9hc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgdG9hc3Q6IElneFRvYXN0Q29tcG9uZW50O1xuICAgICAgKiAgcHVibGljIG5ld1Bvc2l0aW9uU2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAqICAgICAgb3BlbkFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKHNsaWRlSW5Ub3AsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwMG1zJywgZnJvbVBvc2l0aW9uOiAndHJhbnNsYXRlWSgxMDAlKSd9fSksXG4gICAgICAqICAgICAgY2xvc2VBbmltYXRpb246IHVzZUFuaW1hdGlvbihzbGlkZU91dEJvdHRvbSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDAwbXMnLCBmcm9tUG9zaXRpb246ICd0cmFuc2xhdGVZKDApJ319KSxcbiAgICAgICogICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAqICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50Lk1pZGRsZSxcbiAgICAgICogICAgICBob3Jpem9udGFsU3RhcnRQb2ludDogSG9yaXpvbnRhbEFsaWdubWVudC5MZWZ0LFxuICAgICAgKiAgICAgIHZlcnRpY2FsU3RhcnRQb2ludDogVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlXG4gICAgICAqICB9O1xuICAgICAgKiB0aGlzLnRvYXN0LnBvc2l0aW9uU2V0dGluZ3MgPSB0aGlzLm5ld1Bvc2l0aW9uU2V0dGluZ3M7XG4gICAgICAqIGBgYFxuICAgICAgKi9cbiAgICAgcHVibGljIHNldCBwb3NpdGlvblNldHRpbmdzKHNldHRpbmdzOiBQb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgICB0aGlzLl9wb3NpdGlvblNldHRpbmdzID0gc2V0dGluZ3M7XG4gICAgIH1cblxuICAgICBwcml2YXRlIF9wb3NpdGlvbjogSWd4VG9hc3RQb3NpdGlvbiA9ICdib3R0b20nO1xuICAgICBwcml2YXRlIF9wb3NpdGlvblNldHRpbmdzOiBQb3NpdGlvblNldHRpbmdzID0ge1xuICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkNlbnRlcixcbiAgICAgICAgdmVydGljYWxEaXJlY3Rpb246IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbSxcbiAgICAgICAgb3BlbkFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKGZhZGVJbiksXG4gICAgICAgIGNsb3NlQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oZmFkZU91dCksXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZUVsZW1lbnQgb2YgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbmF0aXZlRWxlbWVudCA9IHRoaXMudG9hc3QuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgbmF2U2VydmljZTogSWd4TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgY2RyLCBvdmVybGF5U2VydmljZSwgbmF2U2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHRvYXN0LlxuICAgICAqIElmIGBhdXRvSGlkZWAgaXMgZW5hYmxlZCwgdGhlIHRvYXN0IHdpbGwgaGlkZSBhZnRlciBgZGlzcGxheVRpbWVgIGlzIG92ZXIuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy50b2FzdC5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIG9wZW4obWVzc2FnZT86IHN0cmluZywgc2V0dGluZ3M/OiBQb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0cmF0ZWd5ID0gbmV3IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5wb3NpdGlvblNldHRpbmdzKTtcbiAgICAgICAgc3VwZXIub3BlbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIG9yIGNsb3NlcyB0aGUgdG9hc3QsIGRlcGVuZGluZyBvbiBpdHMgY3VycmVudCBzdGF0ZS5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLnRvYXN0LnRvZ2dsZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQgfHwgdGhpcy5pc0Nsb3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQucGlwZSh0YWtlVW50aWwodGhpcy5kJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcGVuZWRFdmVudEFyZ3M6IFRvZ2dsZVZpZXdFdmVudEFyZ3MgPSB7IG93bmVyOiB0aGlzLCBpZDogdGhpcy5fb3ZlcmxheUlkIH07XG4gICAgICAgICAgICB0aGlzLmlzVmlzaWJsZUNoYW5nZS5lbWl0KG9wZW5lZEV2ZW50QXJncyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VkRXZlbnRBcmdzOiBUb2dnbGVWaWV3RXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgaWQ6IHRoaXMuX292ZXJsYXlJZCB9O1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVDaGFuZ2UuZW1pdChjbG9zZWRFdmVudEFyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlc1sncG9zaXRpb24nXSAmJiB0aGlzLl9wb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3NpdGlvblNldHRpbmdzLnZlcnRpY2FsRGlyZWN0aW9uID0gdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nXG4gICAgICAgICAgICA/IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbVxuICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbWlkZGxlJ1xuICAgICAgICAgICAgICAgID8gVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlXG4gICAgICAgICAgICAgICAgOiBWZXJ0aWNhbEFsaWdubWVudC5Ub3A7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtJZ3hUb2FzdENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0lneFRvYXN0Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSWd4VG9hc3RNb2R1bGUgeyB9XG4iXX0=
@@ -29,6 +29,7 @@ export * from './lib/directives/date-time-editor/public_api';
29
29
  /**
30
30
  * Data operations
31
31
  */
32
+ export * from './lib/data-operations/data-clone-strategy';
32
33
  export * from './lib/data-operations/filtering-expression.interface';
33
34
  export * from './lib/data-operations/filtering-expressions-tree';
34
35
  export * from './lib/data-operations/filtering-condition';
@@ -108,4 +109,4 @@ export * from './lib/core/density';
108
109
  export { changei18n, getCurrentResourceStrings } from './lib/core/i18n/resources';
109
110
  export { PickerInteractionMode } from './lib/date-common/types';
110
111
  export { SplitterType } from './lib/splitter/splitter.component';
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsdUJBQXVCLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RDs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRDs7R0FFRztBQUNILGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qzs7R0FFRztBQUNILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQW9CLE1BQU0sMkJBQTJCLENBQUM7QUFZcEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGlnbml0ZXVpLWFuZ3VsYXJcbiAqL1xuXG4vKipcbiAqIEFuaW1hdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5pbWF0aW9ucy9tYWluJztcblxuXG4vKipcbiAqIERpcmVjdGl2ZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpdmlkZXIvZGl2aWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLnN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZHJhZy1kcm9wL2RyYWctZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWx0ZXIvZmlsdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZvY3VzL2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbGF5b3V0L2xheW91dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmFkaW8vcmFkaW8tZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LXNlbGVjdGlvbi90ZXh0LXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kYXRlLXRpbWUtZWRpdG9yL3B1YmxpY19hcGknO1xuXG4vKipcbiAqIERhdGEgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGluZy1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvcGFnaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcblxuLyoqXG4gKiBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbi1zdHJpcC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjY29yZGlvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b25Hcm91cC9idXR0b25Hcm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FsZW5kYXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nhcm91c2VsL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tYm8vcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3AtZG93bi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbW1vbi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb21tb24vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2ZpbHRlcmluZy9leGNlbC1zdHlsZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2dyaWQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy90cmVlLWdyaWQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9oaWVyYXJjaGljYWwtZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy9jb2x1bW4tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvY29sdW1uLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvaGllcmFyY2hpY2FsLWdyaWQvaGllcmFyY2hpY2FsLWdyaWQucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LWdyb3VwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuc2lvbi1wYW5lbC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24tZHJhd2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yL3BhZ2luYXRvci1pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xpZGVyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL2JvdHRvbS1uYXYvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGl0dGVyL3NwbGl0dGVyLXBhbmUvc3BsaXR0ZXItcGFuZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGl0dGVyL3NwbGl0dGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtY29tbW9uL3B1YmxpY19hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJlZS9wdWJsaWNfYXBpJztcblxuLyoqXG4gKiBFeHBvcnRlciBzZXJ2aWNlcywgY2xhc3NlcywgaW50ZXJmYWNlcyBhbmQgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGVuc2l0eSc7XG5leHBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyB9IGZyb20gJy4vbGliL2NvcmUvdXRpbHMnO1xuZXhwb3J0IHsgY2hhbmdlaTE4biwgZ2V0Q3VycmVudFJlc291cmNlU3RyaW5ncywgSVJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhcm91c2VsUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2Nhcm91c2VsLXJlc291cmNlcyc7XG5leHBvcnQgeyBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5leHBvcnQgeyBJUGFnaW5hdG9yUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3BhZ2luYXRvci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhbGVuZGFyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2NhbGVuZGFyLXJlc291cmNlcyc7XG5leHBvcnQgeyBJVGltZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi90aW1lLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSURhdGVQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElEYXRlUmFuZ2VQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1yYW5nZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElMaXN0UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2xpc3QtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElUcmVlUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3RyZWUtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElJbnB1dFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9pbnB1dC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNoaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2hpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgUGlja2VySW50ZXJhY3Rpb25Nb2RlIH0gZnJvbSAnLi9saWIvZGF0ZS1jb21tb24vdHlwZXMnO1xuZXhwb3J0IHsgU3BsaXR0ZXJUeXBlIH0gZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsdUJBQXVCLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RDs7R0FFRztBQUNGLGNBQWMsMkNBQTJDLENBQUM7QUFDM0QsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhEOztHQUVHO0FBQ0gsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDOztHQUVHO0FBQ0gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSx5QkFBeUIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQWFwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgaWduaXRldWktYW5ndWxhclxuICovXG5cbi8qKlxuICogQW5pbWF0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmltYXRpb25zL21haW4nO1xuXG5cbi8qKlxuICogRGlyZWN0aXZlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL25hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGl2aWRlci9kaXZpZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLWRyb3Auc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbHRlci9maWx0ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9jdXMvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9sYXlvdXQvbGF5b3V0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL21hc2svbWFzay5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yYWRpby9yYWRpby1ncm91cC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yaXBwbGUvcmlwcGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtaGlnaGxpZ2h0L3RleHQtaGlnaGxpZ2h0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtc2VsZWN0aW9uL3RleHQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RhdGUtdGltZS1lZGl0b3IvcHVibGljX2FwaSc7XG5cbi8qKlxuICogRGF0YSBvcGVyYXRpb25zXG4gKi9cbiBleHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZGF0YS1jbG9uZS1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGluZy1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvcGFnaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcblxuLyoqXG4gKiBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbi1zdHJpcC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjY29yZGlvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b25Hcm91cC9idXR0b25Hcm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FsZW5kYXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nhcm91c2VsL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tYm8vcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3AtZG93bi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbW1vbi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb21tb24vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2ZpbHRlcmluZy9leGNlbC1zdHlsZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2dyaWQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy90cmVlLWdyaWQvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9oaWVyYXJjaGljYWwtZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy9jb2x1bW4tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvY29sdW1uLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvaGllcmFyY2hpY2FsLWdyaWQvaGllcmFyY2hpY2FsLWdyaWQucGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LWdyb3VwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuc2lvbi1wYW5lbC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24tZHJhd2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yL3BhZ2luYXRvci1pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xpZGVyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL2JvdHRvbS1uYXYvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGl0dGVyL3NwbGl0dGVyLXBhbmUvc3BsaXR0ZXItcGFuZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwbGl0dGVyL3NwbGl0dGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtY29tbW9uL3B1YmxpY19hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJlZS9wdWJsaWNfYXBpJztcblxuLyoqXG4gKiBFeHBvcnRlciBzZXJ2aWNlcywgY2xhc3NlcywgaW50ZXJmYWNlcyBhbmQgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGVuc2l0eSc7XG5leHBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyB9IGZyb20gJy4vbGliL2NvcmUvdXRpbHMnO1xuZXhwb3J0IHsgY2hhbmdlaTE4biwgZ2V0Q3VycmVudFJlc291cmNlU3RyaW5ncywgSVJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhcm91c2VsUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2Nhcm91c2VsLXJlc291cmNlcyc7XG5leHBvcnQgeyBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5leHBvcnQgeyBJUGFnaW5hdG9yUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3BhZ2luYXRvci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhbGVuZGFyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2NhbGVuZGFyLXJlc291cmNlcyc7XG5leHBvcnQgeyBJVGltZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi90aW1lLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSURhdGVQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElEYXRlUmFuZ2VQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1yYW5nZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElMaXN0UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2xpc3QtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElUcmVlUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3RyZWUtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElJbnB1dFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9pbnB1dC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNoaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2hpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUFjdGlvblN0cmlwUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2FjdGlvbi1zdHJpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgUGlja2VySW50ZXJhY3Rpb25Nb2RlIH0gZnJvbSAnLi9saWIvZGF0ZS1jb21tb24vdHlwZXMnO1xuZXhwb3J0IHsgU3BsaXR0ZXJUeXBlIH0gZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbiJdfQ==