@sbb-esta/lyne-elements-experimental 2.11.2 → 3.0.0-next.1

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 (67) hide show
  1. package/core/datetime/date-helper.js +142 -142
  2. package/core/timetable/access-leg-helper.js +52 -49
  3. package/core/timetable/timetable-helper.js +8 -7
  4. package/custom-elements.json +8 -8
  5. package/development/core/datetime/date-helper.js +10 -10
  6. package/development/core/timetable/access-leg-helper.js +15 -12
  7. package/development/core/timetable/timetable-helper.js +7 -6
  8. package/development/{differenceInMinutes-D5Nj8Stc.js → differenceInMinutes-CHSyWiQs.js} +3 -3
  9. package/development/{format-BQfaa1ZT.js → format-D0-yhzi4.js} +26 -22
  10. package/development/{isValid-DvieCZVi.js → isValid-Bo4R7iA7.js} +3 -3
  11. package/development/journey-summary/journey-summary.component.d.ts +5 -3
  12. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  13. package/development/journey-summary/journey-summary.component.js +9 -5
  14. package/development/pearl-chain/pearl-chain.component.d.ts +5 -3
  15. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  16. package/development/pearl-chain/pearl-chain.component.js +43 -29
  17. package/development/pearl-chain-time/pearl-chain-time.component.d.ts +5 -3
  18. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  19. package/development/pearl-chain-time/pearl-chain-time.component.js +10 -6
  20. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  21. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  22. package/development/seat-reservation/common/mapper/icon-mapper.js +1 -1
  23. package/development/seat-reservation/common/mapper/mapper.js +16 -14
  24. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +1 -1
  25. package/development/seat-reservation/common/svgs.js +1 -1
  26. package/development/seat-reservation/common/translations/i18n.js +3 -2
  27. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +33 -22
  28. package/development/seat-reservation/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +7 -6
  29. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +23 -16
  30. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  31. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +3 -2
  32. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +8 -7
  33. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +11 -7
  34. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +3 -2
  35. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +5 -4
  36. package/development/timetable-duration/timetable-duration.component.js +1 -1
  37. package/development/timetable-row/timetable-row.component.d.ts +5 -3
  38. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  39. package/development/timetable-row/timetable-row.component.js +93 -59
  40. package/differenceInMinutes-BMqUZdhj.js +23 -0
  41. package/{format-lqeCzmzS.js → format-Dg8rkk7h.js} +442 -438
  42. package/isValid-DJ69OMZJ.js +45 -0
  43. package/journey-summary/journey-summary.component.d.ts +5 -3
  44. package/journey-summary/journey-summary.component.d.ts.map +1 -1
  45. package/journey-summary/journey-summary.component.js +8 -4
  46. package/package.json +2 -2
  47. package/pearl-chain/pearl-chain.component.d.ts +5 -3
  48. package/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  49. package/pearl-chain/pearl-chain.component.js +99 -79
  50. package/pearl-chain-time/pearl-chain-time.component.d.ts +5 -3
  51. package/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  52. package/pearl-chain-time/pearl-chain-time.component.js +49 -45
  53. package/seat-reservation/common/mapper/mapper.js +54 -50
  54. package/seat-reservation/common/translations/i18n.js +6 -5
  55. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +115 -104
  56. package/seat-reservation/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +41 -40
  57. package/seat-reservation/seat-reservation/seat-reservation.component.js +87 -78
  58. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +18 -15
  59. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +59 -58
  60. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +75 -71
  61. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +13 -12
  62. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +24 -23
  63. package/timetable-row/timetable-row.component.d.ts +5 -3
  64. package/timetable-row/timetable-row.component.d.ts.map +1 -1
  65. package/timetable-row/timetable-row.component.js +251 -208
  66. package/differenceInMinutes-CP_C5onR.js +0 -23
  67. package/isValid-Ceq2O0NQ.js +0 -45
@@ -23,13 +23,13 @@ function normalizeDates(context, ...dates) {
23
23
  return dates.map(normalize);
24
24
  }
25
25
  function startOfDay(date, options) {
26
- const _date = toDate(date, options?.in);
26
+ const _date = toDate(date, options == null ? void 0 : options.in);
27
27
  _date.setHours(0, 0, 0, 0);
28
28
  return _date;
29
29
  }
