@taiga-ui/kit 3.23.0 → 3.23.1-dev.main-d8b7500

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 (35) hide show
  1. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-number.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +14 -28
  10. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-tokens.umd.js +1 -0
  12. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  13. package/components/input-date/input-date.component.d.ts +3 -3
  14. package/components/input-date-range/input-date-range.component.d.ts +3 -3
  15. package/components/input-date-time/input-date-time.component.d.ts +3 -3
  16. package/esm2015/components/input-date/input-date.component.js +2 -2
  17. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  18. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  19. package/esm2015/components/input-number/input-number.component.js +2 -2
  20. package/esm2015/pipes/field-error/field-error-pipe.js +17 -31
  21. package/esm2015/tokens/date-inputs-value-transformers.js +2 -1
  22. package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
  23. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  24. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  25. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  26. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  27. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  28. package/fesm2015/taiga-ui-kit-components-input-number.js +1 -1
  29. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  30. package/fesm2015/taiga-ui-kit-pipes-field-error.js +16 -30
  31. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  32. package/fesm2015/taiga-ui-kit-tokens.js +1 -0
  33. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  34. package/package.json +4 -4
  35. package/pipes/field-error/field-error-pipe.d.ts +6 -7
@@ -62,7 +62,7 @@ export class TuiInputNumberComponent extends AbstractTuiNullableControl {
62
62
  get calculatedMaxLength() {
63
63
  const decimalPart = this.decimal !== 'never' &&
64
64
  this.nativeValue.includes(this.numberFormat.decimalSeparator);
65
- const precision = decimalPart ? this.precision + 1 : 0;
65
+ const precision = decimalPart ? Math.min(this.precision + 1, 20) : 0;
66
66
  const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;
67
67
  return DEFAULT_MAX_LENGTH + precision + takeThousand;
68
68
  }
@@ -262,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
262
262
  type: HostListener,
263
263
  args: ['keydown.0', ['$event']]
264
264
  }] } });
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxVQUFVLEVBQ1YsWUFBWSxFQUNaLDBCQUEwQixFQUMxQixjQUFjLEdBSWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFFbkIsaUNBQWlDLEVBQ2pDLGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLDZCQUE2QixFQUU3Qiw4QkFBOEIsR0FFakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFFckUsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFZOUIsTUFBTSxPQUFPLHVCQUNULFNBQVEsMEJBQWtDO0lBcUMxQyxZQUlJLE9BQXlCLEVBRXpCLGlCQUFvQyxFQUVuQixZQUFxQyxFQUNqQixLQUFjO1FBRW5ELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJB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biAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFRVSV9JU19JT1MsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlJbnB1dE1vZGUsXG4gICAgVHVpTWFwcGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RFQ0lNQUxfU1lNQk9MUyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZSxcbiAgICB0dWlDcmVhdGVOdW1iZXJNYXNrLFxuICAgIFR1aURlY2ltYWwsXG4gICAgdHVpRW5hYmxlQXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgIHR1aUZvcm1hdE51bWJlcixcbiAgICB0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgdHVpTWFza2VkTW9uZXlWYWx1ZUlzRW1wdHksXG4gICAgdHVpTWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIsXG4gICAgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1udW1iZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbnVtYmVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW1pdGl2ZVRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgdW5maW5pc2hlZFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVjaW1hbDogVHVpRGVjaW1hbCA9ICdub3QtemVybyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlY2lzaW9uID0gMjtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFByZWZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSAnJztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFBvc3RmaXhgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9ICcnO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmUsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcmVhZG9ubHkgcG9seW1vcnBoZXVzVmFsdWVDb250ZW50OiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSU9TOiBib29sZWFuLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkICYmIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzTmVnYXRpdmVBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPCAwO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogVHVpSW5wdXRNb2RlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5pc05lZ2F0aXZlQWxsb3dlZCkge1xuICAgICAgICAgICAgLy8gaXBob25lcyBkbyBub3QgaGF2ZSBtaW51cyBzaWduIGlmIGlucHV0TW9kZSBpcyBlcXVhbCB0byAnbnVtZXJpYycgLyAnZGVjaW1hbCdcbiAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsID09PSAnbmV2ZXInID8gJ251bWVyaWMnIDogJ2RlY2ltYWwnO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCAhPT0gJ25ldmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyB0aGlzLnByZWNpc2lvbiArIDEgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUgfHwgMCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCA/ICcnIDogdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLjAnLCBbJyRldmVudCddKVxuICAgIG9uWmVybyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkZWNpbWFsID1cbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcilbMV0gfHwgJyc7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZGVjaW1hbC5sZW5ndGggPCB0aGlzLnByZWNpc2lvbiB8fFxuICAgICAgICAgICAgIW5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0IHx8XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlW25hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnRdICE9PSAnMCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0Kys7XG4gICAgfVxuXG4gICAgbWFzazogVHVpTWFwcGVyPGJvb2xlYW4sIFR1aVRleHRNYXNrT3B0aW9ucz4gPSAoXG4gICAgICAgIGFsbG93TmVnYXRpdmU6IGJvb2xlYW4sXG4gICAgICAgIGRlY2ltYWw6IFR1aURlY2ltYWwsXG4gICAgICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyLFxuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCxcbiAgICApID0+ICh7XG4gICAgICAgIG1hc2s6IHR1aUNyZWF0ZU51bWJlck1hc2soe1xuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbDogZGVjaW1hbCAhPT0gJ25ldmVyJyxcbiAgICAgICAgICAgIHJlcXVpcmVEZWNpbWFsOiBkZWNpbWFsID09PSAnYWx3YXlzJyxcbiAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbDogdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbChcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICksXG4gICAgICAgIH0pLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICAgICAgICAgIGRlY2ltYWwgPT09ICdhbHdheXMnID8gZGVjaW1hbExpbWl0IDogMCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgdGhpcy5pc0lPUyxcbiAgICAgICAgKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlNYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5hYnNvbHV0ZUNhcElucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBjYXBwZWQ7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY2FwcGVkICE9PVxuICAgICAgICAgICAgdHVpTWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIVRVSV9ERUNJTUFMX1NZTUJPTFMuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGVjaW1hbCA9PT0gJ25ldmVyJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuaW5jbHVkZXModGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcikpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnNldENhcmV0QWZ0ZXJDb21tYSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMudW5maW5pc2hlZFZhbHVlXG4gICAgICAgICAgICA/IHR1aU1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgdGhpcy51bmZpbmlzaGVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdGhpcy5uYXRpdmVOdW1iZXJWYWx1ZTtcblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihuYXRpdmVOdW1iZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IE1hdGgubWluKHRoaXMubWF4LCBNYXRoLm1heCh0aGlzLm1pbiwgbmF0aXZlTnVtYmVyVmFsdWUpKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGFic1ZhbHVlID0gTWF0aC5hYnModmFsdWUpO1xuICAgICAgICBjb25zdCBoYXNGcmFjdGlvbiA9IGFic1ZhbHVlICUgMSA+IDA7XG4gICAgICAgIGxldCBkZWNpbWFsTGltaXQgPVxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsID09PSAnYWx3YXlzJyB8fCAoaGFzRnJhY3Rpb24gJiYgdGhpcy5kZWNpbWFsICE9PSAnbmV2ZXInKVxuICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICA6IDA7XG5cbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNGcmFjdGlvblxuICAgICAgICAgICAgPyB0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKVxuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmIHRoaXMuZGVjaW1hbCAhPT0gJ2Fsd2F5cycpIHtcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdCA9IGZyYWN0aW9uLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHtcbiAgICAgICAgICAgIC4uLnRoaXMubnVtYmVyRm9ybWF0LFxuICAgICAgICAgICAgZGVjaW1hbExpbWl0LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc05hdGl2ZVZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy5uYXRpdmVOdW1iZXJWYWx1ZTtcblxuICAgICAgICByZXR1cm4gbmF0aXZlTnVtYmVyVmFsdWUgPCAwXG4gICAgICAgICAgICA/IG5hdGl2ZU51bWJlclZhbHVlID4gdGhpcy5tYXhcbiAgICAgICAgICAgIDogbmF0aXZlTnVtYmVyVmFsdWUgPCB0aGlzLm1pbjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgfHwgIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlTnVtYmVyVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aU1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWJzb2x1dGVDYXBJbnB1dFZhbHVlKGlucHV0VmFsdWU6IHN0cmluZyk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHR1aU1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgaW5wdXRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY2FwcGVkID1cbiAgICAgICAgICAgIHZhbHVlIDwgMFxuICAgICAgICAgICAgICAgID8gTWF0aC5tYXgoTWF0aC5tYXgodGhpcy5taW4sIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSwgdmFsdWUpXG4gICAgICAgICAgICAgICAgOiBNYXRoLm1pbih2YWx1ZSwgTWF0aC5taW4odGhpcy5tYXgsIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSk7XG4gICAgICAgIGNvbnN0IGluZWxpZ2libGVWYWx1ZSA9XG4gICAgICAgICAgICBOdW1iZXIuaXNOYU4oY2FwcGVkKSB8fCBjYXBwZWQgPCB0aGlzLm1pbiB8fCBjYXBwZWQgPiB0aGlzLm1heDtcblxuICAgICAgICByZXR1cm4gaW5lbGlnaWJsZVZhbHVlID8gbnVsbCA6IGNhcHBlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENhcmV0QWZ0ZXJDb21tYSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFmdGVyQ29tbWFQb3NpdGlvbiA9IHRoaXMubmF0aXZlVmFsdWUubGVuZ3RoIC0gdGhpcy5wcmVjaXNpb247XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgICAgICAgYWZ0ZXJDb21tYVBvc2l0aW9uLFxuICAgICAgICAgICAgYWZ0ZXJDb21tYVBvc2l0aW9uLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgIHR1aVZhbHVlQWNjZXNzb3JcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgIFt0ZXh0TWFza109XCJpc05lZ2F0aXZlQWxsb3dlZCB8IHR1aU1hcHBlciA6IG1hc2sgOiBkZWNpbWFsIDogcHJlY2lzaW9uIDogbmF0aXZlRm9jdXNhYmxlRWxlbWVudFwiXG4gICAgW3ZhbHVlXT1cImNvbXB1dGVkVmFsdWVcIlxuICAgIFtwcmVmaXhdPVwicHJlZml4XCJcbiAgICBbcG9zdGZpeF09XCJwb3N0Zml4XCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICA+PC9uZy1jb250ZW50PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQubGVuZ3RoXCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJ0dWlDb250ZW50XCJcbiAgICAgICAgY2xhc3M9XCJ0LXZhbHVlLWNvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwidmFsdWVDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwicG9seW1vcnBoZXVzVmFsdWVDb250ZW50LmNoYW5nZXMgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxVQUFVLEVBQ1YsWUFBWSxFQUNaLDBCQUEwQixFQUMxQixjQUFjLEdBSWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFFbkIsaUNBQWlDLEVBQ2pDLGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLDZCQUE2QixFQUU3Qiw4QkFBOEIsR0FFakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFFckUsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFZOUIsTUFBTSxPQUFPLHVCQUNULFNBQVEsMEJBQWtDO0lBcUMxQyxZQUlJLE9BQXlCLEVBRXpCLGlCQUFvQyxFQUVuQixZQUFxQyxFQUNqQixLQUFjO1FBRW5ELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgVFVJX0lTX0lPUyxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUlucHV0TW9kZSxcbiAgICBUdWlNYXBwZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVDSU1BTF9TWU1CT0xTLFxuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlLFxuICAgIHR1aUNyZWF0ZU51bWJlck1hc2ssXG4gICAgVHVpRGVjaW1hbCxcbiAgICB0dWlFbmFibGVBdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wsXG4gICAgdHVpRm9ybWF0TnVtYmVyLFxuICAgIHR1aUdldEZyYWN0aW9uUGFydFBhZGRlZCxcbiAgICB0dWlNYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICB0dWlNYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW51bWJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXROdW1iZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPG51bWJlcj5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlVGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSB1bmZpbmlzaGVkVmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWNpbWFsOiBUdWlEZWNpbWFsID0gJ25vdC16ZXJvJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUHJlZml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUG9zdGZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gJyc7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICByZWFkb25seSBwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQ6IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQ6IFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHByaXZhdGUgcmVhZG9ubHkgaXNJT1M6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgJiYgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgaXNOZWdhdGl2ZUFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbiA8IDA7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0TW9kZSgpOiBUdWlJbnB1dE1vZGUge1xuICAgICAgICBpZiAodGhpcy5pc0lPUyAmJiB0aGlzLmlzTmVnYXRpdmVBbGxvd2VkKSB7XG4gICAgICAgICAgICAvLyBpcGhvbmVzIGRvIG5vdCBoYXZlIG1pbnVzIHNpZ24gaWYgaW5wdXRNb2RlIGlzIGVxdWFsIHRvICdudW1lcmljJyAvICdkZWNpbWFsJ1xuICAgICAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmRlY2ltYWwgPT09ICduZXZlcicgPyAnbnVtZXJpYycgOiAnZGVjaW1hbCc7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGN1bGF0ZWRNYXhMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPVxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsICE9PSAnbmV2ZXInICYmXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBwcmVjaXNpb24gPSBkZWNpbWFsUGFydCA/IE1hdGgubWluKHRoaXMucHJlY2lzaW9uICsgMSwgMjApIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlIHx8IDApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGwgPyAnJyA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi4wJywgWyckZXZlbnQnXSlcbiAgICBvblplcm8oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbCA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpWzFdIHx8ICcnO1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2ltYWwubGVuZ3RoIDwgdGhpcy5wcmVjaXNpb24gfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICAhbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZVtuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0XSAhPT0gJzAnXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCsrO1xuICAgIH1cblxuICAgIG1hc2s6IFR1aU1hcHBlcjxib29sZWFuLCBUdWlUZXh0TWFza09wdGlvbnM+ID0gKFxuICAgICAgICBhbGxvd05lZ2F0aXZlOiBib29sZWFuLFxuICAgICAgICBkZWNpbWFsOiBUdWlEZWNpbWFsLFxuICAgICAgICBkZWNpbWFsTGltaXQ6IG51bWJlcixcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgKSA9PiAoe1xuICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmUsXG4gICAgICAgICAgICBkZWNpbWFsTGltaXQsXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWw6IGRlY2ltYWwgIT09ICduZXZlcicsXG4gICAgICAgICAgICByZXF1aXJlRGVjaW1hbDogZGVjaW1hbCA9PT0gJ2Fsd2F5cycsXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiB0dWlFbmFibGVBdXRvQ29ycmVjdERlY2ltYWxTeW1ib2woXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICApLFxuICAgICAgICB9KSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUoXG4gICAgICAgICAgICBkZWNpbWFsID09PSAnYWx3YXlzJyA/IGRlY2ltYWxMaW1pdCA6IDAsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LFxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgICAgIHRoaXMuaXNJT1MsXG4gICAgICAgICksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodHVpTWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuYWJzb2x1dGVDYXBJbnB1dFZhbHVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoY2FwcGVkID09PSBudWxsIHx8IE51bWJlci5pc05hTihjYXBwZWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gY2FwcGVkO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNhcHBlZCAhPT1cbiAgICAgICAgICAgIHR1aU1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFUVUlfREVDSU1BTF9TWU1CT0xTLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgPT09ICduZXZlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRDYXJldEFmdGVyQ29tbWEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLnVuZmluaXNoZWRWYWx1ZVxuICAgICAgICAgICAgPyB0dWlNYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgdGhpcy51bmZpbmlzaGVkVmFsdWUgPSBudWxsO1xuXG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4obmF0aXZlTnVtYmVyVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1pbih0aGlzLm1heCwgTWF0aC5tYXgodGhpcy5taW4sIG5hdGl2ZU51bWJlclZhbHVlKSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhYnNWYWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcbiAgICAgICAgY29uc3QgaGFzRnJhY3Rpb24gPSBhYnNWYWx1ZSAlIDEgPiAwO1xuICAgICAgICBsZXQgZGVjaW1hbExpbWl0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCA9PT0gJ2Fsd2F5cycgfHwgKGhhc0ZyYWN0aW9uICYmIHRoaXMuZGVjaW1hbCAhPT0gJ25ldmVyJylcbiAgICAgICAgICAgICAgICA/IHRoaXMucHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgOiAwO1xuXG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRnJhY3Rpb25cbiAgICAgICAgICAgID8gdHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHZhbHVlLCB0aGlzLnByZWNpc2lvbilcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiB0aGlzLmRlY2ltYWwgIT09ICdhbHdheXMnKSB7XG4gICAgICAgICAgICBkZWNpbWFsTGltaXQgPSBmcmFjdGlvbi5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB7XG4gICAgICAgICAgICAuLi50aGlzLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8ICF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlNYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFic29sdXRlQ2FwSW5wdXRWYWx1ZShpbnB1dFZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0dWlNYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9XG4gICAgICAgICAgICB2YWx1ZSA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGgubWF4KE1hdGgubWF4KHRoaXMubWluLCBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksIHZhbHVlKVxuICAgICAgICAgICAgICAgIDogTWF0aC5taW4odmFsdWUsIE1hdGgubWluKHRoaXMubWF4LCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO1xuICAgICAgICBjb25zdCBpbmVsaWdpYmxlVmFsdWUgPVxuICAgICAgICAgICAgTnVtYmVyLmlzTmFOKGNhcHBlZCkgfHwgY2FwcGVkIDwgdGhpcy5taW4gfHwgY2FwcGVkID4gdGhpcy5tYXg7XG5cbiAgICAgICAgcmV0dXJuIGluZWxpZ2libGVWYWx1ZSA/IG51bGwgOiBjYXBwZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYXJldEFmdGVyQ29tbWEoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZnRlckNvbW1hUG9zaXRpb24gPSB0aGlzLm5hdGl2ZVZhbHVlLmxlbmd0aCAtIHRoaXMucHJlY2lzaW9uO1xuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICAgIGFmdGVyQ29tbWFQb3NpdGlvbixcbiAgICAgICAgICAgIGFmdGVyQ29tbWFQb3NpdGlvbixcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcHNldWRvRm9jdXNdPVwiY29tcHV0ZWRGb2N1c2VkXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbdGV4dE1hc2tdPVwiaXNOZWdhdGl2ZUFsbG93ZWQgfCB0dWlNYXBwZXIgOiBtYXNrIDogZGVjaW1hbCA6IHByZWNpc2lvbiA6IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnRcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICBbcHJlZml4XT1cInByZWZpeFwiXG4gICAgW3Bvc3RmaXhdPVwicG9zdGZpeFwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgPjwvbmctY29udGVudD5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwicG9seW1vcnBoZXVzVmFsdWVDb250ZW50Lmxlbmd0aFwiXG4gICAgICAgIG5nUHJvamVjdEFzPVwidHVpQ29udGVudFwiXG4gICAgICAgIGNsYXNzPVwidC12YWx1ZS1jb250ZW50XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cInZhbHVlQ29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN2YWx1ZUNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpQ29udGVudFwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { Inject, Optional, Pipe, Self } from '@angular/core';
3
- import { FormArrayName, FormGroupDirective, FormGroupName, NgControl, } from '@angular/forms';
2
+ import { Inject, Optional, Pipe, Self, SkipSelf } from '@angular/core';
3
+ import { ControlContainer, NgControl, } from '@angular/forms';
4
4
  import { tuiIsString, tuiPure, TuiValidationError } from '@taiga-ui/cdk';
