@amboss/design-system 4.2.5 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/build/cjs/components/Content/ContentBadge/ContentBadge.d.ts +12 -0
  2. package/build/cjs/components/Content/ContentBadge/ContentBadge.js +1 -0
  3. package/build/cjs/components/EntityList/BaseEntityList.d.ts +1 -1
  4. package/build/cjs/components/EntityList/BaseEntityList.js +1 -1
  5. package/build/cjs/components/EntityList/EntityListItem.d.ts +29 -2
  6. package/build/cjs/components/EntityList/EntityListItem.js +1 -1
  7. package/build/cjs/components/EntityList/types.d.ts +27 -2
  8. package/build/cjs/components/EntityTree/BaseEntityTree.d.ts +14 -1
  9. package/build/cjs/components/EntityTree/BaseEntityTree.js +1 -1
  10. package/build/cjs/components/EntityTree/EntityTreeItem.d.ts +29 -2
  11. package/build/cjs/components/EntityTree/EntityTreeItem.js +1 -1
  12. package/build/cjs/components/Form/Combobox/OptionsList.d.ts +7 -0
  13. package/build/cjs/components/Form/Combobox/OptionsList.js +1 -1
  14. package/build/cjs/components/Form/DatePicker/Calendar.js +1 -1
  15. package/build/cjs/components/Form/DatePicker/DatePickerPopover.js +1 -1
  16. package/build/cjs/components/Form/Select/Select.d.ts +1 -1
  17. package/build/cjs/components/Form/Select/Select.js +1 -1
  18. package/build/cjs/components/Form/Select/SelectWithCustomTrigger.d.ts +7 -1
  19. package/build/cjs/components/Form/Select/SelectWithCustomTrigger.js +1 -1
  20. package/build/cjs/components/Portal/Portal.js +1 -1
  21. package/build/cjs/components/Toggletip/BasePopover.d.ts +8 -1
  22. package/build/cjs/components/Toggletip/BasePopover.js +1 -1
  23. package/build/cjs/components/Tooltip/BaseTooltip.d.ts +2 -2
  24. package/build/cjs/components/Tooltip/BaseTooltip.js +1 -1
  25. package/build/cjs/components/Tooltip/TooltipContent.d.ts +26 -1
  26. package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
  27. package/build/cjs/components/Tooltip/getSideTooltipStyle.d.ts +14 -0
  28. package/build/cjs/components/Tooltip/getSideTooltipStyle.js +1 -0
  29. package/build/cjs/components/Tooltip/utils.d.ts +7 -2
  30. package/build/cjs/components/Tooltip/utils.js +1 -1
  31. package/build/cjs/index.d.ts +1 -0
  32. package/build/cjs/index.js +1 -1
  33. package/build/cjs/web-tokens/_colors.json +24 -0
  34. package/build/cjs/web-tokens/assets/icons.json +1 -0
  35. package/build/cjs/web-tokens/assets/icons16.json +1 -0
  36. package/build/cjs/web-tokens/visualConfig.d.ts +29 -0
  37. package/build/cjs/web-tokens/visualConfig.js +1 -1
  38. package/build/esm/components/Content/ContentBadge/ContentBadge.d.ts +12 -0
  39. package/build/esm/components/Content/ContentBadge/ContentBadge.js +1 -0
  40. package/build/esm/components/EntityList/BaseEntityList.d.ts +1 -1
  41. package/build/esm/components/EntityList/BaseEntityList.js +1 -1
  42. package/build/esm/components/EntityList/EntityListItem.d.ts +29 -2
  43. package/build/esm/components/EntityList/EntityListItem.js +1 -1
  44. package/build/esm/components/EntityList/types.d.ts +27 -2
  45. package/build/esm/components/EntityTree/BaseEntityTree.d.ts +14 -1
  46. package/build/esm/components/EntityTree/BaseEntityTree.js +1 -1
  47. package/build/esm/components/EntityTree/EntityTreeItem.d.ts +29 -2
  48. package/build/esm/components/EntityTree/EntityTreeItem.js +1 -1
  49. package/build/esm/components/Form/Combobox/OptionsList.d.ts +7 -0
  50. package/build/esm/components/Form/Combobox/OptionsList.js +1 -1
  51. package/build/esm/components/Form/DatePicker/Calendar.js +1 -1
  52. package/build/esm/components/Form/DatePicker/DatePickerPopover.js +1 -1
  53. package/build/esm/components/Form/Select/Select.d.ts +1 -1
  54. package/build/esm/components/Form/Select/Select.js +1 -1
  55. package/build/esm/components/Form/Select/SelectWithCustomTrigger.d.ts +7 -1
  56. package/build/esm/components/Form/Select/SelectWithCustomTrigger.js +1 -1
  57. package/build/esm/components/Portal/Portal.js +1 -1
  58. package/build/esm/components/Toggletip/BasePopover.d.ts +8 -1
  59. package/build/esm/components/Toggletip/BasePopover.js +1 -1
  60. package/build/esm/components/Tooltip/BaseTooltip.d.ts +2 -2
  61. package/build/esm/components/Tooltip/BaseTooltip.js +1 -1
  62. package/build/esm/components/Tooltip/TooltipContent.d.ts +26 -1
  63. package/build/esm/components/Tooltip/TooltipContent.js +1 -1
  64. package/build/esm/components/Tooltip/getSideTooltipStyle.d.ts +14 -0
  65. package/build/esm/components/Tooltip/getSideTooltipStyle.js +1 -0
  66. package/build/esm/components/Tooltip/utils.d.ts +7 -2
  67. package/build/esm/components/Tooltip/utils.js +1 -1
  68. package/build/esm/index.d.ts +1 -0
  69. package/build/esm/index.js +1 -1
  70. package/build/esm/web-tokens/_colors.json +24 -0
  71. package/build/esm/web-tokens/assets/icons.json +1 -0
  72. package/build/esm/web-tokens/assets/icons16.json +1 -0
  73. package/build/esm/web-tokens/visualConfig.d.ts +29 -0
  74. package/build/esm/web-tokens/visualConfig.js +1 -1
  75. package/build/scss/_dark.scss +21 -0
  76. package/build/scss/_light.scss +21 -0
  77. package/build/scss/_variables.scss +21 -0
  78. package/package.json +8 -8
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"TooltipContent",{enumerable:!0,get:function(){return TooltipContent}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_useDocument=require("../../shared/useDocument"),_useWindow=require("../../shared/useWindow"),_SubThemeProvider=require("../SubThemeProvider/SubThemeProvider"),_Portal=require("../Portal/Portal"),_utils=require("./utils"),StyledContainer=(0,_styled.default)("div",{target:"e1c7en970",label:"StyledContainer"})(({theme,horizontalPlacement,verticalPlacement,maxWidth,contentPadding,subTheme,isHidden})=>{let animationDistance="top"===verticalPlacement?`${_utils.ANIMATION_DISTANCE}px`:`-${_utils.ANIMATION_DISTANCE}px`,animation=(0,_react1.keyframes)({to:{opacity:theme.variables.opacity.visible,transform:"center"===horizontalPlacement?`translate(-50%, ${animationDistance})`:`translateY(${animationDistance})`}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{position:"absolute",zIndex:(0,_Portal.usePortalChildZIndex)(theme.variables.zIndex.tooltip),opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,..."center"===horizontalPlacement&&{transform:"translate(-50%)"},...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBzdWJUaGVtZT86IFN1YlRoZW1lVHlwZXM7XG4gIG1heFdpZHRoPzogUHJvcGVydHkuTWF4V2lkdGggfCBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xuICAvKiogU2V0cyBjc3MgdmlzaWJpbGl0eSBoaWRkZW4gd2hlbiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyPzogYm9vbGVhbjtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0aGUgdmlld3BvcnQgYm90aCBhYm92ZSBhbmQgYmVsb3cgdHJpZ2dlci4gVXNlIHRoaXMgZm9yIHRyYWNraW5nIHB1cnBvc2VzIG9yIHJlLXJlbmRlcmluZyBQb3BvdmVyIHdpdGggYSBsYXJnZXIgbWF4V2lkdGggKi9cbiAgb25PdmVyZmxvd1ZpZXdwb3J0PzogKFxuICAgIHRyaWdnZXJSZWN0OiBET01SZWN0LFxuICAgIHRvb2x0aXBSZWN0OiBET01SZWN0LFxuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB2b2lkO1xufSAmIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+ICZcbiAgQXJpYUF0dHJpYnV0ZXM7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLighIXN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgIFwiOmFmdGVyXCI6IHtcbiAgICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcImluaGVyaXRcIixcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEFycm93UHJvcHMgPSBQaWNrPFRvb2x0aXBDb250ZW50UHJvcHMsIFwic3ViVGhlbWVcIj4gJiB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbi8vIFRoaXMgY29udGFpbmVyIGlzIGxhcmdlIGVub3VnaCB0byBjb250YWluIHRoZSBhcnJvdyBzaGFkb3cgYmx1clxuY29uc3QgQVJST1dfQ09OVEFJTkVSX1dJRFRIID0gNDA7XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBzdWJUaGVtZSxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHNpemUgPSBBUlJPV19TSVpFLFxuICB9KSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gZ2V0QXJyb3dPZmZzZXQoc2l6ZSk7XG4gICAgY29uc3QgYWRqdXN0bWVudEZvclNoYWRvdyA9IHN1YlRoZW1lID8gMCA6IDE7XG4gICAgY29uc3QgYXJyb3dDb250YWluZXJIZWlnaHQgPSBzaXplICsgRElTVEFOQ0VfRlJPTV9UUklHR0VSO1xuICAgIC8vIEdldCBhcnJvdyB3aWR0aCBhbmQgaGVpZ2h0IHVzaW5nIHB5dGhvZ29yYXMgdGhlb3JlbSBhbmQgYWRkIDEgdG8gaGVpZ2h0IHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBzaGFkb3cuXG4gICAgY29uc3QgYXJyb3dTaWRlTGVuZ3RoID0gTWF0aC5zcXJ0KFxuICAgICAgc2l6ZSAqKiAyICsgKHNpemUgKyBhZGp1c3RtZW50Rm9yU2hhZG93KSAqKiAyXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgd2lkdGg6IEFSUk9XX0NPTlRBSU5FUl9XSURUSCxcbiAgICAgIGhlaWdodDogYXJyb3dDb250YWluZXJIZWlnaHQsXG4gICAgICB6SW5kZXg6IDEsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYGNhbGMoMTAwJSAtICR7YWRqdXN0bWVudEZvclNoYWRvd31weClgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJib3R0b21cIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGAtJHthcnJvd0NvbnRhaW5lckhlaWdodCAtIGFkanVzdG1lbnRGb3JTaGFkb3d9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcInJpZ2h0XCIgJiYge1xuICAgICAgICBsZWZ0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJsZWZ0XCIgJiYge1xuICAgICAgICByaWdodDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgXCImOjphZnRlclwiOiB7XG4gICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgIHRvcDogdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgPyAwIDogXCIxMDAlXCIsXG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHdpZHRoOiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGhlaWdodDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN1YlRoZW1lXG4gICAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKVwiLFxuXG4gICAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IGluaXRpYWxTdHlsZTogVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiLFxuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImNlbnRlclwiLFxufTtcblxubGV0IGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCA9IDA7XG5cbi8qIERpc2FibGUgYW5pbWF0aW9uIGlmIHRpbWUgYmV0d2VlbiBsYXN0IGNsb3NlIGFuZCBuZXcgb3BlbiBpcyBsZXNzIHRoYW4gNTAwbXMgKyBTSE9XX0hJREVfREVMQVkgKi9cbmZ1bmN0aW9uIGdldEFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICBsZXQgYW5pbWF0aW9uRHVyYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT059bXNgO1xuXG4gIGlmIChsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXApIHtcbiAgICBjb25zdCB0aW1lU2luY2VMYXN0VG9vbHRpcCA9IERhdGUubm93KCkgLSBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXA7XG5cbiAgICBpZiAodGltZVNpbmNlTGFzdFRvb2x0aXAgPCA1MDAgKyBTSE9XX0hJREVfREVMQVkpIHtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uID0gXCIwbXNcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFuaW1hdGlvbkR1cmF0aW9uO1xufVxuXG4vKiogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBvdmVybGF5IGZvciBib3RoIFRvZ2dsZXRpcCBhbmQgVG9vbHRpcCBjb21wb25lbnRzICovXG5leHBvcnQgZnVuY3Rpb24gVG9vbHRpcENvbnRlbnQoe1xuICBwbGFjZW1lbnQgPSBcImF1dG9cIixcbiAgY29udGVudCxcbiAgdG9vbHRpcElkLFxuICB0cmlnZ2VyUmVmLFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRhdGFFMmVUZXN0SWQsXG4gIGRhdGFEU0lkLFxuICBpc1Zpc2libGUsXG4gIFwiYXJpYS1oaWRkZW5cIjogYXJpYUhpZGRlbixcbiAgcm9sZSxcbiAgdGFiSW5kZXgsXG4gIGNvbnRlbnRQYWRkaW5nLFxuICBtYXhXaWR0aCA9IE1BWF9DT05URU5UX1dJRFRILFxuICBzdWJUaGVtZSxcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICBoaWRlQXJyb3cgPSBmYWxzZSxcbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXIgPSBmYWxzZSxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIG9uT3ZlcmZsb3dWaWV3cG9ydCxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFRvb2x0aXBDb250ZW50UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlKGluaXRpYWxTdHlsZSk7XG4gIGNvbnN0IFtpc0hpZGRlbiwgc2V0SXNIaWRkZW5dID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBjc3MgdmlzaWJpbHR5IGhpZGRlblxuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBkb2N1bWVudCA9IHVzZURvY3VtZW50KCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuXG4gIGNvbnN0IGFycm93U2l6ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoaWRlQXJyb3cpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gc3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtzdWJUaGVtZSwgaGlkZUFycm93XSk7XG5cbiAgY29uc3QgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyA9IHVzZUNhbGxiYWNrPFxuICAgIFRvb2x0aXBDb250ZW50UHJvcHNbXCJvbk92ZXJmbG93Vmlld3BvcnRcIl1cbiAgPihcbiAgICAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCkgPT4ge1xuICAgICAgaWYgKCFpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCkge1xuICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ/Lih0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uT3ZlcmZsb3dWaWV3cG9ydCwgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmXVxuICApO1xuXG4gIGNvbnN0IGNhbGN1bGF0ZVN0eWxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICh0cmlnZ2VyUmVmLmN1cnJlbnQgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBjYWxjdWxhdGUgdG9vbHRpcCBzdHlsZVxuICAgICAgc2V0U3R5bGUoXG4gICAgICAgIGdldFRvb2x0aXBTdHlsZSh7XG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZSxcbiAgICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ6IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgXSk7XG5cbiAgLy8gVGhpcyBsYXlvdXQgZWZmZWN0IHRvIHJlLXJlbmRlciB3aXRoIHVwZGF0ZWQgcG9zaXRpb24gYWZ0ZXIgZGV0ZXJtaW5pbmcgY29udGVudCB3aWR0aFxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgfVxuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgY29udGVudFBhZGRpbmcsIGNvbnRlbnQsIG1heFdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH0gZWxzZSBpZiAoIWlzVmlzaWJsZSkge1xuICAgICAgLy8gbG9nIHRpbWUgd2hlbiB0b29sdGlwIGNsb3Nlc1xuICAgICAgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICAvLyBPYnNlcnZlIHRvb2x0aXAgZWxlbWVudCBzaXplIGNoYW5nZXMgdG8gcmVjYWxjdWxhdGUgcG9zaXRpb25pbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgaWYgKFxuICAgICAgaXNWaXNpYmxlICYmXG4gICAgICB0b29sdGlwUmVmLmN1cnJlbnQgJiZcbiAgICAgIHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCA+IDAgJiYgZW50cnkuY29udGVudFJlY3QuaGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUodG9vbHRpcFJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIFJlY2FsY3VsYXRlIHBvc2l0aW9uIHdoZW4gdGhlIHRyaWdnZXIgbW92ZXMgd2l0aG91dCBlbWl0dGluZyBzY3JvbGwvcmVzaXplXG4gIC8vIGV2ZW50cyAoZS5nLiBDU1MgdHJhbnNmb3JtcywgY2FudmFzIHpvb20vcGFuKS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZDogbnVtYmVyO1xuICAgIGxldCBwcmV2UmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHJlY2FsY3VsYXRlUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UmVjdCA9IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZSZWN0ICYmXG4gICAgICAgIG5leHRSZWN0ICYmXG4gICAgICAgIChwcmV2UmVjdC54ICE9PSBuZXh0UmVjdC54IHx8XG4gICAgICAgICAgcHJldlJlY3QueSAhPT0gbmV4dFJlY3QueSB8fFxuICAgICAgICAgIHByZXZSZWN0LndpZHRoICE9PSBuZXh0UmVjdC53aWR0aCB8fFxuICAgICAgICAgIHByZXZSZWN0LmhlaWdodCAhPT0gbmV4dFJlY3QuaGVpZ2h0KVxuICAgICAgKSB7XG4gICAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgICB9XG4gICAgICBwcmV2UmVjdCA9IG5leHRSZWN0O1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgfTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlY2FsY3VsYXRlUG9zaXRpb24pO1xuICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCk7XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0cmlnZ2VyUmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbaXNWaXNpYmxlLCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdKTtcblxuICAvKiBIaWRlICh2aXNpYmlsaXR5OiBoaWRkZW4pIHRvb2x0aXAgaWYgdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciAmJlxuICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgICAgICAgIC8vIElnbm9yZSBpbnRlcnNlY3Rpb24gY2hhbmdlcyB3aGVuIGVsZW1lbnQgaGFzIHplcm8gZGltZW5zaW9uc1xuICAgICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBET00gdXBkYXRlcy9wb3J0YWwgcmVuZGVyaW5nXG4gICAgICAgICAgICBpZiAocmVjdD8ud2lkdGggPT09IDAgJiYgcmVjdD8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNIaWRkZW4oIWVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsIC8vIHZpZXdwb3J0XG4gICAgICAgICAgdGhyZXNob2xkOiBJTlRFUlNFQ1RJT05fVEhSRVNIT0xELFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRyaWdnZXJSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3RyaWdnZXJSZWYsIGlzVmlzaWJsZSwgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBvblBvaW50ZXJFbnRlcj17b25Ub29sdGlwUG9pbnRlckVudGVyfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e29uVG9vbHRpcFBvaW50ZXJMZWF2ZX1cbiAgICA+XG4gICAgICB7Y29udGVudH1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlGd0IifQ== */"),StyledArrow=(0,_styled.default)("div",{target:"e1c7en971",label:"StyledArrow"})(({theme,subTheme,verticalPlacement,horizontalPlacement,size=_utils.ARROW_SIZE})=>{let offset=(0,_utils.getArrowOffset)(size),adjustmentForShadow=+!subTheme,arrowContainerHeight=size+_utils.DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===verticalPlacement&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===verticalPlacement&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},..."center"===horizontalPlacement&&{left:"50%",transform:"translate(-50%)"},..."right"===horizontalPlacement&&{left:`${offset-(20-size)}px`},..."left"===horizontalPlacement&&{right:`${offset-(20-size)}px`},"&::after":{content:'" "',position:"absolute",top:"top"===verticalPlacement?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwQ29udGVudFByb3BzID0ge1xuICBjb250ZW50OiBSZWFjdEVsZW1lbnQ7XG4gIHRyaWdnZXJSZWY6IE11dGFibGVSZWZPYmplY3Q8YW55PjtcbiAgcGxhY2VtZW50PzpcbiAgICB8IFwiYXV0b1wiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiXG4gICAgfCBcInRvcC1sZWZ0XCJcbiAgICB8IFwidG9wLXJpZ2h0XCJcbiAgICB8IFwiYm90dG9tLWxlZnRcIlxuICAgIHwgXCJib3R0b20tcmlnaHRcIjtcbiAgZGF0YUUyZVRlc3RJZD86IHN0cmluZztcbiAgZGF0YURTSWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgdG9vbHRpcElkPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgY29udGVudFBhZGRpbmc/OiBcInNcIiB8IFwibVwiO1xuICBzdWJUaGVtZT86IFN1YlRoZW1lVHlwZXM7XG4gIG1heFdpZHRoPzogUHJvcGVydHkuTWF4V2lkdGggfCBudW1iZXI7XG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD86IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBoaWRlQXJyb3c/OiBib29sZWFuO1xuICAvKiogU2V0cyBjc3MgdmlzaWJpbGl0eSBoaWRkZW4gd2hlbiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyPzogYm9vbGVhbjtcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZT86IFJlYWN0LlBvaW50ZXJFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKiogVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0aGUgdmlld3BvcnQgYm90aCBhYm92ZSBhbmQgYmVsb3cgdHJpZ2dlci4gVXNlIHRoaXMgZm9yIHRyYWNraW5nIHB1cnBvc2VzIG9yIHJlLXJlbmRlcmluZyBQb3BvdmVyIHdpdGggYSBsYXJnZXIgbWF4V2lkdGggKi9cbiAgb25PdmVyZmxvd1ZpZXdwb3J0PzogKFxuICAgIHRyaWdnZXJSZWN0OiBET01SZWN0LFxuICAgIHRvb2x0aXBSZWN0OiBET01SZWN0LFxuICAgIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB2b2lkO1xufSAmIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+ICZcbiAgQXJpYUF0dHJpYnV0ZXM7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcbiAgICAgIC4uLighIXN1YlRoZW1lICYmIGludmVydGVkU3ViVGhlbWVTdHlsZXMpLFxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgIFwiOmFmdGVyXCI6IHtcbiAgICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcImluaGVyaXRcIixcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEFycm93UHJvcHMgPSBQaWNrPFRvb2x0aXBDb250ZW50UHJvcHMsIFwic3ViVGhlbWVcIj4gJiB7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1wiaG9yaXpvbnRhbFBsYWNlbWVudFwiXTtcbiAgc2l6ZT86IDAgfCB0eXBlb2YgQVJST1dfU0laRSB8IHR5cGVvZiBBUlJPV19TSVpFX0JJRztcbn07XG5cbi8vIFRoaXMgY29udGFpbmVyIGlzIGxhcmdlIGVub3VnaCB0byBjb250YWluIHRoZSBhcnJvdyBzaGFkb3cgYmx1clxuY29uc3QgQVJST1dfQ09OVEFJTkVSX1dJRFRIID0gNDA7XG5cbmNvbnN0IFN0eWxlZEFycm93ID0gc3R5bGVkLmRpdjxTdHlsZWRBcnJvd1Byb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBzdWJUaGVtZSxcbiAgICB2ZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHNpemUgPSBBUlJPV19TSVpFLFxuICB9KSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gZ2V0QXJyb3dPZmZzZXQoc2l6ZSk7XG4gICAgY29uc3QgYWRqdXN0bWVudEZvclNoYWRvdyA9IHN1YlRoZW1lID8gMCA6IDE7XG4gICAgY29uc3QgYXJyb3dDb250YWluZXJIZWlnaHQgPSBzaXplICsgRElTVEFOQ0VfRlJPTV9UUklHR0VSO1xuICAgIC8vIEdldCBhcnJvdyB3aWR0aCBhbmQgaGVpZ2h0IHVzaW5nIHB5dGhvZ29yYXMgdGhlb3JlbSBhbmQgYWRkIDEgdG8gaGVpZ2h0IHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBzaGFkb3cuXG4gICAgY29uc3QgYXJyb3dTaWRlTGVuZ3RoID0gTWF0aC5zcXJ0KFxuICAgICAgc2l6ZSAqKiAyICsgKHNpemUgKyBhZGp1c3RtZW50Rm9yU2hhZG93KSAqKiAyXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgd2lkdGg6IEFSUk9XX0NPTlRBSU5FUl9XSURUSCxcbiAgICAgIGhlaWdodDogYXJyb3dDb250YWluZXJIZWlnaHQsXG4gICAgICB6SW5kZXg6IDEsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYGNhbGMoMTAwJSAtICR7YWRqdXN0bWVudEZvclNoYWRvd31weClgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJib3R0b21cIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGAtJHthcnJvd0NvbnRhaW5lckhlaWdodCAtIGFkanVzdG1lbnRGb3JTaGFkb3d9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcInJpZ2h0XCIgJiYge1xuICAgICAgICBsZWZ0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJsZWZ0XCIgJiYge1xuICAgICAgICByaWdodDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgXCImOjphZnRlclwiOiB7XG4gICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgIHRvcDogdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgPyAwIDogXCIxMDAlXCIsXG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHdpZHRoOiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGhlaWdodDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN1YlRoZW1lXG4gICAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKVwiLFxuXG4gICAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IGluaXRpYWxTdHlsZTogVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiLFxuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImNlbnRlclwiLFxufTtcblxubGV0IGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCA9IDA7XG5cbi8qIERpc2FibGUgYW5pbWF0aW9uIGlmIHRpbWUgYmV0d2VlbiBsYXN0IGNsb3NlIGFuZCBuZXcgb3BlbiBpcyBsZXNzIHRoYW4gNTAwbXMgKyBTSE9XX0hJREVfREVMQVkgKi9cbmZ1bmN0aW9uIGdldEFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICBsZXQgYW5pbWF0aW9uRHVyYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT059bXNgO1xuXG4gIGlmIChsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXApIHtcbiAgICBjb25zdCB0aW1lU2luY2VMYXN0VG9vbHRpcCA9IERhdGUubm93KCkgLSBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXA7XG5cbiAgICBpZiAodGltZVNpbmNlTGFzdFRvb2x0aXAgPCA1MDAgKyBTSE9XX0hJREVfREVMQVkpIHtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uID0gXCIwbXNcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFuaW1hdGlvbkR1cmF0aW9uO1xufVxuXG4vKiogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBvdmVybGF5IGZvciBib3RoIFRvZ2dsZXRpcCBhbmQgVG9vbHRpcCBjb21wb25lbnRzICovXG5leHBvcnQgZnVuY3Rpb24gVG9vbHRpcENvbnRlbnQoe1xuICBwbGFjZW1lbnQgPSBcImF1dG9cIixcbiAgY29udGVudCxcbiAgdG9vbHRpcElkLFxuICB0cmlnZ2VyUmVmLFxuICBwb3J0YWxDb250YWluZXIsXG4gIGRhdGFFMmVUZXN0SWQsXG4gIGRhdGFEU0lkLFxuICBpc1Zpc2libGUsXG4gIFwiYXJpYS1oaWRkZW5cIjogYXJpYUhpZGRlbixcbiAgcm9sZSxcbiAgdGFiSW5kZXgsXG4gIGNvbnRlbnRQYWRkaW5nLFxuICBtYXhXaWR0aCA9IE1BWF9DT05URU5UX1dJRFRILFxuICBzdWJUaGVtZSxcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICBoaWRlQXJyb3cgPSBmYWxzZSxcbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXIgPSBmYWxzZSxcbiAgb25Ub29sdGlwUG9pbnRlckVudGVyLFxuICBvblRvb2x0aXBQb2ludGVyTGVhdmUsXG4gIG9uT3ZlcmZsb3dWaWV3cG9ydCxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFRvb2x0aXBDb250ZW50UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlKGluaXRpYWxTdHlsZSk7XG4gIGNvbnN0IFtpc0hpZGRlbiwgc2V0SXNIaWRkZW5dID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBjc3MgdmlzaWJpbHR5IGhpZGRlblxuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBkb2N1bWVudCA9IHVzZURvY3VtZW50KCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuXG4gIGNvbnN0IGFycm93U2l6ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoaWRlQXJyb3cpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gc3ViVGhlbWUgPyBBUlJPV19TSVpFIDogQVJST1dfU0laRV9CSUc7XG4gIH0sIFtzdWJUaGVtZSwgaGlkZUFycm93XSk7XG5cbiAgY29uc3QgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyA9IHVzZUNhbGxiYWNrPFxuICAgIFRvb2x0aXBDb250ZW50UHJvcHNbXCJvbk92ZXJmbG93Vmlld3BvcnRcIl1cbiAgPihcbiAgICAodHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCkgPT4ge1xuICAgICAgaWYgKCFpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCkge1xuICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ/Lih0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uT3ZlcmZsb3dWaWV3cG9ydCwgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmXVxuICApO1xuXG4gIGNvbnN0IGNhbGN1bGF0ZVN0eWxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICh0cmlnZ2VyUmVmLmN1cnJlbnQgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBjYWxjdWxhdGUgdG9vbHRpcCBzdHlsZVxuICAgICAgc2V0U3R5bGUoXG4gICAgICAgIGdldFRvb2x0aXBTdHlsZSh7XG4gICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICAgICAgICB0cmlnZ2VyUmVmLFxuICAgICAgICAgIHRvb2x0aXBSZWYsXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgd2luZG93LFxuICAgICAgICAgIGFycm93U2l6ZSxcbiAgICAgICAgICBvbk92ZXJmbG93Vmlld3BvcnQ6IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgXSk7XG5cbiAgLy8gVGhpcyBsYXlvdXQgZWZmZWN0IHRvIHJlLXJlbmRlciB3aXRoIHVwZGF0ZWQgcG9zaXRpb24gYWZ0ZXIgZGV0ZXJtaW5pbmcgY29udGVudCB3aWR0aFxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgfVxuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgY29udGVudFBhZGRpbmcsIGNvbnRlbnQsIG1heFdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH0gZWxzZSBpZiAoIWlzVmlzaWJsZSkge1xuICAgICAgLy8gbG9nIHRpbWUgd2hlbiB0b29sdGlwIGNsb3Nlc1xuICAgICAgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgY2FsY3VsYXRlU3R5bGUpO1xuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB3aW5kb3csIHRvb2x0aXBSZWZdKTtcblxuICAvLyBPYnNlcnZlIHRvb2x0aXAgZWxlbWVudCBzaXplIGNoYW5nZXMgdG8gcmVjYWxjdWxhdGUgcG9zaXRpb25pbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgaWYgKFxuICAgICAgaXNWaXNpYmxlICYmXG4gICAgICB0b29sdGlwUmVmLmN1cnJlbnQgJiZcbiAgICAgIHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCA+IDAgJiYgZW50cnkuY29udGVudFJlY3QuaGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUodG9vbHRpcFJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIFJlY2FsY3VsYXRlIHBvc2l0aW9uIHdoZW4gdGhlIHRyaWdnZXIgbW92ZXMgd2l0aG91dCBlbWl0dGluZyBzY3JvbGwvcmVzaXplXG4gIC8vIGV2ZW50cyAoZS5nLiBDU1MgdHJhbnNmb3JtcywgY2FudmFzIHpvb20vcGFuKS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZDogbnVtYmVyO1xuICAgIGxldCBwcmV2UmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHJlY2FsY3VsYXRlUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UmVjdCA9IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAoXG4gICAgICAgIHByZXZSZWN0ICYmXG4gICAgICAgIG5leHRSZWN0ICYmXG4gICAgICAgIChwcmV2UmVjdC54ICE9PSBuZXh0UmVjdC54IHx8XG4gICAgICAgICAgcHJldlJlY3QueSAhPT0gbmV4dFJlY3QueSB8fFxuICAgICAgICAgIHByZXZSZWN0LndpZHRoICE9PSBuZXh0UmVjdC53aWR0aCB8fFxuICAgICAgICAgIHByZXZSZWN0LmhlaWdodCAhPT0gbmV4dFJlY3QuaGVpZ2h0KVxuICAgICAgKSB7XG4gICAgICAgIGNhbGN1bGF0ZVN0eWxlKCk7XG4gICAgICB9XG4gICAgICBwcmV2UmVjdCA9IG5leHRSZWN0O1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgfTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlY2FsY3VsYXRlUG9zaXRpb24pO1xuICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCk7XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0cmlnZ2VyUmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbaXNWaXNpYmxlLCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdKTtcblxuICAvKiBIaWRlICh2aXNpYmlsaXR5OiBoaWRkZW4pIHRvb2x0aXAgaWYgdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciAmJlxuICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgICAgICAgIC8vIElnbm9yZSBpbnRlcnNlY3Rpb24gY2hhbmdlcyB3aGVuIGVsZW1lbnQgaGFzIHplcm8gZGltZW5zaW9uc1xuICAgICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBET00gdXBkYXRlcy9wb3J0YWwgcmVuZGVyaW5nXG4gICAgICAgICAgICBpZiAocmVjdD8ud2lkdGggPT09IDAgJiYgcmVjdD8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNIaWRkZW4oIWVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsIC8vIHZpZXdwb3J0XG4gICAgICAgICAgdGhyZXNob2xkOiBJTlRFUlNFQ1RJT05fVEhSRVNIT0xELFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRyaWdnZXJSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3RyaWdnZXJSZWYsIGlzVmlzaWJsZSwgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICB7Li4uYXJpYUF0dHJpYnV0ZXN9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBvblBvaW50ZXJFbnRlcj17b25Ub29sdGlwUG9pbnRlckVudGVyfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e29uVG9vbHRpcFBvaW50ZXJMZWF2ZX1cbiAgICA+XG4gICAgICB7Y29udGVudH1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdMb0IifQ== */"),initialStyle={top:0,left:0,verticalPlacement:"top",horizontalPlacement:"center"};let lastTooltipHideTimestamp=0;function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport,...ariaAttributes}){let animationDuration,[style,setStyle]=(0,_react.useState)(initialStyle),[isHidden,setIsHidden]=(0,_react.useState)(!1),tooltipRef=(0,_react.useRef)(null),isOverflowCallbackCalledRef=(0,_react.useRef)(!1),document=(0,_useDocument.useDocument)(),window=(0,_useWindow.useWindow)(),arrowSize=(0,_react.useMemo)(()=>hideArrow?0:subTheme?_utils.ARROW_SIZE:_utils.ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=(0,_react.useCallback)((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),calculateStyle=(0,_react.useCallback)(()=>{triggerRef.current&&tooltipRef.current&&setStyle((0,_utils.getTooltipStyle)({placement,defaultVerticalPlacement,triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport:handleViewportOverflow}))},[triggerRef,tooltipRef,document,window,placement,arrowSize,defaultVerticalPlacement,handleViewportOverflow]);if((0,_react.useLayoutEffect)(()=>{isVisible&&calculateStyle()},[isVisible,calculateStyle,contentPadding,content,maxWidth]),(0,_react.useEffect)(()=>(isVisible&&tooltipRef.current?window.addEventListener("resize",calculateStyle):isVisible||(lastTooltipHideTimestamp=Date.now()),()=>{window.removeEventListener("resize",calculateStyle)}),[isVisible,calculateStyle,window,tooltipRef]),(0,_react.useEffect)(()=>{let resizeObserver;return isVisible&&tooltipRef.current&&"undefined"!=typeof ResizeObserver&&(resizeObserver=new ResizeObserver(entries=>{entries.forEach(entry=>{entry.contentRect.width>0&&entry.contentRect.height>0&&calculateStyle()})})).observe(tooltipRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[isVisible,calculateStyle,tooltipRef]),(0,_react.useEffect)(()=>{let requestAnimationFrameId,prevRect;if(!isVisible)return;let recalculatePosition=()=>{let nextRect=triggerRef.current?.getBoundingClientRect();prevRect&&nextRect&&(prevRect.x!==nextRect.x||prevRect.y!==nextRect.y||prevRect.width!==nextRect.width||prevRect.height!==nextRect.height)&&calculateStyle(),prevRect=nextRect,requestAnimationFrameId=requestAnimationFrame(recalculatePosition)};return requestAnimationFrameId=requestAnimationFrame(recalculatePosition),()=>cancelAnimationFrame(requestAnimationFrameId)},[isVisible,calculateStyle,triggerRef]),(0,_react.useEffect)(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),(0,_react.useEffect)(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let tooltipElm=_react.default.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,style:{top:style.top,left:style.left,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:tooltipRef,id:tooltipId,role:role,...ariaAttributes,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,maxWidth:maxWidth,contentPadding:contentPadding,isHidden:isHidden,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},content,!hideArrow&&_react.default.createElement(StyledArrow,{"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,size:arrowSize})),wrapperElm=subTheme?_react.default.createElement(_SubThemeProvider.SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return _react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},wrapperElm)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"TooltipContent",{enumerable:!0,get:function(){return TooltipContent}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_useDocument=require("../../shared/useDocument"),_useWindow=require("../../shared/useWindow"),_SubThemeProvider=require("../SubThemeProvider/SubThemeProvider"),_Portal=require("../Portal/Portal"),_utils=require("./utils"),StyledContainer=(0,_styled.default)("div",{target:"e7hx7lj0",label:"StyledContainer"})(({theme,horizontalPlacement,verticalPlacement,maxWidth,contentPadding,subTheme,isHidden,isSidePlacement})=>{let animationDistance="top"===verticalPlacement?`${_utils.ANIMATION_DISTANCE}px`:`-${_utils.ANIMATION_DISTANCE}px`,animation=(0,_react1.keyframes)({to:{opacity:theme.variables.opacity.visible,...!isSidePlacement&&{transform:"center"===horizontalPlacement?`translate(-50%, ${animationDistance})`:`translateY(${animationDistance})`}}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{position:"absolute",zIndex:(0,_Portal.usePortalChildZIndex)(theme.variables.zIndex.tooltip),opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,..."center"===horizontalPlacement&&{transform:"translate(-50%)"},...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwUHJpdmF0ZVByb3BzID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFBsYWNlcyB0aGUgdG9vbHRpcCBiZXNpZGUgdGhlIHRyaWdnZXIgd2l0aCB0aGVpciB0b3AgZWRnZXMgYWxpZ25lZCBpbnN0ZWFkXG4gICAqIG9mIGFib3ZlIG9yIGJlbG93IGl0LiBSZW5kZXJzIHdpdGhvdXQgYW4gYXJyb3csIHRha2VzIHByZWNlZGVuY2Ugb3ZlclxuICAgKiBgcGxhY2VtZW50YCwgYW5kIGZhbGxzIGJhY2sgdG8gYHBsYWNlbWVudGAgd2hlbiB0aGVyZSBpcyBubyByb29tLlxuICAgKiBUT0RPOiByZW1vdmUgdGVtcG9yYXJ5IHNpZGUgcGxhY2VtZW50XG4gICAqL1xuICBwbGFjZW1lbnQ/OiBcInJpZ2h0LXRvcFwiO1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEdhcCBpbiBweCBiZXR3ZWVuIHRoZSB0cmlnZ2VyIGFuZCBhIHNpZGUtcGxhY2VkIHRvb2x0aXAuIE9ubHkgYXBwbGllc1xuICAgKiBhbG9uZ3NpZGUgYHBsYWNlbWVudGAuIERlZmF1bHRzIHRvIDEwcHgsIHRoZSBnYXAgb3RoZXIgdG9vbHRpcHMgc2V0dGxlIGF0LlxuICAgKiBUT0RPOiByZW1vdmUgdGVtcG9yYXJ5IHNpZGUgcGxhY2VtZW50XG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogUmFpc2VzIHRoZSBjb250ZW50IHdpZHRoIGNhcCBmb3IgY29tcG9uZW50cyB0aGF0IG9taXQgYG1heFdpZHRoYCBmcm9tIHRoZWlyXG4gICAqIHB1YmxpYyBwcm9wcywgc3VjaCBhcyBgVG9vbHRpcGAuIFRha2VzIHByZWNlZGVuY2Ugb3ZlciBgbWF4V2lkdGhgLlxuICAgKi9cbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBjb250ZW50UGFkZGluZz86IFwic1wiIHwgXCJtXCI7XG4gIHN1YlRoZW1lPzogU3ViVGhlbWVUeXBlcztcbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PzogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG4gIC8qKiBTZXRzIGNzcyB2aXNpYmlsaXR5IGhpZGRlbiB3aGVuIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXI/OiBib29sZWFuO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBUaGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSB2aWV3cG9ydCBib3RoIGFib3ZlIGFuZCBiZWxvdyB0cmlnZ2VyLiBVc2UgdGhpcyBmb3IgdHJhY2tpbmcgcHVycG9zZXMgb3IgcmUtcmVuZGVyaW5nIFBvcG92ZXIgd2l0aCBhIGxhcmdlciBtYXhXaWR0aCAqL1xuICBvbk92ZXJmbG93Vmlld3BvcnQ/OiAoXG4gICAgdHJpZ2dlclJlY3Q6IERPTVJlY3QsXG4gICAgdG9vbHRpcFJlY3Q6IERPTVJlY3QsXG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlclxuICApID0+IHZvaWQ7XG4gIHByaXZhdGVQcm9wcz86IFRvb2x0aXBQcml2YXRlUHJvcHM7XG59ICYgUGljazxQb3J0YWxQcm9wcywgXCJwb3J0YWxDb250YWluZXJcIj4gJlxuICBBcmlhQXR0cmlidXRlcztcblxuZXhwb3J0IHR5cGUgVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiY2VudGVyXCI7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiIHwgXCJib3R0b21cIjtcbiAgaXNTaWRlUGxhY2VtZW50PzogYm9vbGVhbjtcbn07XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSBQaWNrPFxuICBUb29sdGlwQ29udGVudFByb3BzLFxuICBcImNvbnRlbnRQYWRkaW5nXCIgfCBcIm1heFdpZHRoXCIgfCBcInN1YlRoZW1lXCJcbj4gJiB7XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaXNIaWRkZW46IGJvb2xlYW47XG4gIGlzU2lkZVBsYWNlbWVudD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT04gPSAyMDA7XG5jb25zdCBTSE9XX0hJREVfREVMQVkgPSAyMDA7XG5jb25zdCBNQVhfQ09OVEVOVF9XSURUSCA9IDIyNDtcbi8vIFVzZSAwLjk5IGluc3RlYWQgb2YgMS4wIHRvIGhhbmRsZSBzdWItcGl4ZWwgcm91bmRpbmcgaXNzdWVzXG4vLyB0aGF0IGNhbiBjYXVzZSBpbnRlcnNlY3Rpb25SYXRpbyB0byByZXBvcnQgdmFsdWVzIGxpa2UgMC45OVxuY29uc3QgSU5URVJTRUNUSU9OX1RIUkVTSE9MRCA9IDAuOTk7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgbWF4V2lkdGgsXG4gICAgY29udGVudFBhZGRpbmcsXG4gICAgc3ViVGhlbWUsXG4gICAgaXNIaWRkZW4sXG4gICAgaXNTaWRlUGxhY2VtZW50LFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIC8vIFNpZGUgcGxhY2VtZW50IGZhZGVzIGluIHdpdGhvdXQgbW92aW5nLCBzbyBpdCBrZWVwcyBubyB0cmFuc2Zvcm0uXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0ZW1wb3Jhcnkgc2lkZSBwbGFjZW1lbnRcbiAgICAgICAgLi4uKCFpc1NpZGVQbGFjZW1lbnQgJiYge1xuICAgICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPyBgdHJhbnNsYXRlKC01MCUsICR7YW5pbWF0aW9uRGlzdGFuY2V9KWBcbiAgICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50UGFkZGluZ01hcCA9IHtcbiAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzLFxuICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzID0ge1xuICAgICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnN9YCxcbiAgICAgIC4uLihjb250ZW50UGFkZGluZyAmJiB7XG4gICAgICAgIHBhZGRpbmc6IGNvbnRlbnRQYWRkaW5nTWFwW2NvbnRlbnRQYWRkaW5nXSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICBjb25zdCB6SW5kZXggPSB1c2VQb3J0YWxDaGlsZFpJbmRleCh0aGVtZS52YXJpYWJsZXMuekluZGV4LnRvb2x0aXApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXgsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICBhbmltYXRpb246IGAke0FOSU1BVElPTl9EVVJBVElPTn1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2FuaW1hdGlvbn1gLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICB3aWR0aDogXCJtYXgtY29udGVudFwiLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgYm9yZGVyUmFkaXVzOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxuXG4gICAgICAuLi4oaXNIaWRkZW4gJiYge1xuICAgICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiLFxuICAgICAgfSksXG4gICAgICAuLi4oISFzdWJUaGVtZSAmJiBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzKSxcbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICBcIjphZnRlclwiOiB7XG4gICAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCJpbmhlcml0XCIsXG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcInN1YlRoZW1lXCI+ICYge1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHNpemU/OiAwIHwgdHlwZW9mIEFSUk9XX1NJWkUgfCB0eXBlb2YgQVJST1dfU0laRV9CSUc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiB0aGUgYXJyb3cgc2hhZG93IGJsdXJcbmNvbnN0IEFSUk9XX0NPTlRBSU5FUl9XSURUSCA9IDQwO1xuXG5jb25zdCBTdHlsZWRBcnJvdyA9IHN0eWxlZC5kaXY8U3R5bGVkQXJyb3dQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgc3ViVGhlbWUsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICBzaXplID0gQVJST1dfU0laRSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IGdldEFycm93T2Zmc2V0KHNpemUpO1xuICAgIGNvbnN0IGFkanVzdG1lbnRGb3JTaGFkb3cgPSBzdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgekluZGV4OiAxLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZylcIixcblxuICAgICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgc3ViVGhlbWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgaGlkZUFycm93ID0gZmFsc2UsXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyID0gZmFsc2UsXG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcixcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlLFxuICBvbk92ZXJmbG93Vmlld3BvcnQsXG4gIHByaXZhdGVQcm9wcyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFRvb2x0aXBDb250ZW50UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlKGluaXRpYWxTdHlsZSk7XG4gIGNvbnN0IFtpc0hpZGRlbiwgc2V0SXNIaWRkZW5dID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBjc3MgdmlzaWJpbHR5IGhpZGRlblxuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBkb2N1bWVudCA9IHVzZURvY3VtZW50KCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICAvLyBSZWFkIGFzIHByaW1pdGl2ZXMgc28gYW4gaW5saW5lIGBwcml2YXRlUHJvcHNgIGxpdGVyYWwgZG9lcyBub3QgZ2l2ZVxuICAvLyBgY2FsY3VsYXRlU3R5bGVgIGEgbmV3IGlkZW50aXR5IG9uIGV2ZXJ5IHJlbmRlci5cbiAgY29uc3Qge1xuICAgIC8vIFRPRE86IHJlbW92ZSB0ZW1wb3Jhcnkgc2lkZSBwbGFjZW1lbnQsIGJvdGggZmllbGRzXG4gICAgcGxhY2VtZW50OiBzaWRlUGxhY2VtZW50LFxuICAgIG9mZnNldDogc2lkZU9mZnNldCxcbiAgICBtYXhXaWR0aDogcHJpdmF0ZU1heFdpZHRoLFxuICB9ID0gcHJpdmF0ZVByb3BzID8/IHt9O1xuICBjb25zdCBjb250ZW50TWF4V2lkdGggPSBwcml2YXRlTWF4V2lkdGggPz8gbWF4V2lkdGg7XG5cbiAgY29uc3QgYXJyb3dTaXplID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhpZGVBcnJvdykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBzdWJUaGVtZSA/IEFSUk9XX1NJWkUgOiBBUlJPV19TSVpFX0JJRztcbiAgfSwgW3N1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBoYW5kbGVWaWV3cG9ydE92ZXJmbG93ID0gdXNlQ2FsbGJhY2s8XG4gICAgVG9vbHRpcENvbnRlbnRQcm9wc1tcIm9uT3ZlcmZsb3dWaWV3cG9ydFwiXVxuICA+KFxuICAgICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KSA9PiB7XG4gICAgICBpZiAoIWlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydD8uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25PdmVyZmxvd1ZpZXdwb3J0LCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdXG4gICk7XG5cbiAgY29uc3QgY2FsY3VsYXRlU3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b29sdGlwIHN0eWxlXG4gICAgICBzZXRTdHlsZShcbiAgICAgICAgZ2V0VG9vbHRpcFN0eWxlKHtcbiAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgICAgICAgIHRyaWdnZXJSZWYsXG4gICAgICAgICAgdG9vbHRpcFJlZixcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgYXJyb3dTaXplLFxuICAgICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydDogaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICAgICAgICBzaWRlUGxhY2VtZW50LFxuICAgICAgICAgIHNpZGVPZmZzZXQsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICBzaWRlUGxhY2VtZW50LFxuICAgIHNpZGVPZmZzZXQsXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50LCBjb250ZW50TWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIE9ic2VydmUgdG9vbHRpcCBlbGVtZW50IHNpemUgY2hhbmdlcyB0byByZWNhbGN1bGF0ZSBwb3NpdGlvbmluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHRvb2x0aXBSZWYuY3VycmVudCAmJlxuICAgICAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoID4gMCAmJiBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0b29sdGlwUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0b29sdGlwUmVmXSk7XG5cbiAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gd2hlbiB0aGUgdHJpZ2dlciBtb3ZlcyB3aXRob3V0IGVtaXR0aW5nIHNjcm9sbC9yZXNpemVcbiAgLy8gZXZlbnRzIChlLmcuIENTUyB0cmFuc2Zvcm1zLCBjYW52YXMgem9vbS9wYW4pLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG4gICAgbGV0IHByZXZSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVjYWxjdWxhdGVQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRSZWN0ID0gdHJpZ2dlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldlJlY3QgJiZcbiAgICAgICAgbmV4dFJlY3QgJiZcbiAgICAgICAgKHByZXZSZWN0LnggIT09IG5leHRSZWN0LnggfHxcbiAgICAgICAgICBwcmV2UmVjdC55ICE9PSBuZXh0UmVjdC55IHx8XG4gICAgICAgICAgcHJldlJlY3Qud2lkdGggIT09IG5leHRSZWN0LndpZHRoIHx8XG4gICAgICAgICAgcHJldlJlY3QuaGVpZ2h0ICE9PSBuZXh0UmVjdC5oZWlnaHQpXG4gICAgICApIHtcbiAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgIH1cbiAgICAgIHByZXZSZWN0ID0gbmV4dFJlY3Q7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWNhbGN1bGF0ZVBvc2l0aW9uKTtcbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkKTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHRyaWdnZXJSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtpc1Zpc2libGUsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl0pO1xuXG4gIC8qIEhpZGUgKHZpc2liaWxpdHk6IGhpZGRlbikgdG9vbHRpcCBpZiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICAgIGlmIChcbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyICYmXG4gICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdDtcblxuICAgICAgICAgICAgLy8gSWdub3JlIGludGVyc2VjdGlvbiBjaGFuZ2VzIHdoZW4gZWxlbWVudCBoYXMgemVybyBkaW1lbnNpb25zXG4gICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZHVyaW5nIERPTSB1cGRhdGVzL3BvcnRhbCByZW5kZXJpbmdcbiAgICAgICAgICAgIGlmIChyZWN0Py53aWR0aCA9PT0gMCAmJiByZWN0Py5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0hpZGRlbighZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vdDogbnVsbCwgLy8gdmlld3BvcnRcbiAgICAgICAgICB0aHJlc2hvbGQ6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodHJpZ2dlclJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHJpZ2dlclJlZiwgaXNWaXNpYmxlLCBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcl0pO1xuXG4gIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPXtkYXRhRFNJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRvcDogc3R5bGUudG9wLFxuICAgICAgICBsZWZ0OiBzdHlsZS5sZWZ0LFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSxcbiAgICAgIH19XG4gICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgIG1heFdpZHRoPXtjb250ZW50TWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBpc1NpZGVQbGFjZW1lbnQ9e3N0eWxlLmlzU2lkZVBsYWNlbWVudH1cbiAgICAgIG9uUG9pbnRlckVudGVyPXtvblRvb2x0aXBQb2ludGVyRW50ZXJ9XG4gICAgICBvblBvaW50ZXJMZWF2ZT17b25Ub29sdGlwUG9pbnRlckxlYXZlfVxuICAgID5cbiAgICAgIHtjb250ZW50fVxuICAgICAgey8qIFRPRE86IHJlbW92ZSB0ZW1wb3Jhcnkgc2lkZSBwbGFjZW1lbnQgKi99XG4gICAgICB7IWhpZGVBcnJvdyAmJiAhc3R5bGUuaXNTaWRlUGxhY2VtZW50ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Id0IifQ== */"),StyledArrow=(0,_styled.default)("div",{target:"e7hx7lj1",label:"StyledArrow"})(({theme,subTheme,verticalPlacement,horizontalPlacement,size=_utils.ARROW_SIZE})=>{let offset=(0,_utils.getArrowOffset)(size),adjustmentForShadow=+!subTheme,arrowContainerHeight=size+_utils.DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===verticalPlacement&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===verticalPlacement&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},..."center"===horizontalPlacement&&{left:"50%",transform:"translate(-50%)"},..."right"===horizontalPlacement&&{left:`${offset-(20-size)}px`},..."left"===horizontalPlacement&&{right:`${offset-(20-size)}px`},"&::after":{content:'" "',position:"absolute",top:"top"===verticalPlacement?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIE11dGFibGVSZWZPYmplY3QsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJjc3N0eXBlXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQgeyB1c2VEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlRG9jdW1lbnRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5pbXBvcnQgeyBTdWJUaGVtZVByb3ZpZGVyIH0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbiAgdHlwZSBQb3J0YWxQcm9wcyxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcblxuaW1wb3J0IHtcbiAgQU5JTUFUSU9OX0RJU1RBTkNFLFxuICBBUlJPV19TSVpFLFxuICBBUlJPV19TSVpFX0JJRyxcbiAgRElTVEFOQ0VfRlJPTV9UUklHR0VSLFxuICBnZXRBcnJvd09mZnNldCxcbiAgZ2V0VG9vbHRpcFN0eWxlLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBUb29sdGlwUHJpdmF0ZVByb3BzID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFBsYWNlcyB0aGUgdG9vbHRpcCBiZXNpZGUgdGhlIHRyaWdnZXIgd2l0aCB0aGVpciB0b3AgZWRnZXMgYWxpZ25lZCBpbnN0ZWFkXG4gICAqIG9mIGFib3ZlIG9yIGJlbG93IGl0LiBSZW5kZXJzIHdpdGhvdXQgYW4gYXJyb3csIHRha2VzIHByZWNlZGVuY2Ugb3ZlclxuICAgKiBgcGxhY2VtZW50YCwgYW5kIGZhbGxzIGJhY2sgdG8gYHBsYWNlbWVudGAgd2hlbiB0aGVyZSBpcyBubyByb29tLlxuICAgKiBUT0RPOiByZW1vdmUgdGVtcG9yYXJ5IHNpZGUgcGxhY2VtZW50XG4gICAqL1xuICBwbGFjZW1lbnQ/OiBcInJpZ2h0LXRvcFwiO1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEdhcCBpbiBweCBiZXR3ZWVuIHRoZSB0cmlnZ2VyIGFuZCBhIHNpZGUtcGxhY2VkIHRvb2x0aXAuIE9ubHkgYXBwbGllc1xuICAgKiBhbG9uZ3NpZGUgYHBsYWNlbWVudGAuIERlZmF1bHRzIHRvIDEwcHgsIHRoZSBnYXAgb3RoZXIgdG9vbHRpcHMgc2V0dGxlIGF0LlxuICAgKiBUT0RPOiByZW1vdmUgdGVtcG9yYXJ5IHNpZGUgcGxhY2VtZW50XG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogUmFpc2VzIHRoZSBjb250ZW50IHdpZHRoIGNhcCBmb3IgY29tcG9uZW50cyB0aGF0IG9taXQgYG1heFdpZHRoYCBmcm9tIHRoZWlyXG4gICAqIHB1YmxpYyBwcm9wcywgc3VjaCBhcyBgVG9vbHRpcGAuIFRha2VzIHByZWNlZGVuY2Ugb3ZlciBgbWF4V2lkdGhgLlxuICAgKi9cbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBjb250ZW50UGFkZGluZz86IFwic1wiIHwgXCJtXCI7XG4gIHN1YlRoZW1lPzogU3ViVGhlbWVUeXBlcztcbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PzogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG4gIC8qKiBTZXRzIGNzcyB2aXNpYmlsaXR5IGhpZGRlbiB3aGVuIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXI/OiBib29sZWFuO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBUaGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSB2aWV3cG9ydCBib3RoIGFib3ZlIGFuZCBiZWxvdyB0cmlnZ2VyLiBVc2UgdGhpcyBmb3IgdHJhY2tpbmcgcHVycG9zZXMgb3IgcmUtcmVuZGVyaW5nIFBvcG92ZXIgd2l0aCBhIGxhcmdlciBtYXhXaWR0aCAqL1xuICBvbk92ZXJmbG93Vmlld3BvcnQ/OiAoXG4gICAgdHJpZ2dlclJlY3Q6IERPTVJlY3QsXG4gICAgdG9vbHRpcFJlY3Q6IERPTVJlY3QsXG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlclxuICApID0+IHZvaWQ7XG4gIHByaXZhdGVQcm9wcz86IFRvb2x0aXBQcml2YXRlUHJvcHM7XG59ICYgUGljazxQb3J0YWxQcm9wcywgXCJwb3J0YWxDb250YWluZXJcIj4gJlxuICBBcmlhQXR0cmlidXRlcztcblxuZXhwb3J0IHR5cGUgVG9vbHRpcFN0eWxlID0ge1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiY2VudGVyXCI7XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBcInRvcFwiIHwgXCJib3R0b21cIjtcbiAgaXNTaWRlUGxhY2VtZW50PzogYm9vbGVhbjtcbn07XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSBQaWNrPFxuICBUb29sdGlwQ29udGVudFByb3BzLFxuICBcImNvbnRlbnRQYWRkaW5nXCIgfCBcIm1heFdpZHRoXCIgfCBcInN1YlRoZW1lXCJcbj4gJiB7XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHZlcnRpY2FsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJ2ZXJ0aWNhbFBsYWNlbWVudFwiXTtcbiAgaXNIaWRkZW46IGJvb2xlYW47XG4gIGlzU2lkZVBsYWNlbWVudD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT04gPSAyMDA7XG5jb25zdCBTSE9XX0hJREVfREVMQVkgPSAyMDA7XG5jb25zdCBNQVhfQ09OVEVOVF9XSURUSCA9IDIyNDtcbi8vIFVzZSAwLjk5IGluc3RlYWQgb2YgMS4wIHRvIGhhbmRsZSBzdWItcGl4ZWwgcm91bmRpbmcgaXNzdWVzXG4vLyB0aGF0IGNhbiBjYXVzZSBpbnRlcnNlY3Rpb25SYXRpbyB0byByZXBvcnQgdmFsdWVzIGxpa2UgMC45OVxuY29uc3QgSU5URVJTRUNUSU9OX1RIUkVTSE9MRCA9IDAuOTk7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgbWF4V2lkdGgsXG4gICAgY29udGVudFBhZGRpbmcsXG4gICAgc3ViVGhlbWUsXG4gICAgaXNIaWRkZW4sXG4gICAgaXNTaWRlUGxhY2VtZW50LFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIC8vIFNpZGUgcGxhY2VtZW50IGZhZGVzIGluIHdpdGhvdXQgbW92aW5nLCBzbyBpdCBrZWVwcyBubyB0cmFuc2Zvcm0uXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0ZW1wb3Jhcnkgc2lkZSBwbGFjZW1lbnRcbiAgICAgICAgLi4uKCFpc1NpZGVQbGFjZW1lbnQgJiYge1xuICAgICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPyBgdHJhbnNsYXRlKC01MCUsICR7YW5pbWF0aW9uRGlzdGFuY2V9KWBcbiAgICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50UGFkZGluZ01hcCA9IHtcbiAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzLFxuICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLFxuICAgIH07XG5cbiAgICBjb25zdCBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzID0ge1xuICAgICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnN9YCxcbiAgICAgIC4uLihjb250ZW50UGFkZGluZyAmJiB7XG4gICAgICAgIHBhZGRpbmc6IGNvbnRlbnRQYWRkaW5nTWFwW2NvbnRlbnRQYWRkaW5nXSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICBjb25zdCB6SW5kZXggPSB1c2VQb3J0YWxDaGlsZFpJbmRleCh0aGVtZS52YXJpYWJsZXMuekluZGV4LnRvb2x0aXApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB6SW5kZXgsXG4gICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICBhbmltYXRpb246IGAke0FOSU1BVElPTl9EVVJBVElPTn1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2FuaW1hdGlvbn1gLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICB3aWR0aDogXCJtYXgtY29udGVudFwiLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LmRlZmF1bHRcbiAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgYm9yZGVyUmFkaXVzOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxuXG4gICAgICAuLi4oaXNIaWRkZW4gJiYge1xuICAgICAgICB2aXNpYmlsaXR5OiBcImhpZGRlblwiLFxuICAgICAgfSksXG4gICAgICAuLi4oISFzdWJUaGVtZSAmJiBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzKSxcbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICBcIjphZnRlclwiOiB7XG4gICAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCJpbmhlcml0XCIsXG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcInN1YlRoZW1lXCI+ICYge1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHNpemU/OiAwIHwgdHlwZW9mIEFSUk9XX1NJWkUgfCB0eXBlb2YgQVJST1dfU0laRV9CSUc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiB0aGUgYXJyb3cgc2hhZG93IGJsdXJcbmNvbnN0IEFSUk9XX0NPTlRBSU5FUl9XSURUSCA9IDQwO1xuXG5jb25zdCBTdHlsZWRBcnJvdyA9IHN0eWxlZC5kaXY8U3R5bGVkQXJyb3dQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgc3ViVGhlbWUsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICBzaXplID0gQVJST1dfU0laRSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IGdldEFycm93T2Zmc2V0KHNpemUpO1xuICAgIGNvbnN0IGFkanVzdG1lbnRGb3JTaGFkb3cgPSBzdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgekluZGV4OiAxLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZylcIixcblxuICAgICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgc3ViVGhlbWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgaGlkZUFycm93ID0gZmFsc2UsXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyID0gZmFsc2UsXG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcixcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlLFxuICBvbk92ZXJmbG93Vmlld3BvcnQsXG4gIHByaXZhdGVQcm9wcyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IFRvb2x0aXBDb250ZW50UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlKGluaXRpYWxTdHlsZSk7XG4gIGNvbnN0IFtpc0hpZGRlbiwgc2V0SXNIaWRkZW5dID0gdXNlU3RhdGUoZmFsc2UpOyAvLyBjc3MgdmlzaWJpbHR5IGhpZGRlblxuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBkb2N1bWVudCA9IHVzZURvY3VtZW50KCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICAvLyBSZWFkIGFzIHByaW1pdGl2ZXMgc28gYW4gaW5saW5lIGBwcml2YXRlUHJvcHNgIGxpdGVyYWwgZG9lcyBub3QgZ2l2ZVxuICAvLyBgY2FsY3VsYXRlU3R5bGVgIGEgbmV3IGlkZW50aXR5IG9uIGV2ZXJ5IHJlbmRlci5cbiAgY29uc3Qge1xuICAgIC8vIFRPRE86IHJlbW92ZSB0ZW1wb3Jhcnkgc2lkZSBwbGFjZW1lbnQsIGJvdGggZmllbGRzXG4gICAgcGxhY2VtZW50OiBzaWRlUGxhY2VtZW50LFxuICAgIG9mZnNldDogc2lkZU9mZnNldCxcbiAgICBtYXhXaWR0aDogcHJpdmF0ZU1heFdpZHRoLFxuICB9ID0gcHJpdmF0ZVByb3BzID8/IHt9O1xuICBjb25zdCBjb250ZW50TWF4V2lkdGggPSBwcml2YXRlTWF4V2lkdGggPz8gbWF4V2lkdGg7XG5cbiAgY29uc3QgYXJyb3dTaXplID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhpZGVBcnJvdykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBzdWJUaGVtZSA/IEFSUk9XX1NJWkUgOiBBUlJPV19TSVpFX0JJRztcbiAgfSwgW3N1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBoYW5kbGVWaWV3cG9ydE92ZXJmbG93ID0gdXNlQ2FsbGJhY2s8XG4gICAgVG9vbHRpcENvbnRlbnRQcm9wc1tcIm9uT3ZlcmZsb3dWaWV3cG9ydFwiXVxuICA+KFxuICAgICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KSA9PiB7XG4gICAgICBpZiAoIWlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydD8uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25PdmVyZmxvd1ZpZXdwb3J0LCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdXG4gICk7XG5cbiAgY29uc3QgY2FsY3VsYXRlU3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b29sdGlwIHN0eWxlXG4gICAgICBzZXRTdHlsZShcbiAgICAgICAgZ2V0VG9vbHRpcFN0eWxlKHtcbiAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgICAgICAgIHRyaWdnZXJSZWYsXG4gICAgICAgICAgdG9vbHRpcFJlZixcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgYXJyb3dTaXplLFxuICAgICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydDogaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICAgICAgICBzaWRlUGxhY2VtZW50LFxuICAgICAgICAgIHNpZGVPZmZzZXQsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIHRyaWdnZXJSZWYsXG4gICAgdG9vbHRpcFJlZixcbiAgICBkb2N1bWVudCxcbiAgICB3aW5kb3csXG4gICAgcGxhY2VtZW50LFxuICAgIGFycm93U2l6ZSxcbiAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICBzaWRlUGxhY2VtZW50LFxuICAgIHNpZGVPZmZzZXQsXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50LCBjb250ZW50TWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIC8vIE9ic2VydmUgdG9vbHRpcCBlbGVtZW50IHNpemUgY2hhbmdlcyB0byByZWNhbGN1bGF0ZSBwb3NpdGlvbmluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHRvb2x0aXBSZWYuY3VycmVudCAmJlxuICAgICAgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoID4gMCAmJiBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0b29sdGlwUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCB0b29sdGlwUmVmXSk7XG5cbiAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gd2hlbiB0aGUgdHJpZ2dlciBtb3ZlcyB3aXRob3V0IGVtaXR0aW5nIHNjcm9sbC9yZXNpemVcbiAgLy8gZXZlbnRzIChlLmcuIENTUyB0cmFuc2Zvcm1zLCBjYW52YXMgem9vbS9wYW4pLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkOiBudW1iZXI7XG4gICAgbGV0IHByZXZSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVjYWxjdWxhdGVQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRSZWN0ID0gdHJpZ2dlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChcbiAgICAgICAgcHJldlJlY3QgJiZcbiAgICAgICAgbmV4dFJlY3QgJiZcbiAgICAgICAgKHByZXZSZWN0LnggIT09IG5leHRSZWN0LnggfHxcbiAgICAgICAgICBwcmV2UmVjdC55ICE9PSBuZXh0UmVjdC55IHx8XG4gICAgICAgICAgcHJldlJlY3Qud2lkdGggIT09IG5leHRSZWN0LndpZHRoIHx8XG4gICAgICAgICAgcHJldlJlY3QuaGVpZ2h0ICE9PSBuZXh0UmVjdC5oZWlnaHQpXG4gICAgICApIHtcbiAgICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICAgIH1cbiAgICAgIHByZXZSZWN0ID0gbmV4dFJlY3Q7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWNhbGN1bGF0ZVBvc2l0aW9uKTtcbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVjYWxjdWxhdGVQb3NpdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkKTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHRyaWdnZXJSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtpc1Zpc2libGUsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl0pO1xuXG4gIC8qIEhpZGUgKHZpc2liaWxpdHk6IGhpZGRlbikgdG9vbHRpcCBpZiB0cmlnZ2VyIGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3ICovXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICAgIGlmIChcbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyICYmXG4gICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgIGlzVmlzaWJsZSAmJlxuICAgICAgdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiXG4gICAgKSB7XG4gICAgICBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdDtcblxuICAgICAgICAgICAgLy8gSWdub3JlIGludGVyc2VjdGlvbiBjaGFuZ2VzIHdoZW4gZWxlbWVudCBoYXMgemVybyBkaW1lbnNpb25zXG4gICAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gZHVyaW5nIERPTSB1cGRhdGVzL3BvcnRhbCByZW5kZXJpbmdcbiAgICAgICAgICAgIGlmIChyZWN0Py53aWR0aCA9PT0gMCAmJiByZWN0Py5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0hpZGRlbighZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vdDogbnVsbCwgLy8gdmlld3BvcnRcbiAgICAgICAgICB0aHJlc2hvbGQ6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUodHJpZ2dlclJlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9ic2VydmVyKSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbdHJpZ2dlclJlZiwgaXNWaXNpYmxlLCBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlcl0pO1xuXG4gIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPXtkYXRhRFNJZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRvcDogc3R5bGUudG9wLFxuICAgICAgICBsZWZ0OiBzdHlsZS5sZWZ0LFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSxcbiAgICAgIH19XG4gICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICBpZD17dG9vbHRpcElkfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgIGFyaWEtaGlkZGVuPXthcmlhSGlkZGVufVxuICAgICAgc3ViVGhlbWU9e3N1YlRoZW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgIG1heFdpZHRoPXtjb250ZW50TWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBpc1NpZGVQbGFjZW1lbnQ9e3N0eWxlLmlzU2lkZVBsYWNlbWVudH1cbiAgICAgIG9uUG9pbnRlckVudGVyPXtvblRvb2x0aXBQb2ludGVyRW50ZXJ9XG4gICAgICBvblBvaW50ZXJMZWF2ZT17b25Ub29sdGlwUG9pbnRlckxlYXZlfVxuICAgID5cbiAgICAgIHtjb250ZW50fVxuICAgICAgey8qIFRPRE86IHJlbW92ZSB0ZW1wb3Jhcnkgc2lkZSBwbGFjZW1lbnQgKi99XG4gICAgICB7IWhpZGVBcnJvdyAmJiAhc3R5bGUuaXNTaWRlUGxhY2VtZW50ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdOb0IifQ== */"),initialStyle={top:0,left:0,verticalPlacement:"top",horizontalPlacement:"center"};let lastTooltipHideTimestamp=0;function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport,privateProps,...ariaAttributes}){let animationDuration,[style,setStyle]=(0,_react.useState)(initialStyle),[isHidden,setIsHidden]=(0,_react.useState)(!1),tooltipRef=(0,_react.useRef)(null),isOverflowCallbackCalledRef=(0,_react.useRef)(!1),document=(0,_useDocument.useDocument)(),window=(0,_useWindow.useWindow)(),{placement:sidePlacement,offset:sideOffset,maxWidth:privateMaxWidth}=privateProps??{},contentMaxWidth=privateMaxWidth??maxWidth,arrowSize=(0,_react.useMemo)(()=>hideArrow?0:subTheme?_utils.ARROW_SIZE:_utils.ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=(0,_react.useCallback)((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),calculateStyle=(0,_react.useCallback)(()=>{triggerRef.current&&tooltipRef.current&&setStyle((0,_utils.getTooltipStyle)({placement,defaultVerticalPlacement,triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport:handleViewportOverflow,sidePlacement,sideOffset}))},[triggerRef,tooltipRef,document,window,placement,arrowSize,defaultVerticalPlacement,handleViewportOverflow,sidePlacement,sideOffset]);if((0,_react.useLayoutEffect)(()=>{isVisible&&calculateStyle()},[isVisible,calculateStyle,contentPadding,content,contentMaxWidth]),(0,_react.useEffect)(()=>(isVisible&&tooltipRef.current?window.addEventListener("resize",calculateStyle):isVisible||(lastTooltipHideTimestamp=Date.now()),()=>{window.removeEventListener("resize",calculateStyle)}),[isVisible,calculateStyle,window,tooltipRef]),(0,_react.useEffect)(()=>{let resizeObserver;return isVisible&&tooltipRef.current&&"undefined"!=typeof ResizeObserver&&(resizeObserver=new ResizeObserver(entries=>{entries.forEach(entry=>{entry.contentRect.width>0&&entry.contentRect.height>0&&calculateStyle()})})).observe(tooltipRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[isVisible,calculateStyle,tooltipRef]),(0,_react.useEffect)(()=>{let requestAnimationFrameId,prevRect;if(!isVisible)return;let recalculatePosition=()=>{let nextRect=triggerRef.current?.getBoundingClientRect();prevRect&&nextRect&&(prevRect.x!==nextRect.x||prevRect.y!==nextRect.y||prevRect.width!==nextRect.width||prevRect.height!==nextRect.height)&&calculateStyle(),prevRect=nextRect,requestAnimationFrameId=requestAnimationFrame(recalculatePosition)};return requestAnimationFrameId=requestAnimationFrame(recalculatePosition),()=>cancelAnimationFrame(requestAnimationFrameId)},[isVisible,calculateStyle,triggerRef]),(0,_react.useEffect)(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),(0,_react.useEffect)(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let tooltipElm=_react.default.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,style:{top:style.top,left:style.left,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:tooltipRef,id:tooltipId,role:role,...ariaAttributes,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,maxWidth:contentMaxWidth,contentPadding:contentPadding,isHidden:isHidden,isSidePlacement:style.isSidePlacement,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},content,!hideArrow&&!style.isSidePlacement&&_react.default.createElement(StyledArrow,{"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,size:arrowSize})),wrapperElm=subTheme?_react.default.createElement(_SubThemeProvider.SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return _react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},wrapperElm)}
@@ -0,0 +1,14 @@
1
+ import type { TooltipStyle } from "./TooltipContent";
2
+ type GetSideTooltipStyleParams = {
3
+ triggerRect: DOMRect;
4
+ offset: number;
5
+ window: Window;
6
+ };
7
+ /**
8
+ * TODO: remove temporary side placement
9
+ *
10
+ * Places the tooltip beside the trigger with their top edges aligned. Callers
11
+ * must verify the tooltip fits beforehand, as this applies no viewport clamping.
12
+ */
13
+ export declare const getSideTooltipStyle: ({ triggerRect, offset, window, }: GetSideTooltipStyleParams) => TooltipStyle;
14
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getSideTooltipStyle",{enumerable:!0,get:function(){return getSideTooltipStyle}});const getSideTooltipStyle=({triggerRect,offset,window})=>({top:triggerRect.top+window.scrollY,left:triggerRect.right+offset+window.scrollX,horizontalPlacement:"right",verticalPlacement:"top",isSidePlacement:!0});
@@ -1,10 +1,12 @@
1
1
  import type { RefObject } from "react";
2
2
  import type { TooltipProps } from "./Tooltip";
3
- import type { TooltipStyle, TooltipContentProps } from "./TooltipContent";
3
+ import type { TooltipStyle, TooltipContentProps, TooltipPrivateProps } from "./TooltipContent";
4
4
  export declare const DISTANCE_FROM_TRIGGER = 4;
5
5
  export declare const ANIMATION_DISTANCE = 8;
6
6
  export declare const ARROW_SIZE = 6;
7
7
  export declare const ARROW_SIZE_BIG = 8;
8
+ /** TODO: remove temporary side placement. Matches the gap top/bottom tooltips settle at. */
9
+ export declare const sidePlacementOffset: number;
8
10
  export declare const getArrowOffset: (size: number) => number;
9
11
  type GetTooltipStyleParams = {
10
12
  placement: TooltipProps["placement"];
@@ -15,9 +17,12 @@ type GetTooltipStyleParams = {
15
17
  window: Window;
16
18
  arrowSize: number;
17
19
  onOverflowViewport: TooltipContentProps["onOverflowViewport"];
20
+ /** TODO: remove temporary side placement, both fields */
21
+ sidePlacement?: TooltipPrivateProps["placement"];
22
+ sideOffset?: number;
18
23
  };
19
24
  /**
20
25
  * Get tooltip position and width
21
26
  */
22
- export declare function getTooltipStyle({ placement, defaultVerticalPlacement, triggerRef, tooltipRef, document, window, arrowSize, onOverflowViewport, }: GetTooltipStyleParams): TooltipStyle;
27
+ export declare function getTooltipStyle({ placement, defaultVerticalPlacement, triggerRef, tooltipRef, document, window, arrowSize, onOverflowViewport, sidePlacement, sideOffset, }: GetTooltipStyleParams): TooltipStyle;
23
28
  export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get ANIMATION_DISTANCE(){return ANIMATION_DISTANCE},get ARROW_SIZE(){return ARROW_SIZE},get ARROW_SIZE_BIG(){return ARROW_SIZE_BIG},get DISTANCE_FROM_TRIGGER(){return DISTANCE_FROM_TRIGGER},get getArrowOffset(){return getArrowOffset},get getTooltipStyle(){return getTooltipStyle}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const DISTANCE_FROM_TRIGGER=4,ANIMATION_DISTANCE=8,ARROW_SIZE=6,ARROW_SIZE_BIG=8,getArrowOffset=size=>2*size;function getTooltipStyle({placement,defaultVerticalPlacement="top",triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport}){let triggerRect=triggerRef.current.getBoundingClientRect(),tooltipRect=tooltipRef.current.getBoundingClientRect(),viewportWidth=document.documentElement.clientWidth,viewportHeight=document.documentElement.clientHeight,top=0,left=0,verticalPlacement=defaultVerticalPlacement,horizontalPlacement="center",arrowOffset=getArrowOffset(arrowSize),tooltipMargin=arrowSize+ANIMATION_DISTANCE+DISTANCE_FROM_TRIGGER;switch(placement){case"top":case"bottom":verticalPlacement=placement;break;case"top-left":case"top-right":case"bottom-left":case"bottom-right":{let placements=placement.split("-");verticalPlacement=placements[0],horizontalPlacement=placements[1];break}default:{let canPlaceAboveTrigger=triggerRect.top>=tooltipRect.height,canPlaceBelowTrigger=triggerRect.bottom+tooltipRect.height<viewportHeight;canPlaceBelowTrigger||canPlaceAboveTrigger||onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),"top"===verticalPlacement&&!canPlaceAboveTrigger&&canPlaceBelowTrigger?verticalPlacement="bottom":"bottom"!==verticalPlacement||canPlaceBelowTrigger||(verticalPlacement="top"),triggerRect.left>=tooltipRect.width/2?triggerRect.left+triggerRect.width/2+tooltipRect.width/2>=viewportWidth&&(horizontalPlacement="left"):horizontalPlacement="right"}}switch(top="top"===verticalPlacement?triggerRect.top-tooltipRect.height-tooltipMargin:triggerRect.bottom+tooltipMargin,horizontalPlacement){case"left":left=arrowSize?triggerRect.left+triggerRect.width/2-tooltipRect.width+arrowOffset+arrowSize:triggerRect.right-tooltipRect.width;break;case"right":left=arrowSize?triggerRect.left+triggerRect.width/2-arrowOffset-arrowSize:triggerRect.left;break;default:left=triggerRect.left+triggerRect.width/2}return{top:top+window.scrollY,left:left+window.scrollX,horizontalPlacement,verticalPlacement}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get ANIMATION_DISTANCE(){return ANIMATION_DISTANCE},get ARROW_SIZE(){return ARROW_SIZE},get ARROW_SIZE_BIG(){return ARROW_SIZE_BIG},get DISTANCE_FROM_TRIGGER(){return DISTANCE_FROM_TRIGGER},get getArrowOffset(){return getArrowOffset},get getTooltipStyle(){return getTooltipStyle},get sidePlacementOffset(){return sidePlacementOffset}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _getSideTooltipStyle=require("./getSideTooltipStyle"),DISTANCE_FROM_TRIGGER=4,ANIMATION_DISTANCE=8,ARROW_SIZE=6,ARROW_SIZE_BIG=8,sidePlacementOffset=10,getArrowOffset=size=>2*size;function getTooltipStyle({placement,defaultVerticalPlacement="top",triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport,sidePlacement,sideOffset=sidePlacementOffset}){let triggerRect=triggerRef.current.getBoundingClientRect(),tooltipRect=tooltipRef.current.getBoundingClientRect(),viewportWidth=document.documentElement.clientWidth,viewportHeight=document.documentElement.clientHeight;if("right-top"===sidePlacement){let fitsRightOfTrigger=triggerRect.right+sideOffset+tooltipRect.width<=viewportWidth,fitsBelowTriggerTop=triggerRect.top+tooltipRect.height<=viewportHeight;if(fitsRightOfTrigger&&fitsBelowTriggerTop)return(0,_getSideTooltipStyle.getSideTooltipStyle)({triggerRect,offset:sideOffset,window})}let top=0,left=0,verticalPlacement=defaultVerticalPlacement,horizontalPlacement="center",arrowOffset=getArrowOffset(arrowSize),tooltipMargin=arrowSize+ANIMATION_DISTANCE+DISTANCE_FROM_TRIGGER;switch(placement){case"top":case"bottom":verticalPlacement=placement;break;case"top-left":case"top-right":case"bottom-left":case"bottom-right":{let placements=placement.split("-");verticalPlacement=placements[0],horizontalPlacement=placements[1];break}default:{let canPlaceAboveTrigger=triggerRect.top>=tooltipRect.height,canPlaceBelowTrigger=triggerRect.bottom+tooltipRect.height<viewportHeight;canPlaceBelowTrigger||canPlaceAboveTrigger||onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),"top"===verticalPlacement&&!canPlaceAboveTrigger&&canPlaceBelowTrigger?verticalPlacement="bottom":"bottom"!==verticalPlacement||canPlaceBelowTrigger||(verticalPlacement="top"),triggerRect.left>=tooltipRect.width/2?triggerRect.left+triggerRect.width/2+tooltipRect.width/2>=viewportWidth&&(horizontalPlacement="left"):horizontalPlacement="right"}}switch(top="top"===verticalPlacement?triggerRect.top-tooltipRect.height-tooltipMargin:triggerRect.bottom+tooltipMargin,horizontalPlacement){case"left":left=arrowSize?triggerRect.left+triggerRect.width/2-tooltipRect.width+arrowOffset+arrowSize:triggerRect.right-tooltipRect.width;break;case"right":left=arrowSize?triggerRect.left+triggerRect.width/2-arrowOffset-arrowSize:triggerRect.left;break;default:left=triggerRect.left+triggerRect.width/2}return{top:top+window.scrollY,left:left+window.scrollX,horizontalPlacement,verticalPlacement}}
@@ -27,6 +27,7 @@ export * from "./components/Column/Columns";
27
27
  export type { FilterDialogConfig, FilterDialogOption, FilterDialogProps, FilterDialogValues, } from "./components/Composite/FilterDialog/-types";
28
28
  export * from "./components/Composite/FilterDialog/FilterDialog";
29
29
  export * from "./components/Container";
30
+ export * from "./components/Content/ContentBadge/ContentBadge";
30
31
  export * from "./components/Content/ContentBox/ContentBox";
31
32
  export * from "./components/Content/ContentCheckbox/ContentCheckbox";
32
33
  export * from "./components/Content/ContentFontResizer";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get CacheProvider(){return _react.CacheProvider},get ThemeProvider(){return _react.ThemeProvider},get createCache(){return _cache.default},get dark(){return dark},get light(){return light}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _export_star=require("@swc/helpers/_/_export_star"),_interop_require_default=require("@swc/helpers/_/_interop_require_default"),_visualConfig=require("./web-tokens/visualConfig"),_cache=/*#__PURE__*/_interop_require_default._(require("@emotion/cache")),_react=require("@emotion/react");_export_star._(require("./components/AccessCardItem/AccessCardItem"),exports),_export_star._(require("./components/AIButton/AIButton"),exports),_export_star._(require("./components/AIFloatingButton/AIFloatingButton"),exports),_export_star._(require("./components/Avatar/Avatar"),exports),_export_star._(require("./components/AvatarGroup/AvatarGroup"),exports),_export_star._(require("./components/Badge/Badge"),exports),_export_star._(require("./components/BinaryFeedback/BinaryFeedback"),exports),_export_star._(require("./components/Box/Box"),exports),_export_star._(require("./components/BulkActionsToolbar/BulkActionsToolbar"),exports),_export_star._(require("./components/Button/Button"),exports),_export_star._(require("./components/Callout/Callout"),exports),_export_star._(require("./components/Card/Card"),exports),_export_star._(require("./components/Card/CardBox/CardBox"),exports),_export_star._(require("./components/CatalogCard/CatalogCard"),exports),_export_star._(require("./components/ChatMessage"),exports),_export_star._(require("./components/ChatResponse"),exports),_export_star._(require("./components/CheckboxCard/CheckboxCard"),exports),_export_star._(require("./components/Collapsible/Collapsible"),exports),_export_star._(require("./components/ColorIndicator/ColorIndicator"),exports),_export_star._(require("./components/ColorPicker/ColorPicker"),exports),_export_star._(require("./components/Column/Columns"),exports),_export_star._(require("./components/Composite/FilterDialog/FilterDialog"),exports),_export_star._(require("./components/Container"),exports),_export_star._(require("./components/Content/ContentBox/ContentBox"),exports),_export_star._(require("./components/Content/ContentCheckbox/ContentCheckbox"),exports),_export_star._(require("./components/Content/ContentFontResizer"),exports),_export_star._(require("./components/Content/ContentHeading/ContentHeading"),exports),_export_star._(require("./components/Content/ContentLink/ContentLink"),exports),_export_star._(require("./components/Content/ContentList"),exports),_export_star._(require("./components/Content/ContentPictogramButton/ContentPictogramButton"),exports),_export_star._(require("./components/Content/ContentTable"),exports),_export_star._(require("./components/Content/ContentTableModal/ContentTableModal"),exports),_export_star._(require("./components/Content/ContentText/ContentText"),exports),_export_star._(require("./components/Content/DosageButton"),exports),_export_star._(require("./components/Content/ReferenceButton"),exports),_export_star._(require("./components/CountButton/CountButton"),exports),_export_star._(require("./components/DataTable"),exports),_export_star._(require("./components/Divider/Divider"),exports),_export_star._(require("./components/DropdownMenu/DropdownMenu"),exports),_export_star._(require("./components/EntityList"),exports),_export_star._(require("./components/EntityTree"),exports),_export_star._(require("./components/Form/Checkbox/Checkbox"),exports),_export_star._(require("./components/Form/Combobox/Combobox"),exports),_export_star._(require("./components/Form/DateInput/DateInput"),exports),_export_star._(require("./components/Form/DatePicker"),exports),_export_star._(require("./components/Form/FormFieldGroup/FormFieldGroup"),exports),_export_star._(require("./components/Form/Input"),exports),_export_star._(require("./components/Form/MaskedInput/MaskedInput"),exports),_export_star._(require("./components/Form/PasswordInput"),exports),_export_star._(require("./components/Form/Radio/Radio"),exports),_export_star._(require("./components/Form/RadioButton/RadioButton"),exports),_export_star._(require("./components/Form/RangeInput/RangeInput"),exports),_export_star._(require("./components/Form/SearchInput/SearchInput"),exports),_export_star._(require("./components/Form/SegmentedControl/SegmentedControl"),exports),_export_star._(require("./components/Form/Select"),exports),_export_star._(require("./components/Form/Textarea/Textarea"),exports),_export_star._(require("./components/Form/Toggle/Toggle"),exports),_export_star._(require("./components/Form/ToggleButton/ToggleButton"),exports),_export_star._(require("./components/Form/ToolbarToggle/ToolbarToggle"),exports),_export_star._(require("./components/Grid/Grid"),exports),_export_star._(require("./components/Icon/Icon"),exports),_export_star._(require("./components/IconTile/IconTile"),exports),_export_star._(require("./components/Image/Image"),exports),_export_star._(require("./components/Inline/Inline"),exports),_export_star._(require("./components/InlineMessage/InlineMessage"),exports),_export_star._(require("./components/InteractiveBox/InteractiveBox"),exports),_export_star._(require("./components/Layout"),exports),_export_star._(require("./components/Lightbox/Lightbox"),exports),_export_star._(require("./components/Link/Link"),exports),_export_star._(require("./components/LoadingSpinner/LoadingSpinner"),exports),_export_star._(require("./components/Logo/Logo"),exports),_export_star._(require("./components/MediaItem"),exports),_export_star._(require("./components/MediaViewerBar/MediaViewerBar"),exports),_export_star._(require("./components/MediaViewerCarousel/MediaViewerCarousel"),exports),_export_star._(require("./components/NavBar"),exports),_export_star._(require("./components/Notification/Notification"),exports),_export_star._(require("./components/Pagination/Pagination"),exports),_export_star._(require("./components/Patterns/ButtonGroup/ButtonGroup"),exports),_export_star._(require("./components/Patterns/EmptyState/EmptyState"),exports),_export_star._(require("./components/Patterns/Modal/Modal"),exports),_export_star._(require("./components/PictogramButton/PictogramButton"),exports),_export_star._(require("./components/Popover/Popover"),exports),_export_star._(require("./components/ProgressBar/ProgressBar"),exports),_export_star._(require("./components/PromptButton/PromptButton"),exports),_export_star._(require("./components/PromptInput/PromptInput"),exports),_export_star._(require("./components/QBankRichText/QBankRichText"),exports),_export_star._(require("./components/RadioCard/RadioCard"),exports),_export_star._(require("./components/RangePopover/RangePopover"),exports),_export_star._(require("./components/RoundButton/RoundButton"),exports),_export_star._(require("./components/SearchResult/SearchResult"),exports),_export_star._(require("./components/SegmentedProgressBar/SegmentedProgressBar"),exports),_export_star._(require("./components/Sheet/Sheet"),exports),_export_star._(require("./components/SplashCard/SplashCard"),exports),_export_star._(require("./components/SplashCardMedia/SplashCardMedia"),exports),_export_star._(require("./components/Stack/Stack"),exports),_export_star._(require("./components/SubThemeProvider/SubThemeProvider"),exports),_export_star._(require("./components/Tabs/Tabs"),exports),_export_star._(require("./components/Tag/Tag"),exports),_export_star._(require("./components/TagGroup/TagGroup"),exports),_export_star._(require("./components/Toast"),exports),_export_star._(require("./components/Toggletip/Toggletip"),exports),_export_star._(require("./components/Tooltip/Tooltip"),exports),_export_star._(require("./components/Tutorialtip/Tutorialtip"),exports),_export_star._(require("./components/Typography/Header"),exports),_export_star._(require("./components/Typography/StyledText/StyledText"),exports),_export_star._(require("./components/Typography/Text"),exports),_export_star._(require("./components/Typography/TextClamped/TextClamped"),exports),_export_star._(require("./components/UserHighlightTooltip/UserHighlightTooltip"),exports),_export_star._(require("./components/Utilities/AnimatedBorder/useAnimatedBorder"),exports),_export_star._(require("./components/Utilities/ContainerQuery/ContainerQuery"),exports),_export_star._(require("./components/Utilities/Expandable/Expandable"),exports),_export_star._(require("./components/Utilities/ScreenReaderText/ScreenReaderText"),exports),_export_star._(require("./shared/useSelectionRange"),exports);const{dark,light}=_visualConfig.ambossVisualConfiguration;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get CacheProvider(){return _react.CacheProvider},get ThemeProvider(){return _react.ThemeProvider},get createCache(){return _cache.default},get dark(){return dark},get light(){return light}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _export_star=require("@swc/helpers/_/_export_star"),_interop_require_default=require("@swc/helpers/_/_interop_require_default"),_visualConfig=require("./web-tokens/visualConfig"),_cache=/*#__PURE__*/_interop_require_default._(require("@emotion/cache")),_react=require("@emotion/react");_export_star._(require("./components/AccessCardItem/AccessCardItem"),exports),_export_star._(require("./components/AIButton/AIButton"),exports),_export_star._(require("./components/AIFloatingButton/AIFloatingButton"),exports),_export_star._(require("./components/Avatar/Avatar"),exports),_export_star._(require("./components/AvatarGroup/AvatarGroup"),exports),_export_star._(require("./components/Badge/Badge"),exports),_export_star._(require("./components/BinaryFeedback/BinaryFeedback"),exports),_export_star._(require("./components/Box/Box"),exports),_export_star._(require("./components/BulkActionsToolbar/BulkActionsToolbar"),exports),_export_star._(require("./components/Button/Button"),exports),_export_star._(require("./components/Callout/Callout"),exports),_export_star._(require("./components/Card/Card"),exports),_export_star._(require("./components/Card/CardBox/CardBox"),exports),_export_star._(require("./components/CatalogCard/CatalogCard"),exports),_export_star._(require("./components/ChatMessage"),exports),_export_star._(require("./components/ChatResponse"),exports),_export_star._(require("./components/CheckboxCard/CheckboxCard"),exports),_export_star._(require("./components/Collapsible/Collapsible"),exports),_export_star._(require("./components/ColorIndicator/ColorIndicator"),exports),_export_star._(require("./components/ColorPicker/ColorPicker"),exports),_export_star._(require("./components/Column/Columns"),exports),_export_star._(require("./components/Composite/FilterDialog/FilterDialog"),exports),_export_star._(require("./components/Container"),exports),_export_star._(require("./components/Content/ContentBadge/ContentBadge"),exports),_export_star._(require("./components/Content/ContentBox/ContentBox"),exports),_export_star._(require("./components/Content/ContentCheckbox/ContentCheckbox"),exports),_export_star._(require("./components/Content/ContentFontResizer"),exports),_export_star._(require("./components/Content/ContentHeading/ContentHeading"),exports),_export_star._(require("./components/Content/ContentLink/ContentLink"),exports),_export_star._(require("./components/Content/ContentList"),exports),_export_star._(require("./components/Content/ContentPictogramButton/ContentPictogramButton"),exports),_export_star._(require("./components/Content/ContentTable"),exports),_export_star._(require("./components/Content/ContentTableModal/ContentTableModal"),exports),_export_star._(require("./components/Content/ContentText/ContentText"),exports),_export_star._(require("./components/Content/DosageButton"),exports),_export_star._(require("./components/Content/ReferenceButton"),exports),_export_star._(require("./components/CountButton/CountButton"),exports),_export_star._(require("./components/DataTable"),exports),_export_star._(require("./components/Divider/Divider"),exports),_export_star._(require("./components/DropdownMenu/DropdownMenu"),exports),_export_star._(require("./components/EntityList"),exports),_export_star._(require("./components/EntityTree"),exports),_export_star._(require("./components/Form/Checkbox/Checkbox"),exports),_export_star._(require("./components/Form/Combobox/Combobox"),exports),_export_star._(require("./components/Form/DateInput/DateInput"),exports),_export_star._(require("./components/Form/DatePicker"),exports),_export_star._(require("./components/Form/FormFieldGroup/FormFieldGroup"),exports),_export_star._(require("./components/Form/Input"),exports),_export_star._(require("./components/Form/MaskedInput/MaskedInput"),exports),_export_star._(require("./components/Form/PasswordInput"),exports),_export_star._(require("./components/Form/Radio/Radio"),exports),_export_star._(require("./components/Form/RadioButton/RadioButton"),exports),_export_star._(require("./components/Form/RangeInput/RangeInput"),exports),_export_star._(require("./components/Form/SearchInput/SearchInput"),exports),_export_star._(require("./components/Form/SegmentedControl/SegmentedControl"),exports),_export_star._(require("./components/Form/Select"),exports),_export_star._(require("./components/Form/Textarea/Textarea"),exports),_export_star._(require("./components/Form/Toggle/Toggle"),exports),_export_star._(require("./components/Form/ToggleButton/ToggleButton"),exports),_export_star._(require("./components/Form/ToolbarToggle/ToolbarToggle"),exports),_export_star._(require("./components/Grid/Grid"),exports),_export_star._(require("./components/Icon/Icon"),exports),_export_star._(require("./components/IconTile/IconTile"),exports),_export_star._(require("./components/Image/Image"),exports),_export_star._(require("./components/Inline/Inline"),exports),_export_star._(require("./components/InlineMessage/InlineMessage"),exports),_export_star._(require("./components/InteractiveBox/InteractiveBox"),exports),_export_star._(require("./components/Layout"),exports),_export_star._(require("./components/Lightbox/Lightbox"),exports),_export_star._(require("./components/Link/Link"),exports),_export_star._(require("./components/LoadingSpinner/LoadingSpinner"),exports),_export_star._(require("./components/Logo/Logo"),exports),_export_star._(require("./components/MediaItem"),exports),_export_star._(require("./components/MediaViewerBar/MediaViewerBar"),exports),_export_star._(require("./components/MediaViewerCarousel/MediaViewerCarousel"),exports),_export_star._(require("./components/NavBar"),exports),_export_star._(require("./components/Notification/Notification"),exports),_export_star._(require("./components/Pagination/Pagination"),exports),_export_star._(require("./components/Patterns/ButtonGroup/ButtonGroup"),exports),_export_star._(require("./components/Patterns/EmptyState/EmptyState"),exports),_export_star._(require("./components/Patterns/Modal/Modal"),exports),_export_star._(require("./components/PictogramButton/PictogramButton"),exports),_export_star._(require("./components/Popover/Popover"),exports),_export_star._(require("./components/ProgressBar/ProgressBar"),exports),_export_star._(require("./components/PromptButton/PromptButton"),exports),_export_star._(require("./components/PromptInput/PromptInput"),exports),_export_star._(require("./components/QBankRichText/QBankRichText"),exports),_export_star._(require("./components/RadioCard/RadioCard"),exports),_export_star._(require("./components/RangePopover/RangePopover"),exports),_export_star._(require("./components/RoundButton/RoundButton"),exports),_export_star._(require("./components/SearchResult/SearchResult"),exports),_export_star._(require("./components/SegmentedProgressBar/SegmentedProgressBar"),exports),_export_star._(require("./components/Sheet/Sheet"),exports),_export_star._(require("./components/SplashCard/SplashCard"),exports),_export_star._(require("./components/SplashCardMedia/SplashCardMedia"),exports),_export_star._(require("./components/Stack/Stack"),exports),_export_star._(require("./components/SubThemeProvider/SubThemeProvider"),exports),_export_star._(require("./components/Tabs/Tabs"),exports),_export_star._(require("./components/Tag/Tag"),exports),_export_star._(require("./components/TagGroup/TagGroup"),exports),_export_star._(require("./components/Toast"),exports),_export_star._(require("./components/Toggletip/Toggletip"),exports),_export_star._(require("./components/Tooltip/Tooltip"),exports),_export_star._(require("./components/Tutorialtip/Tutorialtip"),exports),_export_star._(require("./components/Typography/Header"),exports),_export_star._(require("./components/Typography/StyledText/StyledText"),exports),_export_star._(require("./components/Typography/Text"),exports),_export_star._(require("./components/Typography/TextClamped/TextClamped"),exports),_export_star._(require("./components/UserHighlightTooltip/UserHighlightTooltip"),exports),_export_star._(require("./components/Utilities/AnimatedBorder/useAnimatedBorder"),exports),_export_star._(require("./components/Utilities/ContainerQuery/ContainerQuery"),exports),_export_star._(require("./components/Utilities/Expandable/Expandable"),exports),_export_star._(require("./components/Utilities/ScreenReaderText/ScreenReaderText"),exports),_export_star._(require("./shared/useSelectionRange"),exports);const{dark,light}=_visualConfig.ambossVisualConfiguration;
@@ -2184,6 +2184,30 @@
2184
2184
  "darkOriginalValue": "night-gray.dark01",
2185
2185
  "lightValue": "#314554",
2186
2186
  "lightOriginalValue": "gray.dark02"
2187
+ },
2188
+ "color-content-badge-background": {
2189
+ "name": "content.badge",
2190
+ "subState": "background",
2191
+ "darkValue": "#40454f",
2192
+ "darkOriginalValue": "night-black.light03",
2193
+ "lightValue": "#eef2f5",
2194
+ "lightOriginalValue": "gray.light03"
2195
+ },
2196
+ "color-content-badge-foreground": {
2197
+ "name": "content.badge",
2198
+ "subState": "foreground",
2199
+ "darkValue": "#d8dade",
2200
+ "darkOriginalValue": "night-gray.light03",
2201
+ "lightValue": "#40515e",
2202
+ "lightOriginalValue": "gray.dark01"
2203
+ },
2204
+ "color-content-badge-border": {
2205
+ "name": "content.badge",
2206
+ "subState": "border",
2207
+ "darkValue": "#b9bcc3",
2208
+ "darkOriginalValue": "night-gray.light01",
2209
+ "lightValue": "#40515e",
2210
+ "lightOriginalValue": "gray.dark01"
2187
2211
  }
2188
2212
  },
2189
2213
  "splash-card": {
@@ -160,6 +160,7 @@
160
160
  "number-3": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M10.892 10.77h.77q.33 0 .644-.049.315-.05.566-.18.267-.148.425-.393.156-.263.157-.673 0-.525-.409-.868-.393-.345-.974-.345-.55 0-.912.312a1.44 1.44 0 0 0-.471.77l-2.594-.557q.19-.755.566-1.279.378-.54.896-.869a3.7 3.7 0 0 1 1.147-.475q.645-.165 1.352-.164.738 0 1.415.197.69.18 1.21.59.518.394.817 1 .315.606.314 1.443 0 .966-.487 1.655t-1.414.886v.049q.502.065.88.311.393.246.66.607a2.7 2.7 0 0 1 .409.82q.141.458.141.967 0 .869-.33 1.524a3.1 3.1 0 0 1-.864 1.099q-.535.426-1.274.639a5.4 5.4 0 0 1-1.54.213q-1.493 0-2.577-.721Q8.346 16.558 8 15l2.483-.607q.126.624.503.984.393.36 1.148.36.77 0 1.131-.41.377-.425.377-1.081 0-.492-.204-.754a1.1 1.1 0 0 0-.503-.41 2 2 0 0 0-.707-.148 10 10 0 0 0-.786-.032h-.55z\"/></svg>",
161
161
  "note-filled": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" focusable=\"false\"><path fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 20h9\"/><path stroke=\"none\" d=\"M18 2.83c-.695 0-1.362.276-1.854.768l-12.5 12.5a.5.5 0 0 0-.131.232l-1 4a.5.5 0 0 0 .606.606l4-1a.5.5 0 0 0 .233-.131l12.5-12.5A2.62 2.62 0 0 0 18 2.83\"/></svg>",
162
162
  "numbered-list": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\" focusable=\"false\"><path fill=\"currentColor\" d=\"m2 7 2-2h2v14H4V7.8L2 10zm6-1a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1m1 5a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2zm0 6a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2z\"/></svg>",
163
+ "open-bottom-right": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\" focusable=\"false\"><path fill-rule=\"evenodd\" d=\"M19 2a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zm-5 14a1 1 0 0 0-1 1v3h6a1 1 0 0 0 1-1v-3zM5 4a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h6v-3a3 3 0 0 1 3-3h6V5a1 1 0 0 0-1-1z\" clip-rule=\"evenodd\"/></svg>",
163
164
  "open-full-screen": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\" focusable=\"false\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zm1 3.685C6 6.755 6.754 6 7.685 6h8.63C17.245 6 18 6.754 18 7.685v8.63c0 .93-.754 1.685-1.685 1.685h-8.63C6.755 18 6 17.246 6 16.315zM8 8v8h8V8z\" clip-rule=\"evenodd\"/></svg>",
164
165
  "open-new-tab": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\" focusable=\"false\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h6v3a3 3 0 0 0 3 3h6v9a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm16 3V5a1 1 0 0 0-1-1h-6v3a1 1 0 0 0 1 1z\" clip-rule=\"evenodd\"/></svg>",
165
166
  "open-sidebar-left": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\" focusable=\"false\"><path fill-rule=\"evenodd\" d=\"M19 2a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zm-9 18h9a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-9zM5 4a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3V4z\" clip-rule=\"evenodd\"/></svg>",
@@ -160,6 +160,7 @@
160
160
  "number-3": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" focusable=\"false\"><path d=\"M6.892 6.77h.77q.33 0 .644-.049.315-.049.566-.18.267-.148.425-.393.156-.263.157-.673 0-.525-.409-.868-.393-.345-.974-.345-.55 0-.912.312a1.44 1.44 0 0 0-.471.77l-2.594-.557q.19-.755.566-1.279.377-.54.896-.869a3.7 3.7 0 0 1 1.147-.475Q7.347 2 8.055 2q.738 0 1.415.197.69.18 1.21.59.518.393.817 1 .315.606.314 1.443 0 .966-.487 1.655T9.91 7.77v.05q.502.065.88.311.393.246.66.607a2.7 2.7 0 0 1 .409.82q.141.458.141.967 0 .869-.33 1.524a3.1 3.1 0 0 1-.864 1.099q-.535.426-1.274.639a5.4 5.4 0 0 1-1.54.213q-1.493 0-2.577-.721Q4.346 12.558 4 11l2.483-.607q.126.624.503.984.393.36 1.148.36.77 0 1.131-.41.378-.425.377-1.081 0-.492-.204-.754a1.1 1.1 0 0 0-.503-.41 2 2 0 0 0-.707-.148 10 10 0 0 0-.786-.032h-.55z\"/></svg>",
161
161
  "note-filled": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" focusable=\"false\"><path stroke=\"currentColor\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 14h7\"/><path d=\"M11.932 2c-.529 0-1.036.21-1.41.584L1.776 11.33a.5.5 0 0 0-.131.232l-.623 2.493a.7.7 0 0 0 .848.85l2.494-.624a.5.5 0 0 0 .232-.132l8.746-8.745A1.994 1.994 0 0 0 11.932 2\"/></svg>",
162
162
  "numbered-list": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\" focusable=\"false\"><path fill=\"currentColor\" d=\"m1 5 2-2h2v10H3V5.5l-2 2zm13 0H7V3h7a1 1 0 1 1 0 2M7 9h7a1 1 0 1 0 0-2H7zm0 4h7a1 1 0 1 0 0-2H7z\"/></svg>",
163
+ "open-bottom-right": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" focusable=\"false\"><path fill-rule=\"evenodd\" d=\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-1.796 1.99L13 15H3l-.204-.01a2 2 0 0 1-1.785-1.786L1 13V3a2 2 0 0 1 2-2zM3 13h4v-2a2 2 0 0 1 2-2h4V3H3zm10 0v-2H9v2z\" clip-rule=\"evenodd\"/></svg>",
163
164
  "open-full-screen": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\" focusable=\"false\"><g clip-path=\"url(#a)\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M3 3h10v10H3zM1 3a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2zm5 7V6h4v4zM4 4.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5z\" clip-rule=\"evenodd\"/></g><defs><clipPath id=\"a\"><path d=\"M0 0h16v16H0z\"/></clipPath></defs></svg>",
164
165
  "open-new-tab": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\" focusable=\"false\"><g clip-path=\"url(#a)\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M9 3h4v2H9zM7 3H3v10h10V7H9a2 2 0 0 1-2-2zM1 3a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2z\" clip-rule=\"evenodd\"/></g><defs><clipPath id=\"a\"><path d=\"M0 0h16v16H0z\"/></clipPath></defs></svg>",
165
166
  "open-sidebar-left": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" focusable=\"false\"><path fill-rule=\"evenodd\" d=\"M12.667 1A2.333 2.333 0 0 1 15 3.333v9.334A2.333 2.333 0 0 1 12.667 15H3.333A2.333 2.333 0 0 1 1 12.667V3.333A2.333 2.333 0 0 1 3.333 1zM7 13h5.667c.184 0 .333-.15.333-.333V3.333A.333.333 0 0 0 12.667 3H7zM3.333 3A.333.333 0 0 0 3 3.333v9.334c0 .184.15.333.333.333H5V3z\" clip-rule=\"evenodd\"/></svg>",
@@ -882,6 +882,35 @@ export type AmbossTheme = {
882
882
  "hover": string;
883
883
  };
884
884
  };
885
+ "badge": {
886
+ "background": {
887
+ "default": string;
888
+ "green": string;
889
+ "blue": string;
890
+ "orange": string;
891
+ "purple": string;
892
+ "red": string;
893
+ "gray": string;
894
+ };
895
+ "foreground": {
896
+ "default": string;
897
+ "green": string;
898
+ "blue": string;
899
+ "orange": string;
900
+ "purple": string;
901
+ "red": string;
902
+ "gray": string;
903
+ };
904
+ "border": {
905
+ "default": string;
906
+ "green": string;
907
+ "blue": string;
908
+ "orange": string;
909
+ "purple": string;
910
+ "red": string;
911
+ "gray": string;
912
+ };
913
+ };
885
914
  };
886
915
  "splashCard": {
887
916
  "text": {