@rivet-health/design-system 11.0.0-hackathon.3 → 11.0.0

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 (64) hide show
  1. package/esm2020/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +3 -4
  2. package/esm2020/lib/icon/icons.mjs +139 -121
  3. package/esm2020/lib/input/alphabetic-field/alphabetic-field.component.mjs +2 -2
  4. package/esm2020/lib/input/button/button.component.mjs +2 -2
  5. package/esm2020/lib/input/calendar/calendar.component.mjs +2 -2
  6. package/esm2020/lib/input/card-checkbox/card-checkbox.component.mjs +2 -2
  7. package/esm2020/lib/input/checkbox/checkbox.component.mjs +2 -2
  8. package/esm2020/lib/input/currency-field/currency-field.component.mjs +2 -2
  9. package/esm2020/lib/input/date/date.component.mjs +13 -15
  10. package/esm2020/lib/input/date-range/date-range.component.mjs +16 -18
  11. package/esm2020/lib/input/input-label/input-label.component.mjs +2 -2
  12. package/esm2020/lib/input/number-field/number-field.component.mjs +2 -2
  13. package/esm2020/lib/input/percentage-field/percentage-field.component.mjs +2 -2
  14. package/esm2020/lib/input/search/search.component.mjs +2 -2
  15. package/esm2020/lib/input/single-select/single-select.component.mjs +15 -17
  16. package/esm2020/lib/input/switch-checkbox/switch-checkbox.component.mjs +2 -2
  17. package/esm2020/lib/input/text-field/text-field.component.mjs +2 -2
  18. package/esm2020/lib/load/loading-cover/loading-cover.component.mjs +2 -2
  19. package/esm2020/lib/navigation/link/link.component.mjs +2 -2
  20. package/esm2020/lib/notification/badge/badge.component.mjs +2 -2
  21. package/esm2020/lib/riv.module.mjs +6 -1
  22. package/esm2020/lib/table/state.mjs +86 -33
  23. package/esm2020/lib/table/table/table.component.mjs +38 -19
  24. package/esm2020/lib/table/table-column-settings/table-column-settings.component.mjs +116 -0
  25. package/esm2020/lib/visualization/chart/chart.component.mjs +46 -11
  26. package/esm2020/lib/visualization/chart/chart.mjs +8 -7
  27. package/esm2020/lib/visualization/data-table/data-table-cell.component.mjs +2 -2
  28. package/esm2020/lib/visualization/data-table/data-table-header-cell.component.mjs +2 -2
  29. package/esm2020/lib/visualization/data-table/data-table-row.component.mjs +2 -2
  30. package/esm2020/lib/visualization/donut/donut.component.mjs +2 -2
  31. package/esm2020/lib/visualization/funnel-chart/funnel-chart.component.mjs +3 -3
  32. package/esm2020/lib/visualization/highlight/highlight.component.mjs +2 -2
  33. package/esm2020/lib/visualization/issue/issue.component.mjs +2 -2
  34. package/esm2020/lib/visualization/legend-item/legend-item.component.mjs +2 -2
  35. package/esm2020/lib/visualization/metric/metric.component.mjs +4 -4
  36. package/esm2020/lib/visualization/stacked-column/stacked-column.component.mjs +21 -17
  37. package/esm2020/lib/visualization/stacked-row/stacked-row.component.mjs +13 -15
  38. package/esm2020/lib/visualization/time-series/time-series.component.mjs +21 -17
  39. package/esm2020/lib/visualization/zero-state/zero-state.component.mjs +2 -2
  40. package/esm2020/public-api.mjs +2 -1
  41. package/fesm2015/rivet-health-design-system.mjs +511 -309
  42. package/fesm2015/rivet-health-design-system.mjs.map +1 -1
  43. package/fesm2020/rivet-health-design-system.mjs +515 -306
  44. package/fesm2020/rivet-health-design-system.mjs.map +1 -1
  45. package/lib/icon/icons.d.ts +12 -3
  46. package/lib/input/date/date.component.d.ts +0 -3
  47. package/lib/input/date-range/date-range.component.d.ts +0 -3
  48. package/lib/input/single-select/single-select.component.d.ts +0 -3
  49. package/lib/riv.module.d.ts +15 -14
  50. package/lib/table/state.d.ts +9 -1
  51. package/lib/table/table/table.component.d.ts +4 -3
  52. package/lib/table/table-column-settings/table-column-settings.component.d.ts +31 -0
  53. package/lib/visualization/chart/chart.component.d.ts +10 -3
  54. package/lib/visualization/chart/chart.d.ts +2 -1
  55. package/lib/visualization/stacked-column/stacked-column.component.d.ts +2 -4
  56. package/lib/visualization/stacked-row/stacked-row.component.d.ts +0 -3
  57. package/lib/visualization/time-series/time-series.component.d.ts +2 -4
  58. package/package.json +1 -1
  59. package/public-api.d.ts +1 -0
  60. package/styles/global.css +2 -2
  61. package/styles/tokens/color.css +94 -176
  62. package/styles/tokens/typography.css +2 -4
  63. package/esm2020/lib/util/color-scheme.mjs +0 -34
  64. package/lib/util/color-scheme.d.ts +0 -13