5
5
  import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
6
6
  import { isObservable, of } from 'rxjs';
@@ -9,15 +9,14 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
10
  const EMPTY_RECORD = {};
11
11
  export class TuiFieldErrorPipe {
12
- constructor(ngControl, formArrayName, formGroupName, formGroup, validationErrors) {
13
- this.ngControl = ngControl;
14
- this.formArrayName = formArrayName;
15
- this.formGroupName = formGroupName;
16
- this.formGroup = formGroup;
12
+ constructor(parent, self, container, validationErrors) {
13
+ this.parent = parent;
14
+ this.self = self;
15
+ this.container = container;
17
16
  this.validationErrors = validationErrors;
18
17
  this.order = [];
19
- if (this.ngControl && !this.ngControl.valueAccessor) {
20
- this.ngControl.valueAccessor = this;
18
+ if (this.self && !this.self.valueAccessor) {
19
+ this.self.valueAccessor = this;
21
20
  }
22
21
  }
23
22
  transform(order) {
@@ -49,12 +48,8 @@ export class TuiFieldErrorPipe {
49
48
  return !!((_a = this.control) === null || _a === void 0 ? void 0 : _a.touched);
50
49
  }
51
50
  get control() {
52
- var _a, _b, _c, _d;
53
- return (((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) ||
54
- ((_b = this.formArrayName) === null || _b === void 0 ? void 0 : _b.control) ||
55
- ((_c = this.formGroupName) === null || _c === void 0 ? void 0 : _c.control) ||
56
- ((_d = this.formGroup) === null || _d === void 0 ? void 0 : _d.control) ||
57
- null);
51
+ var _a, _b, _c;
52
+ return ((_a = this.self) === null || _a === void 0 ? void 0 : _a.control) || ((_b = this.parent) === null || _b === void 0 ? void 0 : _b.control) || ((_c = this.container) === null || _c === void 0 ? void 0 : _c.control);
58
53
  }
59
54
  get errorId() {
60
55
  return this.getErrorId(this.order, this.controlErrors);
@@ -81,7 +76,7 @@ export class TuiFieldErrorPipe {
81
76
  return of(new TuiValidationError(errorContent || ``, firstError));
82
77
  }
83
78
  }
84
- TuiFieldErrorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFieldErrorPipe, deps: [{ token: NgControl, optional: true, self: true }, { token: FormArrayName, optional: true, self: true }, { token: FormGroupName, optional: true, self: true }, { token: FormGroupDirective, optional: true, self: true }, { token: TUI_VALIDATION_ERRORS }], target: i0.ɵɵFactoryTarget.Pipe });
79
+ TuiFieldErrorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFieldErrorPipe, deps: [{ token: NgControl, optional: true, skipSelf: true }, { token: NgControl, optional: true, self: true }, { token: ControlContainer, optional: true }, { token: TUI_VALIDATION_ERRORS }], target: i0.ɵɵFactoryTarget.Pipe });
85
80
  TuiFieldErrorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFieldErrorPipe, name: "tuiFieldError", pure: false });