30
30
  function differenceInCalendarDays(laterDate, earlierDate, options) {
31
31
  const [laterDate_, earlierDate_] = normalizeDates(
32
- options?.in,
32
+ options == null ? void 0 : options.in,
33
33
  laterDate,
34
34
  earlierDate
35
35
  );
@@ -50,4 +50,4 @@ export {
50
50
  isValid as i,
51
51
  normalizeDates as n
52
52
  };
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZC1EdmllQ1pWaS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9fbGliL25vcm1hbGl6ZURhdGVzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL3N0YXJ0T2ZEYXkuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2lzRGF0ZS5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc1ZhbGlkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBHb29nbGUgQ2hyb21lIGFzIG9mIDY3LjAuMzM5Ni44NyBpbnRyb2R1Y2VkIHRpbWV6b25lcyB3aXRoIG9mZnNldCB0aGF0IGluY2x1ZGVzIHNlY29uZHMuXG4gKiBUaGV5IHVzdWFsbHkgYXBwZWFyIGZvciBkYXRlcyB0aGF0IGRlbm90ZSB0aW1lIGJlZm9yZSB0aGUgdGltZXpvbmVzIHdlcmUgaW50cm9kdWNlZFxuICogKGUuZy4gZm9yICdFdXJvcGUvUHJhZ3VlJyB0aW1lem9uZSB0aGUgb2Zmc2V0IGlzIEdNVCswMDo1Nzo0NCBiZWZvcmUgMSBPY3RvYmVyIDE4OTFcbiAqIGFuZCBHTVQrMDE6MDA6MDAgYWZ0ZXIgdGhhdCBkYXRlKVxuICpcbiAqIERhdGUjZ2V0VGltZXpvbmVPZmZzZXQgcmV0dXJucyB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgYW5kIHdvdWxkIHJldHVybiA1NyBmb3IgdGhlIGV4YW1wbGUgYWJvdmUsXG4gKiB3aGljaCB3b3VsZCBsZWFkIHRvIGluY29ycmVjdCBjYWxjdWxhdGlvbnMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSB0aW1lem9uZSBvZmZzZXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGFrZXMgc2Vjb25kcyBpbiBhY2NvdW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUpO1xuICBjb25zdCB1dGNEYXRlID0gbmV3IERhdGUoXG4gICAgRGF0ZS5VVEMoXG4gICAgICBfZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgX2RhdGUuZ2V0TW9udGgoKSxcbiAgICAgIF9kYXRlLmdldERhdGUoKSxcbiAgICAgIF9kYXRlLmdldEhvdXJzKCksXG4gICAgICBfZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICBfZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICBfZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApLFxuICApO1xuICB1dGNEYXRlLnNldFVUQ0Z1bGxZZWFyKF9kYXRlLmdldEZ1bGxZZWFyKCkpO1xuICByZXR1cm4gK2RhdGUgLSArdXRjRGF0ZTtcbn1cbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi4vY29uc3RydWN0RnJvbS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRGF0ZXMoY29udGV4dCwgLi4uZGF0ZXMpIHtcbiAgY29uc3Qgbm9ybWFsaXplID0gY29uc3RydWN0RnJvbS5iaW5kKFxuICAgIG51bGwsXG4gICAgY29udGV4dCB8fCBkYXRlcy5maW5kKChkYXRlKSA9PiB0eXBlb2YgZGF0ZSA9PT0gXCJvYmplY3RcIiksXG4gICk7XG4gIHJldHVybiBkYXRlcy5tYXAobm9ybWFsaXplKTtcbn1cbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgc3RhcnRPZkRheX0gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZEYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIGRheSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGF5IGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIG9yaWdpbmFsIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgc3RhcnQgb2YgYSBkYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGEgZGF5IGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogY29uc3QgcmVzdWx0ID0gc3RhcnRPZkRheShuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBUdWUgU2VwIDAyIDIwMTQgMDA6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0T2ZEYXkoZGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlLCBvcHRpb25zPy5pbik7XG4gIF9kYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gX2RhdGU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgc3RhcnRPZkRheTtcbiIsImltcG9ydCB7IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgfSBmcm9tIFwiLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZURhdGVzIH0gZnJvbSBcIi4vX2xpYi9ub3JtYWxpemVEYXRlcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5EYXkgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IHN0YXJ0T2ZEYXkgfSBmcm9tIFwiLi9zdGFydE9mRGF5LmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgdGltZXMgYXJlIHJlbW92ZWRcbiAqIGZyb20gdGhlIGRhdGVzIGFuZCB0aGVuIHRoZSBkaWZmZXJlbmNlIGluIGRheXMgaXMgY2FsY3VsYXRlZC5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0XG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBjYWxlbmRhciBkYXlzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjAwOjAwIGFuZCAyIEp1bHkgMjAxMiAwMDowMDowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMiwgNiwgMiwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCAwKVxuICogKVxuICogLy89PiAzNjZcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMywgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCA1OSlcbiAqIClcbiAqIC8vPT4gMVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG5cbiAgY29uc3QgbGF0ZXJTdGFydE9mRGF5ID0gc3RhcnRPZkRheShsYXRlckRhdGVfKTtcbiAgY29uc3QgZWFybGllclN0YXJ0T2ZEYXkgPSBzdGFydE9mRGF5KGVhcmxpZXJEYXRlXyk7XG5cbiAgY29uc3QgbGF0ZXJUaW1lc3RhbXAgPVxuICAgICtsYXRlclN0YXJ0T2ZEYXkgLSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGxhdGVyU3RhcnRPZkRheSk7XG4gIGNvbnN0IGVhcmxpZXJUaW1lc3RhbXAgPVxuICAgICtlYXJsaWVyU3RhcnRPZkRheSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMoZWFybGllclN0YXJ0T2ZEYXkpO1xuXG4gIC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyIGJlY2F1c2UgdGhlIG51bWJlciBvZlxuICAvLyBtaWxsaXNlY29uZHMgaW4gYSBkYXkgaXMgbm90IGNvbnN0YW50IChlLmcuIGl0J3MgZGlmZmVyZW50IGluIHRoZSB3ZWVrIG9mXG4gIC8vIHRoZSBkYXlsaWdodCBzYXZpbmcgdGltZSBjbG9jayBzaGlmdCkuXG4gIHJldHVybiBNYXRoLnJvdW5kKChsYXRlclRpbWVzdGFtcCAtIGVhcmxpZXJUaW1lc3RhbXApIC8gbWlsbGlzZWNvbmRzSW5EYXkpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cztcbiIsIi8qKlxuICogQG5hbWUgaXNEYXRlXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiB2YWx1ZSBhIGRhdGU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIERhdGUuIFRoZSBmdW5jdGlvbiB3b3JrcyBmb3IgZGF0ZXMgdHJhbnNmZXJyZWQgYWNyb3NzIGlmcmFtZXMuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhIHZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUobmV3IERhdGUoKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gaW52YWxpZCBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNEYXRlKG5ldyBEYXRlKE5hTikpXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIHNvbWUgdmFsdWU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUoJzIwMTQtMDItMzEnKVxuICogLy89PiBmYWxzZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gb2JqZWN0OlxuICogY29uc3QgcmVzdWx0ID0gaXNEYXRlKHt9KVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgaW5zdGFuY2VvZiBEYXRlIHx8XG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gXCJbb2JqZWN0IERhdGVdXCIpXG4gICk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNEYXRlO1xuIiwiaW1wb3J0IHsgaXNEYXRlIH0gZnJvbSBcIi4vaXNEYXRlLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc1ZhbGlkXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIHZhbGlkP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJucyBmYWxzZSBpZiBhcmd1bWVudCBpcyBJbnZhbGlkIERhdGUgYW5kIHRydWUgb3RoZXJ3aXNlLlxuICogQXJndW1lbnQgaXMgY29udmVydGVkIHRvIERhdGUgdXNpbmcgYHRvRGF0ZWAuIFNlZSBbdG9EYXRlXShodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL3RvRGF0ZSlcbiAqIEludmFsaWQgRGF0ZSBpcyBhIERhdGUsIHdob3NlIHRpbWUgdmFsdWUgaXMgTmFOLlxuICpcbiAqIFRpbWUgdmFsdWUgb2YgRGF0ZTogaHR0cDovL2VzNS5naXRodWIuaW8vI3gxNS45LjEuMVxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyBUaGUgZGF0ZSBpcyB2YWxpZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc1ZhbGlkKG5ldyBEYXRlKDIwMTQsIDEsIDMxKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbHVlLCBjb252ZXJ0aWJsZSBpbnRvIGEgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQoMTM5MzgwNDgwMDAwMClcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIGludmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQobmV3IERhdGUoJycpKVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZChkYXRlKSB7XG4gIHJldHVybiAhKCghaXNEYXRlKGRhdGUpICYmIHR5cGVvZiBkYXRlICE9PSBcIm51bWJlclwiKSB8fCBpc05hTigrdG9EYXRlKGRhdGUpKSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNWYWxpZDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBYU8sU0FBUyxnQ0FBZ0MsTUFBTTtBQUNwRCxRQUFNLFFBQVEsT0FBTyxJQUFJO0FBQ3pCLFFBQU0sVUFBVSxJQUFJO0FBQUEsSUFDbEIsS0FBSztBQUFBLE1BQ0gsTUFBTSxZQUFXO0FBQUEsTUFDakIsTUFBTSxTQUFRO0FBQUEsTUFDZCxNQUFNLFFBQU87QUFBQSxNQUNiLE1BQU0sU0FBUTtBQUFBLE1BQ2QsTUFBTSxXQUFVO0FBQUEsTUFDaEIsTUFBTSxXQUFVO0FBQUEsTUFDaEIsTUFBTSxnQkFBZTtBQUFBLElBQzNCO0FBQUEsRUFDQTtBQUNFLFVBQVEsZUFBZSxNQUFNLGFBQWE7QUFDMUMsU0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNsQjtBQzFCTyxTQUFTLGVBQWUsWUFBWSxPQUFPO0FBQ2hELFFBQU0sWUFBWSxjQUFjO0FBQUEsSUFDOUI7QUFBQSxJQUNXLE1BQU0sS0FBSyxDQUFDLFNBQVMsT0FBTyxTQUFTLFFBQVE7QUFBQSxFQUM1RDtBQUNFLFNBQU8sTUFBTSxJQUFJLFNBQVM7QUFDNUI7QUNvQk8sU0FBUyxXQUFXLE1BQU0sU0FBUztBQUN4QyxRQUFNLFFBQVEsT0FBTyxNQUFNLFNBQVMsRUFBRTtBQUN0QyxRQUFNLFNBQVMsR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUN6QixTQUFPO0FBQ1Q7QUNRTyxTQUFTLHlCQUF5QixXQUFXLGFBQWEsU0FBUztBQUN4RSxRQUFNLENBQUMsWUFBWSxZQUFZLElBQUk7QUFBQSxJQUNqQyxTQUFTO0FBQUEsSUFDVDtBQUFBLElBQ0E7QUFBQSxFQUNKO0FBRUUsUUFBTSxrQkFBa0IsV0FBVyxVQUFVO0FBQzdDLFFBQU0sb0JBQW9CLFdBQVcsWUFBWTtBQUVqRCxRQUFNLGlCQUNKLENBQUMsa0JBQWtCLGdDQUFnQyxlQUFlO0FBQ3BFLFFBQU0sbUJBQ0osQ0FBQyxvQkFBb0IsZ0NBQWdDLGlCQUFpQjtBQUt4RSxTQUFPLEtBQUssT0FBTyxpQkFBaUIsb0JBQW9CLGlCQUFpQjtBQUMzRTtBQzNCTyxTQUFTLE9BQU8sT0FBTztBQUM1QixTQUNFLGlCQUFpQixRQUNoQixPQUFPLFVBQVUsWUFDaEIsT0FBTyxVQUFVLFNBQVMsS0FBSyxLQUFLLE1BQU07QUFFaEQ7QUNKTyxTQUFTLFFBQVEsTUFBTTtBQUM1QixTQUFPLEVBQUcsQ0FBQyxPQUFPLElBQUksS0FBSyxPQUFPLFNBQVMsWUFBYSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUM7QUFDN0U7IiwieF9nb29nbGVfaWdub3JlTGlzdCI6WzAsMSwyLDMsNCw1XX0=
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZC1CbzRSN2lBNy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9fbGliL25vcm1hbGl6ZURhdGVzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL3N0YXJ0T2ZEYXkuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2lzRGF0ZS5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc1ZhbGlkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBHb29nbGUgQ2hyb21lIGFzIG9mIDY3LjAuMzM5Ni44NyBpbnRyb2R1Y2VkIHRpbWV6b25lcyB3aXRoIG9mZnNldCB0aGF0IGluY2x1ZGVzIHNlY29uZHMuXG4gKiBUaGV5IHVzdWFsbHkgYXBwZWFyIGZvciBkYXRlcyB0aGF0IGRlbm90ZSB0aW1lIGJlZm9yZSB0aGUgdGltZXpvbmVzIHdlcmUgaW50cm9kdWNlZFxuICogKGUuZy4gZm9yICdFdXJvcGUvUHJhZ3VlJyB0aW1lem9uZSB0aGUgb2Zmc2V0IGlzIEdNVCswMDo1Nzo0NCBiZWZvcmUgMSBPY3RvYmVyIDE4OTFcbiAqIGFuZCBHTVQrMDE6MDA6MDAgYWZ0ZXIgdGhhdCBkYXRlKVxuICpcbiAqIERhdGUjZ2V0VGltZXpvbmVPZmZzZXQgcmV0dXJucyB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgYW5kIHdvdWxkIHJldHVybiA1NyBmb3IgdGhlIGV4YW1wbGUgYWJvdmUsXG4gKiB3aGljaCB3b3VsZCBsZWFkIHRvIGluY29ycmVjdCBjYWxjdWxhdGlvbnMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSB0aW1lem9uZSBvZmZzZXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGFrZXMgc2Vjb25kcyBpbiBhY2NvdW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUpO1xuICBjb25zdCB1dGNEYXRlID0gbmV3IERhdGUoXG4gICAgRGF0ZS5VVEMoXG4gICAgICBfZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgX2RhdGUuZ2V0TW9udGgoKSxcbiAgICAgIF9kYXRlLmdldERhdGUoKSxcbiAgICAgIF9kYXRlLmdldEhvdXJzKCksXG4gICAgICBfZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICBfZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICBfZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApLFxuICApO1xuICB1dGNEYXRlLnNldFVUQ0Z1bGxZZWFyKF9kYXRlLmdldEZ1bGxZZWFyKCkpO1xuICByZXR1cm4gK2RhdGUgLSArdXRjRGF0ZTtcbn1cbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi4vY29uc3RydWN0RnJvbS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRGF0ZXMoY29udGV4dCwgLi4uZGF0ZXMpIHtcbiAgY29uc3Qgbm9ybWFsaXplID0gY29uc3RydWN0RnJvbS5iaW5kKFxuICAgIG51bGwsXG4gICAgY29udGV4dCB8fCBkYXRlcy5maW5kKChkYXRlKSA9PiB0eXBlb2YgZGF0ZSA9PT0gXCJvYmplY3RcIiksXG4gICk7XG4gIHJldHVybiBkYXRlcy5tYXAobm9ybWFsaXplKTtcbn1cbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgc3RhcnRPZkRheX0gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZEYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIGRheSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGF5IGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIG9yaWdpbmFsIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgc3RhcnQgb2YgYSBkYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGEgZGF5IGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogY29uc3QgcmVzdWx0ID0gc3RhcnRPZkRheShuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBUdWUgU2VwIDAyIDIwMTQgMDA6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0T2ZEYXkoZGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlLCBvcHRpb25zPy5pbik7XG4gIF9kYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gX2RhdGU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgc3RhcnRPZkRheTtcbiIsImltcG9ydCB7IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgfSBmcm9tIFwiLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZURhdGVzIH0gZnJvbSBcIi4vX2xpYi9ub3JtYWxpemVEYXRlcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5EYXkgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IHN0YXJ0T2ZEYXkgfSBmcm9tIFwiLi9zdGFydE9mRGF5LmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgdGltZXMgYXJlIHJlbW92ZWRcbiAqIGZyb20gdGhlIGRhdGVzIGFuZCB0aGVuIHRoZSBkaWZmZXJlbmNlIGluIGRheXMgaXMgY2FsY3VsYXRlZC5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0XG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBjYWxlbmRhciBkYXlzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjAwOjAwIGFuZCAyIEp1bHkgMjAxMiAwMDowMDowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMiwgNiwgMiwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCAwKVxuICogKVxuICogLy89PiAzNjZcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMywgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCA1OSlcbiAqIClcbiAqIC8vPT4gMVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG5cbiAgY29uc3QgbGF0ZXJTdGFydE9mRGF5ID0gc3RhcnRPZkRheShsYXRlckRhdGVfKTtcbiAgY29uc3QgZWFybGllclN0YXJ0T2ZEYXkgPSBzdGFydE9mRGF5KGVhcmxpZXJEYXRlXyk7XG5cbiAgY29uc3QgbGF0ZXJUaW1lc3RhbXAgPVxuICAgICtsYXRlclN0YXJ0T2ZEYXkgLSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGxhdGVyU3RhcnRPZkRheSk7XG4gIGNvbnN0IGVhcmxpZXJUaW1lc3RhbXAgPVxuICAgICtlYXJsaWVyU3RhcnRPZkRheSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMoZWFybGllclN0YXJ0T2ZEYXkpO1xuXG4gIC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyIGJlY2F1c2UgdGhlIG51bWJlciBvZlxuICAvLyBtaWxsaXNlY29uZHMgaW4gYSBkYXkgaXMgbm90IGNvbnN0YW50IChlLmcuIGl0J3MgZGlmZmVyZW50IGluIHRoZSB3ZWVrIG9mXG4gIC8vIHRoZSBkYXlsaWdodCBzYXZpbmcgdGltZSBjbG9jayBzaGlmdCkuXG4gIHJldHVybiBNYXRoLnJvdW5kKChsYXRlclRpbWVzdGFtcCAtIGVhcmxpZXJUaW1lc3RhbXApIC8gbWlsbGlzZWNvbmRzSW5EYXkpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cztcbiIsIi8qKlxuICogQG5hbWUgaXNEYXRlXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiB2YWx1ZSBhIGRhdGU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIERhdGUuIFRoZSBmdW5jdGlvbiB3b3JrcyBmb3IgZGF0ZXMgdHJhbnNmZXJyZWQgYWNyb3NzIGlmcmFtZXMuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhIHZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUobmV3IERhdGUoKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gaW52YWxpZCBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNEYXRlKG5ldyBEYXRlKE5hTikpXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIHNvbWUgdmFsdWU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUoJzIwMTQtMDItMzEnKVxuICogLy89PiBmYWxzZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gb2JqZWN0OlxuICogY29uc3QgcmVzdWx0ID0gaXNEYXRlKHt9KVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgaW5zdGFuY2VvZiBEYXRlIHx8XG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gXCJbb2JqZWN0IERhdGVdXCIpXG4gICk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNEYXRlO1xuIiwiaW1wb3J0IHsgaXNEYXRlIH0gZnJvbSBcIi4vaXNEYXRlLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBAbmFtZSBpc1ZhbGlkXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIHZhbGlkP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJucyBmYWxzZSBpZiBhcmd1bWVudCBpcyBJbnZhbGlkIERhdGUgYW5kIHRydWUgb3RoZXJ3aXNlLlxuICogQXJndW1lbnQgaXMgY29udmVydGVkIHRvIERhdGUgdXNpbmcgYHRvRGF0ZWAuIFNlZSBbdG9EYXRlXShodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL3RvRGF0ZSlcbiAqIEludmFsaWQgRGF0ZSBpcyBhIERhdGUsIHdob3NlIHRpbWUgdmFsdWUgaXMgTmFOLlxuICpcbiAqIFRpbWUgdmFsdWUgb2YgRGF0ZTogaHR0cDovL2VzNS5naXRodWIuaW8vI3gxNS45LjEuMVxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyBUaGUgZGF0ZSBpcyB2YWxpZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc1ZhbGlkKG5ldyBEYXRlKDIwMTQsIDEsIDMxKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbHVlLCBjb252ZXJ0aWJsZSBpbnRvIGEgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQoMTM5MzgwNDgwMDAwMClcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIGludmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQobmV3IERhdGUoJycpKVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZChkYXRlKSB7XG4gIHJldHVybiAhKCghaXNEYXRlKGRhdGUpICYmIHR5cGVvZiBkYXRlICE9PSBcIm51bWJlclwiKSB8fCBpc05hTigrdG9EYXRlKGRhdGUpKSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgaXNWYWxpZDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBYU8sU0FBUyxnQ0FBZ0MsTUFBTTtBQUNwRCxRQUFNLFFBQVEsT0FBTyxJQUFJO0FBQ3pCLFFBQU0sVUFBVSxJQUFJO0FBQUEsSUFDbEIsS0FBSztBQUFBLE1BQ0gsTUFBTSxZQUFhO0FBQUEsTUFDbkIsTUFBTSxTQUFVO0FBQUEsTUFDaEIsTUFBTSxRQUFTO0FBQUEsTUFDZixNQUFNLFNBQVU7QUFBQSxNQUNoQixNQUFNLFdBQVk7QUFBQSxNQUNsQixNQUFNLFdBQVk7QUFBQSxNQUNsQixNQUFNLGdCQUFpQjtBQUFBLElBQ3hCO0FBQUEsRUFDRjtBQUNELFVBQVEsZUFBZSxNQUFNLGFBQWE7QUFDMUMsU0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNsQjtBQzFCTyxTQUFTLGVBQWUsWUFBWSxPQUFPO0FBQ2hELFFBQU0sWUFBWSxjQUFjO0FBQUEsSUFDOUI7QUFBQSxJQUNXLE1BQU0sS0FBSyxDQUFDLFNBQVMsT0FBTyxTQUFTLFFBQVE7QUFBQSxFQUN6RDtBQUNELFNBQU8sTUFBTSxJQUFJLFNBQVM7QUFDNUI7QUNvQk8sU0FBUyxXQUFXLE1BQU0sU0FBUztBQUN4QyxRQUFNLFFBQVEsT0FBTyxNQUFNLG1DQUFTLEVBQUU7QUFDdEMsUUFBTSxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDekIsU0FBTztBQUNUO0FDUU8sU0FBUyx5QkFBeUIsV0FBVyxhQUFhLFNBQVM7QUFDeEUsUUFBTSxDQUFDLFlBQVksWUFBWSxJQUFJO0FBQUEsSUFDakMsbUNBQVM7QUFBQSxJQUNUO0FBQUEsSUFDQTtBQUFBLEVBQ0Q7QUFFRCxRQUFNLGtCQUFrQixXQUFXLFVBQVU7QUFDN0MsUUFBTSxvQkFBb0IsV0FBVyxZQUFZO0FBRWpELFFBQU0saUJBQ0osQ0FBQyxrQkFBa0IsZ0NBQWdDLGVBQWU7QUFDcEUsUUFBTSxtQkFDSixDQUFDLG9CQUFvQixnQ0FBZ0MsaUJBQWlCO0FBS3hFLFNBQU8sS0FBSyxPQUFPLGlCQUFpQixvQkFBb0IsaUJBQWlCO0FBQzNFO0FDM0JPLFNBQVMsT0FBTyxPQUFPO0FBQzVCLFNBQ0UsaUJBQWlCLFFBQ2hCLE9BQU8sVUFBVSxZQUNoQixPQUFPLFVBQVUsU0FBUyxLQUFLLEtBQUssTUFBTTtBQUVoRDtBQ0pPLFNBQVMsUUFBUSxNQUFNO0FBQzVCLFNBQU8sRUFBRyxDQUFDLE9BQU8sSUFBSSxLQUFLLE9BQU8sU0FBUyxZQUFhLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQztBQUM3RTsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsMyw0LDVdfQ==
@@ -1,4 +1,3 @@
1
- import { SbbDateLike } from '@sbb-esta/lyne-elements/core/interfaces/types';
2
1
  import { SbbTitleLevel } from '@sbb-esta/lyne-elements/title.js';
3
2
  import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
4
3
  import { Leg } from '../core/timetable.js';
@@ -42,8 +41,11 @@ export declare class SbbJourneySummaryElement extends LitElement {
42
41
  * default: render walk-icon
43
42
  */
44
43
  accessor a11yFootpath: boolean;
45
- /** A configured date which acts as the current date instead of the real current date. Recommended for testing purposes. */
46
- set now(value: SbbDateLike | undefined);
44
+ /**
45
+ * A configured date which acts as the current date instead of the real current date.
46
+ * Only recommended for testing purposes.
47
+ */
48
+ set now(value: Date | undefined);
47
49
  get now(): Date;
48
50
  private _now;
49
51
  private _hasContentSlot;
@@ -1 +1 @@
1
- {"version":3,"file":"journey-summary.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/journey-summary/journey-summary.component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAIhD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAIhD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+CAA+C,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAEM,wBAAyB,SAAQ,UAAU;IAC/C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,qBAAqB;IACrB,SAA4C,IAAI,EAAE,oCAAoC,CAAS;IAE/F,yBAAyB;IACzB,SACgB,QAAQ,EAAE,oCAAoC,CAAS;IAEvE;;OAEG;IACH,SAEgB,SAAS,EAAE,OAAO,CAAS;IAE3C,gEAAgE;IAChE,SAAyD,WAAW,EAAE,aAAa,CAAO;IAE1F;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;;;OAKG;IACH,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAKzC,2EAA2E;IAC3E,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,yBAAyB;cAuBd,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"journey-summary.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/journey-summary/journey-summary.component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAIhD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAIhD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+CAA+C,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAEM,wBAAyB,SAAQ,UAAU;IAC/C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,qBAAqB;IACrB,SAA4C,IAAI,EAAE,oCAAoC,CAAS;IAE/F,yBAAyB;IACzB,SACgB,QAAQ,EAAE,oCAAoC,CAAS;IAEvE;;OAEG;IACH,SAEgB,SAAS,EAAE,OAAO,CAAS;IAE3C,gEAAgE;IAChE,SAAyD,WAAW,EAAE,aAAa,CAAO;IAE1F;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;;;OAKG;IACH,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAErC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAKzC,2EAA2E;IAC3E,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,yBAAyB;cAuBd,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
@@ -17,8 +17,8 @@ import "@sbb-esta/lyne-elements/divider.js";
17
17
  import "@sbb-esta/lyne-elements/screen-reader-only.js";
18
18
  import "@sbb-esta/lyne-elements/journey-header.js";
19
19
  import "../pearl-chain-time.js";
20
- import { i as isValid } from "../isValid-DvieCZVi.js";
21
- import { f as format } from "../format-BQfaa1ZT.js";
20
+ import { i as isValid } from "../isValid-Bo4R7iA7.js";
21
+ import { f as format } from "../format-D0-yhzi4.js";
22
22
  const style = css`*,
23
23
  ::before,
24
24
  ::after {
@@ -169,7 +169,10 @@ let SbbJourneySummaryElement = (() => {
169
169
  set a11yFootpath(value) {
170
170
  __privateSet(this, _a11yFootpath_accessor_storage, value);
171
171
  }
172
- /** A configured date which acts as the current date instead of the real current date. Recommended for testing purposes. */
172
+ /**
173
+ * A configured date which acts as the current date instead of the real current date.
174
+ * Only recommended for testing purposes.
175
+ */
173
176
  set now(value) {
174
177
  this._now = defaultDateAdapter.getValidDateOrNull(defaultDateAdapter.deserialize(value));
175
178
  }
@@ -177,8 +180,9 @@ let SbbJourneySummaryElement = (() => {
177
180
  return this._now ?? /* @__PURE__ */ new Date();
178
181
  }
179
182
  connectedCallback() {
183
+ var _a2;
180
184
  super.connectedCallback();
181
- this._hasContentSlot = Boolean(this.querySelector?.('[slot="content"]'));
185
+ this._hasContentSlot = Boolean((_a2 = this.querySelector) == null ? void 0 : _a2.call(this, '[slot="content"]'));
182
186
  }
183
187
  /** renders the date of the journey or if it is the current or next day */
184
188
  _renderJourneyStart(departureTime, duration) {
@@ -293,4 +297,4 @@ let SbbJourneySummaryElement = (() => {
293
297
  export {
294
298
  SbbJourneySummaryElement
295
299
  };
296
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9qb3VybmV5LXN1bW1hcnkvam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5UcmlwRHVyYXRpb24gfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlTGlrZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy90aXRsZS5qcyc7XG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBkdXJhdGlvblRvVGltZSwgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyB9IGZyb20gJy4uL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHR5cGUgeyBMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktc3VtbWFyeS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2RpdmlkZXIuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9qb3VybmV5LWhlYWRlci5qcyc7XG5pbXBvcnQgJy4uL3BlYXJsLWNoYWluLXRpbWUuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyB7XG4gIGxlZ3M6IExlZ1tdO1xuICB2aWFzPzogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICBhcnJpdmFsV2Fsaz86IG51bWJlcjtcbiAgZGVwYXJ0dXJlOiBzdHJpbmc7XG4gIGFycml2YWw6IHN0cmluZztcbiAgZGVwYXJ0dXJlV2Fsaz86IG51bWJlcjtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgam91cm5leSdzIGluZm9ybWF0aW9uLlxuICpcbiAqIEBzbG90IGNvbnRlbnQgLSBVc2UgdGhpcyBzbG90IHRvIGFkZCBgc2JiLWJ1dHRvbmBzIG9yIG90aGVyIGludGVyYWN0aXZlIGVsZW1lbnRzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItam91cm5leS1zdW1tYXJ5JylcbmNsYXNzIFNiYkpvdXJuZXlTdW1tYXJ5RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogIFRoZSB0cmlwIHByb3AgKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogT2JqZWN0IH0pIHB1YmxpYyBhY2Nlc3NvciB0cmlwOiBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMgPSBudWxsITtcblxuICAvKiogIFRoZSB0cmlwQmFjayBwcm9wICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyaXAtYmFjaycsIHR5cGU6IE9iamVjdCB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpcEJhY2s6IEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyA9IG51bGwhO1xuXG4gIC8qKlxuICAgKiBUaGUgUm91bmRUcmlwIHByb3AuIFRoaXMgcHJvcCBjb250cm9scyBpZiBvbmUgb3IgdHdvIGFycm93cyBhcmUgZGlzcGxheWVkIGluIHRoZSBoZWFkZXIuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncm91bmQtdHJpcCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHJvdW5kVHJpcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIZWFkaW5nIGxldmVsIG9mIHRoZSBqb3VybmV5IGhlYWRlciBlbGVtZW50IChlLmcuIGgxLWg2KS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGVhZGVyLWxldmVsJyB9KSBwdWJsaWMgYWNjZXNzb3IgaGVhZGVyTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqXG4gICAqIFBlciBkZWZhdWx0LCB0aGUgY3VycmVudCBsb2NhdGlvbiBoYXMgYSBwdWxzYXRpbmcgYW5pbWF0aW9uLiBZb3UgY2FuXG4gICAqIGRpc2FibGUgdGhlIGFuaW1hdGlvbiB3aXRoIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZS1hbmltYXRpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNhYmxlQW5pbWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBGb290cGF0aCBhdHRyaWJ1dGUgZm9yIHJlbmRlcmluZyBkaWZmZXJlbnQgaWNvbnNcbiAgICogdHJ1ZTogcmVuZGVyIGExMXktaWNvblxuICAgKiBmYWxzZTogcmVuZGVyIHdhbGstaWNvblxuICAgKiBkZWZhdWx0OiByZW5kZXIgd2Fsay1pY29uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYTExeS1mb290cGF0aCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGExMXlGb290cGF0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBBIGNvbmZpZ3VyZWQgZGF0ZSB3aGljaCBhY3RzIGFzIHRoZSBjdXJyZW50IGRhdGUgaW5zdGVhZCBvZiB0aGUgcmVhbCBjdXJyZW50IGRhdGUuIFJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG5vdyh2YWx1ZTogU2JiRGF0ZUxpa2UgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9oYXNDb250ZW50U2xvdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5faGFzQ29udGVudFNsb3QgPSBCb29sZWFuKHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdbc2xvdD1cImNvbnRlbnRcIl0nKSk7XG4gIH1cblxuICAvKiogIHJlbmRlcnMgdGhlIGRhdGUgb2YgdGhlIGpvdXJuZXkgb3IgaWYgaXQgaXMgdGhlIGN1cnJlbnQgb3IgbmV4dCBkYXkgKi9cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leVN0YXJ0KFxuICAgIGRlcGFydHVyZVRpbWU6IERhdGUgfCB1bmRlZmluZWQsXG4gICAgZHVyYXRpb246IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgKTogVGVtcGxhdGVSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gZGVmYXVsdERhdGVBZGFwdGVyO1xuICAgIGNvbnN0IGR1cmF0aW9uT2JqID0gZHVyYXRpb24gPyBkdXJhdGlvblRvVGltZShkdXJhdGlvbiwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgOiBudWxsO1xuXG4gICAgaWYgKGlzVmFsaWQoZGVwYXJ0dXJlVGltZSkpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8dGltZSBkYXRldGltZT0ke2Zvcm1hdChkZXBhcnR1cmVUaW1lISwgJ2QnKSArICcgJyArIGZvcm1hdChkZXBhcnR1cmVUaW1lISwgJ00nKX0+XG4gICAgICAgICAgJHtkYXRlQWRhcHRlci5mb3JtYXQoZGVwYXJ0dXJlVGltZSkucmVwbGFjZSgnLCcsICcuJyl9PC90aW1lXG4gICAgICAgID4ke2R1cmF0aW9uICYmIGR1cmF0aW9uID4gMFxuICAgICAgICAgID8gaHRtbGAsPHRpbWU+XG4gICAgICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICAgICAke2kxOG5UcmlwRHVyYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7ZHVyYXRpb25PYmohLmxvbmd9XG4gICAgICAgICAgICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7ZHVyYXRpb25PYmohLnNob3J0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICBgO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzOiBzdHJpbmdbXSk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBzbGljZWRWaWFzID0gdmlhcy5zbGljZSgwLCA1KTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtYmxvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtdGV4dFwiPlZpYTwvc3Bhbj5cbiAgICAgICAgPHVsIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhc1wiIHJvbGU9JHt2aWFzLmxlbmd0aCA8PSAxID8gJ3ByZXNlbnRhdGlvbicgOiBub3RoaW5nfT5cbiAgICAgICAgICAke3NsaWNlZFZpYXMubWFwKFxuICAgICAgICAgICAgKHZpYSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGh0bWxgPGxpIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhXCI+XG4gICAgICAgICAgICAgICAgJHt2aWF9JHtpbmRleCAhPT0gc2xpY2VkVmlhcy5sZW5ndGggLSAxICYmIGluZGV4IDwgNFxuICAgICAgICAgICAgICAgICAgPyBodG1sYDxzcGFuPiw8L3NwYW4+YFxuICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8L2xpPmAsXG4gICAgICAgICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHsgdmlhcywgZHVyYXRpb24sIGRlcGFydHVyZVdhbGssIGRlcGFydHVyZSwgYXJyaXZhbFdhbGssIGFycml2YWwsIGxlZ3MgfSA9IHRyaXAgfHwge307XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXY+XG4gICAgICAgICR7dmlhcyAmJiB2aWFzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzKSA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19kYXRlXCI+XG4gICAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5U3RhcnQocmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhkZXBhcnR1cmUpLCBkdXJhdGlvbil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2JiLXBlYXJsLWNoYWluLXRpbWVcbiAgICAgICAgICAuYXJyaXZhbFRpbWU9JHthcnJpdmFsfVxuICAgICAgICAgIC5kZXBhcnR1cmVUaW1lPSR7ZGVwYXJ0dXJlfVxuICAgICAgICAgIC5kZXBhcnR1cmVXYWxrPSR7ZGVwYXJ0dXJlV2Fsa31cbiAgICAgICAgICAuYXJyaXZhbFdhbGs9JHthcnJpdmFsV2Fsa31cbiAgICAgICAgICAubGVncz0ke2xlZ3N9XG4gICAgICAgICAgLmRpc2FibGVBbmltYXRpb249JHt0aGlzLmRpc2FibGVBbmltYXRpb259XG4gICAgICAgICAgLmExMXlGb290cGF0aD0ke3RoaXMuYTExeUZvb3RwYXRofVxuICAgICAgICAgIC5ub3c9JHt0aGlzLm5vd31cbiAgICAgICAgPjwvc2JiLXBlYXJsLWNoYWluLXRpbWU+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgeyBvcmlnaW4sIGRlc3RpbmF0aW9uIH0gPSB0aGlzLnRyaXAgfHwge307XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeVwiPlxuICAgICAgICAke29yaWdpblxuICAgICAgICAgID8gaHRtbGA8c2JiLWpvdXJuZXktaGVhZGVyXG4gICAgICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICAgICAgLmxldmVsPSR7dGhpcy5oZWFkZXJMZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICAub3JpZ2luPSR7b3JpZ2lufVxuICAgICAgICAgICAgICAuZGVzdGluYXRpb249JHtkZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICAgLnJvdW5kVHJpcD0ke3RoaXMucm91bmRUcmlwID8/IG5vdGhpbmd9XG4gICAgICAgICAgICA+PC9zYmItam91cm5leS1oZWFkZXI+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odGhpcy50cmlwKX1cbiAgICAgICAgJHt0aGlzLnRyaXBCYWNrXG4gICAgICAgICAgPyBodG1sYDxkaXY+XG4gICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX2RpdmlkZXJcIj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlckpvdXJuZXlJbmZvcm1hdGlvbih0aGlzLnRyaXBCYWNrKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7dGhpcy5faGFzQ29udGVudFNsb3RcbiAgICAgICAgICA/IGh0bWxgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19zbG90XCI+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJjb250ZW50XCI+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1qb3VybmV5LXN1bW1hcnknOiBTYmJKb3VybmV5U3VtbWFyeUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBd0NNLDRCQUF3QixNQUFBOzswQkFEN0IsY0FBYyxxQkFBcUIsQ0FBQzs7OztvQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQVIsRUFBQSxtQkFBUSxZQUFVO0FBQUE7O0FBSW5CO0FBSTVCO0FBT0E7QUFHeUM7QUFRekM7QUFVQTtBQWhDNEMseUJBQUEseUJBSnhDLGtCQUFBLE1BQUEsMEJBQUEsR0FBd0Isa0JBQUEsTUFBQSxvQkFJNkQsSUFBSztBQUk5RSx5QkFBQSw2QkFBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBaUQsSUFBSztBQU90RCx5QkFBQSw4QkFBQSxrQkFBQSxNQUFBLDJCQUFBLEdBQUEsa0JBQUEsTUFBQSx5QkFBcUIsS0FBSztBQUdlLHlCQUFBLGdDQUFBLGtCQUFBLE1BQUEsNEJBQUEsR0FBQSxrQkFBQSxNQUFBLDJCQUE2QixHQUFHO0FBUXpFLHlCQUFBLHFDQUFBLGtCQUFBLE1BQUEsOEJBQUEsR0FBQSxrQkFBQSxNQUFBLGdDQUE0QixLQUFLO0FBVWpDLHlCQUFBLGlDQUFBLGtCQUFBLE1BQUEsbUNBQUEsR0FBQSxrQkFBQSxNQUFBLDRCQUF3QixLQUFLO0FBVXJDLFdBQUEsUUFBSSxrQkFBQSxNQUFBLCtCQUFBLEdBQWdCO0FBRXBCLFdBQUEsa0JBQTJCO0FBQzNC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
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9qb3VybmV5LXN1bW1hcnkvam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5UcmlwRHVyYXRpb24gfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvdGl0bGUuanMnO1xuaW1wb3J0IHsgZm9ybWF0LCBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZHVyYXRpb25Ub1RpbWUsIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9qb3VybmV5LXN1bW1hcnkuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9kaXZpZGVyLmpzJztcbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvam91cm5leS1oZWFkZXIuanMnO1xuaW1wb3J0ICcuLi9wZWFybC1jaGFpbi10aW1lLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMge1xuICBsZWdzOiBMZWdbXTtcbiAgdmlhcz86IHN0cmluZ1tdO1xuICBvcmlnaW46IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgYXJyaXZhbFdhbGs/OiBudW1iZXI7XG4gIGRlcGFydHVyZTogc3RyaW5nO1xuICBhcnJpdmFsOiBzdHJpbmc7XG4gIGRlcGFydHVyZVdhbGs/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGpvdXJuZXkncyBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCBjb250ZW50IC0gVXNlIHRoaXMgc2xvdCB0byBhZGQgYHNiYi1idXR0b25gcyBvciBvdGhlciBpbnRlcmFjdGl2ZSBlbGVtZW50cy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWpvdXJuZXktc3VtbWFyeScpXG5jbGFzcyBTYmJKb3VybmV5U3VtbWFyeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqICBUaGUgdHJpcCBwcm9wICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE9iamVjdCB9KSBwdWJsaWMgYWNjZXNzb3IgdHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzID0gbnVsbCE7XG5cbiAgLyoqICBUaGUgdHJpcEJhY2sgcHJvcCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0cmlwLWJhY2snLCB0eXBlOiBPYmplY3QgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRyaXBCYWNrOiBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMgPSBudWxsITtcblxuICAvKipcbiAgICogVGhlIFJvdW5kVHJpcCBwcm9wLiBUaGlzIHByb3AgY29udHJvbHMgaWYgb25lIG9yIHR3byBhcnJvd3MgYXJlIGRpc3BsYXllZCBpbiB0aGUgaGVhZGVyLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3JvdW5kLXRyaXAnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByb3VuZFRyaXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSGVhZGluZyBsZXZlbCBvZiB0aGUgam91cm5leSBoZWFkZXIgZWxlbWVudCAoZS5nLiBoMS1oNikuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hlYWRlci1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIGhlYWRlckxldmVsOiBTYmJUaXRsZUxldmVsID0gJzMnO1xuXG4gIC8qKlxuICAgKiBQZXIgZGVmYXVsdCwgdGhlIGN1cnJlbnQgbG9jYXRpb24gaGFzIGEgcHVsc2F0aW5nIGFuaW1hdGlvbi4gWW91IGNhblxuICAgKiBkaXNhYmxlIHRoZSBhbmltYXRpb24gd2l0aCB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgRm9vdHBhdGggYXR0cmlidXRlIGZvciByZW5kZXJpbmcgZGlmZmVyZW50IGljb25zXG4gICAqIHRydWU6IHJlbmRlciBhMTF5LWljb25cbiAgICogZmFsc2U6IHJlbmRlciB3YWxrLWljb25cbiAgICogZGVmYXVsdDogcmVuZGVyIHdhbGstaWNvblxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ExMXktZm9vdHBhdGgnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLlxuICAgKiBPbmx5IHJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9oYXNDb250ZW50U2xvdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5faGFzQ29udGVudFNsb3QgPSBCb29sZWFuKHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdbc2xvdD1cImNvbnRlbnRcIl0nKSk7XG4gIH1cblxuICAvKiogIHJlbmRlcnMgdGhlIGRhdGUgb2YgdGhlIGpvdXJuZXkgb3IgaWYgaXQgaXMgdGhlIGN1cnJlbnQgb3IgbmV4dCBkYXkgKi9cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leVN0YXJ0KFxuICAgIGRlcGFydHVyZVRpbWU6IERhdGUgfCB1bmRlZmluZWQsXG4gICAgZHVyYXRpb246IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgKTogVGVtcGxhdGVSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gZGVmYXVsdERhdGVBZGFwdGVyO1xuICAgIGNvbnN0IGR1cmF0aW9uT2JqID0gZHVyYXRpb24gPyBkdXJhdGlvblRvVGltZShkdXJhdGlvbiwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgOiBudWxsO1xuXG4gICAgaWYgKGlzVmFsaWQoZGVwYXJ0dXJlVGltZSkpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8dGltZSBkYXRldGltZT0ke2Zvcm1hdChkZXBhcnR1cmVUaW1lISwgJ2QnKSArICcgJyArIGZvcm1hdChkZXBhcnR1cmVUaW1lISwgJ00nKX0+XG4gICAgICAgICAgJHtkYXRlQWRhcHRlci5mb3JtYXQoZGVwYXJ0dXJlVGltZSkucmVwbGFjZSgnLCcsICcuJyl9PC90aW1lXG4gICAgICAgID4ke2R1cmF0aW9uICYmIGR1cmF0aW9uID4gMFxuICAgICAgICAgID8gaHRtbGAsPHRpbWU+XG4gICAgICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICAgICAke2kxOG5UcmlwRHVyYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7ZHVyYXRpb25PYmohLmxvbmd9XG4gICAgICAgICAgICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7ZHVyYXRpb25PYmohLnNob3J0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICBgO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzOiBzdHJpbmdbXSk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBzbGljZWRWaWFzID0gdmlhcy5zbGljZSgwLCA1KTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtYmxvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtdGV4dFwiPlZpYTwvc3Bhbj5cbiAgICAgICAgPHVsIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhc1wiIHJvbGU9JHt2aWFzLmxlbmd0aCA8PSAxID8gJ3ByZXNlbnRhdGlvbicgOiBub3RoaW5nfT5cbiAgICAgICAgICAke3NsaWNlZFZpYXMubWFwKFxuICAgICAgICAgICAgKHZpYSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGh0bWxgPGxpIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhXCI+XG4gICAgICAgICAgICAgICAgJHt2aWF9JHtpbmRleCAhPT0gc2xpY2VkVmlhcy5sZW5ndGggLSAxICYmIGluZGV4IDwgNFxuICAgICAgICAgICAgICAgICAgPyBodG1sYDxzcGFuPiw8L3NwYW4+YFxuICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8L2xpPmAsXG4gICAgICAgICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHsgdmlhcywgZHVyYXRpb24sIGRlcGFydHVyZVdhbGssIGRlcGFydHVyZSwgYXJyaXZhbFdhbGssIGFycml2YWwsIGxlZ3MgfSA9IHRyaXAgfHwge307XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXY+XG4gICAgICAgICR7dmlhcyAmJiB2aWFzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzKSA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19kYXRlXCI+XG4gICAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5U3RhcnQocmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhkZXBhcnR1cmUpLCBkdXJhdGlvbil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2JiLXBlYXJsLWNoYWluLXRpbWVcbiAgICAgICAgICAuYXJyaXZhbFRpbWU9JHthcnJpdmFsfVxuICAgICAgICAgIC5kZXBhcnR1cmVUaW1lPSR7ZGVwYXJ0dXJlfVxuICAgICAgICAgIC5kZXBhcnR1cmVXYWxrPSR7ZGVwYXJ0dXJlV2Fsa31cbiAgICAgICAgICAuYXJyaXZhbFdhbGs9JHthcnJpdmFsV2Fsa31cbiAgICAgICAgICAubGVncz0ke2xlZ3N9XG4gICAgICAgICAgLmRpc2FibGVBbmltYXRpb249JHt0aGlzLmRpc2FibGVBbmltYXRpb259XG4gICAgICAgICAgLmExMXlGb290cGF0aD0ke3RoaXMuYTExeUZvb3RwYXRofVxuICAgICAgICAgIC5ub3c9JHt0aGlzLm5vd31cbiAgICAgICAgPjwvc2JiLXBlYXJsLWNoYWluLXRpbWU+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgeyBvcmlnaW4sIGRlc3RpbmF0aW9uIH0gPSB0aGlzLnRyaXAgfHwge307XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeVwiPlxuICAgICAgICAke29yaWdpblxuICAgICAgICAgID8gaHRtbGA8c2JiLWpvdXJuZXktaGVhZGVyXG4gICAgICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICAgICAgLmxldmVsPSR7dGhpcy5oZWFkZXJMZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICAub3JpZ2luPSR7b3JpZ2lufVxuICAgICAgICAgICAgICAuZGVzdGluYXRpb249JHtkZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICAgLnJvdW5kVHJpcD0ke3RoaXMucm91bmRUcmlwID8/IG5vdGhpbmd9XG4gICAgICAgICAgICA+PC9zYmItam91cm5leS1oZWFkZXI+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odGhpcy50cmlwKX1cbiAgICAgICAgJHt0aGlzLnRyaXBCYWNrXG4gICAgICAgICAgPyBodG1sYDxkaXY+XG4gICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX2RpdmlkZXJcIj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlckpvdXJuZXlJbmZvcm1hdGlvbih0aGlzLnRyaXBCYWNrKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7dGhpcy5faGFzQ29udGVudFNsb3RcbiAgICAgICAgICA/IGh0bWxgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19zbG90XCI+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJjb250ZW50XCI+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1qb3VybmV5LXN1bW1hcnknOiBTYmJKb3VybmV5U3VtbWFyeUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVDTSw0QkFBd0IsTUFBQTs7MEJBRDdCLGNBQWMscUJBQXFCLENBQUM7Ozs7b0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUluQjtBQUk1QjtBQU9BO0FBR3lDO0FBUXpDO0FBVUE7QUFwQ0kseUJBQUEseUJBQUEsa0JBQUEsTUFBQSwwQkFBQSxHQUlxRixrQkFBQSxNQUFBLG9CQUFBLElBQUs7QUFJOUUseUJBQUEsNkJBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQWlELElBQUs7QUFPdEQseUJBQUEsOEJBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEseUJBQXFCLEtBQUs7QUFHZSx5QkFBQSxnQ0FBQSxrQkFBQSxNQUFBLDRCQUFBLEdBQUEsa0JBQUEsTUFBQSwyQkFBNkIsR0FBRztBQVF6RSx5QkFBQSxxQ0FBQSxrQkFBQSxNQUFBLDhCQUFBLEdBQUEsa0JBQUEsTUFBQSxnQ0FBNEIsS0FBSztBQVVqQyx5QkFBQSxpQ0FBQSxrQkFBQSxNQUFBLG1DQUFBLEdBQUEsa0JBQUEsTUFBQSw0QkFBd0IsS0FBSztBQWFyQyxXQUFJLFFBQUEsa0JBQUEsTUFBQSwrQkFBQSxHQUFnQjtBQUVwQixXQUFlLGtCQUFZO0FBQzNCLFdBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFoRHRCLElBQWdCLE9BQW1EO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFuRSxJQUFnQixLQUFtRCxPQUFBO0FBQUEseUJBQUEsd0JBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUkvRixJQUFnQixXQUF1RDtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBdkUsSUFBZ0IsU0FBdUQsT0FBQTtBQUFBLHlCQUFBLDRCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT3ZFLElBQWdCLFlBQTJCO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUEzQyxJQUFnQixVQUEyQixPQUFBO0FBQUEseUJBQUEsNkJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUdGLElBQWdCLGNBQWlDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFqRCxJQUFnQixZQUFpQyxPQUFBO0FBQUEseUJBQUEsK0JBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVExRixJQUFnQixtQkFBa0M7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQWxELElBQWdCLGlCQUFrQyxPQUFBO0FBQUEseUJBQUEsb0NBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFVbEQsSUFBZ0IsZUFBOEI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTlDLElBQWdCLGFBQThCLE9BQUE7QUFBQSx5QkFBQSxnQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBTzlDLElBQVcsSUFBSSxPQUF1QjtBQUNwQyxXQUFLLE9BQU8sbUJBQW1CLG1CQUFtQixtQkFBbUIsWUFBWSxLQUFLLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFFekYsSUFBVyxNQUFHO0FBQ0wsYUFBQSxLQUFLLFFBQVEsb0JBQUk7O0lBT1Ysb0JBQWlCOztBQUMvQixZQUFNLGtCQUFpQjtBQUN2QixXQUFLLGtCQUFrQixTQUFRQSxNQUFBLEtBQUssa0JBQUwsZ0JBQUFBLElBQUEsV0FBcUIsbUJBQW1CO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJakUsb0JBQ04sZUFDQSxVQUE0QjtBQUU1QixZQUFNLGNBQWM7QUFDcEIsWUFBTSxjQUFjLFdBQVcsZUFBZSxVQUFVLEtBQUssVUFBVSxPQUFPLElBQUk7QUFFOUUsVUFBQSxRQUFRLGFBQWEsR0FBRztBQUNuQixlQUFBO0FBQUEseUJBQ1ksT0FBTyxlQUFnQixHQUFHLElBQUksTUFBTSxPQUFPLGVBQWdCLEdBQUcsQ0FBQztBQUFBLFlBQzVFLFlBQVksT0FBTyxhQUFhLEVBQUUsUUFBUSxLQUFLLEdBQUcsQ0FBQztBQUFBLFdBQ3BELFlBQVksV0FBVyxJQUN0QjtBQUFBO0FBQUEsb0JBRVEsaUJBQWlCLEtBQUssVUFBVSxPQUFPLENBQUMsSUFBSSxZQUFhLElBQUk7QUFBQTtBQUFBLDJDQUV0QyxZQUFhLEtBQUs7QUFBQSx5QkFFakQsT0FBTztBQUFBO0FBQUEsTUFBQTtBQUdmO0FBQUEsSUFBQTtBQUFBLElBR00sbUJBQW1CLE1BQWM7QUFDdkMsWUFBTSxhQUFhLEtBQUssTUFBTSxHQUFHLENBQUM7QUFDM0IsYUFBQTtBQUFBO0FBQUE7QUFBQSxxREFHMEMsS0FBSyxVQUFVLElBQUksaUJBQWlCLE9BQU87QUFBQSxZQUNwRixXQUFXLElBQ1gsQ0FBQyxLQUFLLFVBQ0o7QUFBQSxrQkFDSSxHQUFHLEdBQUcsVUFBVSxXQUFXLFNBQVMsS0FBSyxRQUFRLElBQy9DLHVCQUNBLE9BQU87QUFBQSxvQkFDUCxDQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBLElBTUQsMEJBQTBCLE1BQTBDO0FBQ3BFLFlBQUEsRUFBRSxNQUFNLFVBQVUsZUFBZSxXQUFXLGFBQWEsU0FBUyxTQUFTLFFBQVE7QUFFbEYsYUFBQTtBQUFBO0FBQUEsVUFFRCxRQUFRLEtBQUssU0FBUyxJQUFJLEtBQUssbUJBQW1CLElBQUksSUFBSSxPQUFPO0FBQUE7QUFBQSxZQUUvRCxLQUFLLG9CQUFvQixnQ0FBZ0MsU0FBUyxHQUFHLFFBQVEsQ0FBQztBQUFBO0FBQUE7QUFBQSx5QkFHakUsT0FBTztBQUFBLDJCQUNMLFNBQVM7QUFBQSwyQkFDVCxhQUFhO0FBQUEseUJBQ2YsV0FBVztBQUFBLGtCQUNsQixJQUFJO0FBQUEsOEJBQ1EsS0FBSyxnQkFBZ0I7QUFBQSwwQkFDekIsS0FBSyxZQUFZO0FBQUEsaUJBQzFCLEtBQUssR0FBRztBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQSxJQU1KLFNBQU07QUFDdkIsWUFBTSxFQUFFLFFBQVEsWUFBZ0IsSUFBQSxLQUFLLFFBQVEsQ0FBQTtBQUN0QyxhQUFBO0FBQUE7QUFBQSxVQUVELFNBQ0U7QUFBQTtBQUFBLHVCQUVXLEtBQUssZUFBZSxPQUFPO0FBQUEsd0JBQzFCLE1BQU07QUFBQSw2QkFDRCxXQUFXO0FBQUEsMkJBQ2IsS0FBSyxhQUFhLE9BQU87QUFBQSxzQ0FFeEMsT0FBTztBQUFBLFVBQ1QsS0FBSywwQkFBMEIsS0FBSyxJQUFJLENBQUM7QUFBQSxVQUN6QyxLQUFLLFdBQ0g7QUFBQTtBQUFBLGdCQUVJLEtBQUssMEJBQTBCLEtBQUssUUFBUSxDQUFDO0FBQUEsc0JBRWpELE9BQU87QUFBQSxVQUNULEtBQUssa0JBQ0g7QUFBQTtBQUFBLHNCQUdBLE9BQU87QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBLEtBbEpXLHdDQUk1Qiw0Q0FPQSw2Q0FHeUMsK0NBUXpDLG9EQVVBOztBQWhDQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxNQUFNLE9BQVEsQ0FBQSxDQUFDOzRCQUcxQixTQUFTLEVBQUUsV0FBVyxhQUFhLE1BQU0sT0FBQSxDQUFRLENBQUM7QUFNbEQsNEJBQUEsQ0FBQSxVQUFXLEdBQ1gsU0FBUyxFQUFFLFdBQVcsY0FBYyxNQUFNLFNBQVMsQ0FBQztBQUlwRCw4QkFBQSxDQUFBLFNBQVMsRUFBRSxXQUFXLGVBQWdCLENBQUEsQ0FBQztBQU12QyxtQ0FBQSxDQUFBLFVBQVcsR0FDWCxTQUFTLEVBQUUsV0FBVyxxQkFBcUIsTUFBTSxTQUFTLENBQUM7QUFTM0QsK0JBQUEsQ0FBQSxVQUFXLEdBQ1gsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLE1BQU0sU0FBUyxDQUFDO0FBT3ZELDBCQUFBLENBQUEsVUFBVTtBQXRDaUMsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxNQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLE9BQW1EO0FBQUEsU0FBQSxVQUFBLGFBQUEsb0JBQUEsdUJBQUE7QUFJL0UsaUJBQUEsSUFBQSxNQUFBLHNCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsWUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxjQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxVQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLFdBQXVEO0FBQUEsU0FBQSxVQUFBLGFBQUEsd0JBQUEsMkJBQUE7QUFPdkQsaUJBQUEsSUFBQSxNQUFBLHVCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsYUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxlQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxXQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLFlBQTJCO0FBQUEsU0FBQSxVQUFBLGFBQUEseUJBQUEsNEJBQUE7QUFHYyxpQkFBQSxJQUFBLE1BQUEseUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxlQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGlCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxhQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGNBQWlDO0FBQUEsU0FBQSxVQUFBLGFBQUEsMkJBQUEsOEJBQUE7QUFRMUUsaUJBQUEsSUFBQSxNQUFBLDhCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsb0JBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsc0JBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLGtCQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLG1CQUFrQztBQUFBLFNBQUEsVUFBQSxhQUFBLGdDQUFBLG1DQUFBO0FBVWxDLGlCQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGdCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGtCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxjQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGVBQThCO0FBQUEsU0FBQSxVQUFBLGFBQUEsNEJBQUEsK0JBQUE7QUFPOUMsaUJBQUEsSUFBQSxNQUFBLHFCQUFBLEVBQUEsTUFBQSxVQUFBLE1BQUEsT0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxTQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVcsTUFFVjtBQUFBLFNBQUEsVUFBQSxhQUFBLE1BQUEsMEJBQUE7QUE3Q0gsaUJBMEpDLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUF6SndCLEdBQU0sU0FBbUIsT0FENUMsa0JBQXdCLFlBQUEsdUJBQUEsR0FBQzs7OyJ9
@@ -1,4 +1,3 @@
1
- import { SbbDateLike } from '@sbb-esta/lyne-elements/core/interfaces/types';
2
1
  import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
3
2
  import { Leg, PtRideLeg } from '../core/timetable.js';
4
3
  /**
@@ -20,8 +19,11 @@ export declare class SbbPearlChainElement extends LitElement {
20
19
  * disable the animation with this property.
21
20
  */
22
21
  accessor disableAnimation: boolean;
23
- /** A configured date which acts as the current date instead of the real current date. Recommended for testing purposes. */
24
- set now(value: SbbDateLike | undefined);
22
+ /**
23
+ * A configured date which acts as the current date instead of the real current date.
24
+ * Only recommended for testing purposes.
25
+ */
26
+ set now(value: Date | null);
25
27
  get now(): Date | null;
26
28
  private _now;
27
29
  private _getAllDuration;
@@ -1 +1 @@
1
- {"version":3,"file":"pearl-chain.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain/pearl-chain.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBAEM,oBAAqB,SAAQ,UAAU;IAC3C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;CA+I5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
1
+ {"version":3,"file":"pearl-chain.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain/pearl-chain.component.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBAEM,oBAAqB,SAAQ,UAAU;IAC3C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAEhC;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;CA4I5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -13,7 +13,7 @@ import { customElement, property } from "lit/decorators.js";
13
13
  import { styleMap } from "lit/directives/style-map.js";
14
14
  import { removeTimezoneFromISOTimeString } from "../core/datetime.js";
15
15
  import { isRideLeg } from "../core/timetable.js";
16
- import { d as differenceInMinutes, a as addMinutes } from "../differenceInMinutes-D5Nj8Stc.js";
16
+ import { d as differenceInMinutes, a as addMinutes } from "../differenceInMinutes-CHSyWiQs.js";
17
17
  import { t as toDate } from "../toDate-D_Vjps95.js";
18
18
  function isAfter(date, dateToCompare) {
19
19
  return +toDate(date) > +toDate(dateToCompare);
@@ -460,7 +460,10 @@ let SbbPearlChainElement = (() => {
460
460
  set disableAnimation(value) {
461
461
  __privateSet(this, _disableAnimation_accessor_storage, value);
462
462
  }
463
- /** A configured date which acts as the current date instead of the real current date. Recommended for testing purposes. */
463
+ /**
464
+ * A configured date which acts as the current date instead of the real current date.
465
+ * Only recommended for testing purposes.
466
+ */
464
467
  set now(value) {
465
468
  this._now = defaultDateAdapter.getValidDateOrNull(defaultDateAdapter.deserialize(value));
466
469
  }
@@ -468,9 +471,10 @@ let SbbPearlChainElement = (() => {
468
471
  return this._now;
469
472
  }
470
473
  _getAllDuration(legs) {
471
- return legs?.reduce((sum, leg) => {
472
- const arrivalNoTz = removeTimezoneFromISOTimeString(leg.arrival?.time);
473
- const departureNoTz = removeTimezoneFromISOTimeString(leg.departure?.time);
474
+ return legs == null ? void 0 : legs.reduce((sum, leg) => {
475
+ var _a2, _b;
476
+ const arrivalNoTz = removeTimezoneFromISOTimeString((_a2 = leg.arrival) == null ? void 0 : _a2.time);
477
+ const departureNoTz = removeTimezoneFromISOTimeString((_b = leg.departure) == null ? void 0 : _b.time);
474
478
  if (arrivalNoTz && departureNoTz) {
475
479
  return sum + differenceInMinutes(removeTimezoneFromISOTimeString(leg.arrival.time), removeTimezoneFromISOTimeString(leg.departure.time));
476
480
  }
@@ -478,11 +482,15 @@ let SbbPearlChainElement = (() => {
478
482
  }, 0);
479
483
  }
480
484
  _isAllCancelled(legs) {
481
- return legs?.every((leg) => leg?.serviceJourney?.serviceAlteration?.cancelled);
485
+ return legs == null ? void 0 : legs.every((leg) => {
486
+ var _a2, _b;
487
+ return (_b = (_a2 = leg == null ? void 0 : leg.serviceJourney) == null ? void 0 : _a2.serviceAlteration) == null ? void 0 : _b.cancelled;
488
+ });
482
489
  }
483
490
  _getRelativeDuration(legs, leg) {
484
- const arrivalNoTz = removeTimezoneFromISOTimeString(leg.arrival?.time);
485
- const departureNoTz = removeTimezoneFromISOTimeString(leg.departure?.time);
491
+ var _a2, _b;
492
+ const arrivalNoTz = removeTimezoneFromISOTimeString((_a2 = leg.arrival) == null ? void 0 : _a2.time);
493
+ const departureNoTz = removeTimezoneFromISOTimeString((_b = leg.departure) == null ? void 0 : _b.time);
486
494
  if (arrivalNoTz && departureNoTz) {
487
495
  const duration = differenceInMinutes(removeTimezoneFromISOTimeString(leg.arrival.time), removeTimezoneFromISOTimeString(leg.departure.time));
488
496
  const allDurations = this._getAllDuration(legs);
@@ -494,7 +502,7 @@ let SbbPearlChainElement = (() => {
494
502
  return 0;
495
503
  }
496
504
  _getProgress(now, start, end) {
497
- if (!start?.time || !end?.time) {
505
+ if (!(start == null ? void 0 : start.time) || !(end == null ? void 0 : end.time)) {
498
506
  return 0;
499
507
  }
500
508
  const startWithDelay = addMinutes(start.time, start.delay ?? 0);
@@ -530,31 +538,36 @@ let SbbPearlChainElement = (() => {
530
538
  ></span>`;
531
539
  }
532
540
  render() {
541
+ var _a2, _b, _c, _d, _e;
533
542
  const now = this.now ?? /* @__PURE__ */ new Date();
534
- const rideLegs = this.legs?.filter((leg) => isRideLeg(leg));
535
- const departureTime = rideLegs?.length && removeTimezoneFromISOTimeString(rideLegs[0]?.departure?.time);
543
+ const rideLegs = (_a2 = this.legs) == null ? void 0 : _a2.filter((leg) => isRideLeg(leg));
544
+ const departureTime = (rideLegs == null ? void 0 : rideLegs.length) && removeTimezoneFromISOTimeString((_c = (_b = rideLegs[0]) == null ? void 0 : _b.departure) == null ? void 0 : _c.time);
536
545
  const departureWithDelay = departureTime && {
537
546
  time: departureTime,
538
547
  delay: rideLegs[0].departure.delay ?? 0
539
548
  };
540
- const arrivalTime = rideLegs?.length && removeTimezoneFromISOTimeString(rideLegs[rideLegs.length - 1].arrival?.time);
549
+ const arrivalTime = (rideLegs == null ? void 0 : rideLegs.length) && removeTimezoneFromISOTimeString((_d = rideLegs[rideLegs.length - 1].arrival) == null ? void 0 : _d.time);
541
550
  const arrivalTimeDelay = arrivalTime && {
542
551
  time: arrivalTime,
543
- delay: rideLegs[rideLegs.length - 1]?.arrival.delay ?? 0
552
+ delay: ((_e = rideLegs[rideLegs.length - 1]) == null ? void 0 : _e.arrival.delay) ?? 0
544
553
  };
545
554
  const departureNotServiced = (() => {
546
- return rideLegs && rideLegs[0]?.serviceJourney?.stopPoints && rideLegs[0]?.serviceJourney?.stopPoints[0].stopStatus === "NOT_SERVICED" ? "sbb-pearl-chain--departure-skipped" : "";
555
+ var _a3, _b2, _c2, _d2;
556
+ return rideLegs && ((_b2 = (_a3 = rideLegs[0]) == null ? void 0 : _a3.serviceJourney) == null ? void 0 : _b2.stopPoints) && ((_d2 = (_c2 = rideLegs[0]) == null ? void 0 : _c2.serviceJourney) == null ? void 0 : _d2.stopPoints[0].stopStatus) === "NOT_SERVICED" ? "sbb-pearl-chain--departure-skipped" : "";
547
557
  })();
548
558
  const arrivalNotServiced = (() => {
559
+ var _a3;
549
560
  const lastLeg = rideLegs && rideLegs[rideLegs.length - 1];
550
- const stops = lastLeg && lastLeg.serviceJourney?.stopPoints;
561
+ const stops = lastLeg && ((_a3 = lastLeg.serviceJourney) == null ? void 0 : _a3.stopPoints);
551
562
  return stops && stops[stops.length - 1].stopStatus === "NOT_SERVICED" ? "sbb-pearl-chain--arrival-skipped" : "";
552
563
  })();
553
564
  const departureCancelClass = (() => {
554
- return rideLegs && rideLegs[0]?.serviceJourney?.serviceAlteration?.cancelled ? "sbb-pearl-chain--departure-disruption" : "";
565
+ var _a3, _b2, _c2;
566
+ return rideLegs && ((_c2 = (_b2 = (_a3 = rideLegs[0]) == null ? void 0 : _a3.serviceJourney) == null ? void 0 : _b2.serviceAlteration) == null ? void 0 : _c2.cancelled) ? "sbb-pearl-chain--departure-disruption" : "";
555
567
  })();
556
568
  const arrivalCancelClass = (() => {
557
- return rideLegs && rideLegs[rideLegs.length - 1]?.serviceJourney?.serviceAlteration?.cancelled ? "sbb-pearl-chain--arrival-disruption" : "";
569
+ var _a3, _b2, _c2;
570
+ return rideLegs && ((_c2 = (_b2 = (_a3 = rideLegs[rideLegs.length - 1]) == null ? void 0 : _a3.serviceJourney) == null ? void 0 : _b2.serviceAlteration) == null ? void 0 : _c2.cancelled) ? "sbb-pearl-chain--arrival-disruption" : "";
558
571
  })();
559
572
  const status = departureWithDelay && arrivalTimeDelay && this._getStatus(now, departureWithDelay, arrivalTimeDelay);
560
573
  const statusClassDeparture = rideLegs && status && !departureCancelClass ? "sbb-pearl-chain__bullet--" + status : "";
@@ -573,21 +586,22 @@ let SbbPearlChainElement = (() => {
573
586
  <span
574
587
  class="sbb-pearl-chain__bullet ${statusClassDeparture} ${departureNotServiced} ${departureCancelClass}"
575
588
  ></span>
576
- ${rideLegs?.map((leg, index) => {
577
- const { stopPoints, serviceAlteration } = leg?.serviceJourney || {};
589
+ ${rideLegs == null ? void 0 : rideLegs.map((leg, index) => {
590
+ var _a3, _b2, _c2, _d2, _e2, _f, _g, _h;
591
+ const { stopPoints, serviceAlteration } = (leg == null ? void 0 : leg.serviceJourney) || {};
578
592
  const duration = this._getRelativeDuration(rideLegs, leg);
579
- const departure = removeTimezoneFromISOTimeString(leg.departure?.time);
580
- const arrival = removeTimezoneFromISOTimeString(leg.arrival?.time);
581
- const isArrivalNotServiced = stopPoints && stopPoints[stopPoints.length - 1]?.stopStatus === "NOT_SERVICED";
582
- const isArrivalPlanned = stopPoints && stopPoints[stopPoints.length - 1]?.stopStatus === "PLANNED";
583
- const isDepartureNotServiced = stopPoints && stopPoints[0]?.stopStatus === "NOT_SERVICED";
593
+ const departure = removeTimezoneFromISOTimeString((_a3 = leg.departure) == null ? void 0 : _a3.time);
594
+ const arrival = removeTimezoneFromISOTimeString((_b2 = leg.arrival) == null ? void 0 : _b2.time);
595
+ const isArrivalNotServiced = stopPoints && ((_c2 = stopPoints[stopPoints.length - 1]) == null ? void 0 : _c2.stopStatus) === "NOT_SERVICED";
596
+ const isArrivalPlanned = stopPoints && ((_d2 = stopPoints[stopPoints.length - 1]) == null ? void 0 : _d2.stopStatus) === "PLANNED";
597
+ const isDepartureNotServiced = stopPoints && ((_e2 = stopPoints[0]) == null ? void 0 : _e2.stopStatus) === "NOT_SERVICED";
584
598
  const stopPointsBefore = index > 0 && rideLegs[index - 1].serviceJourney.stopPoints;
585
- const isBeforeLegArrivalNotServiced = stopPointsBefore && stopPointsBefore[stopPointsBefore.length - 1]?.stopStatus === "NOT_SERVICED";
599
+ const isBeforeLegArrivalNotServiced = stopPointsBefore && ((_f = stopPointsBefore[stopPointsBefore.length - 1]) == null ? void 0 : _f.stopStatus) === "NOT_SERVICED";
586
600
  const skippedLeg = isArrivalNotServiced || isDepartureNotServiced && isArrivalPlanned ? "sbb-pearl-chain__leg--skipped" : "";
587
601
  const departureSkippedBullet = isDepartureNotServiced || isBeforeLegArrivalNotServiced ? "sbb-pearl-chain__stop--departure-skipped" : "";
588
- const cancelled = serviceAlteration?.cancelled || serviceAlteration?.partiallyCancelled ? "sbb-pearl-chain__leg--disruption" : "";
589
- const legDepartureWithDelay = { time: departure, delay: leg.departure?.delay ?? 0 };
590
- const legArrivalWithDelay = { time: arrival, delay: leg.arrival?.delay ?? 0 };
602
+ const cancelled = (serviceAlteration == null ? void 0 : serviceAlteration.cancelled) ? "sbb-pearl-chain__leg--disruption" : "";
603
+ const legDepartureWithDelay = { time: departure, delay: ((_g = leg.departure) == null ? void 0 : _g.delay) ?? 0 };
604
+ const legArrivalWithDelay = { time: arrival, delay: ((_h = leg.arrival) == null ? void 0 : _h.delay) ?? 0 };
591
605
  const status2 = this._getStatus(now, legDepartureWithDelay, legArrivalWithDelay);
592
606
  const legStatus = !cancelled && !skippedLeg && "sbb-pearl-chain__leg--" + status2;
593
607
  const legStyle = () => {
@@ -635,4 +649,4 @@ let SbbPearlChainElement = (() => {
635
649
  export {
636
650
  SbbPearlChainElement
637
651
  };
638
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvaXNBZnRlci5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0JlZm9yZS5qcyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvcGVhcmwtY2hhaW4vcGVhcmwtY2hhaW4uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGlzQWZ0ZXJcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZmlyc3QgZGF0ZSBhZnRlciB0aGUgc2Vjb25kIG9uZT9cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRoYXQgc2hvdWxkIGJlIGFmdGVyIHRoZSBvdGhlciBvbmUgdG8gcmV0dXJuIHRydWVcbiAqIEBwYXJhbSBkYXRlVG9Db21wYXJlIC0gVGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKlxuICogQHJldHVybnMgVGhlIGZpcnN0IGRhdGUgaXMgYWZ0ZXIgdGhlIHNlY29uZCBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEwIEp1bHkgMTk4OSBhZnRlciAxMSBGZWJydWFyeSAxOTg3P1xuICogY29uc3QgcmVzdWx0ID0gaXNBZnRlcihuZXcgRGF0ZSgxOTg5LCA2LCAxMCksIG5ldyBEYXRlKDE5ODcsIDEsIDExKSlcbiAqIC8vPT4gdHJ1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBZnRlcihkYXRlLCBkYXRlVG9Db21wYXJlKSB7XG4gIHJldHVybiArdG9EYXRlKGRhdGUpID4gK3RvRGF0ZShkYXRlVG9Db21wYXJlKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc0FmdGVyO1xuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgaXNCZWZvcmVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGZpcnN0IGRhdGUgYmVmb3JlIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYmVmb3JlIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdGhhdCBzaG91bGQgYmUgYmVmb3JlIHRoZSBvdGhlciBvbmUgdG8gcmV0dXJuIHRydWVcbiAqIEBwYXJhbSBkYXRlVG9Db21wYXJlIC0gVGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKlxuICogQHJldHVybnMgVGhlIGZpcnN0IGRhdGUgaXMgYmVmb3JlIHRoZSBzZWNvbmQgZGF0ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYmVmb3JlIDExIEZlYnJ1YXJ5IDE5ODc/XG4gKiBjb25zdCByZXN1bHQgPSBpc0JlZm9yZShuZXcgRGF0ZSgxOTg5LCA2LCAxMCksIG5ldyBEYXRlKDE5ODcsIDEsIDExKSlcbiAqIC8vPT4gZmFsc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmVmb3JlKGRhdGUsIGRhdGVUb0NvbXBhcmUpIHtcbiAgcmV0dXJuICt0b0RhdGUoZGF0ZSkgPCArdG9EYXRlKGRhdGVUb0NvbXBhcmUpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGlzQmVmb3JlO1xuIiwiaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlTGlrZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBhZGRNaW51dGVzLCBkaWZmZXJlbmNlSW5NaW51dGVzLCBpc0FmdGVyLCBpc0JlZm9yZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgTGVnLCBQdFJpZGVMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS5qcyc7XG5pbXBvcnQgeyBpc1JpZGVMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BlYXJsLWNoYWluLnNjc3M/bGl0JmlubGluZSc7XG5cbnR5cGUgU3RhdHVzID0gJ3Byb2dyZXNzJyB8ICdmdXR1cmUnIHwgJ3Bhc3QnO1xudHlwZSBUaW1lID0ge1xuICB0aW1lPzogRGF0ZTtcbiAgZGVsYXk6IG51bWJlcjtcbn07XG5cbi8qKlxuICogSXQgdmlzdWFsbHkgZGlzcGxheXMgam91cm5leSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBlYXJsLWNoYWluJylcbmNsYXNzIFNiYlBlYXJsQ2hhaW5FbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGxlZ3Mgb2YgdGhlIHBlYXJsLWNoYWluLlxuICAgKiBGb3JtYXQ6XG4gICAqIGB7XCJsZWdzXCI6IFt7XCJkdXJhdGlvblwiOiAyNX0sIC4uLl19YFxuICAgKiBgZHVyYXRpb25gIGluIG1pbnV0ZXMuIER1cmF0aW9uIG9mIHRoZSBsZWcgaXMgcmVsYXRpdmVcbiAgICogdG8gdGhlIHRvdGFsIHRyYXZlbCB0aW1lLiBFeGFtcGxlOiBkZXBhcnR1cmUgMTY6MzAsIGNoYW5nZSBhdCAxNjo0MCxcbiAgICogYXJyaXZhbCBhdCAxNzowMC4gU28gdGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBhIGR1cmF0aW9uIG9mIDMzLjMzJS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pIHB1YmxpYyBhY2Nlc3NvciBsZWdzOiAoTGVnIHwgUHRSaWRlTGVnKVtdID0gW107XG5cbiAgLyoqXG4gICAqIFBlciBkZWZhdWx0LCB0aGUgY3VycmVudCBsb2NhdGlvbiBoYXMgYSBwdWxzYXRpbmcgYW5pbWF0aW9uLiBZb3UgY2FuXG4gICAqIGRpc2FibGUgdGhlIGFuaW1hdGlvbiB3aXRoIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZS1hbmltYXRpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNhYmxlQW5pbWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS4gUmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBTYmJEYXRlTGlrZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IGRlZmF1bHREYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGVmYXVsdERhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHVibGljIGdldCBub3coKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ub3c7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10pOiBudW1iZXIge1xuICAgIHJldHVybiBsZWdzPy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBsZWcpID0+IHtcbiAgICAgIGNvbnN0IGFycml2YWxOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbD8udGltZSk7XG4gICAgICBjb25zdCBkZXBhcnR1cmVOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlPy50aW1lKTtcbiAgICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgc3VtICtcbiAgICAgICAgICBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICAgICAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbC50aW1lKSEsXG4gICAgICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdW07XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9pc0FsbENhbmNlbGxlZChsZWdzOiBQdFJpZGVMZWdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsZWdzPy5ldmVyeSgobGVnKSA9PiBsZWc/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJlbGF0aXZlRHVyYXRpb24obGVnczogUHRSaWRlTGVnW10sIGxlZzogUHRSaWRlTGVnKTogbnVtYmVyIHtcbiAgICBjb25zdCBhcnJpdmFsTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWw/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZU5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGlmIChhcnJpdmFsTm9UeiAmJiBkZXBhcnR1cmVOb1R6KSB7XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoXG4gICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWwudGltZSkhLFxuICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmUudGltZSkhLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFsbER1cmF0aW9ucyA9IHRoaXMuX2dldEFsbER1cmF0aW9uKGxlZ3MpO1xuXG4gICAgICBpZiAoYWxsRHVyYXRpb25zID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxMDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoZHVyYXRpb24gLyBhbGxEdXJhdGlvbnMpICogMTAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFByb2dyZXNzKG5vdzogRGF0ZSwgc3RhcnQ/OiBUaW1lLCBlbmQ/OiBUaW1lKTogbnVtYmVyIHtcbiAgICBpZiAoIXN0YXJ0Py50aW1lIHx8ICFlbmQ/LnRpbWUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gYWRkTWludXRlcyhzdGFydC50aW1lLCBzdGFydC5kZWxheSA/PyAwKTtcbiAgICBjb25zdCBlbmRXaXRoRGVsYXkgPSBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG4gICAgY29uc3QgdG90YWwgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGVuZFdpdGhEZWxheSwgc3RhcnRXaXRoRGVsYXkpO1xuICAgIGNvbnN0IHByb2dyZXNzID0gZGlmZmVyZW5jZUluTWludXRlcyhub3csIHN0YXJ0V2l0aERlbGF5KTtcblxuICAgIHJldHVybiB0b3RhbCAmJiAocHJvZ3Jlc3MgLyB0b3RhbCkgKiAxMDA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdGF0dXMobm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBTdGF0dXMge1xuICAgIGNvbnN0IHN0YXJ0V2l0aERlbGF5ID0gc3RhcnQgJiYgc3RhcnQudGltZSAmJiBhZGRNaW51dGVzKHN0YXJ0LnRpbWUsIHN0YXJ0LmRlbGF5ID8/IDApO1xuICAgIGNvbnN0IGVuZFdpdGhEZWxheSA9IGVuZCAmJiBlbmQudGltZSAmJiBhZGRNaW51dGVzKGVuZC50aW1lLCBlbmQuZGVsYXkgPz8gMCk7XG5cbiAgICBpZiAoXG4gICAgICBzdGFydFdpdGhEZWxheSAmJlxuICAgICAgaXNCZWZvcmUoc3RhcnRXaXRoRGVsYXksIG5vdykgJiZcbiAgICAgIGVuZFdpdGhEZWxheSAmJlxuICAgICAgaXNBZnRlcihlbmRXaXRoRGVsYXksIG5vdylcbiAgICApIHtcbiAgICAgIHJldHVybiAncHJvZ3Jlc3MnO1xuICAgIH0gZWxzZSBpZiAoZW5kV2l0aERlbGF5ICYmIGlzQmVmb3JlKGVuZFdpdGhEZWxheSwgbm93KSkge1xuICAgICAgcmV0dXJuICdwYXN0JztcbiAgICB9XG4gICAgcmV0dXJuICdmdXR1cmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUG9zaXRpb24obm93OiBEYXRlLCBzdGFydD86IFRpbWUsIGVuZD86IFRpbWUpOiBUZW1wbGF0ZVJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gdGhpcy5fZ2V0UHJvZ3Jlc3Mobm93LCBzdGFydCwgZW5kKTtcbiAgICBpZiAoY3VycmVudFBvc2l0aW9uIDwgMCAmJiBjdXJyZW50UG9zaXRpb24gPiAxMDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdGF0dXNTdHlsZSA9ICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICctLXNiYi1wZWFybC1jaGFpbi1zdGF0dXMtcG9zaXRpb24nOiBgJHtjdXJyZW50UG9zaXRpb259JWAsXG4gICAgICAgIC4uLihjdXJyZW50UG9zaXRpb24gPj0gNTAgPyB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLTEwMCUpYCB9IDoge30pLFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYW5pbWF0aW9uID0gdGhpcy5kaXNhYmxlQW5pbWF0aW9uID8gJ3NiYi1wZWFybC1jaGFpbl9fcG9zaXRpb24tLW5vLWFuaW1hdGlvbicgOiAnJztcblxuICAgIHJldHVybiBodG1sYDxzcGFuXG4gICAgICBzdHlsZT0ke3N0eWxlTWFwKHN0YXR1c1N0eWxlKCkpfVxuICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3Bvc2l0aW9uICR7YW5pbWF0aW9ufVwiXG4gICAgPjwvc3Bhbj5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgbm93ID0gdGhpcy5ub3cgPz8gbmV3IERhdGUoKTtcblxuICAgIGNvbnN0IHJpZGVMZWdzOiBQdFJpZGVMZWdbXSA9IHRoaXMubGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKSBhcyBQdFJpZGVMZWdbXTtcblxuICAgIGNvbnN0IGRlcGFydHVyZVRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKHJpZGVMZWdzWzBdPy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgIGNvbnN0IGRlcGFydHVyZVdpdGhEZWxheSA9IGRlcGFydHVyZVRpbWUgJiYge1xuICAgICAgdGltZTogZGVwYXJ0dXJlVGltZSxcbiAgICAgIGRlbGF5OiByaWRlTGVnc1swXS5kZXBhcnR1cmUuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgYXJyaXZhbFRpbWUgPVxuICAgICAgcmlkZUxlZ3M/Lmxlbmd0aCAmJlxuICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhyaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXS5hcnJpdmFsPy50aW1lKTtcbiAgICBjb25zdCBhcnJpdmFsVGltZURlbGF5ID0gYXJyaXZhbFRpbWUgJiYge1xuICAgICAgdGltZTogYXJyaXZhbFRpbWUsXG4gICAgICBkZWxheTogcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV0/LmFycml2YWwuZGVsYXkgPz8gMCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gcmlkZUxlZ3MgJiZcbiAgICAgICAgcmlkZUxlZ3NbMF0/LnNlcnZpY2VKb3VybmV5Py5zdG9wUG9pbnRzICYmXG4gICAgICAgIHJpZGVMZWdzWzBdPy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50c1swXS5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJ1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBhcnJpdmFsTm90U2VydmljZWQgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICBjb25zdCBsYXN0TGVnID0gcmlkZUxlZ3MgJiYgcmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBzdG9wcyA9IGxhc3RMZWcgJiYgbGFzdExlZy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50cztcblxuICAgICAgcmV0dXJuIHN0b3BzICYmIHN0b3BzW3N0b3BzLmxlbmd0aCAtIDFdLnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tYXJyaXZhbC1za2lwcGVkJ1xuICAgICAgICA6ICcnO1xuICAgIH0pKCk7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVDYW5jZWxDbGFzcyA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiByaWRlTGVncyAmJiByaWRlTGVnc1swXT8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWRcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3QgYXJyaXZhbENhbmNlbENsYXNzID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIHJpZGVMZWdzICYmIHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZFxuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWFycml2YWwtZGlzcnVwdGlvbidcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3Qgc3RhdHVzID1cbiAgICAgIGRlcGFydHVyZVdpdGhEZWxheSAmJlxuICAgICAgYXJyaXZhbFRpbWVEZWxheSAmJlxuICAgICAgdGhpcy5fZ2V0U3RhdHVzKG5vdywgZGVwYXJ0dXJlV2l0aERlbGF5LCBhcnJpdmFsVGltZURlbGF5KTtcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzRGVwYXJ0dXJlID1cbiAgICAgIHJpZGVMZWdzICYmIHN0YXR1cyAmJiAhZGVwYXJ0dXJlQ2FuY2VsQ2xhc3MgPyAnc2JiLXBlYXJsLWNoYWluX19idWxsZXQtLScgKyBzdGF0dXMgOiAnJztcblxuICAgIGNvbnN0IHN0YXR1c0NsYXNzQXJyaXZhbCA9XG4gICAgICByaWRlTGVncyAmJiBzdGF0dXMgJiYgIWFycml2YWxDYW5jZWxDbGFzc1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2J1bGxldC0tJyArIHRoaXMuX2dldFN0YXR1cyhub3csIHVuZGVmaW5lZCwgYXJyaXZhbFRpbWVEZWxheSlcbiAgICAgICAgOiAnJztcblxuICAgIGlmICh0aGlzLl9pc0FsbENhbmNlbGxlZChyaWRlTGVncykpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCBzYmItcGVhcmwtY2hhaW4tLWRlcGFydHVyZS1kaXNydXB0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2xlZyBzYmItcGVhcmwtY2hhaW5fX2xlZy0tZGlzcnVwdGlvblwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wZWFybC1jaGFpblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgJHtzdGF0dXNDbGFzc0RlcGFydHVyZX0gJHtkZXBhcnR1cmVOb3RTZXJ2aWNlZH0gJHtkZXBhcnR1cmVDYW5jZWxDbGFzc31cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICAke3JpZGVMZWdzPy5tYXAoKGxlZzogUHRSaWRlTGVnLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzdG9wUG9pbnRzLCBzZXJ2aWNlQWx0ZXJhdGlvbiB9ID0gbGVnPy5zZXJ2aWNlSm91cm5leSB8fCB7fTtcblxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5fZ2V0UmVsYXRpdmVEdXJhdGlvbihyaWRlTGVncywgbGVnKTtcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmUgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5kZXBhcnR1cmU/LnRpbWUpO1xuICAgICAgICAgIGNvbnN0IGFycml2YWwgPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsPy50aW1lKTtcblxuICAgICAgICAgIGNvbnN0IGlzQXJyaXZhbE5vdFNlcnZpY2VkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJztcbiAgICAgICAgICBjb25zdCBpc0Fycml2YWxQbGFubmVkID1cbiAgICAgICAgICAgIHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1tzdG9wUG9pbnRzLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnUExBTk5FRCc7XG4gICAgICAgICAgY29uc3QgaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCA9IHN0b3BQb2ludHMgJiYgc3RvcFBvaW50c1swXT8uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCc7XG5cbiAgICAgICAgICBjb25zdCBzdG9wUG9pbnRzQmVmb3JlID0gaW5kZXggPiAwICYmIHJpZGVMZWdzW2luZGV4IC0gMV0uc2VydmljZUpvdXJuZXkuc3RvcFBvaW50cztcbiAgICAgICAgICBjb25zdCBpc0JlZm9yZUxlZ0Fycml2YWxOb3RTZXJ2aWNlZCA9XG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlICYmXG4gICAgICAgICAgICBzdG9wUG9pbnRzQmVmb3JlW3N0b3BQb2ludHNCZWZvcmUubGVuZ3RoIC0gMV0/LnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnO1xuXG4gICAgICAgICAgY29uc3Qgc2tpcHBlZExlZyA9XG4gICAgICAgICAgICBpc0Fycml2YWxOb3RTZXJ2aWNlZCB8fCAoaXNEZXBhcnR1cmVOb3RTZXJ2aWNlZCAmJiBpc0Fycml2YWxQbGFubmVkKVxuICAgICAgICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW5fX2xlZy0tc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICBjb25zdCBkZXBhcnR1cmVTa2lwcGVkQnVsbGV0ID1cbiAgICAgICAgICAgIGlzRGVwYXJ0dXJlTm90U2VydmljZWQgfHwgaXNCZWZvcmVMZWdBcnJpdmFsTm90U2VydmljZWRcbiAgICAgICAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19zdG9wLS1kZXBhcnR1cmUtc2tpcHBlZCdcbiAgICAgICAgICAgICAgOiAnJztcblxuICAgICAgICAgIGNvbnN0IGNhbmNlbGxlZCA9XG4gICAgICAgICAgICBzZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkIHx8IHNlcnZpY2VBbHRlcmF0aW9uPy5wYXJ0aWFsbHlDYW5jZWxsZWRcbiAgICAgICAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19sZWctLWRpc3J1cHRpb24nXG4gICAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgICBjb25zdCBsZWdEZXBhcnR1cmVXaXRoRGVsYXkgPSB7IHRpbWU6IGRlcGFydHVyZSwgZGVsYXk6IGxlZy5kZXBhcnR1cmU/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBsZWdBcnJpdmFsV2l0aERlbGF5ID0geyB0aW1lOiBhcnJpdmFsLCBkZWxheTogbGVnLmFycml2YWw/LmRlbGF5ID8/IDAgfTtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLl9nZXRTdGF0dXMobm93LCBsZWdEZXBhcnR1cmVXaXRoRGVsYXksIGxlZ0Fycml2YWxXaXRoRGVsYXkpO1xuXG4gICAgICAgICAgY29uc3QgbGVnU3RhdHVzID0gIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZyAmJiAnc2JiLXBlYXJsLWNoYWluX19sZWctLScgKyBzdGF0dXM7XG4gICAgICAgICAgY29uc3QgbGVnU3R5bGUgPSAoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXdpZHRoJzogYCR7ZHVyYXRpb259JWAsXG4gICAgICAgICAgICAgIC4uLihzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tbGVnLXN0YXR1cyc6IGAke3RoaXMuX2dldFByb2dyZXNzKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KX0lYCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBodG1sYCA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fbGVnICR7bGVnU3RhdHVzIHx8ICcnfSAke2NhbmNlbGxlZH0gJHtza2lwcGVkTGVnfVwiXG4gICAgICAgICAgICBzdHlsZT0ke3N0eWxlTWFwKGxlZ1N0eWxlKCkpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7aW5kZXggPiAwICYmIGluZGV4IDwgcmlkZUxlZ3MubGVuZ3RoXG4gICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fc3RvcCAke2RlcGFydHVyZVNraXBwZWRCdWxsZXR9XCI+PC9zcGFuPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHtzdGF0dXMgPT09ICdwcm9ncmVzcycgJiYgIWNhbmNlbGxlZCAmJiAhc2tpcHBlZExlZ1xuICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlclBvc2l0aW9uKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KVxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfSl9XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2J1bGxldCAke3N0YXR1c0NsYXNzQXJyaXZhbH0gJHthcnJpdmFsTm90U2VydmljZWR9ICR7YXJyaXZhbENhbmNlbENsYXNzfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGVhcmwtY2hhaW4nOiBTYmJQZWFybENoYWluRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbInN0YXR1cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQk8sU0FBUyxRQUFRLE1BQU0sZUFBZTtBQUMzQyxTQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLGFBQWE7QUFDOUM7QUNGTyxTQUFTLFNBQVMsTUFBTSxlQUFlO0FBQzVDLFNBQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sYUFBYTtBQUM5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
652
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvaXNBZnRlci5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9pc0JlZm9yZS5qcyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvcGVhcmwtY2hhaW4vcGVhcmwtY2hhaW4uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGlzQWZ0ZXJcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZmlyc3QgZGF0ZSBhZnRlciB0aGUgc2Vjb25kIG9uZT9cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRoYXQgc2hvdWxkIGJlIGFmdGVyIHRoZSBvdGhlciBvbmUgdG8gcmV0dXJuIHRydWVcbiAqIEBwYXJhbSBkYXRlVG9Db21wYXJlIC0gVGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKlxuICogQHJldHVybnMgVGhlIGZpcnN0IGRhdGUgaXMgYWZ0ZXIgdGhlIHNlY29uZCBkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEwIEp1bHkgMTk4OSBhZnRlciAxMSBGZWJydWFyeSAxOTg3P1xuICogY29uc3QgcmVzdWx0ID0gaXNBZnRlcihuZXcgRGF0ZSgxOTg5LCA2LCAxMCksIG5ldyBEYXRlKDE5ODcsIDEsIDExKSlcbiAqIC8vPT4gdHJ1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBZnRlcihkYXRlLCBkYXRlVG9Db21wYXJlKSB7XG4gIHJldHVybiArdG9EYXRlKGRhdGUpID4gK3RvRGF0ZShkYXRlVG9Db21wYXJlKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc0FmdGVyO1xuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgaXNCZWZvcmVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGZpcnN0IGRhdGUgYmVmb3JlIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYmVmb3JlIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdGhhdCBzaG91bGQgYmUgYmVmb3JlIHRoZSBvdGhlciBvbmUgdG8gcmV0dXJuIHRydWVcbiAqIEBwYXJhbSBkYXRlVG9Db21wYXJlIC0gVGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKlxuICogQHJldHVybnMgVGhlIGZpcnN0IGRhdGUgaXMgYmVmb3JlIHRoZSBzZWNvbmQgZGF0ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYmVmb3JlIDExIEZlYnJ1YXJ5IDE5ODc/XG4gKiBjb25zdCByZXN1bHQgPSBpc0JlZm9yZShuZXcgRGF0ZSgxOTg5LCA2LCAxMCksIG5ldyBEYXRlKDE5ODcsIDEsIDExKSlcbiAqIC8vPT4gZmFsc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmVmb3JlKGRhdGUsIGRhdGVUb0NvbXBhcmUpIHtcbiAgcmV0dXJuICt0b0RhdGUoZGF0ZSkgPCArdG9EYXRlKGRhdGVUb0NvbXBhcmUpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGlzQmVmb3JlO1xuIiwiaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgYWRkTWludXRlcywgZGlmZmVyZW5jZUluTWludXRlcywgaXNBZnRlciwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nIH0gZnJvbSAnLi4vY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuaW1wb3J0IHsgaXNSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wZWFybC1jaGFpbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG50eXBlIFN0YXR1cyA9ICdwcm9ncmVzcycgfCAnZnV0dXJlJyB8ICdwYXN0JztcbnR5cGUgVGltZSA9IHtcbiAgdGltZT86IERhdGU7XG4gIGRlbGF5OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIEl0IHZpc3VhbGx5IGRpc3BsYXlzIGpvdXJuZXkgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1wZWFybC1jaGFpbicpXG5jbGFzcyBTYmJQZWFybENoYWluRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBsZWdzIG9mIHRoZSBwZWFybC1jaGFpbi5cbiAgICogRm9ybWF0OlxuICAgKiBge1wibGVnc1wiOiBbe1wiZHVyYXRpb25cIjogMjV9LCAuLi5dfWBcbiAgICogYGR1cmF0aW9uYCBpbiBtaW51dGVzLiBEdXJhdGlvbiBvZiB0aGUgbGVnIGlzIHJlbGF0aXZlXG4gICAqIHRvIHRoZSB0b3RhbCB0cmF2ZWwgdGltZS4gRXhhbXBsZTogZGVwYXJ0dXJlIDE2OjMwLCBjaGFuZ2UgYXQgMTY6NDAsXG4gICAqIGFycml2YWwgYXQgMTc6MDAuIFNvIHRoZSBjaGFuZ2Ugc2hvdWxkIGhhdmUgYSBkdXJhdGlvbiBvZiAzMy4zMyUuXG4gICAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBBcnJheSB9KSBwdWJsaWMgYWNjZXNzb3IgbGVnczogKExlZyB8IFB0UmlkZUxlZylbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQZXIgZGVmYXVsdCwgdGhlIGN1cnJlbnQgbG9jYXRpb24gaGFzIGEgcHVsc2F0aW5nIGFuaW1hdGlvbi4gWW91IGNhblxuICAgKiBkaXNhYmxlIHRoZSBhbmltYXRpb24gd2l0aCB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGNvbmZpZ3VyZWQgZGF0ZSB3aGljaCBhY3RzIGFzIHRoZSBjdXJyZW50IGRhdGUgaW5zdGVhZCBvZiB0aGUgcmVhbCBjdXJyZW50IGRhdGUuXG4gICAqIE9ubHkgcmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG5vdyh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbm93O1xuICB9XG4gIHByaXZhdGUgX25vdzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2dldEFsbER1cmF0aW9uKGxlZ3M6IFB0UmlkZUxlZ1tdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbGVncz8ucmVkdWNlKChzdW06IG51bWJlciwgbGVnKSA9PiB7XG4gICAgICBjb25zdCBhcnJpdmFsTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWw/LnRpbWUpO1xuICAgICAgY29uc3QgZGVwYXJ0dXJlTm9UeiA9IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmRlcGFydHVyZT8udGltZSk7XG4gICAgICBpZiAoYXJyaXZhbE5vVHogJiYgZGVwYXJ0dXJlTm9Ueikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHN1bSArXG4gICAgICAgICAgZGlmZmVyZW5jZUluTWludXRlcyhcbiAgICAgICAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcobGVnLmFycml2YWwudGltZSkhLFxuICAgICAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlLnRpbWUpISxcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3VtO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNBbGxDYW5jZWxsZWQobGVnczogUHRSaWRlTGVnW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gbGVncz8uZXZlcnkoKGxlZykgPT4gbGVnPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmNhbmNlbGxlZCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRSZWxhdGl2ZUR1cmF0aW9uKGxlZ3M6IFB0UmlkZUxlZ1tdLCBsZWc6IFB0UmlkZUxlZyk6IG51bWJlciB7XG4gICAgY29uc3QgYXJyaXZhbE5vVHogPSByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsPy50aW1lKTtcbiAgICBjb25zdCBkZXBhcnR1cmVOb1R6ID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlPy50aW1lKTtcbiAgICBpZiAoYXJyaXZhbE5vVHogJiYgZGVwYXJ0dXJlTm9Ueikge1xuICAgICAgY29uc3QgZHVyYXRpb24gPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICAgICAgICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGxlZy5hcnJpdmFsLnRpbWUpISxcbiAgICAgICAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlLnRpbWUpISxcbiAgICAgICk7XG4gICAgICBjb25zdCBhbGxEdXJhdGlvbnMgPSB0aGlzLl9nZXRBbGxEdXJhdGlvbihsZWdzKTtcblxuICAgICAgaWYgKGFsbER1cmF0aW9ucyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMTAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKGR1cmF0aW9uIC8gYWxsRHVyYXRpb25zKSAqIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQcm9ncmVzcyhub3c6IERhdGUsIHN0YXJ0PzogVGltZSwgZW5kPzogVGltZSk6IG51bWJlciB7XG4gICAgaWYgKCFzdGFydD8udGltZSB8fCAhZW5kPy50aW1lKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydFdpdGhEZWxheSA9IGFkZE1pbnV0ZXMoc3RhcnQudGltZSwgc3RhcnQuZGVsYXkgPz8gMCk7XG4gICAgY29uc3QgZW5kV2l0aERlbGF5ID0gYWRkTWludXRlcyhlbmQudGltZSwgZW5kLmRlbGF5ID8/IDApO1xuICAgIGNvbnN0IHRvdGFsID0gZGlmZmVyZW5jZUluTWludXRlcyhlbmRXaXRoRGVsYXksIHN0YXJ0V2l0aERlbGF5KTtcbiAgICBjb25zdCBwcm9ncmVzcyA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMobm93LCBzdGFydFdpdGhEZWxheSk7XG5cbiAgICByZXR1cm4gdG90YWwgJiYgKHByb2dyZXNzIC8gdG90YWwpICogMTAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RhdHVzKG5vdzogRGF0ZSwgc3RhcnQ/OiBUaW1lLCBlbmQ/OiBUaW1lKTogU3RhdHVzIHtcbiAgICBjb25zdCBzdGFydFdpdGhEZWxheSA9IHN0YXJ0ICYmIHN0YXJ0LnRpbWUgJiYgYWRkTWludXRlcyhzdGFydC50aW1lLCBzdGFydC5kZWxheSA/PyAwKTtcbiAgICBjb25zdCBlbmRXaXRoRGVsYXkgPSBlbmQgJiYgZW5kLnRpbWUgJiYgYWRkTWludXRlcyhlbmQudGltZSwgZW5kLmRlbGF5ID8/IDApO1xuXG4gICAgaWYgKFxuICAgICAgc3RhcnRXaXRoRGVsYXkgJiZcbiAgICAgIGlzQmVmb3JlKHN0YXJ0V2l0aERlbGF5LCBub3cpICYmXG4gICAgICBlbmRXaXRoRGVsYXkgJiZcbiAgICAgIGlzQWZ0ZXIoZW5kV2l0aERlbGF5LCBub3cpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ3Byb2dyZXNzJztcbiAgICB9IGVsc2UgaWYgKGVuZFdpdGhEZWxheSAmJiBpc0JlZm9yZShlbmRXaXRoRGVsYXksIG5vdykpIHtcbiAgICAgIHJldHVybiAncGFzdCc7XG4gICAgfVxuICAgIHJldHVybiAnZnV0dXJlJztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlclBvc2l0aW9uKG5vdzogRGF0ZSwgc3RhcnQ/OiBUaW1lLCBlbmQ/OiBUaW1lKTogVGVtcGxhdGVSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IHRoaXMuX2dldFByb2dyZXNzKG5vdywgc3RhcnQsIGVuZCk7XG4gICAgaWYgKGN1cnJlbnRQb3NpdGlvbiA8IDAgJiYgY3VycmVudFBvc2l0aW9uID4gMTAwKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc3RhdHVzU3R5bGUgPSAoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAnLS1zYmItcGVhcmwtY2hhaW4tc3RhdHVzLXBvc2l0aW9uJzogYCR7Y3VycmVudFBvc2l0aW9ufSVgLFxuICAgICAgICAuLi4oY3VycmVudFBvc2l0aW9uID49IDUwID8geyB0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKC0xMDAlKWAgfSA6IHt9KSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGFuaW1hdGlvbiA9IHRoaXMuZGlzYWJsZUFuaW1hdGlvbiA/ICdzYmItcGVhcmwtY2hhaW5fX3Bvc2l0aW9uLS1uby1hbmltYXRpb24nIDogJyc7XG5cbiAgICByZXR1cm4gaHRtbGA8c3BhblxuICAgICAgc3R5bGU9JHtzdHlsZU1hcChzdGF0dXNTdHlsZSgpKX1cbiAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19wb3NpdGlvbiAke2FuaW1hdGlvbn1cIlxuICAgID48L3NwYW4+YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IG5vdyA9IHRoaXMubm93ID8/IG5ldyBEYXRlKCk7XG5cbiAgICBjb25zdCByaWRlTGVnczogUHRSaWRlTGVnW10gPSB0aGlzLmxlZ3M/LmZpbHRlcigobGVnKSA9PiBpc1JpZGVMZWcobGVnKSkgYXMgUHRSaWRlTGVnW107XG5cbiAgICBjb25zdCBkZXBhcnR1cmVUaW1lID1cbiAgICAgIHJpZGVMZWdzPy5sZW5ndGggJiYgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhyaWRlTGVnc1swXT8uZGVwYXJ0dXJlPy50aW1lKTtcbiAgICBjb25zdCBkZXBhcnR1cmVXaXRoRGVsYXkgPSBkZXBhcnR1cmVUaW1lICYmIHtcbiAgICAgIHRpbWU6IGRlcGFydHVyZVRpbWUsXG4gICAgICBkZWxheTogcmlkZUxlZ3NbMF0uZGVwYXJ0dXJlLmRlbGF5ID8/IDAsXG4gICAgfTtcblxuICAgIGNvbnN0IGFycml2YWxUaW1lID1cbiAgICAgIHJpZGVMZWdzPy5sZW5ndGggJiZcbiAgICAgIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcocmlkZUxlZ3NbcmlkZUxlZ3MubGVuZ3RoIC0gMV0uYXJyaXZhbD8udGltZSk7XG4gICAgY29uc3QgYXJyaXZhbFRpbWVEZWxheSA9IGFycml2YWxUaW1lICYmIHtcbiAgICAgIHRpbWU6IGFycml2YWxUaW1lLFxuICAgICAgZGVsYXk6IHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdPy5hcnJpdmFsLmRlbGF5ID8/IDAsXG4gICAgfTtcblxuICAgIGNvbnN0IGRlcGFydHVyZU5vdFNlcnZpY2VkID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIHJpZGVMZWdzICYmXG4gICAgICAgIHJpZGVMZWdzWzBdPy5zZXJ2aWNlSm91cm5leT8uc3RvcFBvaW50cyAmJlxuICAgICAgICByaWRlTGVnc1swXT8uc2VydmljZUpvdXJuZXk/LnN0b3BQb2ludHNbMF0uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCdcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtc2tpcHBlZCdcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3QgYXJyaXZhbE5vdFNlcnZpY2VkID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgY29uc3QgbGFzdExlZyA9IHJpZGVMZWdzICYmIHJpZGVMZWdzW3JpZGVMZWdzLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3Qgc3RvcHMgPSBsYXN0TGVnICYmIGxhc3RMZWcuc2VydmljZUpvdXJuZXk/LnN0b3BQb2ludHM7XG5cbiAgICAgIHJldHVybiBzdG9wcyAmJiBzdG9wc1tzdG9wcy5sZW5ndGggLSAxXS5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJ1xuICAgICAgICA/ICdzYmItcGVhcmwtY2hhaW4tLWFycml2YWwtc2tpcHBlZCdcbiAgICAgICAgOiAnJztcbiAgICB9KSgpO1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlQ2FuY2VsQ2xhc3MgPSAoKCk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gcmlkZUxlZ3MgJiYgcmlkZUxlZ3NbMF0/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkXG4gICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbi0tZGVwYXJ0dXJlLWRpc3J1cHRpb24nXG4gICAgICAgIDogJyc7XG4gICAgfSkoKTtcblxuICAgIGNvbnN0IGFycml2YWxDYW5jZWxDbGFzcyA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgIHJldHVybiByaWRlTGVncyAmJiByaWRlTGVnc1tyaWRlTGVncy5sZW5ndGggLSAxXT8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5jYW5jZWxsZWRcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluLS1hcnJpdmFsLWRpc3J1cHRpb24nXG4gICAgICAgIDogJyc7XG4gICAgfSkoKTtcblxuICAgIGNvbnN0IHN0YXR1cyA9XG4gICAgICBkZXBhcnR1cmVXaXRoRGVsYXkgJiZcbiAgICAgIGFycml2YWxUaW1lRGVsYXkgJiZcbiAgICAgIHRoaXMuX2dldFN0YXR1cyhub3csIGRlcGFydHVyZVdpdGhEZWxheSwgYXJyaXZhbFRpbWVEZWxheSk7XG5cbiAgICBjb25zdCBzdGF0dXNDbGFzc0RlcGFydHVyZSA9XG4gICAgICByaWRlTGVncyAmJiBzdGF0dXMgJiYgIWRlcGFydHVyZUNhbmNlbENsYXNzID8gJ3NiYi1wZWFybC1jaGFpbl9fYnVsbGV0LS0nICsgc3RhdHVzIDogJyc7XG5cbiAgICBjb25zdCBzdGF0dXNDbGFzc0Fycml2YWwgPVxuICAgICAgcmlkZUxlZ3MgJiYgc3RhdHVzICYmICFhcnJpdmFsQ2FuY2VsQ2xhc3NcbiAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19idWxsZXQtLScgKyB0aGlzLl9nZXRTdGF0dXMobm93LCB1bmRlZmluZWQsIGFycml2YWxUaW1lRGVsYXkpXG4gICAgICAgIDogJyc7XG5cbiAgICBpZiAodGhpcy5faXNBbGxDYW5jZWxsZWQocmlkZUxlZ3MpKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wZWFybC1jaGFpblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgc2JiLXBlYXJsLWNoYWluLS1kZXBhcnR1cmUtZGlzcnVwdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19sZWcgc2JiLXBlYXJsLWNoYWluX19sZWctLWRpc3J1cHRpb25cIj48L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fYnVsbGV0IHNiYi1wZWFybC1jaGFpbi0tZGVwYXJ0dXJlLWRpc3J1cHRpb25cIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fYnVsbGV0ICR7c3RhdHVzQ2xhc3NEZXBhcnR1cmV9ICR7ZGVwYXJ0dXJlTm90U2VydmljZWR9ICR7ZGVwYXJ0dXJlQ2FuY2VsQ2xhc3N9XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgJHtyaWRlTGVncz8ubWFwKChsZWc6IFB0UmlkZUxlZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc3RvcFBvaW50cywgc2VydmljZUFsdGVyYXRpb24gfSA9IGxlZz8uc2VydmljZUpvdXJuZXkgfHwge307XG5cbiAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMuX2dldFJlbGF0aXZlRHVyYXRpb24ocmlkZUxlZ3MsIGxlZyk7XG4gICAgICAgICAgY29uc3QgZGVwYXJ0dXJlID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuZGVwYXJ0dXJlPy50aW1lKTtcbiAgICAgICAgICBjb25zdCBhcnJpdmFsID0gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhsZWcuYXJyaXZhbD8udGltZSk7XG5cbiAgICAgICAgICBjb25zdCBpc0Fycml2YWxOb3RTZXJ2aWNlZCA9XG4gICAgICAgICAgICBzdG9wUG9pbnRzICYmIHN0b3BQb2ludHNbc3RvcFBvaW50cy5sZW5ndGggLSAxXT8uc3RvcFN0YXR1cyA9PT0gJ05PVF9TRVJWSUNFRCc7XG4gICAgICAgICAgY29uc3QgaXNBcnJpdmFsUGxhbm5lZCA9XG4gICAgICAgICAgICBzdG9wUG9pbnRzICYmIHN0b3BQb2ludHNbc3RvcFBvaW50cy5sZW5ndGggLSAxXT8uc3RvcFN0YXR1cyA9PT0gJ1BMQU5ORUQnO1xuICAgICAgICAgIGNvbnN0IGlzRGVwYXJ0dXJlTm90U2VydmljZWQgPSBzdG9wUG9pbnRzICYmIHN0b3BQb2ludHNbMF0/LnN0b3BTdGF0dXMgPT09ICdOT1RfU0VSVklDRUQnO1xuXG4gICAgICAgICAgY29uc3Qgc3RvcFBvaW50c0JlZm9yZSA9IGluZGV4ID4gMCAmJiByaWRlTGVnc1tpbmRleCAtIDFdLnNlcnZpY2VKb3VybmV5LnN0b3BQb2ludHM7XG4gICAgICAgICAgY29uc3QgaXNCZWZvcmVMZWdBcnJpdmFsTm90U2VydmljZWQgPVxuICAgICAgICAgICAgc3RvcFBvaW50c0JlZm9yZSAmJlxuICAgICAgICAgICAgc3RvcFBvaW50c0JlZm9yZVtzdG9wUG9pbnRzQmVmb3JlLmxlbmd0aCAtIDFdPy5zdG9wU3RhdHVzID09PSAnTk9UX1NFUlZJQ0VEJztcblxuICAgICAgICAgIGNvbnN0IHNraXBwZWRMZWcgPVxuICAgICAgICAgICAgaXNBcnJpdmFsTm90U2VydmljZWQgfHwgKGlzRGVwYXJ0dXJlTm90U2VydmljZWQgJiYgaXNBcnJpdmFsUGxhbm5lZClcbiAgICAgICAgICAgICAgPyAnc2JiLXBlYXJsLWNoYWluX19sZWctLXNraXBwZWQnXG4gICAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgY29uc3QgZGVwYXJ0dXJlU2tpcHBlZEJ1bGxldCA9XG4gICAgICAgICAgICBpc0RlcGFydHVyZU5vdFNlcnZpY2VkIHx8IGlzQmVmb3JlTGVnQXJyaXZhbE5vdFNlcnZpY2VkXG4gICAgICAgICAgICAgID8gJ3NiYi1wZWFybC1jaGFpbl9fc3RvcC0tZGVwYXJ0dXJlLXNraXBwZWQnXG4gICAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgICBjb25zdCBjYW5jZWxsZWQgPSBzZXJ2aWNlQWx0ZXJhdGlvbj8uY2FuY2VsbGVkID8gJ3NiYi1wZWFybC1jaGFpbl9fbGVnLS1kaXNydXB0aW9uJyA6ICcnO1xuXG4gICAgICAgICAgY29uc3QgbGVnRGVwYXJ0dXJlV2l0aERlbGF5ID0geyB0aW1lOiBkZXBhcnR1cmUsIGRlbGF5OiBsZWcuZGVwYXJ0dXJlPy5kZWxheSA/PyAwIH07XG4gICAgICAgICAgY29uc3QgbGVnQXJyaXZhbFdpdGhEZWxheSA9IHsgdGltZTogYXJyaXZhbCwgZGVsYXk6IGxlZy5hcnJpdmFsPy5kZWxheSA/PyAwIH07XG4gICAgICAgICAgY29uc3Qgc3RhdHVzID0gdGhpcy5fZ2V0U3RhdHVzKG5vdywgbGVnRGVwYXJ0dXJlV2l0aERlbGF5LCBsZWdBcnJpdmFsV2l0aERlbGF5KTtcblxuICAgICAgICAgIGNvbnN0IGxlZ1N0YXR1cyA9ICFjYW5jZWxsZWQgJiYgIXNraXBwZWRMZWcgJiYgJ3NiYi1wZWFybC1jaGFpbl9fbGVnLS0nICsgc3RhdHVzO1xuICAgICAgICAgIGNvbnN0IGxlZ1N0eWxlID0gKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgJy0tc2JiLXBlYXJsLWNoYWluLWxlZy13aWR0aCc6IGAke2R1cmF0aW9ufSVgLFxuICAgICAgICAgICAgICAuLi4oc3RhdHVzID09PSAncHJvZ3Jlc3MnICYmICFjYW5jZWxsZWQgJiYgIXNraXBwZWRMZWdcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgJy0tc2JiLXBlYXJsLWNoYWluLWxlZy1zdGF0dXMnOiBgJHt0aGlzLl9nZXRQcm9ncmVzcyhub3csIGxlZ0RlcGFydHVyZVdpdGhEZWxheSwgbGVnQXJyaXZhbFdpdGhEZWxheSl9JWAsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICByZXR1cm4gaHRtbGAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX2xlZyAke2xlZ1N0YXR1cyB8fCAnJ30gJHtjYW5jZWxsZWR9ICR7c2tpcHBlZExlZ31cIlxuICAgICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcChsZWdTdHlsZSgpKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICAke2luZGV4ID4gMCAmJiBpbmRleCA8IHJpZGVMZWdzLmxlbmd0aFxuICAgICAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3N0b3AgJHtkZXBhcnR1cmVTa2lwcGVkQnVsbGV0fVwiPjwvc3Bhbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICR7c3RhdHVzID09PSAncHJvZ3Jlc3MnICYmICFjYW5jZWxsZWQgJiYgIXNraXBwZWRMZWdcbiAgICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJQb3NpdGlvbihub3csIGxlZ0RlcGFydHVyZVdpdGhEZWxheSwgbGVnQXJyaXZhbFdpdGhEZWxheSlcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvZGl2PmA7XG4gICAgICAgIH0pfVxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX19idWxsZXQgJHtzdGF0dXNDbGFzc0Fycml2YWx9ICR7YXJyaXZhbE5vdFNlcnZpY2VkfSAke2Fycml2YWxDYW5jZWxDbGFzc31cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBlYXJsLWNoYWluJzogU2JiUGVhcmxDaGFpbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSIsIl9iIiwiX2QiLCJfYyIsIl9lIiwic3RhdHVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CTyxTQUFTLFFBQVEsTUFBTSxlQUFlO0FBQzNDLFNBQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sYUFBYTtBQUM5QztBQ0ZPLFNBQVMsU0FBUyxNQUFNLGVBQWU7QUFDNUMsU0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxhQUFhO0FBQzlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1,4 +1,3 @@
1
- import { SbbDateLike } from '@sbb-esta/lyne-elements/core/interfaces/types';
2
1
  import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
3
2
  import { Leg, PtRideLeg } from '../core/timetable.js';
4
3
  /**
@@ -30,8 +29,11 @@ export declare class SbbPearlChainTimeElement extends LitElement {
30
29
  accessor disableAnimation: boolean;
31
30
  /** Optional prop to render wheelchair-small instead of walk-small */
32
31
  accessor a11yFootpath: boolean;
33
- /** A configured date which acts as the current date instead of the real current date. Recommended for testing purposes. */
34
- set now(value: SbbDateLike | undefined);
32
+ /**
33
+ * A configured date which acts as the current date instead of the real current date.
34
+ * Only recommended for testing purposes.
35
+ */
36
+ set now(value: Date | undefined);
35
37
  get now(): Date;
36
38
  private _now;
37
39
  private _language;
@@ -1 +1 @@
1
- {"version":3,"file":"pearl-chain-time.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-time/pearl-chain-time.component.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAIhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAEM,wBAAyB,SAAQ,UAAU;IAC/C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E,sEAAsE;IACtE,SAEgB,aAAa,EAAE,MAAM,CAAM;IAE3C,oEAAoE;IACpE,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,0EAA0E;IAC1E,SAEgB,aAAa,EAAE,MAAM,CAAO;IAE5C,uEAAuE;IACvE,SAEgB,WAAW,EAAE,MAAM,CAAO;IAE1C;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD,qEAAqE;IACrE,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C,2HAA2H;IAC3H,IACW,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAE5C;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc;CAoD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}
1
+ {"version":3,"file":"pearl-chain-time.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-time/pearl-chain-time.component.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAIhD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAEM,wBAAyB,SAAQ,UAAU;IAC/C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E,sEAAsE;IACtE,SAEgB,aAAa,EAAE,MAAM,CAAM;IAE3C,oEAAoE;IACpE,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,0EAA0E;IAC1E,SAEgB,aAAa,EAAE,MAAM,CAAO;IAE5C,uEAAuE;IACvE,SAEgB,WAAW,EAAE,MAAM,CAAO;IAE1C;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD,qEAAqE;IACrE,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAErC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc;CAoD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}