UNPKG

botframework-webchat-component

Version:
153 lines (152 loc) 23.1 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); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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; } /* eslint no-magic-numbers: ["error", { "ignore": [0, 1, 2] }] */ 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 = typeof bubbleNubOffset === 'number' ? Math.min(bubbleBorderRadius, Math.abs(bubbleNubOffset)) : bubbleBorderRadius; var userNubCornerRadius = typeof bubbleFromUserNubOffset === 'number' ? Math.min(bubbleFromUserBorderRadius, Math.abs(bubbleFromUserNubOffset)) : bubbleFromUserBorderRadius; 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWlycm9yU3R5bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJjcmVhdGVCdWJibGVTdHlsZSIsIl9yZWYiLCJidWJibGVCYWNrZ3JvdW5kIiwiYnViYmxlQm9yZGVyQ29sb3IiLCJidWJibGVCb3JkZXJSYWRpdXMiLCJidWJibGVCb3JkZXJTdHlsZSIsImJ1YmJsZUJvcmRlcldpZHRoIiwiYnViYmxlRnJvbVVzZXJCYWNrZ3JvdW5kIiwiYnViYmxlRnJvbVVzZXJCb3JkZXJDb2xvciIsImJ1YmJsZUZyb21Vc2VyQm9yZGVyUmFkaXVzIiwiYnViYmxlRnJvbVVzZXJCb3JkZXJTdHlsZSIsImJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGgiLCJidWJibGVGcm9tVXNlck51Yk9mZnNldCIsImJ1YmJsZUZyb21Vc2VyTnViU2l6ZSIsImJ1YmJsZUZyb21Vc2VyVGV4dENvbG9yIiwiYnViYmxlTWluSGVpZ2h0IiwiYnViYmxlTnViT2Zmc2V0IiwiYnViYmxlTnViU2l6ZSIsImJ1YmJsZVRleHRDb2xvciIsIm1lc3NhZ2VBY3Rpdml0eVdvcmRCcmVhayIsInBhZGRpbmdSZWd1bGFyIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwiYm90TnViQ29ybmVyUmFkaXVzIiwiTWF0aCIsIm1pbiIsImFicyIsInVzZXJOdWJDb3JuZXJSYWRpdXMiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJ0cmFuc2l0aW9uUHJvcGVydHkiLCJ3b3JkQnJlYWsiLCJvdmVyZmxvdyIsInBvc2l0aW9uIiwid2lkdGgiLCJ0cmFuc2Zvcm0iLCJiYWNrZ3JvdW5kIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJTdHlsZSIsImJvcmRlcldpZHRoIiwiY29sb3IiLCJtaW5IZWlnaHQiLCJoZWlnaHQiLCJib3R0b20iLCJ0b3AiLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJmbGV4RGlyZWN0aW9uIiwibWlycm9yU3R5bGUiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIiwiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImxlZnQiLCJib3JkZXJCb3R0b21SaWdodFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwicmlnaHQiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdHlsZXMvU3R5bGVTZXQvQnViYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAyXSB9XSAqL1xuaW1wb3J0IHsgU3RyaWN0U3R5bGVPcHRpb25zIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcblxuaW1wb3J0IG1pcnJvclN0eWxlIGZyb20gJy4uL21pcnJvclN0eWxlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlQnViYmxlU3R5bGUoe1xuICBidWJibGVCYWNrZ3JvdW5kLFxuICBidWJibGVCb3JkZXJDb2xvcixcbiAgYnViYmxlQm9yZGVyUmFkaXVzLFxuICBidWJibGVCb3JkZXJTdHlsZSxcbiAgYnViYmxlQm9yZGVyV2lkdGgsXG4gIGJ1YmJsZUZyb21Vc2VyQmFja2dyb3VuZCxcbiAgYnViYmxlRnJvbVVzZXJCb3JkZXJDb2xvcixcbiAgYnViYmxlRnJvbVVzZXJCb3JkZXJSYWRpdXMsXG4gIGJ1YmJsZUZyb21Vc2VyQm9yZGVyU3R5bGUsXG4gIGJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGgsXG4gIGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0LFxuICBidWJibGVGcm9tVXNlck51YlNpemUsXG4gIGJ1YmJsZUZyb21Vc2VyVGV4dENvbG9yLFxuICBidWJibGVNaW5IZWlnaHQsXG4gIGJ1YmJsZU51Yk9mZnNldCxcbiAgYnViYmxlTnViU2l6ZSxcbiAgYnViYmxlVGV4dENvbG9yLFxuICBtZXNzYWdlQWN0aXZpdHlXb3JkQnJlYWssXG4gIHBhZGRpbmdSZWd1bGFyLFxuICB0cmFuc2l0aW9uRHVyYXRpb25cbn06IFN0cmljdFN0eWxlT3B0aW9ucykge1xuICBjb25zdCBib3ROdWJDb3JuZXJSYWRpdXMgPVxuICAgIHR5cGVvZiBidWJibGVOdWJPZmZzZXQgPT09ICdudW1iZXInID8gTWF0aC5taW4oYnViYmxlQm9yZGVyUmFkaXVzLCBNYXRoLmFicyhidWJibGVOdWJPZmZzZXQpKSA6IGJ1YmJsZUJvcmRlclJhZGl1cztcbiAgY29uc3QgdXNlck51YkNvcm5lclJhZGl1cyA9XG4gICAgdHlwZW9mIGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0ID09PSAnbnVtYmVyJ1xuICAgICAgPyBNYXRoLm1pbihidWJibGVGcm9tVXNlckJvcmRlclJhZGl1cywgTWF0aC5hYnMoYnViYmxlRnJvbVVzZXJOdWJPZmZzZXQpKVxuICAgICAgOiBidWJibGVGcm9tVXNlckJvcmRlclJhZGl1cztcblxuICByZXR1cm4ge1xuICAgICcmLndlYmNoYXRfX2J1YmJsZSc6IHtcbiAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX2NvbnRlbnQnOiB7XG4gICAgICAgIG1hcmdpbkxlZnQ6IDAsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAwLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogJ21hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQnLFxuICAgICAgICB3b3JkQnJlYWs6IG1lc3NhZ2VBY3Rpdml0eVdvcmRCcmVha1xuICAgICAgfSxcblxuICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fbnViJzoge1xuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsIC8vIFRoaXMgc3R5bGUgaXMgZm9yIElFMTEgYmVjYXVzZSBpdCBkb2Vzbid0IHJlc3BlY3QgU1ZHIHZpZXdwb3J0XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICB9LFxuXG4gICAgICAnJiAud2ViY2hhdF9fYnViYmxlX19udWItcGFkJzoge1xuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogJ3dpZHRoJyxcbiAgICAgICAgd2lkdGg6IDBcbiAgICAgIH0sXG5cbiAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0taGlkZS1udWIsICYud2ViY2hhdF9fYnViYmxlLS1zaG93LW51Yic6IHtcbiAgICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fbnViLXBhZCc6IHtcbiAgICAgICAgICB3aWR0aDogcGFkZGluZ1JlZ3VsYXJcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJyYud2ViY2hhdF9fYnViYmxlLS1ydGwgLndlYmNoYXRfX2J1YmJsZV9fbnViJzoge1xuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgtMSwgMSknXG4gICAgICB9LFxuXG4gICAgICAnJjpub3QoLndlYmNoYXRfX2J1YmJsZS0tZnJvbS11c2VyKSc6IHtcbiAgICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fY29udGVudCc6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBidWJibGVCYWNrZ3JvdW5kLFxuICAgICAgICAgIGJvcmRlckNvbG9yOiBidWJibGVCb3JkZXJDb2xvcixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IGJ1YmJsZUJvcmRlclJhZGl1cyxcbiAgICAgICAgICBib3JkZXJTdHlsZTogYnViYmxlQm9yZGVyU3R5bGUsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IGJ1YmJsZUJvcmRlcldpZHRoLFxuICAgICAgICAgIGNvbG9yOiBidWJibGVUZXh0Q29sb3IsXG4gICAgICAgICAgbWluSGVpZ2h0OiBidWJibGVNaW5IZWlnaHQgLSBidWJibGVCb3JkZXJXaWR0aCAqIDJcbiAgICAgICAgfSxcblxuICAgICAgICAuLi4odHlwZW9mIGJ1YmJsZU51YlNpemUgPT09ICdudW1iZXInXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yic6IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGJ1YmJsZU51YlNpemUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IGJ1YmJsZU51YlNpemVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuXG4gICAgICAgICcmOm5vdCgud2ViY2hhdF9fYnViYmxlLS1udWItb24tdG9wKSAud2ViY2hhdF9fYnViYmxlX19udWInOiB7XG4gICAgICAgICAgYm90dG9tOiAtYnViYmxlTnViT2Zmc2V0XG4gICAgICAgIH0sXG5cbiAgICAgICAgJyYud2ViY2hhdF9fYnViYmxlLS1udWItb24tdG9wIC53ZWJjaGF0X19idWJibGVfX251Yic6IHtcbiAgICAgICAgICB0b3A6IGJ1YmJsZU51Yk9mZnNldFxuICAgICAgICB9LFxuXG4gICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yi1vdXRsaW5lJzoge1xuICAgICAgICAgIGZpbGw6IGJ1YmJsZUJhY2tncm91bmQsXG4gICAgICAgICAgc3Ryb2tlOiBidWJibGVCb3JkZXJDb2xvcixcbiAgICAgICAgICBzdHJva2VXaWR0aDogYnViYmxlQm9yZGVyV2lkdGhcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJyYud2ViY2hhdF9fYnViYmxlLS1mcm9tLXVzZXInOiB7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3ctcmV2ZXJzZScsXG5cbiAgICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fY29udGVudCc6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBidWJibGVGcm9tVXNlckJhY2tncm91bmQsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IGJ1YmJsZUZyb21Vc2VyQm9yZGVyQ29sb3IsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBidWJibGVGcm9tVXNlckJvcmRlclJhZGl1cyxcbiAgICAgICAgICBib3JkZXJTdHlsZTogYnViYmxlRnJvbVVzZXJCb3JkZXJTdHlsZSxcbiAgICAgICAgICBib3JkZXJXaWR0aDogYnViYmxlRnJvbVVzZXJCb3JkZXJXaWR0aCxcbiAgICAgICAgICBjb2xvcjogYnViYmxlRnJvbVVzZXJUZXh0Q29sb3IsXG4gICAgICAgICAgbWluSGVpZ2h0OiBidWJibGVNaW5IZWlnaHQgLSBidWJibGVGcm9tVXNlckJvcmRlcldpZHRoICogMlxuICAgICAgICB9LFxuXG4gICAgICAgIC4uLih0eXBlb2YgYnViYmxlRnJvbVVzZXJOdWJTaXplID09PSAnbnVtYmVyJ1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAnJiAud2ViY2hhdF9fYnViYmxlX19udWInOiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBidWJibGVGcm9tVXNlck51YlNpemUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IGJ1YmJsZUZyb21Vc2VyTnViU2l6ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG5cbiAgICAgICAgJyY6bm90KC53ZWJjaGF0X19idWJibGUtLW51Yi1vbi10b3ApIC53ZWJjaGF0X19idWJibGVfX251Yic6IHtcbiAgICAgICAgICBib3R0b206IC1idWJibGVGcm9tVXNlck51Yk9mZnNldFxuICAgICAgICB9LFxuXG4gICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCAud2ViY2hhdF9fYnViYmxlX19udWInOiB7XG4gICAgICAgICAgdG9wOiBidWJibGVGcm9tVXNlck51Yk9mZnNldFxuICAgICAgICB9LFxuXG4gICAgICAgICcmIC53ZWJjaGF0X19idWJibGVfX251Yi1vdXRsaW5lJzoge1xuICAgICAgICAgIGZpbGw6IGJ1YmJsZUZyb21Vc2VyQmFja2dyb3VuZCxcbiAgICAgICAgICBzdHJva2U6IGJ1YmJsZUZyb21Vc2VyQm9yZGVyQ29sb3IsXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IGJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGhcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgLi4ubWlycm9yU3R5bGUoJyYud2ViY2hhdF9fYnViYmxlLS1ydGwnLCB7XG4gICAgICAgICcmOm5vdCgud2ViY2hhdF9fYnViYmxlLS1mcm9tLXVzZXIpJzoge1xuICAgICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tc2hvdy1udWInOiB7XG4gICAgICAgICAgICAvLyBIaWRlIGJvcmRlciByYWRpdXMgaWYgdGhlcmUgaXMgYSBudWIgb24gdGhlIHRvcC9ib3R0b20gbGVmdCBjb3JuZXJcbiAgICAgICAgICAgICcmOm5vdCgud2ViY2hhdF9fYnViYmxlLS1udWItb24tdG9wKSAud2ViY2hhdF9fYnViYmxlX19jb250ZW50Jzoge1xuICAgICAgICAgICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiBib3ROdWJDb3JuZXJSYWRpdXNcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICcmLndlYmNoYXRfX2J1YmJsZS0tbnViLW9uLXRvcCAud2ViY2hhdF9fYnViYmxlX19jb250ZW50Jzoge1xuICAgICAgICAgICAgICBib3JkZXJUb3BMZWZ0UmFkaXVzOiBib3ROdWJDb3JuZXJSYWRpdXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuXG4gICAgICAgICAgLi4uKHR5cGVvZiBidWJibGVOdWJTaXplID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fbnViJzogeyBsZWZ0OiBidWJibGVCb3JkZXJXaWR0aCAtIGJ1YmJsZU51YlNpemUgKyBwYWRkaW5nUmVndWxhciB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30pXG4gICAgICAgIH0sXG5cbiAgICAgICAgJyYud2ViY2hhdF9fYnViYmxlLS1mcm9tLXVzZXInOiB7XG4gICAgICAgICAgJyYud2ViY2hhdF9fYnViYmxlLS1zaG93LW51Yic6IHtcbiAgICAgICAgICAgIC8vIEhpZGUgYm9yZGVyIHJhZGl1cyBpZiB0aGVyZSBpcyBhIG51YiBvbiB0aGUgdG9wL2JvdHRvbSByaWdodCBjb3JuZXJcbiAgICAgICAgICAgICcmOm5vdCgud2ViY2hhdF9fYnViYmxlLS1udWItb24tdG9wKSAud2ViY2hhdF9fYnViYmxlX19jb250ZW50Jzoge1xuICAgICAgICAgICAgICBib3JkZXJCb3R0b21SaWdodFJhZGl1czogdXNlck51YkNvcm5lclJhZGl1c1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgJyYud2ViY2hhdF9fYnViYmxlLS1udWItb24tdG9wIC53ZWJjaGF0X19idWJibGVfX2NvbnRlbnQnOiB7XG4gICAgICAgICAgICAgIGJvcmRlclRvcFJpZ2h0UmFkaXVzOiB1c2VyTnViQ29ybmVyUmFkaXVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcblxuICAgICAgICAgIC4uLih0eXBlb2YgYnViYmxlRnJvbVVzZXJOdWJTaXplID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgJyYgLndlYmNoYXRfX2J1YmJsZV9fbnViJzogeyByaWdodDogYnViYmxlRnJvbVVzZXJCb3JkZXJXaWR0aCAtIGJ1YmJsZUZyb21Vc2VyTnViU2l6ZSArIHBhZGRpbmdSZWd1bGFyIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7fSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLElBQUFBLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5QyxTQUFBRCx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLFFBQUFDLE1BQUEsRUFBQUMsY0FBQSxRQUFBQyxJQUFBLEdBQUFDLE1BQUEsQ0FBQUQsSUFBQSxDQUFBRixNQUFBLE9BQUFHLE1BQUEsQ0FBQUMscUJBQUEsUUFBQUMsT0FBQSxHQUFBRixNQUFBLENBQUFDLHFCQUFBLENBQUFKLE1BQUEsR0FBQUMsY0FBQSxLQUFBSSxPQUFBLEdBQUFBLE9BQUEsQ0FBQUMsTUFBQSxXQUFBQyxHQUFBLFdBQUFKLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsTUFBQSxFQUFBTyxHQUFBLEVBQUFFLFVBQUEsT0FBQVAsSUFBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsSUFBQSxFQUFBRyxPQUFBLFlBQUFILElBQUE7QUFBQSxTQUFBVSxjQUFBQyxNQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUYsQ0FBQSxVQUFBRyxNQUFBLFdBQUFGLFNBQUEsQ0FBQUQsQ0FBQSxJQUFBQyxTQUFBLENBQUFELENBQUEsUUFBQUEsQ0FBQSxPQUFBZixPQUFBLENBQUFJLE1BQUEsQ0FBQWMsTUFBQSxPQUFBQyxPQUFBLFdBQUFDLEdBQUEsSUFBQUMsZUFBQSxDQUFBUCxNQUFBLEVBQUFNLEdBQUEsRUFBQUYsTUFBQSxDQUFBRSxHQUFBLFNBQUFoQixNQUFBLENBQUFrQix5QkFBQSxHQUFBbEIsTUFBQSxDQUFBbUIsZ0JBQUEsQ0FBQVQsTUFBQSxFQUFBVixNQUFBLENBQUFrQix5QkFBQSxDQUFBSixNQUFBLEtBQUFsQixPQUFBLENBQUFJLE1BQUEsQ0FBQWMsTUFBQSxHQUFBQyxPQUFBLFdBQUFDLEdBQUEsSUFBQWhCLE1BQUEsQ0FBQW9CLGNBQUEsQ0FBQVYsTUFBQSxFQUFBTSxHQUFBLEVBQUFoQixNQUFBLENBQUFLLHdCQUFBLENBQUFTLE1BQUEsRUFBQUUsR0FBQSxpQkFBQU4sTUFBQTtBQUFBLFNBQUFPLGdCQUFBeEIsR0FBQSxFQUFBdUIsR0FBQSxFQUFBSyxLQUFBLFFBQUFMLEdBQUEsSUFBQXZCLEdBQUEsSUFBQU8sTUFBQSxDQUFBb0IsY0FBQSxDQUFBM0IsR0FBQSxFQUFBdUIsR0FBQSxJQUFBSyxLQUFBLEVBQUFBLEtBQUEsRUFBQWYsVUFBQSxRQUFBZ0IsWUFBQSxRQUFBQyxRQUFBLG9CQUFBOUIsR0FBQSxDQUFBdUIsR0FBQSxJQUFBSyxLQUFBLFdBQUE1QixHQUFBLElBSHpDO0FBS2UsU0FBUytCLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQXFCbEI7RUFBQSxJQXBCckJDLGdCQUFnQixHQUFBRCxJQUFBLENBQWhCQyxnQkFBZ0I7SUFDaEJDLGlCQUFpQixHQUFBRixJQUFBLENBQWpCRSxpQkFBaUI7SUFDakJDLGtCQUFrQixHQUFBSCxJQUFBLENBQWxCRyxrQkFBa0I7SUFDbEJDLGlCQUFpQixHQUFBSixJQUFBLENBQWpCSSxpQkFBaUI7SUFDakJDLGlCQUFpQixHQUFBTCxJQUFBLENBQWpCSyxpQkFBaUI7SUFDakJDLHdCQUF3QixHQUFBTixJQUFBLENBQXhCTSx3QkFBd0I7SUFDeEJDLHlCQUF5QixHQUFBUCxJQUFBLENBQXpCTyx5QkFBeUI7SUFDekJDLDBCQUEwQixHQUFBUixJQUFBLENBQTFCUSwwQkFBMEI7SUFDMUJDLHlCQUF5QixHQUFBVCxJQUFBLENBQXpCUyx5QkFBeUI7SUFDekJDLHlCQUF5QixHQUFBVixJQUFBLENBQXpCVSx5QkFBeUI7SUFDekJDLHVCQUF1QixHQUFBWCxJQUFBLENBQXZCVyx1QkFBdUI7SUFDdkJDLHFCQUFxQixHQUFBWixJQUFBLENBQXJCWSxxQkFBcUI7SUFDckJDLHVCQUF1QixHQUFBYixJQUFBLENBQXZCYSx1QkFBdUI7SUFDdkJDLGVBQWUsR0FBQWQsSUFBQSxDQUFmYyxlQUFlO0lBQ2ZDLGVBQWUsR0FBQWYsSUFBQSxDQUFmZSxlQUFlO0lBQ2ZDLGFBQWEsR0FBQWhCLElBQUEsQ0FBYmdCLGFBQWE7SUFDYkMsZUFBZSxHQUFBakIsSUFBQSxDQUFmaUIsZUFBZTtJQUNmQyx3QkFBd0IsR0FBQWxCLElBQUEsQ0FBeEJrQix3QkFBd0I7SUFDeEJDLGNBQWMsR0FBQW5CLElBQUEsQ0FBZG1CLGNBQWM7SUFDZEMsa0JBQWtCLEdBQUFwQixJQUFBLENBQWxCb0Isa0JBQWtCO0VBRWxCLElBQU1DLGtCQUFrQixHQUN0QixPQUFPTixlQUFlLEtBQUssUUFBUSxHQUFHTyxJQUFJLENBQUNDLEdBQUcsQ0FBQ3BCLGtCQUFrQixFQUFFbUIsSUFBSSxDQUFDRSxHQUFHLENBQUNULGVBQWUsQ0FBQyxDQUFDLEdBQUdaLGtCQUFrQjtFQUNwSCxJQUFNc0IsbUJBQW1CLEdBQ3ZCLE9BQU9kLHVCQUF1QixLQUFLLFFBQVEsR0FDdkNXLElBQUksQ0FBQ0MsR0FBRyxDQUFDZiwwQkFBMEIsRUFBRWMsSUFBSSxDQUFDRSxHQUFHLENBQUNiLHVCQUF1QixDQUFDLENBQUMsR0FDdkVILDBCQUEwQjtFQUVoQyxPQUFPO0lBQ0wsbUJBQW1CLEVBQUF4QixhQUFBO01BQ2pCLDZCQUE2QixFQUFFO1FBQzdCMEMsVUFBVSxFQUFFLENBQUM7UUFDYkMsV0FBVyxFQUFFLENBQUM7UUFDZFAsa0JBQWtCLEVBQWxCQSxrQkFBa0I7UUFDbEJRLGtCQUFrQixFQUFFLDJCQUEyQjtRQUMvQ0MsU0FBUyxFQUFFWDtNQUNiLENBQUM7TUFFRCx5QkFBeUIsRUFBRTtRQUN6QlksUUFBUSxFQUFFLFFBQVE7UUFBRTtRQUNwQkMsUUFBUSxFQUFFO01BQ1osQ0FBQztNQUVELDZCQUE2QixFQUFFO1FBQzdCWCxrQkFBa0IsRUFBbEJBLGtCQUFrQjtRQUNsQlEsa0JBQWtCLEVBQUUsT0FBTztRQUMzQkksS0FBSyxFQUFFO01BQ1QsQ0FBQztNQUVELDBEQUEwRCxFQUFFO1FBQzFELDZCQUE2QixFQUFFO1VBQzdCQSxLQUFLLEVBQUViO1FBQ1Q7TUFDRixDQUFDO01BRUQsOENBQThDLEVBQUU7UUFDOUNjLFNBQVMsRUFBRTtNQUNiLENBQUM7TUFFRCxvQ0FBb0MsRUFBQWpELGFBQUEsQ0FBQUEsYUFBQTtRQUNsQyw2QkFBNkIsRUFBRTtVQUM3QmtELFVBQVUsRUFBRWpDLGdCQUFnQjtVQUM1QmtDLFdBQVcsRUFBRWpDLGlCQUFpQjtVQUM5QmtDLFlBQVksRUFBRWpDLGtCQUFrQjtVQUNoQ2tDLFdBQVcsRUFBRWpDLGlCQUFpQjtVQUM5QmtDLFdBQVcsRUFBRWpDLGlCQUFpQjtVQUM5QmtDLEtBQUssRUFBRXRCLGVBQWU7VUFDdEJ1QixTQUFTLEVBQUUxQixlQUFlLEdBQUdULGlCQUFpQixHQUFHO1FBQ25EO01BQUMsR0FFRyxPQUFPVyxhQUFhLEtBQUssUUFBUSxHQUNqQztRQUNFLHlCQUF5QixFQUFFO1VBQ3pCeUIsTUFBTSxFQUFFekIsYUFBYTtVQUNyQmdCLEtBQUssRUFBRWhCO1FBQ1Q7TUFDRixDQUFDLEdBQ0QsQ0FBQyxDQUFDO1FBRU4sMkRBQTJELEVBQUU7VUFDM0QwQixNQUFNLEVBQUUsQ0FBQzNCO1FBQ1gsQ0FBQztRQUVELHFEQUFxRCxFQUFFO1VBQ3JENEIsR0FBRyxFQUFFNUI7UUFDUCxDQUFDO1FBRUQsaUNBQWlDLEVBQUU7VUFDakM2QixJQUFJLEVBQUUzQyxnQkFBZ0I7VUFDdEI0QyxNQUFNLEVBQUUzQyxpQkFBaUI7VUFDekI0QyxXQUFXLEVBQUV6QztRQUNmO01BQUMsRUFDRjtNQUVELDhCQUE4QixFQUFBckIsYUFBQSxDQUFBQSxhQUFBO1FBQzVCK0QsYUFBYSxFQUFFLGFBQWE7UUFFNUIsNkJBQTZCLEVBQUU7VUFDN0JiLFVBQVUsRUFBRTVCLHdCQUF3QjtVQUNwQzZCLFdBQVcsRUFBRTVCLHlCQUF5QjtVQUN0QzZCLFlBQVksRUFBRTVCLDBCQUEwQjtVQUN4QzZCLFdBQVcsRUFBRTVCLHlCQUF5QjtVQUN0QzZCLFdBQVcsRUFBRTVCLHlCQUF5QjtVQUN0QzZCLEtBQUssRUFBRTFCLHVCQUF1QjtVQUM5QjJCLFNBQVMsRUFBRTFCLGVBQWUsR0FBR0oseUJBQXlCLEdBQUc7UUFDM0Q7TUFBQyxHQUVHLE9BQU9FLHFCQUFxQixLQUFLLFFBQVEsR0FDekM7UUFDRSx5QkFBeUIsRUFBRTtVQUN6QjZCLE1BQU0sRUFBRTdCLHFCQUFxQjtVQUM3Qm9CLEtBQUssRUFBRXBCO1FBQ1Q7TUFDRixDQUFDLEdBQ0QsQ0FBQyxDQUFDO1FBRU4sMkRBQTJELEVBQUU7VUFDM0Q4QixNQUFNLEVBQUUsQ0FBQy9CO1FBQ1gsQ0FBQztRQUVELHFEQUFxRCxFQUFFO1VBQ3JEZ0MsR0FBRyxFQUFFaEM7UUFDUCxDQUFDO1FBRUQsaUNBQWlDLEVBQUU7VUFDakNpQyxJQUFJLEVBQUV0Qyx3QkFBd0I7VUFDOUJ1QyxNQUFNLEVBQUV0Qyx5QkFBeUI7VUFDakN1QyxXQUFXLEVBQUVwQztRQUNmO01BQUM7SUFDRixHQUVFLElBQUFzQyxvQkFBVyxFQUFDLHdCQUF3QixFQUFFO01BQ3ZDLG9DQUFvQyxFQUFBaEUsYUFBQTtRQUNsQyw2QkFBNkIsRUFBRTtVQUM3QjtVQUNBLCtEQUErRCxFQUFFO1lBQy9EaUUsc0JBQXNCLEVBQUU1QjtVQUMxQixDQUFDO1VBRUQseURBQXlELEVBQUU7WUFDekQ2QixtQkFBbUIsRUFBRTdCO1VBQ3ZCO1FBQ0Y7TUFBQyxHQUVHLE9BQU9MLGFBQWEsS0FBSyxRQUFRLEdBQ2pDO1FBQ0UseUJBQXlCLEVBQUU7VUFBRW1DLElBQUksRUFBRTlDLGlCQUFpQixHQUFHVyxhQUFhLEdBQUdHO1FBQWU7TUFDeEYsQ0FBQyxHQUNELENBQUMsQ0FBQyxDQUNQO01BRUQsOEJBQThCLEVBQUFuQyxhQUFBO1FBQzVCLDZCQUE2QixFQUFFO1VBQzdCO1VBQ0EsK0RBQStELEVBQUU7WUFDL0RvRSx1QkFBdUIsRUFBRTNCO1VBQzNCLENBQUM7VUFFRCx5REFBeUQsRUFBRTtZQUN6RDRCLG9CQUFvQixFQUFFNUI7VUFDeEI7UUFDRjtNQUFDLEdBRUcsT0FBT2IscUJBQXFCLEtBQUssUUFBUSxHQUN6QztRQUNFLHlCQUF5QixFQUFFO1VBQUUwQyxLQUFLLEVBQUU1Qyx5QkFBeUIsR0FBR0UscUJBQXFCLEdBQUdPO1FBQWU7TUFDekcsQ0FBQyxHQUNELENBQUMsQ0FBQztJQUVWLENBQUMsQ0FBQztFQUVOLENBQUM7QUFDSCJ9