86
81
  __decorate([
87
82
  tuiPure
@@ -98,33 +93,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
98
93
  }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
99
94
  type: Optional
100
95
  }, {
101
- type: Self
96
+ type: SkipSelf
102
97
  }, {
103
98
  type: Inject,
104
99
  args: [NgControl]
105
- }] }, { type: i1.FormArrayName, decorators: [{
100
+ }] }, { type: i1.NgControl, decorators: [{
106
101
  type: Optional
107
102
  }, {
108
103
  type: Self
109
104
  }, {
110
105
  type: Inject,
111
- args: [FormArrayName]
112
- }] }, { type: i1.FormGroupName, decorators: [{
113
- type: Optional
114
- }, {
115
- type: Self
116
- }, {
117
- type: Inject,
118
- args: [FormGroupName]
119
- }] }, { type: i1.FormGroupDirective, decorators: [{
106
+ args: [NgControl]
107
+ }] }, { type: i1.ControlContainer, decorators: [{
120
108
  type: Optional
121
- }, {
122
- type: Self
123
109
  }, {
124
110
  type: Inject,
125
- args: [FormGroupDirective]
111
+ args: [ControlContainer]
126
112
  }] }, { type: undefined, decorators: [{
127
113
  type: Inject,
128
114
  args: [TUI_VALIDATION_ERRORS]
129
115
  }] }]; }, propDecorators: { getErrorId: [], getError: [] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9waXBlcy9maWVsZC1lcnJvci9maWVsZC1lcnJvci1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBR0gsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsU0FBUyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLFlBQVksRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFbkMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBTXhCLE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFJcUIsU0FBMkIsRUFJM0IsYUFBbUMsRUFJbkMsYUFBbUMsRUFJbkMsU0FBb0MsRUFFcEMsZ0JBR2hCO1FBakJnQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUkzQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFJbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBSW5DLGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBRXBDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FHaEM7UUF2QkcsVUFBSyxHQUFzQixFQUFFLENBQUM7UUF5QmxDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO1lBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBd0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGdCQUFnQixLQUFVLENBQUM7SUFFM0IsaUJBQWlCLEtBQVUsQ0FBQztJQUU1QixnQkFBZ0IsS0FBVSxDQUFDO0lBRTNCLFVBQVUsS0FBVSxDQUFDO0lBRXJCLElBQVksS0FBSztRQUNiLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFZLE9BQU87O1FBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE9BQU8sQ0FBQSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLE9BQU87O1FBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE9BQU8sQ0FBQSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLE9BQU87O1FBQ2YsT0FBTyxDQUNILENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPO2FBQ3ZCLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFBO2FBQzNCLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFBO2FBQzNCLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFBO1lBQ3ZCLElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQVksT0FBTztRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBWSxhQUFhOztRQUNyQixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLEtBQUksWUFBWSxDQUFDO0lBQ2hELENBQUM7SUFHTyxVQUFVLENBQ2QsS0FBd0IsRUFDeEIsYUFBc0M7UUFFdEMsTUFBTSxFQUFFLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0MsT0FBTyxFQUFFLElBQUksUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBR08sUUFBUSxDQUNaLFVBQWUsRUFDZixZQUFvRTtRQUVwRSxJQUFJLFVBQVUsWUFBWSxrQkFBa0IsRUFBRTtZQUMxQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6QjtRQUVELElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdkQsT0FBTyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztTQUNMO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7K0dBdkhRLGlCQUFpQixrQkFNZCxTQUFTLHlDQUlULGFBQWEseUNBSWIsYUFBYSx5Q0FJYixrQkFBa0IseUNBRWxCLHFCQUFxQjs2R0FwQnhCLGlCQUFpQjtBQXlGMUI7SUFEQyxPQUFPO21EQVNQO0FBR0Q7SUFEQyxPQUFPO2lEQW9CUDs0RkF2SFEsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUUsS0FBSztpQkFDZDs7MEJBS1EsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixNQUFNOzJCQUFDLHFCQUFxQjs0Q0FxRXpCLFVBQVUsTUFXVixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1BcnJheU5hbWUsXG4gICAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIEZvcm1Hcm91cE5hbWUsXG4gICAgTmdDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUlzU3RyaW5nLCB0dWlQdXJlLCBUdWlWYWxpZGF0aW9uRXJyb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfVkFMSURBVElPTl9FUlJPUlN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7aXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFTVBUWV9SRUNPUkQgPSB7fTtcblxuQFBpcGUoe1xuICAgIG5hbWU6IGB0dWlGaWVsZEVycm9yYCxcbiAgICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRmllbGRFcnJvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSBvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KEZvcm1BcnJheU5hbWUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUFycmF5TmFtZTogRm9ybUFycmF5TmFtZSB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChGb3JtR3JvdXBOYW1lKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1Hcm91cE5hbWU6IEZvcm1Hcm91cE5hbWUgfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoRm9ybUdyb3VwRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVkFMSURBVElPTl9FUlJPUlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGlvbkVycm9yczogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB8IFBvbHltb3JwaGV1c0NvbnRlbnRcbiAgICAgICAgPixcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sICYmICF0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zZm9ybShvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10pOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvciB8IG51bGw+IHtcbiAgICAgICAgdGhpcy5vcmRlciA9IG9yZGVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRXJyb3I7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkRXJyb3IoKTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3IgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiAodGhpcy5pbnZhbGlkICYmIHRoaXMudG91Y2hlZCAmJiB0aGlzLmVycm9yKSB8fCBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKCk6IHZvaWQge31cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge31cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7fVxuXG4gICAgd3JpdGVWYWx1ZSgpOiB2b2lkIHt9XG5cbiAgICBwcml2YXRlIGdldCBlcnJvcigpOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvcj4gfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Vycm9ySWR9ID0gdGhpcztcblxuICAgICAgICBpZiAoIWVycm9ySWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlyc3RFcnJvciA9IHRoaXMuY29udHJvbEVycm9yc1tlcnJvcklkXTtcbiAgICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gdGhpcy52YWxpZGF0aW9uRXJyb3JzW2Vycm9ySWRdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldEVycm9yKGZpcnN0RXJyb3IsIGVycm9yQ29udGVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sPy5pbnZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbD8udG91Y2hlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wgfHxcbiAgICAgICAgICAgIHRoaXMuZm9ybUFycmF5TmFtZT8uY29udHJvbCB8fFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXBOYW1lPy5jb250cm9sIHx8XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cD8uY29udHJvbCB8fFxuICAgICAgICAgICAgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVycm9ySWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JJZCh0aGlzLm9yZGVyLCB0aGlzLmNvbnRyb2xFcnJvcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbnRyb2xFcnJvcnMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnMgfHwgRU1QVFlfUkVDT1JEO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRFcnJvcklkKFxuICAgICAgICBvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgICAgIGNvbnRyb2xFcnJvcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGlkID0gb3JkZXI/LmZpbmQoZXJyb3JJZCA9PiBjb250cm9sRXJyb3JzW2Vycm9ySWRdKTtcbiAgICAgICAgY29uc3QgZmFsbGJhY2sgPSBPYmplY3Qua2V5cyhjb250cm9sRXJyb3JzKVswXTtcblxuICAgICAgICByZXR1cm4gaWQgfHwgZmFsbGJhY2sgfHwgYGA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEVycm9yKFxuICAgICAgICBmaXJzdEVycm9yOiBhbnksXG4gICAgICAgIGVycm9yQ29udGVudD86IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4gfCBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgICk6IE9ic2VydmFibGU8VHVpVmFsaWRhdGlvbkVycm9yPiB7XG4gICAgICAgIGlmIChmaXJzdEVycm9yIGluc3RhbmNlb2YgVHVpVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmlyc3RFcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JDb250ZW50ID09PSB1bmRlZmluZWQgJiYgdHVpSXNTdHJpbmcoZmlyc3RFcnJvcikpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGZpcnN0RXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZXJyb3JDb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yQ29udGVudC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChlcnJvciA9PiBuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGVycm9yIHx8IGBgLCBmaXJzdEVycm9yKSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3JDb250ZW50IHx8IGBgLCBmaXJzdEVycm9yKSk7XG4gICAgfVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9waXBlcy9maWVsZC1lcnJvci9maWVsZC1lcnJvci1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLElBQUksRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUVILGdCQUFnQixFQUVoQixTQUFTLEdBQ1osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxPQUFPLEVBQUMsWUFBWSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVuQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFNeEIsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixZQUlxQixNQUF3QixFQUl4QixJQUFzQixFQUd0QixTQUFrQyxFQUVsQyxnQkFHaEI7UUFaZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFJeEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFHdEIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFFbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUdoQztRQWxCRyxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQW9CbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUF3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LElBQUksa0JBQWtCLENBQUMsWUFBWSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OytHQTVHUSxpQkFBaUIsa0JBTWQsU0FBUyw2Q0FJVCxTQUFTLHlDQUdULGdCQUFnQiw2QkFFaEIscUJBQXFCOzZHQWZ4QixpQkFBaUI7QUE4RTFCO0lBREMsT0FBTzttREFTUDtBQUdEO0lBREMsT0FBTztpREFvQlA7NEZBNUdRLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLEtBQUs7aUJBQ2Q7OzBCQUtRLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFFdkIsTUFBTTsyQkFBQyxxQkFBcUI7NENBK0R6QixVQUFVLE1BV1YsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSwgU2VsZiwgU2tpcFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgQ29udHJvbENvbnRhaW5lcixcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBOZ0NvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpSXNTdHJpbmcsIHR1aVB1cmUsIFR1aVZhbGlkYXRpb25FcnJvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9WQUxJREFUSU9OX0VSUk9SU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtpc09ic2VydmFibGUsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IEVNUFRZX1JFQ09SRCA9IHt9O1xuXG5AUGlwZSh7XG4gICAgbmFtZTogYHR1aUZpZWxkRXJyb3JgLFxuICAgIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWVsZEVycm9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIG9yZGVyOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTa2lwU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZWxmOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KENvbnRyb2xDb250YWluZXIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVkFMSURBVElPTl9FUlJPUlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGlvbkVycm9yczogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB8IFBvbHltb3JwaGV1c0NvbnRlbnRcbiAgICAgICAgPixcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZiAmJiAhdGhpcy5zZWxmLnZhbHVlQWNjZXNzb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZi52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zZm9ybShvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10pOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvciB8IG51bGw+IHtcbiAgICAgICAgdGhpcy5vcmRlciA9IG9yZGVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRXJyb3I7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkRXJyb3IoKTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3IgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiAodGhpcy5pbnZhbGlkICYmIHRoaXMudG91Y2hlZCAmJiB0aGlzLmVycm9yKSB8fCBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKCk6IHZvaWQge31cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge31cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7fVxuXG4gICAgd3JpdGVWYWx1ZSgpOiB2b2lkIHt9XG5cbiAgICBwcml2YXRlIGdldCBlcnJvcigpOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvcj4gfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Vycm9ySWR9ID0gdGhpcztcblxuICAgICAgICBpZiAoIWVycm9ySWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlyc3RFcnJvciA9IHRoaXMuY29udHJvbEVycm9yc1tlcnJvcklkXTtcbiAgICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gdGhpcy52YWxpZGF0aW9uRXJyb3JzW2Vycm9ySWRdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldEVycm9yKGZpcnN0RXJyb3IsIGVycm9yQ29udGVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sPy5pbnZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbD8udG91Y2hlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxmPy5jb250cm9sIHx8IHRoaXMucGFyZW50Py5jb250cm9sIHx8IHRoaXMuY29udGFpbmVyPy5jb250cm9sO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVycm9ySWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JJZCh0aGlzLm9yZGVyLCB0aGlzLmNvbnRyb2xFcnJvcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbnRyb2xFcnJvcnMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnMgfHwgRU1QVFlfUkVDT1JEO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRFcnJvcklkKFxuICAgICAgICBvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgICAgIGNvbnRyb2xFcnJvcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGlkID0gb3JkZXI/LmZpbmQoZXJyb3JJZCA9PiBjb250cm9sRXJyb3JzW2Vycm9ySWRdKTtcbiAgICAgICAgY29uc3QgZmFsbGJhY2sgPSBPYmplY3Qua2V5cyhjb250cm9sRXJyb3JzKVswXTtcblxuICAgICAgICByZXR1cm4gaWQgfHwgZmFsbGJhY2sgfHwgYGA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEVycm9yKFxuICAgICAgICBmaXJzdEVycm9yOiBhbnksXG4gICAgICAgIGVycm9yQ29udGVudD86IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4gfCBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgICk6IE9ic2VydmFibGU8VHVpVmFsaWRhdGlvbkVycm9yPiB7XG4gICAgICAgIGlmIChmaXJzdEVycm9yIGluc3RhbmNlb2YgVHVpVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmlyc3RFcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JDb250ZW50ID09PSB1bmRlZmluZWQgJiYgdHVpSXNTdHJpbmcoZmlyc3RFcnJvcikpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGZpcnN0RXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZXJyb3JDb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yQ29udGVudC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChlcnJvciA9PiBuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGVycm9yIHx8IGBgLCBmaXJzdEVycm9yKSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3JDb250ZW50IHx8IGBgLCBmaXJzdEVycm9yKSk7XG4gICAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ // TODO: Refactor to use `AbstractTuiValueTransformer` and add ability to provide it for all controls
2
3
  /**
3
4
  * Control value transformer of TuiDay to custom value format for InputDate* components
4
5
  */
@@ -11,4 +12,4 @@ export const TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken(`[TUI_DATE_RA
11
12
  * Control value transformer for InputDateTime component
12
13
  */
13
14
  export const TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken(`[TUI_DATE_TIME_VALUE_TRANSFORMER]`);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dHMtdmFsdWUtdHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3Rva2Vucy9kYXRlLWlucHV0cy12YWx1ZS10cmFuc2Zvcm1lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUUxRCw4QkFBOEIsQ0FBQyxDQUFDO0FBRWxDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsSUFBSSxjQUFjLENBRWhFLG9DQUFvQyxDQUFDLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FFL0QsbUNBQW1DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lciwgVHVpRGF5LCBUdWlEYXlSYW5nZSwgVHVpVGltZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQ29udHJvbCB2YWx1ZSB0cmFuc2Zvcm1lciBvZiBUdWlEYXkgdG8gY3VzdG9tIHZhbHVlIGZvcm1hdCBmb3IgSW5wdXREYXRlKiBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxUdWlEYXkgfCBudWxsPlxuPihgW1RVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSXWApO1xuXG4vKipcbiAqIENvbnRyb2wgdmFsdWUgdHJhbnNmb3JtZXIgZm9yIElucHV0RGF0ZVJhbmdlIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VHVpRGF5UmFuZ2UgfCBudWxsPlxuPihgW1RVSV9EQVRFX1JBTkdFX1ZBTFVFX1RSQU5TRk9STUVSXWApO1xuXG4vKipcbiAqIENvbnRyb2wgdmFsdWUgdHJhbnNmb3JtZXIgZm9yIElucHV0RGF0ZVRpbWUgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0+XG4+KGBbVFVJX0RBVEVfVElNRV9WQUxVRV9UUkFOU0ZPUk1FUl1gKTtcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dHMtdmFsdWUtdHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3Rva2Vucy9kYXRlLWlucHV0cy12YWx1ZS10cmFuc2Zvcm1lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3QyxxR0FBcUc7QUFFckc7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FFMUQsOEJBQThCLENBQUMsQ0FBQztBQUVsQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksY0FBYyxDQUVoRSxvQ0FBb0MsQ0FBQyxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBRS9ELG1DQUFtQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXIsIFR1aURheSwgVHVpRGF5UmFuZ2UsIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vLyBUT0RPOiBSZWZhY3RvciB0byB1c2UgYEFic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcmAgYW5kIGFkZCBhYmlsaXR5IHRvIHByb3ZpZGUgaXQgZm9yIGFsbCBjb250cm9sc1xuXG4vKipcbiAqIENvbnRyb2wgdmFsdWUgdHJhbnNmb3JtZXIgb2YgVHVpRGF5IHRvIGN1c3RvbSB2YWx1ZSBmb3JtYXQgZm9yIElucHV0RGF0ZSogY29tcG9uZW50c1xuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEVfVkFMVUVfVFJBTlNGT1JNRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VHVpRGF5IHwgbnVsbD5cbj4oYFtUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUl1gKTtcblxuLyoqXG4gKiBDb250cm9sIHZhbHVlIHRyYW5zZm9ybWVyIGZvciBJbnB1dERhdGVSYW5nZSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9EQVRFX1JBTkdFX1ZBTFVFX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFR1aURheVJhbmdlIHwgbnVsbD5cbj4oYFtUVUlfREFURV9SQU5HRV9WQUxVRV9UUkFOU0ZPUk1FUl1gKTtcblxuLyoqXG4gKiBDb250cm9sIHZhbHVlIHRyYW5zZm9ybWVyIGZvciBJbnB1dERhdGVUaW1lIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEVfVElNRV9WQUxVRV9UUkFOU0ZPUk1FUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdPlxuPihgW1RVSV9EQVRFX1RJTUVfVkFMVUVfVFJBTlNGT1JNRVJdYCk7XG4iXX0=
@@ -300,7 +300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
300
300
  }] }, { type: i8.Observable, decorators: [{
301
301
  type: Inject,
302
302
  args: [TUI_DATE_TEXTS]
303
- }] }, { type: undefined, decorators: [{
303
+ }] }, { type: i3.AbstractTuiValueTransformer, decorators: [{
304
304
  type: Optional
305
305
  }, {
306
306
  type: Inject,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-date-range.js","sources":["../../../projects/kit/components/input-date-range/input-date-range.component.ts","../../../projects/kit/components/input-date-range/input-date-range.template.html","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.module.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Injector,\n Input,\n Optional,\n Self,\n Type,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n TuiMonth,\n tuiNullableSame,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_MARKER_HANDLER,\n TUI_TEXTFIELD_SIZE,\n TuiDialogService,\n TuiMarkerHandler,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {EMPTY_MASK, MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateRangePipe,\n tuiCreateDateRangeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrls: ['./input-date-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n ],\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiWithOptionalMinMax<TuiDay>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textMaskOptions: TuiTextMaskOptions = {\n mask: tuiCreateDateRangeMask(this.dateFormat, this.dateSeparator),\n pipe: tuiCreateAutoCorrectedDateRangePipe(this),\n guide: false,\n };\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n minLength: TuiDayLike | null = null;\n\n @Input()\n @tuiDefaultProp()\n maxLength: TuiDayLike | null = null;\n\n open = false;\n\n readonly maxLengthMapper: TuiMapper<TuiDay, TuiDay> = MAX_DAY_RANGE_LENGTH_MAPPER;\n readonly dateFiller$ = this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n );\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TuiDialogService) private readonly dialogService: TuiDialogService,\n @Optional()\n @Inject(TUI_MOBILE_CALENDAR)\n private readonly mobileCalendar: Type<Record<string, any>> | null,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_RANGE_VALUE_TRANSFORMER)\n override readonly valueTransformer: TuiControlValueTransformer<TuiDayRange | null> | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get canOpen(): boolean {\n return this.interactive && !this.computedMobile;\n }\n\n get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n get computedMask(): TuiTextMaskOptions {\n return this.activePeriod ? EMPTY_MASK : this.textMaskOptions;\n }\n\n get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat, this.dateSeparator)\n : nativeValue;\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.isMobile) {\n this.toggle();\n }\n }\n\n getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n onIconClick(): void {\n if (!this.computedMobile || !this.mobileCalendar) {\n return;\n }\n\n this.dialogService\n .open<TuiDayRange>(\n new PolymorpheusComponent(this.mobileCalendar, this.injector),\n {\n size: 'fullscreen',\n closeable: false,\n data: {\n single: false,\n min: this.maxLengthMapper(\n this.min,\n this.value,\n this.maxLength,\n true,\n ),\n max: this.maxLengthMapper(\n this.max,\n this.value,\n this.maxLength,\n false,\n ),\n disabledItemHandler: this.disabledItemHandler,\n },\n },\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe(value => {\n this.value = value;\n });\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onValueChange(value: string): void {\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length !== DATE_RANGE_FILLER_LENGTH) {\n this.value = null;\n\n return;\n }\n\n const parsedValue = TuiDayRange.normalizeParse(value, this.dateFormat);\n\n this.value =\n !this.minLength && !this.maxLength\n ? parsedValue\n : this.clampValue(parsedValue);\n }\n\n onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue = '';\n }\n\n this.value = range;\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n this.toggle();\n this.focusInput();\n\n if (typeof item !== 'string') {\n this.value = item.range.dayLimit(this.min, this.max);\n\n return;\n }\n\n if (this.activePeriod === null) {\n return;\n }\n\n this.value = null;\n this.nativeValue = '';\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue.length === DATE_FILLER_LENGTH ||\n this.nativeValue.length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(this.nativeValue, this.dateFormat);\n }\n }\n\n override writeValue(value: TuiDayRange | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private clampValue(value: TuiDayRange): TuiDayRange {\n const clampedBottom =\n this.minLength && value.from.append(this.minLength).dayAfter(value.to)\n ? new TuiDayRange(\n value.from,\n value.from.append(this.minLength).append({day: -1}),\n )\n : value;\n\n const availableMax = this.maxLength\n ? clampedBottom.from.append(this.maxLength).append({day: -1})\n : this.max;\n\n return clampedBottom.to.dayAfter(availableMax)\n ? new TuiDayRange(clampedBottom.from, availableMax)\n : clampedBottom;\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"dropdown\"\n [open]=\"open && canOpen\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\n\n@Directive({\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarRangeModule} from '@taiga-ui/kit/components/calendar-range';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiActiveZoneModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiCalendarRangeModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-date-range.js","sources":["../../../projects/kit/components/input-date-range/input-date-range.component.ts","../../../projects/kit/components/input-date-range/input-date-range.template.html","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.module.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Injector,\n Input,\n Optional,\n Self,\n Type,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n AbstractTuiValueTransformer,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiDateMode,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n TuiMonth,\n tuiNullableSame,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_MARKER_HANDLER,\n TUI_TEXTFIELD_SIZE,\n TuiDialogService,\n TuiMarkerHandler,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {EMPTY_MASK, MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateRangePipe,\n tuiCreateDateRangeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrls: ['./input-date-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n ],\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiWithOptionalMinMax<TuiDay>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textMaskOptions: TuiTextMaskOptions = {\n mask: tuiCreateDateRangeMask(this.dateFormat, this.dateSeparator),\n pipe: tuiCreateAutoCorrectedDateRangePipe(this),\n guide: false,\n };\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n minLength: TuiDayLike | null = null;\n\n @Input()\n @tuiDefaultProp()\n maxLength: TuiDayLike | null = null;\n\n open = false;\n\n readonly maxLengthMapper: TuiMapper<TuiDay, TuiDay> = MAX_DAY_RANGE_LENGTH_MAPPER;\n readonly dateFiller$ = this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n );\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TuiDialogService) private readonly dialogService: TuiDialogService,\n @Optional()\n @Inject(TUI_MOBILE_CALENDAR)\n private readonly mobileCalendar: Type<Record<string, any>> | null,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_RANGE_VALUE_TRANSFORMER)\n override readonly valueTransformer: AbstractTuiValueTransformer<TuiDayRange | null> | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get canOpen(): boolean {\n return this.interactive && !this.computedMobile;\n }\n\n get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n get computedMask(): TuiTextMaskOptions {\n return this.activePeriod ? EMPTY_MASK : this.textMaskOptions;\n }\n\n get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat, this.dateSeparator)\n : nativeValue;\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.isMobile) {\n this.toggle();\n }\n }\n\n getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n onIconClick(): void {\n if (!this.computedMobile || !this.mobileCalendar) {\n return;\n }\n\n this.dialogService\n .open<TuiDayRange>(\n new PolymorpheusComponent(this.mobileCalendar, this.injector),\n {\n size: 'fullscreen',\n closeable: false,\n data: {\n single: false,\n min: this.maxLengthMapper(\n this.min,\n this.value,\n this.maxLength,\n true,\n ),\n max: this.maxLengthMapper(\n this.max,\n this.value,\n this.maxLength,\n false,\n ),\n disabledItemHandler: this.disabledItemHandler,\n },\n },\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe(value => {\n this.value = value;\n });\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onValueChange(value: string): void {\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length !== DATE_RANGE_FILLER_LENGTH) {\n this.value = null;\n\n return;\n }\n\n const parsedValue = TuiDayRange.normalizeParse(value, this.dateFormat);\n\n this.value =\n !this.minLength && !this.maxLength\n ? parsedValue\n : this.clampValue(parsedValue);\n }\n\n onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue = '';\n }\n\n this.value = range;\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n this.toggle();\n this.focusInput();\n\n if (typeof item !== 'string') {\n this.value = item.range.dayLimit(this.min, this.max);\n\n return;\n }\n\n if (this.activePeriod === null) {\n return;\n }\n\n this.value = null;\n this.nativeValue = '';\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue.length === DATE_FILLER_LENGTH ||\n this.nativeValue.length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(this.nativeValue, this.dateFormat);\n }\n }\n\n override writeValue(value: TuiDayRange | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private clampValue(value: TuiDayRange): TuiDayRange {\n const clampedBottom =\n this.minLength && value.from.append(this.minLength).dayAfter(value.to)\n ? new TuiDayRange(\n value.from,\n value.from.append(this.minLength).append({day: -1}),\n )\n : value;\n\n const availableMax = this.maxLength\n ? clampedBottom.from.append(this.maxLength).append({day: -1})\n : this.max;\n\n return clampedBottom.to.dayAfter(availableMax)\n ? new TuiDayRange(clampedBottom.from, availableMax)\n : clampedBottom;\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"dropdown\"\n [open]=\"open && canOpen\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\n\n@Directive({\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarRangeModule} from '@taiga-ui/kit/components/calendar-range';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiActiveZoneModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiCalendarRangeModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -265,7 +265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
265
265
  }] }, { type: i7.Observable, decorators: [{
266
266
  type: Inject,
267
267
  args: [TUI_DATE_TEXTS]
268
- }] }, { type: undefined, decorators: [{
268
+ }] }, { type: i4.AbstractTuiValueTransformer, decorators: [{
269
269
  type: Optional
270
270
  }, {
271
271
  type: Inject,