@@ -15,11 +15,10 @@ export class SVGTextTruncateDirective extends TooltipDirective {
15
15
  }
16
16
  // Truncate through setting strings as the text-content and testing their width
17
17
  svgTruncate(element) {
18
- let currentLength = this.text.length;
19
18
  element.textContent = this.text;
19
+ let currentLength = element.textContent.length;
20
20
  // If the text can fit in the given width, no truncation needed.
21
- if (currentLength > 0 &&
22
- element.getSubStringLength(0, currentLength) <= this.width) {
21
+ if (currentLength > 0 && element.getComputedTextLength() <= this.width) {
23
22
  element.textContent = this.text;
24
23
  this.rivTooltip = '';
25
24
  }
@@ -60,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
60
59
  }], width: [{
61
60
  type: Input
62
61
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXRleHQtdHJ1bmNhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvZm9ybWF0L3N2Zy10ZXh0LXRydW5jYXRlL3N2Zy10ZXh0LXRydW5jYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFekUsa0VBQWtFO0FBSWxFLE1BQU0sT0FBTyx3QkFDWCxTQUFRLGdCQUFnQjtJQVN4QixZQUM4QixFQUFjLEVBQ2QsY0FBOEI7UUFFMUQsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUhFLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQNUQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixVQUFLLEdBQVcsRUFBRSxDQUFDO0lBT25CLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsV0FBVyxDQUFDLE9BQThCO1FBQ3hDLElBQUksYUFBYSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTdDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxnRUFBZ0U7UUFDaEUsSUFDRSxhQUFhLEdBQUcsQ0FBQztZQUNqQixPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQzFEO1lBQ0EsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDTDs7O2NBR0U7WUFDRixhQUFhLEdBQUcsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLHNCQUFzQixHQUFZLEtBQUssQ0FBQztZQUM1QyxPQUFPLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDbkQsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFFNUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztnQkFFdkMsSUFDRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQ3BFO29CQUNBLHNCQUFzQixHQUFHLElBQUksQ0FBQztpQkFDL0I7cUJBQU07b0JBQ0wsYUFBYSxFQUFFLENBQUM7aUJBQ2pCO2FBQ0Y7WUFFRCxrRkFBa0Y7WUFDbEYsSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUMzQixPQUFPLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUM3QjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3QjtJQUNILENBQUM7O3FIQTdEVSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7aUJBQ3pDOzhIQU1DLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBBcHBsaWNhdGlvblJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vbW9kYWwvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5cbi8vIENyZWRpdCB0byBib25lc2t1bGwgb24gR2l0aHViLCB3aG9zZSB3b3JrIEkgdXNlZCBhcyBhIHJlZmVyZW5jZVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3ZnIHRleHRbcml2U1ZHVGV4dFRydW5jYXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNWR1RleHRUcnVuY2F0ZURpcmVjdGl2ZVxuICBleHRlbmRzIFRvb2x0aXBEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpXG4gIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHdpZHRoOiBudW1iZXIgPSA1MDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgKSB7XG4gICAgc3VwZXIoZWwsIGFwcGxpY2F0aW9uUmVmKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN2Z1RydW5jYXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvLyBUcnVuY2F0ZSB0aHJvdWdoIHNldHRpbmcgc3RyaW5ncyBhcyB0aGUgdGV4dC1jb250ZW50IGFuZCB0ZXN0aW5nIHRoZWlyIHdpZHRoXG4gIHN2Z1RydW5jYXRlKGVsZW1lbnQ6IFNWR1RleHRDb250ZW50RWxlbWVudCkge1xuICAgIGxldCBjdXJyZW50TGVuZ3RoOiBudW1iZXIgPSB0aGlzLnRleHQubGVuZ3RoO1xuXG4gICAgZWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMudGV4dDtcbiAgICAvLyBJZiB0aGUgdGV4dCBjYW4gZml0IGluIHRoZSBnaXZlbiB3aWR0aCwgbm8gdHJ1bmNhdGlvbiBuZWVkZWQuXG4gICAgaWYgKFxuICAgICAgY3VycmVudExlbmd0aCA+IDAgJiZcbiAgICAgIGVsZW1lbnQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsIGN1cnJlbnRMZW5ndGgpIDw9IHRoaXMud2lkdGhcbiAgICApIHtcbiAgICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLnRleHQ7XG4gICAgICB0aGlzLnJpdlRvb2x0aXAgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLypcbiAgICAgICAgVGVzdCB0aGUgbGVuZ3RoIG9mIGVhY2ggXCJzdWJzdHJpbmcgKyAuLi5cIiBjb21ibyB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IGZpdHMuXG4gICAgICAgIFN0YXJ0IGJ5IG1ha2luZyByb29tIGZvciB0aGUgZWxpcHNlcyBieSBzdWJ0cmFjdGluZyAzIGZyb20gdGhlIGxlbmd0aC5cbiAgICAgICovXG4gICAgICBjdXJyZW50TGVuZ3RoID0gY3VycmVudExlbmd0aCAtIDM7XG4gICAgICBsZXQgY3VycmVudFRleHRGaXRzSW5XaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgd2hpbGUgKGN1cnJlbnRMZW5ndGggPiAwICYmICFjdXJyZW50VGV4dEZpdHNJbldpZHRoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUZXh0VG9Ucnk6IHN0cmluZyA9XG4gICAgICAgICAgdGhpcy50ZXh0LnNsaWNlKDAsIGN1cnJlbnRMZW5ndGgpICsgJy4uLic7XG5cbiAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGN1cnJlbnRUZXh0VG9Ucnk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGVsZW1lbnQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsIGN1cnJlbnRUZXh0VG9UcnkubGVuZ3RoKSA8PSB0aGlzLndpZHRoXG4gICAgICAgICkge1xuICAgICAgICAgIGN1cnJlbnRUZXh0Rml0c0luV2lkdGggPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMZW5ndGgtLTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSBlbmQgdXAgbm90IGZpbmRpbmcgYSB3aWR0aCBvZiB0ZXh0IHRoYXQgd29ya3MsIGRpc3BsYXkganVzdCB0aGUgZWxsaXBzZXMuXG4gICAgICBpZiAoIWN1cnJlbnRUZXh0Rml0c0luV2lkdGgpIHtcbiAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9ICcuLi4nO1xuICAgICAgfVxuICAgICAgdGhpcy5yaXZUb29sdGlwID0gdGhpcy50ZXh0O1xuICAgIH1cbiAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXRleHQtdHJ1bmNhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvZm9ybWF0L3N2Zy10ZXh0LXRydW5jYXRlL3N2Zy10ZXh0LXRydW5jYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFekUsa0VBQWtFO0FBSWxFLE1BQU0sT0FBTyx3QkFDWCxTQUFRLGdCQUFnQjtJQVN4QixZQUM4QixFQUFjLEVBQ2QsY0FBOEI7UUFFMUQsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUhFLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFQNUQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixVQUFLLEdBQVcsRUFBRSxDQUFDO0lBT25CLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsV0FBVyxDQUFDLE9BQThCO1FBQ3hDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLGFBQWEsR0FBVyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUV2RCxnRUFBZ0U7UUFDaEUsSUFBSSxhQUFhLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDdEUsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDTDs7O2NBR0U7WUFDRixhQUFhLEdBQUcsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLHNCQUFzQixHQUFZLEtBQUssQ0FBQztZQUM1QyxPQUFPLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDbkQsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFFNUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztnQkFFdkMsSUFDRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQ3BFO29CQUNBLHNCQUFzQixHQUFHLElBQUksQ0FBQztpQkFDL0I7cUJBQU07b0JBQ0wsYUFBYSxFQUFFLENBQUM7aUJBQ2pCO2FBQ0Y7WUFFRCxrRkFBa0Y7WUFDbEYsSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUMzQixPQUFPLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUM3QjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3QjtJQUNILENBQUM7O3FIQTFEVSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7aUJBQ3pDOzhIQU1DLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBBcHBsaWNhdGlvblJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vbW9kYWwvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5cbi8vIENyZWRpdCB0byBib25lc2t1bGwgb24gR2l0aHViLCB3aG9zZSB3b3JrIEkgdXNlZCBhcyBhIHJlZmVyZW5jZVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3ZnIHRleHRbcml2U1ZHVGV4dFRydW5jYXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNWR1RleHRUcnVuY2F0ZURpcmVjdGl2ZVxuICBleHRlbmRzIFRvb2x0aXBEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpXG4gIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHdpZHRoOiBudW1iZXIgPSA1MDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgKSB7XG4gICAgc3VwZXIoZWwsIGFwcGxpY2F0aW9uUmVmKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN2Z1RydW5jYXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvLyBUcnVuY2F0ZSB0aHJvdWdoIHNldHRpbmcgc3RyaW5ncyBhcyB0aGUgdGV4dC1jb250ZW50IGFuZCB0ZXN0aW5nIHRoZWlyIHdpZHRoXG4gIHN2Z1RydW5jYXRlKGVsZW1lbnQ6IFNWR1RleHRDb250ZW50RWxlbWVudCkge1xuICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLnRleHQ7XG4gICAgbGV0IGN1cnJlbnRMZW5ndGg6IG51bWJlciA9IGVsZW1lbnQudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgLy8gSWYgdGhlIHRleHQgY2FuIGZpdCBpbiB0aGUgZ2l2ZW4gd2lkdGgsIG5vIHRydW5jYXRpb24gbmVlZGVkLlxuICAgIGlmIChjdXJyZW50TGVuZ3RoID4gMCAmJiBlbGVtZW50LmdldENvbXB1dGVkVGV4dExlbmd0aCgpIDw9IHRoaXMud2lkdGgpIHtcbiAgICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLnRleHQ7XG4gICAgICB0aGlzLnJpdlRvb2x0aXAgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLypcbiAgICAgICAgVGVzdCB0aGUgbGVuZ3RoIG9mIGVhY2ggXCJzdWJzdHJpbmcgKyAuLi5cIiBjb21ibyB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IGZpdHMuXG4gICAgICAgIFN0YXJ0IGJ5IG1ha2luZyByb29tIGZvciB0aGUgZWxpcHNlcyBieSBzdWJ0cmFjdGluZyAzIGZyb20gdGhlIGxlbmd0aC5cbiAgICAgICovXG4gICAgICBjdXJyZW50TGVuZ3RoID0gY3VycmVudExlbmd0aCAtIDM7XG4gICAgICBsZXQgY3VycmVudFRleHRGaXRzSW5XaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgd2hpbGUgKGN1cnJlbnRMZW5ndGggPiAwICYmICFjdXJyZW50VGV4dEZpdHNJbldpZHRoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUZXh0VG9Ucnk6IHN0cmluZyA9XG4gICAgICAgICAgdGhpcy50ZXh0LnNsaWNlKDAsIGN1cnJlbnRMZW5ndGgpICsgJy4uLic7XG5cbiAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGN1cnJlbnRUZXh0VG9Ucnk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGVsZW1lbnQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsIGN1cnJlbnRUZXh0VG9UcnkubGVuZ3RoKSA8PSB0aGlzLndpZHRoXG4gICAgICAgICkge1xuICAgICAgICAgIGN1cnJlbnRUZXh0Rml0c0luV2lkdGggPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMZW5ndGgtLTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSBlbmQgdXAgbm90IGZpbmRpbmcgYSB3aWR0aCBvZiB0ZXh0IHRoYXQgd29ya3MsIGRpc3BsYXkganVzdCB0aGUgZWxsaXBzZXMuXG4gICAgICBpZiAoIWN1cnJlbnRUZXh0Rml0c0luV2lkdGgpIHtcbiAgICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9ICcuLi4nO1xuICAgICAgfVxuICAgICAgdGhpcy5yaXZUb29sdGlwID0gdGhpcy50ZXh0O1xuICAgIH1cbiAgfVxufVxuIl19