tb-react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
155 lines (148 loc) • 19.1 kB
JavaScript
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; }
import React from 'react';
import useChat from "../../hooks/useChat";
const styles = {
wrapper: {
zIndex: 2147483004,
// 1 more than the actual widget
position: 'fixed',
bottom: '20px',
display: 'block',
right: '20px',
width: '60px',
height: '60px',
borderRadius: '50%',
boxShadow: 'rgba(0, 0, 0, 0.0588235) 0px 1px 6px 0px, rgba(0, 0, 0, 0.156863) 0px 2px 32px 0px'
},
region: {
fontFamily: "intercom-font, 'Helvetica Neue', 'Apple Color Emoji', Helvetica, Arial, sans-serif",
fontSize: '100%',
fontStyle: 'normal',
letterSpacing: 'normal',
fontStretch: 'normal',
fontVariantLigatures: 'normal',
fontVariantCaps: 'normal',
fontVariantEastAsian: 'normal',
fontVariantPosition: 'normal',
fontWeight: 'normal',
textAlign: 'left',
textDecorationLine: 'none',
textDecorationStyle: 'initial',
textDecorationColor: 'initial',
textDecoration: 'none',
textIndent: '0px',
textShadow: 'none',
textTransform: 'none',
boxSizing: 'content-box',
WebkitTextEmphasisStyle: 'none',
WebkitTextEmphasisColor: 'initial',
WebkitFontSmoothing: 'antialiased',
lineHeight: 1
},
launcher: {
position: 'absolute',
top: '0px',
left: '0px',
width: '60px',
height: '60px',
borderRadius: '50%',
cursor: 'pointer',
transformOrigin: 'center',
overflowX: 'hidden',
overflowY: 'hidden',
WebkitBackfaceVisibility: 'hidden',
WebkitFontSmoothing: 'antialiased'
},
logo: {
display: 'flex',
WebkitBoxAlign: 'center',
alignItems: 'center',
WebkitBoxPack: 'center',
justifyContent: 'center',
position: 'absolute',
top: '0px',
bottom: '0px',
width: '100%',
transform: 'rotate(0deg) scale(1)',
transition: 'transform 0.16s linear 0s, opacity 0.08s linear 0s'
},
close: {
display: 'flex',
WebkitBoxAlign: 'center',
alignItems: 'center',
WebkitBoxPack: 'center',
justifyContent: 'center',
position: 'absolute',
top: '0px',
bottom: '0px',
width: '100%',
transition: 'transform 0.16s linear 0s, opacity 0.08s linear 0s'
}
};
const Intercom = ({
color
}) => {
const [state, loadChat] = useChat({
loadWhenIdle: true
});
if (state === 'complete') {
return null;
}
return /*#__PURE__*/React.createElement("div", {
style: _objectSpread(_objectSpread({}, styles.wrapper), {}, {
background: color
})
}, /*#__PURE__*/React.createElement("div", {
style: styles.region
}, /*#__PURE__*/React.createElement("div", {
role: "button",
"aria-label": "Load Chat",
"aria-busy": "true",
"aria-live": "polite",
onClick: () => loadChat({
open: true
}),
onMouseEnter: () => loadChat({
open: false
}),
style: styles.launcher
}, /*#__PURE__*/React.createElement("div", {
style: _objectSpread(_objectSpread({}, styles.logo), {}, {
opacity: state === 'initial' ? 1 : 0
})
}, /*#__PURE__*/React.createElement("svg", {
height: "32px",
width: "28px",
focusable: "false",
"aria-hidden": "true",
viewBox: "0 0 28 32"
}, /*#__PURE__*/React.createElement("path", {
fill: "rgb(255, 255, 255)",
d: "M28,32 C28,32 23.2863266,30.1450667 19.4727818,28.6592 L3.43749107,28.6592 C1.53921989,28.6592 0,27.0272 0,25.0144 L0,3.6448 C0,1.632 1.53921989,0 3.43749107,0 L24.5615088,0 C26.45978,0 27.9989999,1.632 27.9989999,3.6448 L27.9989999,22.0490667 L28,22.0490667 L28,32 Z M23.8614088,20.0181333 C23.5309223,19.6105242 22.9540812,19.5633836 22.5692242,19.9125333 C22.5392199,19.9392 19.5537934,22.5941333 13.9989999,22.5941333 C8.51321617,22.5941333 5.48178311,19.9584 5.4277754,19.9104 C5.04295119,19.5629428 4.46760991,19.6105095 4.13759108,20.0170667 C3.97913051,20.2124916 3.9004494,20.4673395 3.91904357,20.7249415 C3.93763774,20.9825435 4.05196575,21.2215447 4.23660523,21.3888 C4.37862552,21.5168 7.77411059,24.5386667 13.9989999,24.5386667 C20.2248893,24.5386667 23.6203743,21.5168 23.7623946,21.3888 C23.9467342,21.2215726 24.0608642,20.9827905 24.0794539,20.7254507 C24.0980436,20.4681109 24.0195551,20.2135019 23.8614088,20.0181333 Z"
}))), /*#__PURE__*/React.createElement("div", {
style: _objectSpread(_objectSpread({}, styles.close), {}, {
opacity: state === 'initial' ? 0 : 1,
transform: state === 'initial' ? 'rotate(-30deg)' : 'rotate(0deg)'
})
}, /*#__PURE__*/React.createElement("svg", {
focusable: "false",
viewBox: "0 0 16 14",
width: "28",
height: "25",
style: {
width: '16px'
}
}, /*#__PURE__*/React.createElement("path", {
fill: "rgb(255, 255, 255)",
fillRule: "evenodd",
clipRule: "evenodd",
d: "M.116 4.884l1.768-1.768L8 9.232l6.116-6.116 1.768 1.768L8 12.768.116 4.884z"
}))))));
};
Intercom.defaultProps = {
color: '#333333'
};
export default Intercom;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0ludGVyY29tL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNoYXQiLCJzdHlsZXMiLCJ3cmFwcGVyIiwiekluZGV4IiwicG9zaXRpb24iLCJib3R0b20iLCJkaXNwbGF5IiwicmlnaHQiLCJ3aWR0aCIsImhlaWdodCIsImJvcmRlclJhZGl1cyIsImJveFNoYWRvdyIsInJlZ2lvbiIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsImZvbnRTdHlsZSIsImxldHRlclNwYWNpbmciLCJmb250U3RyZXRjaCIsImZvbnRWYXJpYW50TGlnYXR1cmVzIiwiZm9udFZhcmlhbnRDYXBzIiwiZm9udFZhcmlhbnRFYXN0QXNpYW4iLCJmb250VmFyaWFudFBvc2l0aW9uIiwiZm9udFdlaWdodCIsInRleHRBbGlnbiIsInRleHREZWNvcmF0aW9uTGluZSIsInRleHREZWNvcmF0aW9uU3R5bGUiLCJ0ZXh0RGVjb3JhdGlvbkNvbG9yIiwidGV4dERlY29yYXRpb24iLCJ0ZXh0SW5kZW50IiwidGV4dFNoYWRvdyIsInRleHRUcmFuc2Zvcm0iLCJib3hTaXppbmciLCJXZWJraXRUZXh0RW1waGFzaXNTdHlsZSIsIldlYmtpdFRleHRFbXBoYXNpc0NvbG9yIiwiV2Via2l0Rm9udFNtb290aGluZyIsImxpbmVIZWlnaHQiLCJsYXVuY2hlciIsInRvcCIsImxlZnQiLCJjdXJzb3IiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJvdmVyZmxvd1giLCJvdmVyZmxvd1kiLCJXZWJraXRCYWNrZmFjZVZpc2liaWxpdHkiLCJsb2dvIiwiV2Via2l0Qm94QWxpZ24iLCJhbGlnbkl0ZW1zIiwiV2Via2l0Qm94UGFjayIsImp1c3RpZnlDb250ZW50IiwidHJhbnNmb3JtIiwidHJhbnNpdGlvbiIsImNsb3NlIiwiSW50ZXJjb20iLCJjb2xvciIsInN0YXRlIiwibG9hZENoYXQiLCJsb2FkV2hlbklkbGUiLCJiYWNrZ3JvdW5kIiwib3BlbiIsIm9wYWNp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bSAncmVhY3QnXG5cbmltcG9ydCB1c2VDaGF0IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXQnXG5cbmNvbnN0IHN0eWxlczoge1xuICB3cmFwcGVyOiBDU1NQcm9wZXJ0aWVzXG4gIHJlZ2lvbjogQ1NTUHJvcGVydGllc1xuICBsYXVuY2hlcjogQ1NTUHJvcGVydGllc1xuICBsb2dvOiBDU1NQcm9wZXJ0aWVzXG4gIGNsb3NlOiBDU1NQcm9wZXJ0aWVzXG59ID0ge1xuICB3cmFwcGVyOiB7XG4gICAgekluZGV4OiAyMTQ3NDgzMDA0LCAvLyAxIG1vcmUgdGhhbiB0aGUgYWN0dWFsIHdpZGdldFxuICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgIGJvdHRvbTogJzIwcHgnLFxuICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgcmlnaHQ6ICcyMHB4JyxcbiAgICB3aWR0aDogJzYwcHgnLFxuICAgIGhlaWdodDogJzYwcHgnLFxuICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgYm94U2hhZG93OlxuICAgICAgJ3JnYmEoMCwgMCwgMCwgMC4wNTg4MjM1KSAwcHggMXB4IDZweCAwcHgsIHJnYmEoMCwgMCwgMCwgMC4xNTY4NjMpIDBweCAycHggMzJweCAwcHgnXG4gIH0sXG4gIHJlZ2lvbjoge1xuICAgIGZvbnRGYW1pbHk6XG4gICAgICBcImludGVyY29tLWZvbnQsICdIZWx2ZXRpY2EgTmV1ZScsICdBcHBsZSBDb2xvciBFbW9qaScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbiAgICBmb250U2l6ZTogJzEwMCUnLFxuICAgIGZvbnRTdHlsZTogJ25vcm1hbCcsXG4gICAgbGV0dGVyU3BhY2luZzogJ25vcm1hbCcsXG4gICAgZm9udFN0cmV0Y2g6ICdub3JtYWwnLFxuICAgIGZvbnRWYXJpYW50TGlnYXR1cmVzOiAnbm9ybWFsJyxcbiAgICBmb250VmFyaWFudENhcHM6ICdub3JtYWwnLFxuICAgIGZvbnRWYXJpYW50RWFzdEFzaWFuOiAnbm9ybWFsJyxcbiAgICBmb250VmFyaWFudFBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICB0ZXh0RGVjb3JhdGlvbkxpbmU6ICdub25lJyxcbiAgICB0ZXh0RGVjb3JhdGlvblN0eWxlOiAnaW5pdGlhbCcsXG4gICAgdGV4dERlY29yYXRpb25Db2xvcjogJ2luaXRpYWwnLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgdGV4dEluZGVudDogJzBweCcsXG4gICAgdGV4dFNoYWRvdzogJ25vbmUnLFxuICAgIHRleHRUcmFuc2Zvcm06ICdub25lJyxcbiAgICBib3hTaXppbmc6ICdjb250ZW50LWJveCcsXG4gICAgV2Via2l0VGV4dEVtcGhhc2lzU3R5bGU6ICdub25lJyxcbiAgICBXZWJraXRUZXh0RW1waGFzaXNDb2xvcjogJ2luaXRpYWwnLFxuICAgIFdlYmtpdEZvbnRTbW9vdGhpbmc6ICdhbnRpYWxpYXNlZCcsXG4gICAgbGluZUhlaWdodDogMVxuICB9LFxuICBsYXVuY2hlcjoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogJzBweCcsXG4gICAgbGVmdDogJzBweCcsXG4gICAgd2lkdGg6ICc2MHB4JyxcbiAgICBoZWlnaHQ6ICc2MHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJ2NlbnRlcicsXG4gICAgb3ZlcmZsb3dYOiAnaGlkZGVuJyxcbiAgICBvdmVyZmxvd1k6ICdoaWRkZW4nLFxuICAgIFdlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgV2Via2l0Rm9udFNtb290aGluZzogJ2FudGlhbGlhc2VkJ1xuICB9LFxuICBsb2dvOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIFdlYmtpdEJveEFsaWduOiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBXZWJraXRCb3hQYWNrOiAnY2VudGVyJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAnMHB4JyxcbiAgICBib3R0b206ICcwcHgnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgdHJhbnNmb3JtOiAncm90YXRlKDBkZWcpIHNjYWxlKDEpJyxcbiAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDAuMTZzIGxpbmVhciAwcywgb3BhY2l0eSAwLjA4cyBsaW5lYXIgMHMnXG4gIH0sXG4gIGNsb3NlOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIFdlYmtpdEJveEFsaWduOiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBXZWJraXRCb3hQYWNrOiAnY2VudGVyJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAnMHB4JyxcbiAgICBib3R0b206ICcwcHgnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgdHJhbnNpdGlvbjogJ3RyYW5zZm9ybSAwLjE2cyBsaW5lYXIgMHMsIG9wYWNpdHkgMC4wOHMgbGluZWFyIDBzJ1xuICB9XG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbG9yPzogc3RyaW5nXG59XG5cbmNvbnN0IEludGVyY29tID0gKHsgY29sb3IgfTogUHJvcHMpOiBKU1guRWxlbWVudCB8IG51bGwgPT4ge1xuICBjb25zdCBbc3RhdGUsIGxvYWRDaGF0XSA9IHVzZUNoYXQoeyBsb2FkV2hlbklkbGU6IHRydWUgfSlcblxuICBpZiAoc3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICAuLi5zdHlsZXMud3JhcHBlcixcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3JcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLnJlZ2lvbn0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiTG9hZCBDaGF0XCJcbiAgICAgICAgICBhcmlhLWJ1c3k9XCJ0cnVlXCJcbiAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGxvYWRDaGF0KHsgb3BlbjogdHJ1ZSB9KX1cbiAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IGxvYWRDaGF0KHsgb3BlbjogZmFsc2UgfSl9XG4gICAgICAgICAgc3R5bGU9e3N0eWxlcy5sYXVuY2hlcn1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIC4uLnN0eWxlcy5sb2dvLFxuICAgICAgICAgICAgICBvcGFjaXR5OiBzdGF0ZSA9PT0gJ2luaXRpYWwnID8gMSA6IDBcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICBoZWlnaHQ9XCIzMnB4XCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIyOHB4XCJcbiAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI4IDMyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBmaWxsPVwicmdiKDI1NSwgMjU1LCAyNTUpXCJcbiAgICAgICAgICAgICAgICBkPVwiTTI4LDMyIEMyOCwzMiAyMy4yODYzMjY2LDMwLjE0NTA2NjcgMTkuNDcyNzgxOCwyOC42NTkyIEwzLjQzNzQ5MTA3LDI4LjY1OTIgQzEuNTM5MjE5ODksMjguNjU5MiAwLDI3LjAyNzIgMCwyNS4wMTQ0IEwwLDMuNjQ0OCBDMCwxLjYzMiAxLjUzOTIxOTg5LDAgMy40Mzc0OTEwNywwIEwyNC41NjE1MDg4LDAgQzI2LjQ1OTc4LDAgMjcuOTk4OTk5OSwxLjYzMiAyNy45OTg5OTk5LDMuNjQ0OCBMMjcuOTk4OTk5OSwyMi4wNDkwNjY3IEwyOCwyMi4wNDkwNjY3IEwyOCwzMiBaIE0yMy44NjE0MDg4LDIwLjAxODEzMzMgQzIzLjUzMDkyMjMsMTkuNjEwNTI0MiAyMi45NTQwODEyLDE5LjU2MzM4MzYgMjIuNTY5MjI0MiwxOS45MTI1MzMzIEMyMi41MzkyMTk5LDE5LjkzOTIgMTkuNTUzNzkzNCwyMi41OTQxMzMzIDEzLjk5ODk5OTksMjIuNTk0MTMzMyBDOC41MTMyMTYxNywyMi41OTQxMzMzIDUuNDgxNzgzMTEsMTkuOTU4NCA1LjQyNzc3NTQsMTkuOTEwNCBDNS4wNDI5NTExOSwxOS41NjI5NDI4IDQuNDY3NjA5OTEsMTkuNjEwNTA5NSA0LjEzNzU5MTA4LDIwLjAxNzA2NjcgQzMuOTc5MTMwNTEsMjAuMjEyNDkxNiAzLjkwMDQ0OTQsMjAuNDY3MzM5NSAzLjkxOTA0MzU3LDIwLjcyNDk0MTUgQzMuOTM3NjM3NzQsMjAuOTgyNTQzNSA0LjA1MTk2NTc1LDIxLjIyMTU0NDcgNC4yMzY2MDUyMywyMS4zODg4IEM0LjM3ODYyNTUyLDIxLjUxNjggNy43NzQxMTA1OSwyNC41Mzg2NjY3IDEzLjk5ODk5OTksMjQuNTM4NjY2NyBDMjAuMjI0ODg5MywyNC41Mzg2NjY3IDIzLjYyMDM3NDMsMjEuNTE2OCAyMy43NjIzOTQ2LDIxLjM4ODggQzIzLjk0NjczNDIsMjEuMjIxNTcyNiAyNC4wNjA4NjQyLDIwLjk4Mjc5MDUgMjQuMDc5NDUzOSwyMC43MjU0NTA3IEMyNC4wOTgwNDM2LDIwLjQ2ODExMDkgMjQuMDE5NTU1MSwyMC4yMTM1MDE5IDIzLjg2MTQwODgsMjAuMDE4MTMzMyBaXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIC4uLnN0eWxlcy5jbG9zZSxcbiAgICAgICAgICAgICAgb3BhY2l0eTogc3RhdGUgPT09ICdpbml0aWFsJyA/IDAgOiAxLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHN0YXRlID09PSAnaW5pdGlhbCcgPyAncm90YXRlKC0zMGRlZyknIDogJ3JvdGF0ZSgwZGVnKSdcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTRcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjI4XCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMjVcIlxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzE2cHgnIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbD1cInJnYigyNTUsIDI1NSwgMjU1KVwiXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIGQ9XCJNLjExNiA0Ljg4NGwxLjc2OC0xLjc2OEw4IDkuMjMybDYuMTE2LTYuMTE2IDEuNzY4IDEuNzY4TDggMTIuNzY4LjExNiA0Ljg4NHpcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuSW50ZXJjb20uZGVmYXVsdFByb3BzID0ge1xuICBjb2xvcjogJyMzMzMzMzMnXG59XG5cbmV4cG9ydCBkZWZhdWx0IEludGVyY29tXG4iXX0=