@amboss/design-system 1.20.4 → 1.21.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 (44) hide show
  1. package/build/cjs/build-tokens/visualConfig.js +11 -0
  2. package/build/cjs/src/components/Popover/Popover.js +8 -3
  3. package/build/cjs/src/components/Sheet/Sheet.js +315 -0
  4. package/build/cjs/src/components/Toggletip/BasePopover.js +43 -8
  5. package/build/cjs/src/components/Tooltip/BaseTooltip.js +1 -1
  6. package/build/cjs/src/components/Tooltip/TooltipContent.js +41 -22
  7. package/build/cjs/src/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
  8. package/build/cjs/src/index.js +2 -0
  9. package/build/cjs/src/shared/FocusTrapWrapper.js +41 -0
  10. package/build/cjs/src/shared/useDragDown.js +84 -0
  11. package/build/esm/build-tokens/_colors.json +9 -0
  12. package/build/esm/build-tokens/_sizes.json +1 -1
  13. package/build/esm/build-tokens/visualConfig.d.ts +8 -0
  14. package/build/esm/build-tokens/visualConfig.js +11 -0
  15. package/build/esm/build-tokens/visualConfig.js.map +1 -1
  16. package/build/esm/src/components/Popover/Popover.d.ts +2 -3
  17. package/build/esm/src/components/Popover/Popover.js +8 -3
  18. package/build/esm/src/components/Popover/Popover.js.map +1 -1
  19. package/build/esm/src/components/Sheet/Sheet.d.ts +15 -0
  20. package/build/esm/src/components/Sheet/Sheet.js +308 -0
  21. package/build/esm/src/components/Sheet/Sheet.js.map +1 -0
  22. package/build/esm/src/components/Toggletip/BasePopover.d.ts +5 -5
  23. package/build/esm/src/components/Toggletip/BasePopover.js +43 -7
  24. package/build/esm/src/components/Toggletip/BasePopover.js.map +1 -1
  25. package/build/esm/src/components/Toggletip/Toggletip.d.ts +1 -1
  26. package/build/esm/src/components/Toggletip/Toggletip.js.map +1 -1
  27. package/build/esm/src/components/Tooltip/BaseTooltip.js +1 -1
  28. package/build/esm/src/components/Tooltip/BaseTooltip.js.map +1 -1
  29. package/build/esm/src/components/Tooltip/TooltipContent.js +42 -23
  30. package/build/esm/src/components/Tooltip/TooltipContent.js.map +1 -1
  31. package/build/esm/src/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
  32. package/build/esm/src/components/UserHighlightTooltip/UserHighlightTooltip.js.map +1 -1
  33. package/build/esm/src/index.d.ts +1 -0
  34. package/build/esm/src/index.js +1 -0
  35. package/build/esm/src/index.js.map +1 -1
  36. package/build/esm/src/shared/FocusTrapWrapper.d.ts +10 -0
  37. package/build/esm/src/shared/FocusTrapWrapper.js +35 -0
  38. package/build/esm/src/shared/FocusTrapWrapper.js.map +1 -0
  39. package/build/esm/src/shared/useDragDown.d.ts +13 -0
  40. package/build/esm/src/shared/useDragDown.js +83 -0
  41. package/build/esm/src/shared/useDragDown.js.map +1 -0
  42. package/build/scss/_theming.scss +2 -0
  43. package/build/scss/_variables.scss +1 -0
  44. package/package.json +1 -1
@@ -9,7 +9,6 @@ var useWindow = require('../../shared/useWindow.js');
9
9
  var SubThemeProvider = require('../SubThemeProvider/SubThemeProvider.js');
10
10
  var _zindex = require('../../../build-tokens/_zindex.json.js');
11
11
  var utils = require('./utils.js');
12
- var Container = require('../Container/Container.js');
13
12
 
14
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
14
 
