UNPKG

botframework-webchat-component

Version:
159 lines (152 loc) 20.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createBubbleStyle; var _mirrorStyle = _interopRequireDefault(require("../mirrorStyle")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function createBubbleStyle(_ref) { var bubbleBackground = _ref.bubbleBackground, bubbleBorderColor = _ref.bubbleBorderColor, bubbleBorderRadius = _ref.bubbleBorderRadius, bubbleBorderStyle = _ref.bubbleBorderStyle, bubbleBorderWidth = _ref.bubbleBorderWidth, bubbleFromUserBackground = _ref.bubbleFromUserBackground, bubbleFromUserBorderColor = _ref.bubbleFromUserBorderColor, bubbleFromUserBorderRadius = _ref.bubbleFromUserBorderRadius, bubbleFromUserBorderStyle = _ref.bubbleFromUserBorderStyle, bubbleFromUserBorderWidth = _ref.bubbleFromUserBorderWidth, bubbleFromUserNubOffset = _ref.bubbleFromUserNubOffset, bubbleFromUserNubSize = _ref.bubbleFromUserNubSize, bubbleFromUserTextColor = _ref.bubbleFromUserTextColor, bubbleMinHeight = _ref.bubbleMinHeight, bubbleNubOffset = _ref.bubbleNubOffset, bubbleNubSize = _ref.bubbleNubSize, bubbleTextColor = _ref.bubbleTextColor, messageActivityWordBreak = _ref.messageActivityWordBreak, paddingRegular = _ref.paddingRegular, transitionDuration = _ref.transitionDuration; var botNubCornerRadius = Math.min(bubbleBorderRadius, Math.abs(bubbleNubOffset)); var userNubCornerRadius = Math.min(bubbleFromUserBorderRadius, Math.abs(bubbleFromUserNubOffset)); return { '&.webchat__bubble': _objectSpread({ '& .webchat__bubble__content': { marginLeft: 0, marginRight: 0, transitionDuration: transitionDuration, transitionProperty: 'margin-left, margin-right', wordBreak: messageActivityWordBreak }, '& .webchat__bubble__nub': { overflow: 'hidden', // This style is for IE11 because it doesn't respect SVG viewport position: 'absolute' }, '& .webchat__bubble__nub-pad': { transitionDuration: transitionDuration, transitionProperty: 'width', width: 0 }, '&.webchat__bubble--hide-nub, &.webchat__bubble--show-nub': { '& .webchat__bubble__nub-pad': { width: paddingRegular } }, '&.webchat__bubble--rtl .webchat__bubble__nub': { transform: 'scale(-1, 1)' }, '&:not(.webchat__bubble--from-user)': _objectSpread(_objectSpread({ '& .webchat__bubble__content': { background: bubbleBackground, borderColor: bubbleBorderColor, borderRadius: bubbleBorderRadius, borderStyle: bubbleBorderStyle, borderWidth: bubbleBorderWidth, color: bubbleTextColor, minHeight: bubbleMinHeight - bubbleBorderWidth * 2 } }, typeof bubbleNubSize === 'number' ? { '& .webchat__bubble__nub': { height: bubbleNubSize, width: bubbleNubSize } } : {}), {}, { '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__nub': { bottom: -bubbleNubOffset }, '&.webchat__bubble--nub-on-top .webchat__bubble__nub': { top: bubbleNubOffset }, '& .webchat__bubble__nub-outline': { fill: bubbleBackground, stroke: bubbleBorderColor, strokeWidth: bubbleBorderWidth } }), '&.webchat__bubble--from-user': _objectSpread(_objectSpread({ flexDirection: 'row-reverse', '& .webchat__bubble__content': { background: bubbleFromUserBackground, borderColor: bubbleFromUserBorderColor, borderRadius: bubbleFromUserBorderRadius, borderStyle: bubbleFromUserBorderStyle, borderWidth: bubbleFromUserBorderWidth, color: bubbleFromUserTextColor, minHeight: bubbleMinHeight - bubbleFromUserBorderWidth * 2 } }, typeof bubbleFromUserNubSize === 'number' ? { '& .webchat__bubble__nub': { height: bubbleFromUserNubSize, width: bubbleFromUserNubSize } } : {}), {}, { '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__nub': { bottom: -bubbleFromUserNubOffset }, '&.webchat__bubble--nub-on-top .webchat__bubble__nub': { top: bubbleFromUserNubOffset }, '& .webchat__bubble__nub-outline': { fill: bubbleFromUserBackground, stroke: bubbleFromUserBorderColor, strokeWidth: bubbleFromUserBorderWidth } }) }, (0, _mirrorStyle.default)('&.webchat__bubble--rtl', { '&:not(.webchat__bubble--from-user)': _objectSpread({ '&.webchat__bubble--show-nub': { // Hide border radius if there is a nub on the top/bottom left corner '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__content': { borderBottomLeftRadius: botNubCornerRadius }, '&.webchat__bubble--nub-on-top .webchat__bubble__content': { borderTopLeftRadius: botNubCornerRadius } } }, typeof bubbleNubSize === 'number' ? { '& .webchat__bubble__nub': { left: bubbleBorderWidth - bubbleNubSize + paddingRegular } } : {}), '&.webchat__bubble--from-user': _objectSpread({ '&.webchat__bubble--show-nub': { // Hide border radius if there is a nub on the top/bottom right corner '&:not(.webchat__bubble--nub-on-top) .webchat__bubble__content': { borderBottomRightRadius: userNubCornerRadius }, '&.webchat__bubble--nub-on-top .webchat__bubble__content': { borderTopRightRadius: userNubCornerRadius } } }, typeof bubbleFromUserNubSize === 'number' ? { '& .webchat__bubble__nub': { right: bubbleFromUserBorderWidth - bubbleFromUserNubSize + paddingRegular } } : {}) })) }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdHlsZXMvU3R5bGVTZXQvQnViYmxlLmpzIl0sIm5hbWVzIjpbImNyZWF0ZUJ1YmJsZVN0eWxlIiwiYnViYmxlQmFja2dyb3VuZCIsImJ1YmJsZUJvcmRlckNvbG9yIiwiYnViYmxlQm9yZGVyUmFkaXVzIiwiYnViYmxlQm9yZGVyU3R5bGUiLCJidWJibGVCb3JkZXJXaWR0aCIsImJ1YmJsZUZyb21Vc2VyQmFja2dyb3VuZCIsImJ1YmJsZUZyb21Vc2VyQm9yZGVyQ29sb3IiLCJidWJibGVGcm9tVXNlckJvcmRlclJhZGl1cyIsImJ1YmJsZUZyb21Vc2VyQm9yZGVyU3R5bGUiLCJidWJibGVGcm9tVXNlckJvcmRlcldpZHRoIiwiYnViYmxlRnJvbVVzZXJOdWJPZmZzZXQiLCJidWJibGVGcm9tVXNlck51YlNpemUiLCJidWJibGVGcm9tVXNlclRleHRDb2xvciIsImJ1YmJsZU1pbkhlaWdodCIsImJ1YmJsZU51Yk9mZnNldCIsImJ1YmJsZU51YlNpemUiLCJidWJibGVUZXh0Q29sb3IiLCJtZXNzYWdlQWN0aXZpdHlXb3JkQnJlYWsiLCJwYWRkaW5nUmVndWxhciIsInRyYW5zaXRpb25EdXJhdGlvbiIsImJvdE51YkNvcm5lclJhZGl1cyIsIk1hdGgiLCJtaW4iLCJhYnMiLCJ1c2VyTnViQ29ybmVyUmFkaXVzIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwidHJhbnNpdGlvblByb3BlcnR5Iiwid29yZEJyZWFrIiwib3ZlcmZsb3ciLCJwb3NpdGlvbiIsIndpZHRoIiwidHJhbnNmb3JtIiwiYmFja2dyb3VuZCIsImJvcmRlckNvbG9yIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJXaWR0aCIsImNvbG9yIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwiYm90dG9tIiwidG9wIiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwiZmxleERpcmVjdGlvbiIsImJvcmRlckJvdHRvbUxlZnRSYWRpdXMiLCJib3JkZXJUb3BMZWZ0UmFkaXVzIiwibGVmdCIsImJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzIiwiYm9yZGVyVG9wUmlnaHRSYWRpdXMiLCJyaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOzs7Ozs7Ozs7O0FBRWUsU0FBU0EsaUJBQVQsT0FxQlo7QUFBQSxNQXBCREMsZ0JBb0JDLFFBcEJEQSxnQkFvQkM7QUFBQSxNQW5CREMsaUJBbUJDLFFBbkJEQSxpQkFtQkM7QUFBQSxNQWxCREMsa0JBa0JDLFFBbEJEQSxrQkFrQkM7QUFBQSxNQWpCREMsaUJBaUJDLFFBakJEQSxpQkFpQkM7QUFBQSxNQWhCREMsaUJBZ0JDLFFBaEJEQSxpQkFnQkM7QUFBQSxNQWZEQyx3QkFlQyxRQWZEQSx3QkFlQztBQUFBLE1BZERDLHlCQWNDLFFBZERBLHlCQWNDO0FBQUEsTUFiREMsMEJBYUMsUUFiREEsMEJBYUM7QUFBQSxNQVpEQyx5QkFZQyxRQVpEQSx5QkFZQztBQUFBLE1BWERDLHlCQVdDLFFBWERBLHlCQVdDO0FBQUEsTUFWREMsdUJBVUMsUUFWREEsdUJBVUM7QUFBQSxNQVREQyxxQkFTQyxRQVREQSxxQkFTQztBQUFBLE1BUkRDLHVCQVFDLFFBUkRBLHVCQVFDO0FBQUEsTUFQREMsZUFPQyxRQVBEQSxlQU9DO0FBQUEsTUFOREMsZUFNQyxRQU5EQSxlQU1DO0FBQUEsTUFMREMsYUFLQyxRQUxEQSxhQUtDO0FBQUEsTUFKREMsZUFJQyxRQUpEQSxlQUlDO0FBQUEsTUFIREMsd0JBR0MsUUFIREEsd0JBR0M7QUFBQSxNQUZEQyxjQUVDLFFBRkRBLGNBRUM7QUFBQSxNQUREQyxrQkFDQyxRQUREQSxrQkFDQztBQUNELE1BQU1DLGtCQUFrQixHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU3BCLGtCQUFULEVBQTZCbUIsSUFBSSxDQUFDRSxHQUFMLENBQVNULGVBQVQsQ0FBN0IsQ0FBM0I7QUFDQSxNQUFNVSxtQkFBbUIsR0FBR0gsSUFBSSxDQUFDQyxHQUFMLENBQVNmLDBCQUFULEVBQXFDYyxJQUFJLENBQUNFLEdB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QVcsRUFBRXBDO0FBSG9CO0FBOUJyQztBQWpFRixPQXNHSywwQkFBWSx3QkFBWixFQUFzQztBQUN2QztBQUNFLHVDQUErQjtBQUM3QjtBQUNBLDJFQUFpRTtBQUMvRHNDLFlBQUFBLHNCQUFzQixFQUFFM0I7QUFEdUMsV0FGcEM7QUFNN0IscUVBQTJEO0FBQ3pENEIsWUFBQUEsbUJBQW1CLEVBQUU1QjtBQURvQztBQU45QjtBQURqQyxTQVlNLE9BQU9MLGFBQVAsS0FBeUIsUUFBekIsR0FDQTtBQUNFLG1DQUEyQjtBQUFFa0MsVUFBQUEsSUFBSSxFQUFFN0MsaUJBQWlCLEdBQUdXLGFBQXBCLEdBQW9DRztBQUE1QztBQUQ3QixPQURBLEdBSUEsRUFoQk4sQ0FEdUM7QUFvQnZDO0FBQ0UsdUNBQStCO0FBQzdCO0FBQ0EsMkVBQWlFO0FBQy9EZ0MsWUFBQUEsdUJBQXVCLEVBQUUxQjtBQURzQyxXQUZwQztBQU03QixxRUFBMkQ7QUFDekQyQixZQUFBQSxvQkFBb0IsRUFBRTNCO0FBRG1DO0FBTjlCO0FBRGpDLFNBWU0sT0FBT2IscUJBQVAsS0FBaUMsUUFBakMsR0FDQTtBQUNFLG1DQUEyQjtBQUFFeUMsVUFBQUEsS0FBSyxFQUFFM0MseUJBQXlCLEdBQUdFLHFCQUE1QixHQUFvRE87QUFBN0Q7QUFEN0IsT0FEQSxHQUlBLEVBaEJOO0FBcEJ1QyxLQUF0QyxDQXRHTDtBQURLLEdBQVA7QUFnSkQiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAyXSB9XSAqL1xuXG5pbXBvcnQgbWlycm9yU3R5bGUgZnJvbSAnLi4vbWlycm9yU3R5bGUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVCdWJibGVTdHlsZSh7XG4gIGJ1YmJsZUJhY2tncm91bmQsXG4gIGJ1YmJsZUJvcmRlckNvbG9yLFxuICBidWJibGVCb3JkZXJSYWRpdXMsXG4gIGJ1YmJsZUJvcmRlclN0eWxlLFxuICBidWJibGVCb3JkZXJXaWR0aCxcbiAgYnViYmxlRnJvbVVzZXJCYWNrZ3JvdW5kLFxuICBidWJibGVGcm9tVXNlckJvcmRlckNvbG9yLFxuICBidWJibGVGcm9tVXNlckJvcmRlclJhZGl1cyxcbiAgYnViYmxlRnJvbVVzZXJCb3JkZXJTdHlsZSxcbiAgYnViYmxlRnJvbVVzZXJCb3JkZXJXaWR0aCxcbiAgYnViYmxlRnJvbVVzZXJOdWJPZmZzZXQsXG4gIGJ1YmJsZUZyb21Vc2VyTnViU2l6ZSxcbiAgYnViYmxlRnJvbVVzZXJUZXh0Q29sb3IsXG4gIGJ1YmJsZU1pbkhlaWdodCxcbiAgYnViYmxlTnViT2Zmc2V0LFxuICBidWJibGVOdWJTaXplLFxuICBidWJibGVUZXh0Q29sb3IsXG4gIG1lc3NhZ2VBY3Rpdml0eVdvcmRCcmVhayxcbiAgcGFkZGluZ1JlZ3VsYXIsXG4gIHRyYW5zaXRpb25EdXJhdGlvblxufSkge1xuICBjb25zdCBib3ROdWJDb3JuZXJSYWRpdXMgPSBNYXRoLm1pbihidWJibGVCb3JkZXJSYWRpdXMsIE1hdGguYWJzKGJ1YmJsZU51Yk9mZnNldCkpO1xuICBjb25zdCB1c2VyTnViQ29ybmVyUmFkaXVzID0gTWF0aC5taW4oYnViYmxlRnJvbVVzZXJCb3JkZXJSYWRpdXMsIE1hdGguYWJzKGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0KSk7XG5cbiAgcmV0dXJuIHtcbiAgICAnJi53ZWJjaGF0X19idWJibGUnOiB7XG4gICAgICAnJiAud2ViY2hhdF9fYnViYmxlX19jb250ZW50Jzoge1xuICAgICAgICBtYXJnaW5MZWZ0OiAwLFxuICAgICAgICBtYXJnaW5SaWdodDogMCxcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICB0cmFuc2l0aW9uUHJvcGVydHk6ICdtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0JyxcbiAgICAgICAgd29yZEJyZWFrOiBtZXNzYWdlQWN0aXZpdHlXb3JkQnJlYWtcbiAgICAgIH0sXG5cbiAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yic6IHtcbiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLCAvLyBUaGlzIHN0eWxlIGlzIGZvciBJRTExIGJlY2F1c2UgaXQgZG9lc24ndCByZXNwZWN0IFNWRyB2aWV3cG9ydFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fbnViLXBhZCc6IHtcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICB0cmFuc2l0aW9uUHJvcGVydHk6ICd3aWR0aCcsXG4gICAgICAgIHdpZHRoOiAwXG4gICAgICB9LFxuXG4gICAgICAnJi53ZWJjaGF0X19idWJibGUtLWhpZGUtbnViLCAmLndlYmNoYXRfX2J1YmJsZS0tc2hvdy1udWInOiB7XG4gICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yi1wYWQnOiB7XG4gICAgICAgICAgd2lkdGg6IHBhZGRpbmdSZWd1bGFyXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tcnRsIC53ZWJjaGF0X19idWJibGVfX251Yic6IHtcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoLTEsIDEpJ1xuICAgICAgfSxcblxuICAgICAgJyY6bm90KC53ZWJjaGF0X19idWJibGUtLWZyb20tdXNlciknOiB7XG4gICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX2NvbnRlbnQnOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogYnViYmxlQmFja2dyb3VuZCxcbiAgICAgICAgICBib3JkZXJDb2xvcjogYnViYmxlQm9yZGVyQ29sb3IsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBidWJibGVCb3JkZXJSYWRpdXMsXG4gICAgICAgICAgYm9yZGVyU3R5bGU6IGJ1YmJsZUJvcmRlclN0eWxlLFxuICAgICAgICAgIGJvcmRlcldpZHRoOiBidWJibGVCb3JkZXJXaWR0aCxcbiAgICAgICAgICBjb2xvcjogYnViYmxlVGV4dENvbG9yLFxuICAgICAgICAgIG1pbkhlaWdodDogYnViYmxlTWluSGVpZ2h0IC0gYnViYmxlQm9yZGVyV2lkdGggKiAyXG4gICAgICAgIH0sXG5cbiAgICAgICAgLi4uKHR5cGVvZiBidWJibGVOdWJTaXplID09PSAnbnVtYmVyJ1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAnJiAud2ViY2hhdF9fYnViYmxlX19udWInOiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBidWJibGVOdWJTaXplLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBidWJibGVOdWJTaXplXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcblxuICAgICAgICAnJjpub3QoLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCkgLndlYmNoYXRfX2J1YmJsZV9fbnViJzoge1xuICAgICAgICAgIGJvdHRvbTogLWJ1YmJsZU51Yk9mZnNldFxuICAgICAgICB9LFxuXG4gICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCAud2ViY2hhdF9fYnViYmxlX19udWInOiB7XG4gICAgICAgICAgdG9wOiBidWJibGVOdWJPZmZzZXRcbiAgICAgICAgfSxcblxuICAgICAgICAnJiAud2ViY2hhdF9fYnViYmxlX19udWItb3V0bGluZSc6IHtcbiAgICAgICAgICBmaWxsOiBidWJibGVCYWNrZ3JvdW5kLFxuICAgICAgICAgIHN0cm9rZTogYnViYmxlQm9yZGVyQ29sb3IsXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IGJ1YmJsZUJvcmRlcldpZHRoXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tZnJvbS11c2VyJzoge1xuICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93LXJldmVyc2UnLFxuXG4gICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX2NvbnRlbnQnOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogYnViYmxlRnJvbVVzZXJCYWNrZ3JvdW5kLFxuICAgICAgICAgIGJvcmRlckNvbG9yOiBidWJibGVGcm9tVXNlckJvcmRlckNvbG9yLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogYnViYmxlRnJvbVVzZXJCb3JkZXJSYWRpdXMsXG4gICAgICAgICAgYm9yZGVyU3R5bGU6IGJ1YmJsZUZyb21Vc2VyQm9yZGVyU3R5bGUsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IGJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGgsXG4gICAgICAgICAgY29sb3I6IGJ1YmJsZUZyb21Vc2VyVGV4dENvbG9yLFxuICAgICAgICAgIG1pbkhlaWdodDogYnViYmxlTWluSGVpZ2h0IC0gYnViYmxlRnJvbVVzZXJCb3JkZXJXaWR0aCAqIDJcbiAgICAgICAgfSxcblxuICAgICAgICAuLi4odHlwZW9mIGJ1YmJsZUZyb21Vc2VyTnViU2l6ZSA9PT0gJ251bWJlcidcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fbnViJzoge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYnViYmxlRnJvbVVzZXJOdWJTaXplLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBidWJibGVGcm9tVXNlck51YlNpemVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuXG4gICAgICAgICcmOm5vdCgud2ViY2hhdF9fYnViYmxlLS1udWItb24tdG9wKSAud2ViY2hhdF9fYnViYmxlX19udWInOiB7XG4gICAgICAgICAgYm90dG9tOiAtYnViYmxlRnJvbVVzZXJOdWJPZmZzZXRcbiAgICAgICAgfSxcblxuICAgICAgICAnJi53ZWJjaGF0X19idWJibGUtLW51Yi1vbi10b3AgLndlYmNoYXRfX2J1YmJsZV9fbnViJzoge1xuICAgICAgICAgIHRvcDogYnViYmxlRnJvbVVzZXJOdWJPZmZzZXRcbiAgICAgICAgfSxcblxuICAgICAgICAnJiAud2ViY2hhdF9fYnViYmxlX19udWItb3V0bGluZSc6IHtcbiAgICAgICAgICBmaWxsOiBidWJibGVGcm9tVXNlckJhY2tncm91bmQsXG4gICAgICAgICAgc3Ryb2tlOiBidWJibGVGcm9tVXNlckJvcmRlckNvbG9yLFxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBidWJibGVGcm9tVXNlckJvcmRlcldpZHRoXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC4uLm1pcnJvclN0eWxlKCcmLndlYmNoYXRfX2J1YmJsZS0tcnRsJywge1xuICAgICAgICAnJjpub3QoLndlYmNoYXRfX2J1YmJsZS0tZnJvbS11c2VyKSc6IHtcbiAgICAgICAgICAnJi53ZWJjaGF0X19idWJibGUtLXNob3ctbnViJzoge1xuICAgICAgICAgICAgLy8gSGlkZSBib3JkZXIgcmFkaXVzIGlmIHRoZXJlIGlzIGEgbnViIG9uIHRoZSB0b3AvYm90dG9tIGxlZnQgY29ybmVyXG4gICAgICAgICAgICAnJjpub3QoLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCkgLndlYmNoYXRfX2J1YmJsZV9fY29udGVudCc6IHtcbiAgICAgICAgICAgICAgYm9yZGVyQm90dG9tTGVmdFJhZGl1czogYm90TnViQ29ybmVyUmFkaXVzXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAnJi53ZWJjaGF0X19idWJibGUtLW51Yi1vbi10b3AgLndlYmNoYXRfX2J1YmJsZV9fY29udGVudCc6IHtcbiAgICAgICAgICAgICAgYm9yZGVyVG9wTGVmdFJhZGl1czogYm90TnViQ29ybmVyUmFkaXVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcblxuICAgICAgICAgIC4uLih0eXBlb2YgYnViYmxlTnViU2l6ZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yic6IHsgbGVmdDogYnViYmxlQm9yZGVyV2lkdGggLSBidWJibGVOdWJTaXplICsgcGFkZGluZ1JlZ3VsYXIgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KVxuICAgICAgICB9LFxuXG4gICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tZnJvbS11c2VyJzoge1xuICAgICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tc2hvdy1udWInOiB7XG4gICAgICAgICAgICAvLyBIaWRlIGJvcmRlciByYWRpdXMgaWYgdGhlcmUgaXMgYSBudWIgb24gdGhlIHRvcC9ib3R0b20gcmlnaHQgY29ybmVyXG4gICAgICAgICAgICAnJjpub3QoLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCkgLndlYmNoYXRfX2J1YmJsZV9fY29udGVudCc6IHtcbiAgICAgICAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IHVzZXJOdWJDb3JuZXJSYWRpdXNcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCAud2ViY2hhdF9fYnViYmxlX19jb250ZW50Jzoge1xuICAgICAgICAgICAgICBib3JkZXJUb3BSaWdodFJhZGl1czogdXNlck51YkNvcm5lclJhZGl1c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG5cbiAgICAgICAgICAuLi4odHlwZW9mIGJ1YmJsZUZyb21Vc2VyTnViU2l6ZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yic6IHsgcmlnaHQ6IGJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGggLSBidWJibGVGcm9tVXNlck51YlNpemUgKyBwYWRkaW5nUmVndWxhciB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9O1xufVxuIl19