@@ -48,9 +47,7 @@ const StyledContainer = /*#__PURE__*/_styled__default.default("div", process.env
48
47
  padding: `${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,
49
48
  ...(contentPadding && {
50
49
  padding: contentPaddingMap[contentPadding]
51
- }),
52
- borderRadius: theme.variables.size.borderRadius.xs,
53
- backgroundColor: theme.values.color.background.primary.default
50
+ })
54
51
  };
55
52
  return {
56
53
  position: "absolute",
@@ -58,14 +55,21 @@ const StyledContainer = /*#__PURE__*/_styled__default.default("div", process.env
58
55
  opacity: 0,
59
56
  animation: `${ANIMATION_DURATION}ms ease-out forwards ${animation}`,
60
57
  maxWidth,
61
- width: "initial",
58
+ width: "max-content",
62
59
  boxSizing: "border-box",
60
+ backgroundColor: hasInvertedSubTheme ? theme.values.color.background.primary.default : theme.values.color.background.elevated.default,
61
+ borderRadius: hasInvertedSubTheme ? theme.variables.size.borderRadius.xs : theme.variables.size.borderRadius.s,
63
62
  ...(hasInvertedSubTheme && invertedSubThemeStyles),
64
63
  ...(horizontalPlacement === "center" && {
65
64
  transform: "translate(-50%)"
65
+ }),
66
+ ...(!hasInvertedSubTheme && {
67
+ boxShadow: theme.values.elevation.c
66
68
  })
67
69
  };
68
- }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXBDb250ZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RXdCIiwiZmlsZSI6IlRvb2x0aXBDb250ZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBNdXRhYmxlUmVmT2JqZWN0LFxuICBSZWFjdEVsZW1lbnQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgdXNlRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURvY3VtZW50XCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHsgU3ViVGhlbWVQcm92aWRlciB9IGZyb20gXCIuLi9TdWJUaGVtZVByb3ZpZGVyL1N1YlRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB6SW5kaWNlcyBmcm9tIFwiLi4vLi4vLi4vYnVpbGQtdG9rZW5zL196aW5kZXguanNvblwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcblxuZXhwb3J0IHR5cGUgVG9vbHRpcENvbnRlbnRQcm9wcyA9IHtcbiAgY29udGVudDogUmVhY3RFbGVtZW50O1xuICB0cmlnZ2VyUmVmOiBNdXRhYmxlUmVmT2JqZWN0PGFueT47XG4gIC8qIFBsYWNlbWVudCAqL1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgdG9vbHRpcCBpbnRvICovXG4gIHBvcnRhbENvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIFwiYXJpYS1oaWRkZW5cIj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICAvLyBDb250ZW50IHBhZGRpbmdcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBoYXNJbnZlcnRlZFN1YlRoZW1lPzogYm9vbGVhbjtcbiAgbWF4V2lkdGg/OiBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJjZW50ZXJcIjtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIgfCBcImJvdHRvbVwiO1xufTtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIFwiY29udGVudFBhZGRpbmdcIiB8IFwibWF4V2lkdGhcIiB8IFwiaGFzSW52ZXJ0ZWRTdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG59O1xuXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT04gPSAyMDA7XG5jb25zdCBTSE9XX0hJREVfREVMQVkgPSAyMDA7XG5jb25zdCBNQVhfQ09OVEVOVF9XSURUSCA9IDIyNDtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBtYXhXaWR0aCxcbiAgICBjb250ZW50UGFkZGluZyxcbiAgICBoYXNJbnZlcnRlZFN1YlRoZW1lID0gdHJ1ZSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFuaW1hdGlvbkRpc3RhbmNlID1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiXG4gICAgICAgID8gYCR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YFxuICAgICAgICA6IGAtJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgO1xuICAgIGNvbnN0IGFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICAgICB0bzoge1xuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICB0cmFuc2Zvcm06XG4gICAgICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIlxuICAgICAgICAgICAgPyBgdHJhbnNsYXRlKC01MCUsICR7YW5pbWF0aW9uRGlzdGFuY2V9KWBcbiAgICAgICAgICAgIDogYHRyYW5zbGF0ZVkoJHthbmltYXRpb25EaXN0YW5jZX0pYCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50UGFkZGluZ01hcCA9IHtcbiAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzLFxuICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzID0ge1xuICAgICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnN9YCxcbiAgICAgIC4uLihjb250ZW50UGFkZGluZyAmJiB7XG4gICAgICAgIHBhZGRpbmc6IGNvbnRlbnRQYWRkaW5nTWFwW2NvbnRlbnRQYWRkaW5nXSxcbiAgICAgIH0pLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXg6IHpJbmRpY2VzLnRvb2x0aXAudmFsdWUsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uOiBgJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHthbmltYXRpb259YCxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgd2lkdGg6IFwiaW5pdGlhbFwiLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIC4uLihoYXNJbnZlcnRlZFN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEFycm93UHJvcHMgPSB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHsgdGhlbWUsIHZlcnRpY2FsUGxhY2VtZW50LCBob3Jpem9udGFsUGxhY2VtZW50LCBzaXplID0gQVJST1dfU0laRSB9KSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gZ2V0QXJyb3dPZmZzZXQoc2l6ZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogMCxcbiAgICAgIGhlaWdodDogMCxcbiAgICAgIGJvcmRlckxlZnQ6IGAke3NpemV9cHggc29saWQgdHJhbnNwYXJlbnRgLFxuICAgICAgYm9yZGVyUmlnaHQ6IGAke3NpemV9cHggc29saWQgdHJhbnNwYXJlbnRgLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgJiYge1xuICAgICAgICB0b3A6IFwiMTAwJVwiLFxuICAgICAgICBib3JkZXJUb3A6IGAke3NpemV9cHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICB0b3A6IGAtJHtzaXplfXB4YCxcbiAgICAgICAgYm9yZGVyQm90dG9tOiBgJHtzaXplfXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0fWAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICAgIGxlZnQ6IGAke29mZnNldH1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldH1weGAsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgaGFzSW52ZXJ0ZWRTdWJUaGVtZSA9IHRydWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0ludmVydGVkU3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtoYXNJbnZlcnRlZFN1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoXG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50XSk7XG5cbiAgLy8gUmUtcG9zaXRpb24gdG9vbHRpcCBpZiBpdCBtb3ZlcyBvdXQgb2YgdGhlIHZpZXdwb3J0IGJ5IDEwJSBhbmQgb24gd2luZG93IHJlc2l6ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdG9vbHRpcFJlZi5jdXJyZW50XG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKCkgPT4ge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRocmVzaG9sZDogMC45LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRvb2x0aXBSZWYuY3VycmVudCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7IC8vIHVzZSBjYXB0dXJlIGhlcmUgdG8gZGV0ZWN0IHNjcm9sbCBvbiBhbnkgcGFyZW50XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob2JzZXJ2ZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIGhhc0ludmVydGVkU3ViVGhlbWU9e2hhc0ludmVydGVkU3ViVGhlbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgb25Qb2ludGVyRW50ZXI9e29uVG9vbHRpcFBvaW50ZXJFbnRlcn1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtvblRvb2x0aXBQb2ludGVyTGVhdmV9XG4gICAgPlxuICAgICAge2hhc0ludmVydGVkU3ViVGhlbWUgPyAoXG4gICAgICAgIGNvbnRlbnRcbiAgICAgICkgOiAoXG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXszfSBib3JkZXJSYWRpdXM9XCJzXCI+XG4gICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IGhhc0ludmVydGVkU3ViVGhlbWUgPyAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT1cImludmVydGVkXCI+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHdyYXBwZXJFbG0sIHBvcnRhbENvbnRhaW5lciB8fCBkb2N1bWVudC5ib2R5KTtcbn1cbiJdfQ== */");
70
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXBDb250ZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RXdCIiwiZmlsZSI6IlRvb2x0aXBDb250ZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBNdXRhYmxlUmVmT2JqZWN0LFxuICBSZWFjdEVsZW1lbnQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgdXNlRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURvY3VtZW50XCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHsgU3ViVGhlbWVQcm92aWRlciB9IGZyb20gXCIuLi9TdWJUaGVtZVByb3ZpZGVyL1N1YlRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB6SW5kaWNlcyBmcm9tIFwiLi4vLi4vLi4vYnVpbGQtdG9rZW5zL196aW5kZXguanNvblwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBESVNUQU5DRV9GUk9NX1RSSUdHRVIsXG4gIGdldEFycm93T2Zmc2V0LFxuICBnZXRUb29sdGlwU3R5bGUsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICAvKiBQbGFjZW1lbnQgKi9cbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHRvb2x0aXAgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICBcImFyaWEtaGlkZGVuXCI/OiBib29sZWFuO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgLy8gQ29udGVudCBwYWRkaW5nXG4gIGNvbnRlbnRQYWRkaW5nPzogXCJzXCIgfCBcIm1cIjtcbiAgaGFzSW52ZXJ0ZWRTdWJUaGVtZT86IGJvb2xlYW47XG4gIG1heFdpZHRoPzogbnVtYmVyO1xuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQ/OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiY2VudGVyXCI7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiIHwgXCJib3R0b21cIjtcbn07XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSBQaWNrPFxuICBUb29sdGlwQ29udGVudFByb3BzLFxuICBcImNvbnRlbnRQYWRkaW5nXCIgfCBcIm1heFdpZHRoXCIgfCBcImhhc0ludmVydGVkU3ViVGhlbWVcIlxuPiAmIHtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgbWF4V2lkdGgsXG4gICAgY29udGVudFBhZGRpbmcsXG4gICAgaGFzSW52ZXJ0ZWRTdWJUaGVtZSA9IHRydWUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb25EaXN0YW5jZSA9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIlxuICAgICAgICA/IGAke0FOSU1BVElPTl9ESVNUQU5DRX1weGBcbiAgICAgICAgOiBgLSR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YDtcbiAgICBjb25zdCBhbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgdHJhbnNmb3JtOlxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCJcbiAgICAgICAgICAgID8gYHRyYW5zbGF0ZSgtNTAlLCAke2FuaW1hdGlvbkRpc3RhbmNlfSlgXG4gICAgICAgICAgICA6IGB0cmFuc2xhdGVZKCR7YW5pbWF0aW9uRGlzdGFuY2V9KWAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29udGVudFBhZGRpbmdNYXAgPSB7XG4gICAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB9O1xuXG4gICAgY29uc3QgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyA9IHtcbiAgICAgIHBhZGRpbmc6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9ICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfWAsXG4gICAgICAuLi4oY29udGVudFBhZGRpbmcgJiYge1xuICAgICAgICBwYWRkaW5nOiBjb250ZW50UGFkZGluZ01hcFtjb250ZW50UGFkZGluZ10sXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXg6IHpJbmRpY2VzLnRvb2x0aXAudmFsdWUsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uOiBgJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHthbmltYXRpb259YCxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgd2lkdGg6IFwibWF4LWNvbnRlbnRcIixcbiAgICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhhc0ludmVydGVkU3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgYm9yZGVyUmFkaXVzOiBoYXNJbnZlcnRlZFN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihoYXNJbnZlcnRlZFN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLighaGFzSW52ZXJ0ZWRTdWJUaGVtZSAmJiB7XG4gICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvbi5jLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcImhhc0ludmVydGVkU3ViVGhlbWVcIj4gJiB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbi8vIFRoaXMgY29udGFpbmVyIGlzIGxhcmdlIGVub3VnaCB0byBjb250YWluIHRoZSBhcnJvdyBzaGFkb3cgYmx1clxuY29uc3QgQVJST1dfQ09OVEFJTkVSX1dJRFRIID0gNDA7XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBoYXNJbnZlcnRlZFN1YlRoZW1lLFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgc2l6ZSA9IEFSUk9XX1NJWkUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSBnZXRBcnJvd09mZnNldChzaXplKTtcbiAgICBjb25zdCBhZGp1c3RtZW50Rm9yU2hhZG93ID0gaGFzSW52ZXJ0ZWRTdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoYXNJbnZlcnRlZFN1YlRoZW1lXG4gICAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKVwiLFxuXG4gICAgICAgIC4uLighaGFzSW52ZXJ0ZWRTdWJUaGVtZSAmJiB7XG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uLmMsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgaGFzSW52ZXJ0ZWRTdWJUaGVtZSA9IHRydWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0ludmVydGVkU3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtoYXNJbnZlcnRlZFN1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoXG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50XSk7XG5cbiAgLy8gUmUtcG9zaXRpb24gdG9vbHRpcCBpZiBpdCBtb3ZlcyBvdXQgb2YgdGhlIHZpZXdwb3J0IGJ5IDEwJSBhbmQgb24gd2luZG93IHJlc2l6ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdG9vbHRpcFJlZi5jdXJyZW50XG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKCkgPT4ge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRocmVzaG9sZDogMC45LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRvb2x0aXBSZWYuY3VycmVudCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7IC8vIHVzZSBjYXB0dXJlIGhlcmUgdG8gZGV0ZWN0IHNjcm9sbCBvbiBhbnkgcGFyZW50XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob2JzZXJ2ZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIGhhc0ludmVydGVkU3ViVGhlbWU9e2hhc0ludmVydGVkU3ViVGhlbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgb25Qb2ludGVyRW50ZXI9e29uVG9vbHRpcFBvaW50ZXJFbnRlcn1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtvblRvb2x0aXBQb2ludGVyTGVhdmV9XG4gICAgPlxuICAgICAge2NvbnRlbnR9XG4gICAgICB7IWhpZGVBcnJvdyAmJiAoXG4gICAgICAgIDxTdHlsZWRBcnJvd1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2Ake2RhdGFFMmVUZXN0SWR9X2Fycm93YH1cbiAgICAgICAgICBoYXNJbnZlcnRlZFN1YlRoZW1lPXtoYXNJbnZlcnRlZFN1YlRoZW1lfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IGhhc0ludmVydGVkU3ViVGhlbWUgPyAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT1cImludmVydGVkXCI+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHdyYXBwZXJFbG0sIHBvcnRhbENvbnRhaW5lciB8fCBkb2N1bWVudC5ib2R5KTtcbn1cbiJdfQ== */");
71
+ // This container is large enough to contain the arrow shadow blur
72
+ const ARROW_CONTAINER_WIDTH = 40;
69
73
  const StyledArrow = /*#__PURE__*/_styled__default.default("div", process.env.NODE_ENV === "production" ? {
70
74
  target: "e1k814k40"
71
75
  } : {
@@ -74,37 +78,54 @@ const StyledArrow = /*#__PURE__*/_styled__default.default("div", process.env.NOD
74
78
  })(_ref2 => {
75
79
  let {
76
80
  theme,
81
+ hasInvertedSubTheme,
77
82
  verticalPlacement,
78
83
  horizontalPlacement,
79
84
  size = utils.ARROW_SIZE
80
85
  } = _ref2;
81
86
  const offset = utils.getArrowOffset(size);
87
+ const adjustmentForShadow = hasInvertedSubTheme ? 0 : 1;
88
+ const arrowContainerHeight = size + utils.DISTANCE_FROM_TRIGGER;
89
+ // Get arrow width and height using pythogoras theorem and add 1 to height to account for dark mode shadow.
90
+ const arrowSideLength = Math.sqrt(size ** 2 + (size + adjustmentForShadow) ** 2);
82
91
  return {
83
92
  position: "absolute",
84
- width: 0,
85
- height: 0,
86
- borderLeft: `${size}px solid transparent`,
87
- borderRight: `${size}px solid transparent`,
93
+ width: ARROW_CONTAINER_WIDTH,
94
+ height: arrowContainerHeight,
95
+ overflow: "hidden",
88
96
  ...(verticalPlacement === "top" && {
89
- top: "100%",
90
- borderTop: `${size}px solid ${theme.values.color.background.primary.default}`
97
+ // place the arrow container 1px inside tooltip container to account for dark mode box-shadow
98
+ top: `calc(100% - ${adjustmentForShadow}px)`
91
99
  }),
92
100
  ...(verticalPlacement === "bottom" && {
93
- top: `-${size}px`,
94
- borderBottom: `${size}px solid ${theme.values.color.background.primary.default}`
101
+ // place the arrow container 1px inside tooltip container to account for dark mode box-shadow
102
+ top: `-${arrowContainerHeight - adjustmentForShadow}px`
95
103
  }),
96
104
  ...(horizontalPlacement === "center" && {
97
105
  left: "50%",
98
106
  transform: "translate(-50%)"
99
107
  }),
100
108
  ...(horizontalPlacement === "right" && {
101
- left: `${offset}px`
109
+ left: `${offset - (ARROW_CONTAINER_WIDTH / 2 - size)}px`
102
110
  }),
103
111
  ...(horizontalPlacement === "left" && {
104
- right: `${offset}px`
105
- })
112
+ right: `${offset - (ARROW_CONTAINER_WIDTH / 2 - size)}px`
113
+ }),
114
+ "&::after": {
115
+ content: '" "',
116
+ position: "absolute",
117
+ top: verticalPlacement === "top" ? 0 : "100%",
118
+ left: "50%",
119
+ width: arrowSideLength,
120
+ height: arrowSideLength,
121
+ backgroundColor: hasInvertedSubTheme ? theme.values.color.background.primary.default : theme.values.color.background.elevated.default,
122
+ transform: "translate(-50%, -50%) rotate(45deg)",
123
+ ...(!hasInvertedSubTheme && {
124
+ boxShadow: theme.values.elevation.c
125
+ })
126
+ }
106
127
  };
107
- }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXBDb250ZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SW9CIiwiZmlsZSI6IlRvb2x0aXBDb250ZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBNdXRhYmxlUmVmT2JqZWN0LFxuICBSZWFjdEVsZW1lbnQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgdXNlRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURvY3VtZW50XCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHsgU3ViVGhlbWVQcm92aWRlciB9IGZyb20gXCIuLi9TdWJUaGVtZVByb3ZpZGVyL1N1YlRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB6SW5kaWNlcyBmcm9tIFwiLi4vLi4vLi4vYnVpbGQtdG9rZW5zL196aW5kZXguanNvblwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcblxuZXhwb3J0IHR5cGUgVG9vbHRpcENvbnRlbnRQcm9wcyA9IHtcbiAgY29udGVudDogUmVhY3RFbGVtZW50O1xuICB0cmlnZ2VyUmVmOiBNdXRhYmxlUmVmT2JqZWN0PGFueT47XG4gIC8qIFBsYWNlbWVudCAqL1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICAvKiBDdXN0b20gcG9ydGFsIGNvbnRhaW5lciB0byByZW5kZXIgdG9vbHRpcCBpbnRvICovXG4gIHBvcnRhbENvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIFwiYXJpYS1oaWRkZW5cIj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICAvLyBDb250ZW50IHBhZGRpbmdcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBoYXNJbnZlcnRlZFN1YlRoZW1lPzogYm9vbGVhbjtcbiAgbWF4V2lkdGg/OiBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJjZW50ZXJcIjtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIgfCBcImJvdHRvbVwiO1xufTtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIFwiY29udGVudFBhZGRpbmdcIiB8IFwibWF4V2lkdGhcIiB8IFwiaGFzSW52ZXJ0ZWRTdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG59O1xuXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT04gPSAyMDA7XG5jb25zdCBTSE9XX0hJREVfREVMQVkgPSAyMDA7XG5jb25zdCBNQVhfQ09OVEVOVF9XSURUSCA9IDIyNDtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBtYXhXaWR0aCxcbiAgICBjb250ZW50UGFkZGluZyxcbiAgICBoYXNJbnZlcnRlZFN1YlRoZW1lID0gdHJ1ZSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFuaW1hdGlvbkRpc3RhbmNlID1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiXG4gICAgICAgID8gYCR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YFxuICAgICAgICA6IGAtJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgO1xuICAgIGNvbnN0IGFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICAgICB0bzoge1xuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICB0cmFuc2Zvcm06XG4gICAgICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIlxuICAgICAgICAgICAgPyBgdHJhbnNsYXRlKC01MCUsICR7YW5pbWF0aW9uRGlzdGFuY2V9KWBcbiAgICAgICAgICAgIDogYHRyYW5zbGF0ZVkoJHthbmltYXRpb25EaXN0YW5jZX0pYCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50UGFkZGluZ01hcCA9IHtcbiAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzLFxuICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzID0ge1xuICAgICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnN9YCxcbiAgICAgIC4uLihjb250ZW50UGFkZGluZyAmJiB7XG4gICAgICAgIHBhZGRpbmc6IGNvbnRlbnRQYWRkaW5nTWFwW2NvbnRlbnRQYWRkaW5nXSxcbiAgICAgIH0pLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHMsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXg6IHpJbmRpY2VzLnRvb2x0aXAudmFsdWUsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uOiBgJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHthbmltYXRpb259YCxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgd2lkdGg6IFwiaW5pdGlhbFwiLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIC4uLihoYXNJbnZlcnRlZFN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEFycm93UHJvcHMgPSB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHsgdGhlbWUsIHZlcnRpY2FsUGxhY2VtZW50LCBob3Jpem9udGFsUGxhY2VtZW50LCBzaXplID0gQVJST1dfU0laRSB9KSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gZ2V0QXJyb3dPZmZzZXQoc2l6ZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogMCxcbiAgICAgIGhlaWdodDogMCxcbiAgICAgIGJvcmRlckxlZnQ6IGAke3NpemV9cHggc29saWQgdHJhbnNwYXJlbnRgLFxuICAgICAgYm9yZGVyUmlnaHQ6IGAke3NpemV9cHggc29saWQgdHJhbnNwYXJlbnRgLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgJiYge1xuICAgICAgICB0b3A6IFwiMTAwJVwiLFxuICAgICAgICBib3JkZXJUb3A6IGAke3NpemV9cHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICB0b3A6IGAtJHtzaXplfXB4YCxcbiAgICAgICAgYm9yZGVyQm90dG9tOiBgJHtzaXplfXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0fWAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICAgIGxlZnQ6IGAke29mZnNldH1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldH1weGAsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgaGFzSW52ZXJ0ZWRTdWJUaGVtZSA9IHRydWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0ludmVydGVkU3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtoYXNJbnZlcnRlZFN1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoXG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50XSk7XG5cbiAgLy8gUmUtcG9zaXRpb24gdG9vbHRpcCBpZiBpdCBtb3ZlcyBvdXQgb2YgdGhlIHZpZXdwb3J0IGJ5IDEwJSBhbmQgb24gd2luZG93IHJlc2l6ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdG9vbHRpcFJlZi5jdXJyZW50XG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKCkgPT4ge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRocmVzaG9sZDogMC45LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRvb2x0aXBSZWYuY3VycmVudCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7IC8vIHVzZSBjYXB0dXJlIGhlcmUgdG8gZGV0ZWN0IHNjcm9sbCBvbiBhbnkgcGFyZW50XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob2JzZXJ2ZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIGhhc0ludmVydGVkU3ViVGhlbWU9e2hhc0ludmVydGVkU3ViVGhlbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgb25Qb2ludGVyRW50ZXI9e29uVG9vbHRpcFBvaW50ZXJFbnRlcn1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtvblRvb2x0aXBQb2ludGVyTGVhdmV9XG4gICAgPlxuICAgICAge2hhc0ludmVydGVkU3ViVGhlbWUgPyAoXG4gICAgICAgIGNvbnRlbnRcbiAgICAgICkgOiAoXG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXszfSBib3JkZXJSYWRpdXM9XCJzXCI+XG4gICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IGhhc0ludmVydGVkU3ViVGhlbWUgPyAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT1cImludmVydGVkXCI+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHdyYXBwZXJFbG0sIHBvcnRhbENvbnRhaW5lciB8fCBkb2N1bWVudC5ib2R5KTtcbn1cbiJdfQ== */");
128
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXBDb250ZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtSm9CIiwiZmlsZSI6IlRvb2x0aXBDb250ZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBNdXRhYmxlUmVmT2JqZWN0LFxuICBSZWFjdEVsZW1lbnQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgdXNlRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURvY3VtZW50XCI7XG5pbXBvcnQgeyB1c2VXaW5kb3cgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZVdpbmRvd1wiO1xuaW1wb3J0IHsgU3ViVGhlbWVQcm92aWRlciB9IGZyb20gXCIuLi9TdWJUaGVtZVByb3ZpZGVyL1N1YlRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB6SW5kaWNlcyBmcm9tIFwiLi4vLi4vLi4vYnVpbGQtdG9rZW5zL196aW5kZXguanNvblwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBESVNUQU5DRV9GUk9NX1RSSUdHRVIsXG4gIGdldEFycm93T2Zmc2V0LFxuICBnZXRUb29sdGlwU3R5bGUsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICAvKiBQbGFjZW1lbnQgKi9cbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHRvb2x0aXAgaW50byAqL1xuICBwb3J0YWxDb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICBcImFyaWEtaGlkZGVuXCI/OiBib29sZWFuO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgLy8gQ29udGVudCBwYWRkaW5nXG4gIGNvbnRlbnRQYWRkaW5nPzogXCJzXCIgfCBcIm1cIjtcbiAgaGFzSW52ZXJ0ZWRTdWJUaGVtZT86IGJvb2xlYW47XG4gIG1heFdpZHRoPzogbnVtYmVyO1xuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQ/OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiY2VudGVyXCI7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiIHwgXCJib3R0b21cIjtcbn07XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSBQaWNrPFxuICBUb29sdGlwQ29udGVudFByb3BzLFxuICBcImNvbnRlbnRQYWRkaW5nXCIgfCBcIm1heFdpZHRoXCIgfCBcImhhc0ludmVydGVkU3ViVGhlbWVcIlxuPiAmIHtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgbWF4V2lkdGgsXG4gICAgY29udGVudFBhZGRpbmcsXG4gICAgaGFzSW52ZXJ0ZWRTdWJUaGVtZSA9IHRydWUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb25EaXN0YW5jZSA9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIlxuICAgICAgICA/IGAke0FOSU1BVElPTl9ESVNUQU5DRX1weGBcbiAgICAgICAgOiBgLSR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YDtcbiAgICBjb25zdCBhbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgdHJhbnNmb3JtOlxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCJcbiAgICAgICAgICAgID8gYHRyYW5zbGF0ZSgtNTAlLCAke2FuaW1hdGlvbkRpc3RhbmNlfSlgXG4gICAgICAgICAgICA6IGB0cmFuc2xhdGVZKCR7YW5pbWF0aW9uRGlzdGFuY2V9KWAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29udGVudFBhZGRpbmdNYXAgPSB7XG4gICAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB9O1xuXG4gICAgY29uc3QgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyA9IHtcbiAgICAgIHBhZGRpbmc6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9ICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfWAsXG4gICAgICAuLi4oY29udGVudFBhZGRpbmcgJiYge1xuICAgICAgICBwYWRkaW5nOiBjb250ZW50UGFkZGluZ01hcFtjb250ZW50UGFkZGluZ10sXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXg6IHpJbmRpY2VzLnRvb2x0aXAudmFsdWUsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgYW5pbWF0aW9uOiBgJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHthbmltYXRpb259YCxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgd2lkdGg6IFwibWF4LWNvbnRlbnRcIixcbiAgICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhhc0ludmVydGVkU3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgYm9yZGVyUmFkaXVzOiBoYXNJbnZlcnRlZFN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihoYXNJbnZlcnRlZFN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLighaGFzSW52ZXJ0ZWRTdWJUaGVtZSAmJiB7XG4gICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvbi5jLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcImhhc0ludmVydGVkU3ViVGhlbWVcIj4gJiB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbi8vIFRoaXMgY29udGFpbmVyIGlzIGxhcmdlIGVub3VnaCB0byBjb250YWluIHRoZSBhcnJvdyBzaGFkb3cgYmx1clxuY29uc3QgQVJST1dfQ09OVEFJTkVSX1dJRFRIID0gNDA7XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBoYXNJbnZlcnRlZFN1YlRoZW1lLFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgc2l6ZSA9IEFSUk9XX1NJWkUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSBnZXRBcnJvd09mZnNldChzaXplKTtcbiAgICBjb25zdCBhZGp1c3RtZW50Rm9yU2hhZG93ID0gaGFzSW52ZXJ0ZWRTdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoYXNJbnZlcnRlZFN1YlRoZW1lXG4gICAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKVwiLFxuXG4gICAgICAgIC4uLighaGFzSW52ZXJ0ZWRTdWJUaGVtZSAmJiB7XG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uLmMsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgaGFzSW52ZXJ0ZWRTdWJUaGVtZSA9IHRydWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0ludmVydGVkU3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtoYXNJbnZlcnRlZFN1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoXG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50XSk7XG5cbiAgLy8gUmUtcG9zaXRpb24gdG9vbHRpcCBpZiBpdCBtb3ZlcyBvdXQgb2YgdGhlIHZpZXdwb3J0IGJ5IDEwJSBhbmQgb24gd2luZG93IHJlc2l6ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdG9vbHRpcFJlZi5jdXJyZW50XG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKCkgPT4ge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRocmVzaG9sZDogMC45LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRvb2x0aXBSZWYuY3VycmVudCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7IC8vIHVzZSBjYXB0dXJlIGhlcmUgdG8gZGV0ZWN0IHNjcm9sbCBvbiBhbnkgcGFyZW50XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob2JzZXJ2ZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIGhhc0ludmVydGVkU3ViVGhlbWU9e2hhc0ludmVydGVkU3ViVGhlbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgb25Qb2ludGVyRW50ZXI9e29uVG9vbHRpcFBvaW50ZXJFbnRlcn1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtvblRvb2x0aXBQb2ludGVyTGVhdmV9XG4gICAgPlxuICAgICAge2NvbnRlbnR9XG4gICAgICB7IWhpZGVBcnJvdyAmJiAoXG4gICAgICAgIDxTdHlsZWRBcnJvd1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2Ake2RhdGFFMmVUZXN0SWR9X2Fycm93YH1cbiAgICAgICAgICBoYXNJbnZlcnRlZFN1YlRoZW1lPXtoYXNJbnZlcnRlZFN1YlRoZW1lfVxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgICAgIHNpemU9e2Fycm93U2l6ZX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckVsbSA9IGhhc0ludmVydGVkU3ViVGhlbWUgPyAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT1cImludmVydGVkXCI+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKHdyYXBwZXJFbG0sIHBvcnRhbENvbnRhaW5lciB8fCBkb2N1bWVudC5ib2R5KTtcbn1cbiJdfQ== */");
108
129
  const initialStyle = {
109
130
  top: 0,
110
131
  left: 0,
@@ -218,11 +239,9 @@ function TooltipContent(_ref3) {
218
239
  contentPadding: contentPadding,
219
240
  onPointerEnter: onTooltipPointerEnter,
220
241
  onPointerLeave: onTooltipPointerLeave
221
- }, hasInvertedSubTheme ? content : /*#__PURE__*/React__default.default.createElement(Container.Container, {
222
- elevation: 3,
223
- borderRadius: "s"
224
- }, content), !hideArrow && /*#__PURE__*/React__default.default.createElement(StyledArrow, {
242
+ }, content, !hideArrow && /*#__PURE__*/React__default.default.createElement(StyledArrow, {
225
243
  "data-e2e-test-id": `${dataE2eTestId}_arrow`,
244
+ hasInvertedSubTheme: hasInvertedSubTheme,
226
245
  horizontalPlacement: style.horizontalPlacement,
227
246
  verticalPlacement: style.verticalPlacement,
228
247
  size: arrowSize
@@ -11,7 +11,7 @@ const SHOW_HIDE_DELAY = 200;
11
11
  function UserHighlightTooltip(_ref) {
12
12
  let {
13
13
  content,
14
- contentPadding = "m",
14
+ contentPadding = "s",
15
15
  placement = "auto",
16
16
  maxWidth,
17
17
  portalContainer,
@@ -52,6 +52,7 @@ var TagGroup = require('./components/TagGroup/TagGroup.js');
52
52
  var Toggletip = require('./components/Toggletip/Toggletip.js');
53
53
  var Popover = require('./components/Popover/Popover.js');
54
54
  var UserHighlightTooltip = require('./components/UserHighlightTooltip/UserHighlightTooltip.js');
55
+ var Sheet = require('./components/Sheet/Sheet.js');
55
56
  var Input = require('./components/Form/Input/Input.js');
56
57
  var PasswordInput = require('./components/Form/PasswordInput/PasswordInput.js');
57
58
  var DataTable = require('./components/DataTable/DataTable.js');
@@ -137,6 +138,7 @@ exports.TagGroup = TagGroup.TagGroup;
137
138
  exports.Toggletip = Toggletip.Toggletip;
138
139
  exports.Popover = Popover.Popover;
139
140
  exports.UserHighlightTooltip = UserHighlightTooltip.UserHighlightTooltip;
141
+ exports.Sheet = Sheet.Sheet;
140
142
  exports.Input = Input.Input;
141
143
  exports.PasswordInput = PasswordInput.PasswordInput;
142
144
  exports.BaseDataTable = DataTable.BaseDataTable;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var FocusTrap = require('focus-trap-react');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefault(React);
9
+ var FocusTrap__default = /*#__PURE__*/_interopDefault(FocusTrap);
10
+
11
+ /**
12
+ This wrapper is added to handle onPostDeactivate from react-focus-trap. onPostDeactivate is fired before component unmouns. Often, onDeactivate is used to unmount the component (see BasePopover and Sheet), so we don't want to handle this event again before component unmounts.
13
+ */
14
+
15
+ const FocusTrapWrapper = _ref => {
16
+ let {
17
+ focusTrapOptions,
18
+ children
19
+ } = _ref;
20
+ const [isDeactivated, setDeactivated] = React.useState(false);
21
+ const {
22
+ onPostDeactivate,
23
+ ...rest
24
+ } = focusTrapOptions;
25
+ const handleDeactivate = () => {
26
+ setDeactivated(true);
27
+ };
28
+ React.useEffect(() => {
29
+ if (isDeactivated) {
30
+ onPostDeactivate();
31
+ }
32
+ }, [isDeactivated, onPostDeactivate]);
33
+ return /*#__PURE__*/React__default.default.createElement(FocusTrap__default.default, {
34
+ focusTrapOptions: {
35
+ ...rest,
36
+ onDeactivate: handleDeactivate
37
+ }
38
+ }, children);
39
+ };
40
+
41
+ exports.FocusTrapWrapper = FocusTrapWrapper;
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ /**
6
+ * Handle Drag down gesture for mobile web
7
+ */
8
+ function useDragDown(_ref) {
9
+ let {
10
+ ref,
11
+ isVisible = false,
12
+ onDragStart,
13
+ onDrag,
14
+ onDragEnd,
15
+ onDragCancel
16
+ } = _ref;
17
+ React.useEffect(() => {
18
+ let touchStartY = 0;
19
+ let touchMoveY = 0;
20
+ let touchEndY = 0;
21
+ let dragCancelled = false;
22
+ let elm;
23
+ const cancelDrag = () => {
24
+ dragCancelled = true;
25
+ touchStartY = 0;
26
+ touchMoveY = 0;
27
+ touchEndY = 0;
28
+ onDragCancel();
29
+ };
30
+ const handleTouchStart = evt => {
31
+ evt.stopPropagation();
32
+ touchStartY = evt.changedTouches[0].screenY;
33
+ touchMoveY = touchStartY;
34
+ onDragStart(touchStartY);
35
+ dragCancelled = false;
36
+ };
37
+ const handleTouchEnd = evt => {
38
+ evt.stopPropagation();
39
+ if (!dragCancelled) {
40
+ touchEndY = evt.changedTouches[0].screenY;
41
+ if (touchEndY >= touchMoveY) {
42
+ onDragEnd(touchEndY, touchEndY - touchStartY);
43
+ } else {
44
+ // drag ended in a different direction
45
+ cancelDrag();
46
+ }
47
+ }
48
+ };
49
+ const handleTouchMove = evt => {
50
+ evt.stopPropagation();
51
+ if (!dragCancelled) {
52
+ const prevTouchMoveY = touchMoveY;
53
+ touchMoveY = evt.changedTouches[0].screenY;
54
+ if (touchMoveY > prevTouchMoveY) {
55
+ onDrag(touchMoveY, touchMoveY - touchStartY);
56
+ } else {
57
+ // drag ended in a different direction
58
+ cancelDrag();
59
+ }
60
+ }
61
+ };
62
+ if (isVisible && ref.current) {
63
+ elm = ref.current;
64
+ elm.addEventListener("touchstart", handleTouchStart, {
65
+ passive: true
66
+ });
67
+ elm.addEventListener("touchend", handleTouchEnd, {
68
+ passive: true
69
+ });
70
+ elm.addEventListener("touchmove", handleTouchMove, {
71
+ passive: true
72
+ });
73
+ }
74
+ return () => {
75
+ if (elm) {
76
+ elm.removeEventListener("touchstart", handleTouchStart);
77
+ elm.removeEventListener("touchend", handleTouchEnd);
78
+ elm.removeEventListener("touchmove", handleTouchMove);
79
+ }
80
+ };
81
+ }, [ref, isVisible, onDragStart, onDragCancel, onDragEnd, onDrag]);
82
+ }
83
+
84
+ exports.useDragDown = useDragDown;
@@ -78,6 +78,15 @@
78
78
  "lightValue": "rgba(15, 169, 128, 0.3)",
79
79
  "lightOriginalValue": "green.regular-transparent"
80
80
  },
81
+ "color-background-elevated-default": {
82
+ "name": "background.elevated",
83
+ "description": "Background of popovers, sheets, modals, etc.",
84
+ "subState": "default",
85
+ "darkValue": "#24282d",
86
+ "darkOriginalValue": "night-black.dark01",
87
+ "lightValue": "#ffffff",
88
+ "lightOriginalValue": "neutral.white"
89
+ },
81
90
  "color-background-onAccent-default": {
82
91
  "name": "background.onAccent",
83
92
  "subState": "default",
@@ -187,7 +187,7 @@
187
187
  "value": "8px",
188
188
  "original": 8,
189
189
  "variableName": "$size-border-radius-s",
190
- "isUsed": false
190
+ "isUsed": true
191
191
  },
192
192
  {
193
193
  "category": "size",
@@ -177,6 +177,11 @@ type Variables = {
177
177
  "black": number;
178
178
  "inherit": string;
179
179
  };
180
+ "zIndex": {
181
+ "dropdown": number;
182
+ "tooltip": number;
183
+ "modal": number;
184
+ };
180
185
  };
181
186
  type AmbossTheme = {
182
187
  "color": {
@@ -196,6 +201,9 @@ type AmbossTheme = {
196
201
  "active": string;
197
202
  "disabled": string;
198
203
  };
204
+ "elevated": {
205
+ "default": string;
206
+ };
199
207
  "onAccent": {
200
208
  "default": string;
201
209
  "hover": string;
@@ -176,6 +176,11 @@ const variables = {
176
176
  "bold": 700,
177
177
  "black": 900,
178
178
  "inherit": "inherit"
179
+ },
180
+ "zIndex": {
181
+ "dropdown": 1,
182
+ "tooltip": 2,
183
+ "modal": 3
179
184
  }
180
185
  };
181
186
  const ambossVisualConfiguration = {
@@ -200,6 +205,9 @@ const ambossVisualConfiguration = {
200
205
  "active": "#233d3d",
201
206
  "disabled": "rgba(40, 129, 107, 0.3)"
202
207
  },
208
+ "elevated": {
209
+ "default": "#24282d"
210
+ },
203
211
  "onAccent": {
204
212
  "default": "#ffffff",
205
213
  "hover": "#ffffff",
@@ -820,6 +828,9 @@ const ambossVisualConfiguration = {
820
828
  "active": "#0a5c45",
821
829
  "disabled": "rgba(15, 169, 128, 0.3)"
822
830
  },
831
+ "elevated": {
832
+ "default": "#ffffff"
833
+ },
823
834
  "onAccent": {
824
835
  "default": "#ffffff",
825
836
  "hover": "#ffffff",