@bund-x/core
Version:
Master Components Core Library
389 lines (370 loc) • 44.7 kB
JavaScript
"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.TextAreaBase = void 0;
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _clsx = _interopRequireDefault(require("clsx"));
var _reactJss = require("react-jss");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var MdHeader = function MdHeader(_ref) {
var children = _ref.children,
style = _ref.style,
className = _ref.className;
return React.createElement("div", {
style: style,
className: className
}, children);
};
var MdBold = function MdBold(_ref2) {
var children = _ref2.children,
style = _ref2.style,
className = _ref2.className,
onClick = _ref2.onClick,
onKeyDown = _ref2.onKeyDown;
return React.createElement("div", {
onClick: onClick,
onKeyDown: onKeyDown,
style: style,
className: className
}, children);
};
var MdItalic = function MdItalic(_ref3) {
var children = _ref3.children,
style = _ref3.style,
className = _ref3.className,
onClick = _ref3.onClick,
onKeyDown = _ref3.onKeyDown;
return React.createElement("div", {
onClick: onClick,
onKeyDown: onKeyDown,
style: style,
className: className
}, children);
};
var useStyles = (0, _reactJss.createUseStyles)({
'input-xyz': {
display: 'inline-block'
},
container: {
position: 'relative',
color: '#c9d1d9',
backgroundColor: '#0d1117',
border: '1px solid #30363d',
borderRadius: '6px',
margin: '16px',
'& *': {
boxSizing: 'border-box'
}
},
caret: {
'&:after': {
position: 'absolute',
top: '11px',
right: '100%',
left: '-8px',
display: 'block',
width: '8px',
height: '16px',
pointerEvents: 'none',
clipPath: 'polygon(0 50%,100% 0,100% 100%)'
},
'&:before': {
position: 'absolute',
top: '11px',
right: '100%',
left: '-8px',
display: 'block',
width: '8px',
height: '16px',
pointerEvents: 'none',
clipPath: 'polygon(0 50%,100% 0,100% 100%)'
}
},
'fieldset-xyz': {
display: 'grid',
borderRadius: '8px',
padding: 0,
margin: 0,
border: 0
},
tabnav: {
marginTop: 0,
borderBottom: '1px solid #30363d'
},
'tabnav-head': {
marginBottom: '8px',
background: '#161b22',
borderRadius: '6px 6px 0 0'
},
'tabnavs-header': {
background: '#161b22'
},
'tabnav-tabs': {
display: 'block !important',
marginBottom: '-1px',
overflow: 'auto'
},
'tabnav-tab': {
display: 'inline-block',
flexShrink: 0,
padding: '8px 16px',
fontSize: '14px',
lineHeight: '23px',
color: '#8b949e',
textDecoration: 'none',
backgroundColor: 'initial',
border: '1px solid transparent',
borderBottom: 0,
transition: 'color .2s cubic-bezier(.3,0,.5,1)',
'&[aria-selected=true]': {
color: '#c9d1d9',
backgroundColor: '#0d1117',
borderColor: '#30363d',
borderRadius: '6px 6px 0 0'
},
'&:focus': {
outline: 'none'
}
},
'btn-link': {
display: 'inline-block',
fontSize: 'inherit',
color: '#58a6ff',
textDecoration: 'none',
whiteSpace: 'nowrap',
cursor: 'pointer',
userSelect: 'none',
backgroundColor: 'initial',
appearance: 'none'
},
toolbar: {
background: '#0d1117'
},
flex: {
display: 'flex!important'
},
border: {
border: '1px solid #30363d !important'
},
'border-color': {
borderColor: '#30363d !important'
},
'border-bottom': {
borderBottom: '0 !important'
},
'border-top': {
borderTop: '1px solid #30363d !important'
},
'my-4': {
marginRight: '4px !important',
marginLeft: '4px !important'
},
'mx-8': {
marginTop: '8px !important',
marginBottom: '8px !important'
},
'my-8': {
marginRight: '8px !important',
marginLeft: '8px !important'
},
'my-16': {
marginRight: '16px !important',
marginLeft: '16px !important'
},
'mr-16': {
marginRight: '16px !important'
},
'py-16': {
paddingRight: '16px !important',
paddingLeft: '16px !important'
},
'pt-8': {
paddingTop: '8px !important'
},
'pyt-8': {
paddingRight: '8px !important',
paddingLeft: '8px !important',
paddingTop: '8px !important'
},
'mt-8': {
marginTop: '8px !important'
},
'md-block': {
display: 'block !important'
},
textarea: {
width: '100%',
height: '150px',
borderRadius: '6px',
outline: 'none',
background: 'transparent',
padding: '14px',
color: 'white',
overflowX: 'hidden',
resize: 'vertical',
cursor: 'text',
whiteSpace: 'pre-wrap',
overflowWrap: 'break-word'
},
'toolbar-item': {
display: 'block',
"float": 'left',
padding: '4px',
fontSize: '14px',
fill: '#8b949e',
cursor: 'pointer',
background: 'none',
border: 0,
'&:hover': {
fill: '#58a6ff'
}
}
}, {
name: 'bund-'
});
var TextAreaBase = function TextAreaBase(props) {
var children = props.children,
title = props.title,
className = props.className,
style = props.style,
handleSubmit = props.handleSubmit,
rest = _objectWithoutProperties(props, ["children", "title", "className", "style", "handleSubmit"]);
var classes = useStyles();
return React.createElement("div", {
className: (0, _clsx["default"])(classes.container, classes.border, classes.caret, className)
}, React.createElement("form", {
onSubmit: handleSubmit,
noValidate: true
}, React.createElement("fieldset", _extends({
className: (0, _clsx["default"])(classes['fieldset-xyz'], className)
}, rest, {
style: {
borderRadius: '8px',
padding: 0,
margin: 0
}
}), React.createElement("div", {
className: (0, _clsx["default"])(classes['tabnav'], classes['border-color'], classes['border-bottom'], 'comment-form-head tabnav d-flex flex-justify-between mb-2 p-0 tabnav--responsive flex-column border-bottom-0 mb-0 mb-lg-2 flex-items-stretch border-lg-bottom color-border-primary flex-lg-items-center flex-lg-row')
}, React.createElement("div", {
className: (0, _clsx["default"])(classes['tabnav-head'], classes['tabnavs-header'])
}, React.createElement("div", {
className: (0, _clsx["default"])(classes['tabnav-tabs'], classes['my-8'], classes['pt-8'], classes['md-block'], className),
role: "tablist"
}, React.createElement("button", {
type: "button",
className: (0, _clsx["default"])(classes['tabnav-tab'], classes['py-16'], classes['btn-link'], className),
role: "tab",
"aria-selected": "true",
tabIndex: "0"
}, "Write"), React.createElement("button", {
type: "button",
className: (0, _clsx["default"])(classes['tabnav-tab'], classes['py-16'], classes['btn-link'], className),
role: "tab",
"aria-selected": "false",
tabIndex: "-1"
}, "Preview"), React.createElement("div", {
className: "bitmoji-floater",
style: {
backgroundPosition: '0px center',
backgroundImage: 'url(chrome-extension://bfgdeiadkckfbkeigkoncpdieiiefpig/static/media/bitmoji-icon-48.png)',
backgroundSize: 'contain',
backgroundRepeat: 'no-repeat',
width: '28px',
height: '28px',
marginBottom: '-8px',
display: 'inline-block'
}
})), React.createElement("div", {
className: (0, _clsx["default"])(classes.toolbar, classes.flex, classes['pyt-8'], classes['border-top'])
}, React.createElement("div", {
className: (0, _clsx["default"])(classes['mr-16'], 'flex-nowrap d-none d-md-inline-block mr-3'),
style: {
display: 'inline-block !important',
marginRight: '16px !important',
flexWrap: 'nowrap !important'
}
}, React.createElement(MdHeader, {
tabindex: "-1",
className: (0, _clsx["default"])(classes['toolbar-item'], classes['my-4'], 'toolbar-item tooltipped tooltipped-sw mx-1'),
"aria-label": "Add header text",
"data-ga-click": "Markdown Toolbar, click, header",
role: "button"
}, React.createElement("svg", {
className: "octicon octicon-heading",
height: "16",
viewBox: "0 0 16 16",
version: "1.1",
width: "16",
"aria-hidden": "true"
}, React.createElement("path", {
fillRule: "evenodd",
d: "M3.75 2a.75.75 0 01.75.75V7h7V2.75a.75.75 0 011.5 0v10.5a.75.75 0 01-1.5 0V8.5h-7v4.75a.75.75 0 01-1.5 0V2.75A.75.75 0 013.75 2z"
}))), React.createElement(MdBold, {
tabindex: "-1",
className: (0, _clsx["default"])(classes['toolbar-item'], classes['my-4'], 'toolbar-item tooltipped tooltipped-sw mx-1'),
"aria-label": "Add bold text <ctrl+b>",
"data-ga-click": "Markdown Toolbar, click, bold",
role: "button",
onClick: function onClick() {
return console.log('clicked');
},
hotkey: "b"
}, React.createElement("svg", {
className: "octicon octicon-bold",
height: "16",
viewBox: "0 0 16 16",
version: "1.1",
width: "16",
"aria-hidden": "true"
}, React.createElement("path", {
fillRule: "evenodd",
d: "M4 2a1 1 0 00-1 1v10a1 1 0 001 1h5.5a3.5 3.5 0 001.852-6.47A3.5 3.5 0 008.5 2H4zm4.5 5a1.5 1.5 0 100-3H5v3h3.5zM5 9v3h4.5a1.5 1.5 0 000-3H5z"
}))), React.createElement(MdItalic, {
tabindex: "-1",
className: (0, _clsx["default"])(classes['toolbar-item'], classes['my-4'], 'toolbar-item tooltipped tooltipped-sw mx-1'),
"aria-label": "Add italic text <ctrl+i>",
"data-ga-click": "Markdown Toolbar, click, italic",
role: "button",
hotkey: "i"
}, React.createElement("svg", {
className: "octicon octicon-italic",
height: "16",
viewBox: "0 0 16 16",
version: "1.1",
width: "16",
"aria-hidden": "true"
}, React.createElement("path", {
fillRule: "evenodd",
d: "M6 2.75A.75.75 0 016.75 2h6.5a.75.75 0 010 1.5h-2.505l-3.858 9H9.25a.75.75 0 010 1.5h-6.5a.75.75 0 010-1.5h2.505l3.858-9H6.75A.75.75 0 016 2.75z"
})))))), React.createElement("div", null, React.createElement("div", {
className: (0, _clsx["default"])(classes['mx-8'], classes['my-8'])
}, React.createElement("textarea", {
name: "Text1",
cols: "40",
rows: "5",
className: classes.textarea
}), React.createElement("input", {
"aria-colcount": "5",
cols: "40",
rows: "5"
})))))));
};
exports.TextAreaBase = TextAreaBase;
TextAreaBase.propTypes = {
children: _propTypes["default"].node,
className: _propTypes["default"].string,
style: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].array]),
title: _propTypes["default"].string
};
TextAreaBase.displayName = 'tab';
var _default = TextAreaBase;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9JbnB1dC9Db21tZW50Qm94QmFzZS9UZXh0QXJlYUJhc2UuanMiXSwibmFtZXMiOlsiTWRIZWFkZXIiLCJjaGlsZHJlbiIsInN0eWxlIiwiY2xhc3NOYW1lIiwiTWRCb2xkIiwib25DbGljayIsIm9uS2V5RG93biIsIk1kSXRhbGljIiwidXNlU3R5bGVzIiwiZGlzcGxheSIsImNvbnRhaW5lciIsInBvc2l0aW9uIiwiY29sb3IiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJtYXJnaW4iLCJib3hTaXppbmciLCJjYXJldCIsInRvcCIsInJpZ2h0IiwibGVmdCIsIndpZHRoIiwiaGVpZ2h0IiwicG9pbnRlckV2ZW50cyIsImNsaXBQYXRoIiwicGFkZGluZyIsInRhYm5hdiIsIm1hcmdpblRvcCIsImJvcmRlckJvdHRvbSIsIm1hcmdpbkJvdHRvbSIsImJhY2tncm91bmQiLCJvdmVyZmxvdyIsImZsZXhTaHJpbmsiLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJ0ZXh0RGVjb3JhdGlvbiIsInRyYW5zaXRpb24iLCJib3JkZXJDb2xvciIsIm91dGxpbmUiLCJ3aGl0ZVNwYWNlIiwiY3Vyc29yIiwidXNlclNlbGVjdCIsImFwcGVhcmFuY2UiLCJ0b29sYmFyIiwiZmxleCIsImJvcmRlclRvcCIsIm1hcmdpblJpZ2h0IiwibWFyZ2luTGVmdCIsInBhZGRpbmdSaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1RvcCIsInRleHRhcmVhIiwib3ZlcmZsb3dYIiwicmVzaXplIiwib3ZlcmZsb3dXcmFwIiwiZmlsbCIsIm5hbWUiLCJUZXh0QXJlYUJhc2UiLCJwcm9wcyIsInRpdGxlIiwiaGFuZGxlU3VibWl0IiwicmVzdCIsImNsYXNzZXMiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRSZXBlYXQiLCJmbGV4V3JhcCIsImNvbnNvbGUiLCJsb2ciLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIiwib25lT2ZUeXBlIiwib2JqZWN0IiwiYXJyYXkiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsUUFBUSxHQUFHLFNBQVhBLFFBQVcsT0FBb0M7QUFBQSxNQUFqQ0MsUUFBaUMsUUFBakNBLFFBQWlDO0FBQUEsTUFBdkJDLEtBQXVCLFFBQXZCQSxLQUF1QjtBQUFBLE1BQWhCQyxTQUFnQixRQUFoQkEsU0FBZ0I7QUFDbkQsU0FDRTtBQUFLLElBQUEsS0FBSyxFQUFFRCxLQUFaO0FBQW1CLElBQUEsU0FBUyxFQUFFQztBQUE5QixLQUNHRixRQURILENBREY7QUFLRCxDQU5EOztBQVFBLElBQU1HLE1BQU0sR0FBRyxTQUFUQSxNQUFTLFFBQXdEO0FBQUEsTUFBckRILFFBQXFELFNBQXJEQSxRQUFxRDtBQUFBLE1BQTNDQyxLQUEyQyxTQUEzQ0EsS0FBMkM7QUFBQSxNQUFwQ0MsU0FBb0MsU0FBcENBLFNBQW9DO0FBQUEsTUFBekJFLE9BQXlCLFNBQXpCQSxPQUF5QjtBQUFBLE1BQWhCQyxTQUFnQixTQUFoQkEsU0FBZ0I7QUFDckUsU0FDRTtBQUNFLElBQUEsT0FBTyxFQUFFRCxPQURYO0FBRUUsSUFBQSxTQUFTLEVBQUVDLFNBRmI7QUFHRSxJQUFBLEtBQUssRUFBRUosS0FIVDtBQUlFLElBQUEsU0FBUyxFQUFFQztBQUpiLEtBS0dGLFFBTEgsQ0FERjtBQVNELENBVkQ7O0FBWUEsSUFBTU0sUUFBUSxHQUFHLFNBQVhBLFFBQVcsUUFBd0Q7QUFBQSxNQUFyRE4sUUFBcUQsU0FBckRBLFFBQXFEO0FBQUEsTUFBM0NDLEtBQTJDLFNBQTNDQSxLQUEyQztBQUFBLE1BQXBDQyxTQUFvQyxTQUFwQ0EsU0FBb0M7QUFBQSxNQUF6QkUsT0FBeUIsU0FBekJBLE9BQXlCO0FBQUEsTUFBaEJDLFNBQWdCLFNBQWhCQSxTQUFnQjtB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QUFDLFdBSFY7QUFJRSxJQUFBLE9BQU8sRUFBQyxLQUpWO0FBS0UsSUFBQSxLQUFLLEVBQUMsSUFMUjtBQU1FLG1CQUFZO0FBTmQsS0FPRTtBQUNFLElBQUEsUUFBUSxFQUFDLFNBRFg7QUFFRSxJQUFBLENBQUMsRUFBQztBQUZKLElBUEYsQ0FYRixDQTFERixDQVBGLENBeERGLENBUEYsRUEwSkUsaUNBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRSxzQkFBS0EsT0FBTyxDQUFDLE1BQUQsQ0FBWixFQUFzQkEsT0FBTyxDQUFDLE1BQUQsQ0FBN0I7QUFBaEIsS0FDRTtBQUNFLElBQUEsSUFBSSxFQUFDLE9BRFA7QUFFRSxJQUFBLElBQUksRUFBQyxJQUZQO0FBR0UsSUFBQSxJQUFJLEVBQUMsR0FIUDtBQUlFLElBQUEsU0FBUyxFQUFFQSxPQUFPLENBQUNYO0FBSnJCLElBREYsRUFRRTtBQUFPLHFCQUFjLEdBQXJCO0FBQXlCLElBQUEsSUFBSSxFQUFDLElBQTlCO0FBQW1DLElBQUEsSUFBSSxFQUFDO0FBQXhDLElBUkYsQ0FERixDQTFKRixDQVJGLENBREYsQ0FQRixDQURGO0FBNExELENBL0xNOzs7QUFpTVBNLFlBQVksQ0FBQ2EsU0FBYixHQUF5QjtBQUN2QnRFLEVBQUFBLFFBQVEsRUFBRXVFLHNCQUFVQyxJQURHO0FBRXZCdEUsRUFBQUEsU0FBUyxFQUFFcUUsc0JBQVVFLE1BRkU7QUFHdkJ4RSxFQUFBQSxLQUFLLEVBQUVzRSxzQkFBVUcsU0FBVixDQUFvQixDQUFDSCxzQkFBVUksTUFBWCxFQUFtQkosc0JBQVVLLEtBQTdCLENBQXBCLENBSGdCO0FBSXZCakIsRUFBQUEsS0FBSyxFQUFFWSxzQkFBVUU7QUFKTSxDQUF6QjtBQU9BaEIsWUFBWSxDQUFDb0IsV0FBYixHQUEyQixLQUEzQjtlQUVlcEIsWSIsInNvdXJjZVJvb3QiOiJjb3JlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXHJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcydcclxuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcclxuaW1wb3J0IHsgY3JlYXRlVXNlU3R5bGVzIH0gZnJvbSAncmVhY3QtanNzJ1xyXG5cclxuY29uc3QgTWRIZWFkZXIgPSAoeyBjaGlsZHJlbiwgc3R5bGUsIGNsYXNzTmFtZSB9KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgc3R5bGU9e3N0eWxlfSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XHJcbiAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuY29uc3QgTWRCb2xkID0gKHsgY2hpbGRyZW4sIHN0eWxlLCBjbGFzc05hbWUsIG9uQ2xpY2ssIG9uS2V5RG93biB9KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgb25DbGljaz17b25DbGlja31cclxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XHJcbiAgICAgIHN0eWxlPXtzdHlsZX1cclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn1cclxuXHJcbmNvbnN0IE1kSXRhbGljID0gKHsgY2hpbGRyZW4sIHN0eWxlLCBjbGFzc05hbWUsIG9uQ2xpY2ssIG9uS2V5RG93biB9KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgb25DbGljaz17b25DbGlja31cclxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XHJcbiAgICAgIHN0eWxlPXtzdHlsZX1cclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn1cclxuXHJcbmNvbnN0IHVzZVN0eWxlcyA9IGNyZWF0ZVVzZVN0eWxlcyhcclxuICB7XHJcbiAgICAnaW5wdXQteHl6Jzoge1xyXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJ1xyXG4gICAgfSxcclxuICAgIGNvbnRhaW5lcjoge1xyXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcclxuICAgICAgY29sb3I6ICcjYzlkMWQ5JyxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzBkMTExNycsXHJcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMzAzNjNkJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcclxuICAgICAgbWFyZ2luOiAnMTZweCcsXHJcbiAgICAgICcmIConOiB7XHJcbiAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCdcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGNhcmV0OiB7XHJcbiAgICAgICcmOmFmdGVyJzoge1xyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxyXG4gICAgICAgIHRvcDogJzExcHgnLFxyXG4gICAgICAgIHJpZ2h0OiAnMTAwJScsXHJcbiAgICAgICAgbGVmdDogJy04cHgnLFxyXG4gICAgICAgIGRpc3BsYXk6ICdibG9jaycsXHJcbiAgICAgICAgd2lkdGg6ICc4cHgnLFxyXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxyXG4gICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcclxuICAgICAgICBjbGlwUGF0aDogJ3BvbHlnb24oMCA1MCUsMTAwJSAwLDEwMCUgMTAwJSknXHJcbiAgICAgIH0sXHJcbiAgICAgICcmOmJlZm9yZSc6IHtcclxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcclxuICAgICAgICB0b3A6ICcxMXB4JyxcclxuICAgICAgICByaWdodDogJzEwMCUnLFxyXG4gICAgICAgIGxlZnQ6ICctOHB4JyxcclxuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICAgIHdpZHRoOiAnOHB4JyxcclxuICAgICAgICBoZWlnaHQ6ICcxNnB4JyxcclxuICAgICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXHJcbiAgICAgICAgY2xpcFBhdGg6ICdwb2x5Z29uKDAgNTAlLDEwMCUgMCwxMDAlIDEwMCUpJ1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgICdmaWVsZHNldC14eXonOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdncmlkJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnOHB4JyxcclxuICAgICAgcGFkZGluZzogMCxcclxuICAgICAgbWFyZ2luOiAwLFxyXG4gICAgICBib3JkZXI6IDBcclxuICAgIH0sXHJcbiAgICB0YWJuYXY6IHtcclxuICAgICAgbWFyZ2luVG9wOiAwLFxyXG4gICAgICAvLyBtYXJnaW5Cb3R0b206ICc4cHgnLFxyXG4gICAgICBib3JkZXJCb3R0b206ICcxcHggc29saWQgIzMwMzYzZCdcclxuICAgIH0sXHJcbiAgICAndGFibmF2LWhlYWQnOiB7XHJcbiAgICAgIC8vIHBhZGRpbmc6ICc4cHggOHB4IDAnLFxyXG4gICAgICBtYXJnaW5Cb3R0b206ICc4cHgnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnIzE2MWIyMicsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzZweCA2cHggMCAwJ1xyXG4gICAgfSxcclxuXHJcbiAgICAndGFibmF2cy1oZWFkZXInOiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICcjMTYxYjIyJ1xyXG4gICAgfSxcclxuXHJcbiAgICAndGFibmF2LXRhYnMnOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdibG9jayAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luQm90dG9tOiAnLTFweCcsXHJcbiAgICAgIG92ZXJmbG93OiAnYXV0bydcclxuICAgIH0sXHJcbiAgICAndGFibmF2LXRhYic6IHtcclxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXHJcbiAgICAgIGZsZXhTaHJpbms6IDAsXHJcbiAgICAgIHBhZGRpbmc6ICc4cHggMTZweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTRweCcsXHJcbiAgICAgIGxpbmVIZWlnaHQ6ICcyM3B4JyxcclxuICAgICAgY29sb3I6ICcjOGI5NDllJyxcclxuICAgICAgdGV4dERlY29yYXRpb246ICdub25lJyxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnaW5pdGlhbCcsXHJcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCB0cmFuc3BhcmVudCcsXHJcbiAgICAgIGJvcmRlckJvdHRvbTogMCxcclxuICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjMsMCwuNSwxKScsXHJcbiAgICAgICcmW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0nOiB7XHJcbiAgICAgICAgY29sb3I6ICcjYzlkMWQ5JyxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMGQxMTE3JyxcclxuICAgICAgICBib3JkZXJDb2xvcjogJyMzMDM2M2QnLFxyXG4gICAgICAgIGJvcmRlclJhZGl1czogJzZweCA2cHggMCAwJ1xyXG4gICAgICB9LFxyXG4gICAgICAnJjpmb2N1cyc6IHtcclxuICAgICAgICBvdXRsaW5lOiAnbm9uZSdcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICdidG4tbGluayc6IHtcclxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXHJcbiAgICAgIC8vIHBhZGRpbmc6IDAsXHJcbiAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXHJcbiAgICAgIGNvbG9yOiAnIzU4YTZmZicsXHJcbiAgICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXHJcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxyXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcclxuICAgICAgdXNlclNlbGVjdDogJ25vbmUnLFxyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdpbml0aWFsJyxcclxuICAgICAgLy8gYm9yZGVyOiAwLFxyXG4gICAgICBhcHBlYXJhbmNlOiAnbm9uZSdcclxuICAgIH0sXHJcbiAgICB0b29sYmFyOiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICcjMGQxMTE3J1xyXG4gICAgfSxcclxuICAgIGZsZXg6IHtcclxuICAgICAgZGlzcGxheTogJ2ZsZXghaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICBib3JkZXI6ICcxcHggc29saWQgIzMwMzYzZCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdib3JkZXItY29sb3InOiB7XHJcbiAgICAgIGJvcmRlckNvbG9yOiAnIzMwMzYzZCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdib3JkZXItYm90dG9tJzoge1xyXG4gICAgICBib3JkZXJCb3R0b206ICcwICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ2JvcmRlci10b3AnOiB7XHJcbiAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjMzAzNjNkICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ215LTQnOiB7XHJcbiAgICAgIG1hcmdpblJpZ2h0OiAnNHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5MZWZ0OiAnNHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ214LTgnOiB7XHJcbiAgICAgIG1hcmdpblRvcDogJzhweCAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luQm90dG9tOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ215LTgnOiB7XHJcbiAgICAgIG1hcmdpblJpZ2h0OiAnOHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5MZWZ0OiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ215LTE2Jzoge1xyXG4gICAgICBtYXJnaW5SaWdodDogJzE2cHggIWltcG9ydGFudCcsXHJcbiAgICAgIG1hcmdpbkxlZnQ6ICcxNnB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ21yLTE2Jzoge1xyXG4gICAgICBtYXJnaW5SaWdodDogJzE2cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAncHktMTYnOiB7XHJcbiAgICAgIHBhZGRpbmdSaWdodDogJzE2cHggIWltcG9ydGFudCcsXHJcbiAgICAgIHBhZGRpbmdMZWZ0OiAnMTZweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdwdC04Jzoge1xyXG4gICAgICBwYWRkaW5nVG9wOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ3B5dC04Jzoge1xyXG4gICAgICBwYWRkaW5nUmlnaHQ6ICc4cHggIWltcG9ydGFudCcsXHJcbiAgICAgIHBhZGRpbmdMZWZ0OiAnOHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBwYWRkaW5nVG9wOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ210LTgnOiB7XHJcbiAgICAgIG1hcmdpblRvcDogJzhweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdtZC1ibG9jayc6IHtcclxuICAgICAgZGlzcGxheTogJ2Jsb2NrICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgdGV4dGFyZWE6IHtcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiAnMTUwcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxyXG4gICAgICBvdXRsaW5lOiAnbm9uZScsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHBhZGRpbmc6ICcxNHB4JyxcclxuICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXHJcbiAgICAgIHJlc2l6ZTogJ3ZlcnRpY2FsJyxcclxuICAgICAgY3Vyc29yOiAndGV4dCcsXHJcbiAgICAgIHdoaXRlU3BhY2U6ICdwcmUtd3JhcCcsXHJcbiAgICAgIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnXHJcbiAgICB9LFxyXG4gICAgJ3Rvb2xiYXItaXRlbSc6IHtcclxuICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcclxuICAgICAgZmxvYXQ6ICdsZWZ0JyxcclxuICAgICAgcGFkZGluZzogJzRweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTRweCcsXHJcbiAgICAgIGZpbGw6ICcjOGI5NDllJyxcclxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXHJcbiAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcclxuICAgICAgYm9yZGVyOiAwLFxyXG4gICAgICAnJjpob3Zlcic6IHtcclxuICAgICAgICBmaWxsOiAnIzU4YTZmZidcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnYnVuZC0nIH1cclxuKVxyXG5cclxuZXhwb3J0IGNvbnN0IFRleHRBcmVhQmFzZSA9IChwcm9wcykgPT4ge1xyXG4gIGNvbnN0IHsgY2hpbGRyZW4sIHRpdGxlLCBjbGFzc05hbWUsIHN0eWxlLCBoYW5kbGVTdWJtaXQsIC4uLnJlc3QgfSA9IHByb3BzXHJcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlcygpXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgIGNsYXNzZXMuY29udGFpbmVyLFxyXG4gICAgICAgIGNsYXNzZXMuYm9yZGVyLFxyXG4gICAgICAgIGNsYXNzZXMuY2FyZXQsXHJcbiAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICl9PlxyXG4gICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBub1ZhbGlkYXRlPlxyXG4gICAgICAgIDxmaWVsZHNldFxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KGNsYXNzZXNbJ2ZpZWxkc2V0LXh5eiddLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgey4uLnJlc3R9XHJcbiAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc4cHgnLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLFxyXG4gICAgICAgICAgICBtYXJnaW46IDBcclxuICAgICAgICAgIH19PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2J10sXHJcbiAgICAgICAgICAgICAgY2xhc3Nlc1snYm9yZGVyLWNvbG9yJ10sXHJcbiAgICAgICAgICAgICAgY2xhc3Nlc1snYm9yZGVyLWJvdHRvbSddLFxyXG4gICAgICAgICAgICAgICdjb21tZW50LWZvcm0taGVhZCB0YWJuYXYgZC1mbGV4IGZsZXgtanVzdGlmeS1iZXR3ZWVuIG1iLTIgcC0wIHRhYm5hdi0tcmVzcG9uc2l2ZSBmbGV4LWNvbHVtbiBib3JkZXItYm90dG9tLTAgbWItMCBtYi1sZy0yIGZsZXgtaXRlbXMtc3RyZXRjaCBib3JkZXItbGctYm90dG9tIGNvbG9yLWJvcmRlci1wcmltYXJ5IGZsZXgtbGctaXRlbXMtY2VudGVyIGZsZXgtbGctcm93J1xyXG4gICAgICAgICAgICApfT5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdi1oZWFkJ10sXHJcbiAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXZzLWhlYWRlciddXHJcbiAgICAgICAgICAgICAgKX0+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYtdGFicyddLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWydteS04J10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3B0LTgnXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbWQtYmxvY2snXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYmxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYtdGFiJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sncHktMTYnXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydidG4tbGluayddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICB0YWJJbmRleD1cIjBcIj5cclxuICAgICAgICAgICAgICAgICAgV3JpdGVcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdi10YWInXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydweS0xNiddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ2J0bi1saW5rJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICB0YWJJbmRleD1cIi0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIFByZXZpZXdcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYml0bW9qaS1mbG9hdGVyXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICcwcHggY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6XHJcbiAgICAgICAgICAgICAgICAgICAgICAndXJsKGNocm9tZS1leHRlbnNpb246Ly9iZmdkZWlhZGtja2Zia2VpZ2tvbmNwZGllaWllZnBpZy9zdGF0aWMvbWVkaWEvYml0bW9qaS1pY29uLTQ4LnBuZyknLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY29udGFpbicsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogJ25vLXJlcGVhdCcsXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcyOHB4JyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcyOHB4JyxcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICctOHB4JyxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJ1xyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXMudG9vbGJhcixcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5mbGV4LFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWydweXQtOCddLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWydib3JkZXItdG9wJ11cclxuICAgICAgICAgICAgICAgICl9PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXItMTYnXSxcclxuICAgICAgICAgICAgICAgICAgICAnZmxleC1ub3dyYXAgZC1ub25lIGQtbWQtaW5saW5lLWJsb2NrIG1yLTMnXHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jayAhaW1wb3J0YW50JyxcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzE2cHggIWltcG9ydGFudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAgIWltcG9ydGFudCdcclxuICAgICAgICAgICAgICAgICAgfX0+XHJcbiAgICAgICAgICAgICAgICAgIDxNZEhlYWRlclxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3Rvb2xiYXItaXRlbSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktNCddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3Rvb2xiYXItaXRlbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtc3cgbXgtMSdcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBZGQgaGVhZGVyIHRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtZ2EtY2xpY2s9XCJNYXJrZG93biBUb29sYmFyLCBjbGljaywgaGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2N0aWNvbiBvY3RpY29uLWhlYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMuNzUgMmEuNzUuNzUgMCAwMS43NS43NVY3aDdWMi43NWEuNzUuNzUgMCAwMTEuNSAwdjEwLjVhLjc1Ljc1IDAgMDEtMS41IDBWOC41aC03djQuNzVhLjc1Ljc1IDAgMDEtMS41IDBWMi43NUEuNzUuNzUgMCAwMTMuNzUgMnpcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDwvTWRIZWFkZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8TWRCb2xkXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndG9vbGJhci1pdGVtJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydteS00J10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAndG9vbGJhci1pdGVtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1zdyBteC0xJ1xyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkFkZCBib2xkIHRleHQgPGN0cmwrYj5cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtZ2EtY2xpY2s9XCJNYXJrZG93biBUb29sYmFyLCBjbGljaywgYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY29uc29sZS5sb2coJ2NsaWNrZWQnKX1cclxuICAgICAgICAgICAgICAgICAgICBob3RrZXk9XCJiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2N0aWNvbiBvY3RpY29uLWJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQgMmExIDEgMCAwMC0xIDF2MTBhMSAxIDAgMDAxIDFoNS41YTMuNSAzLjUgMCAwMDEuODUyLTYuNDdBMy41IDMuNSAwIDAwOC41IDJINHptNC41IDVhMS41IDEuNSAwIDEwMC0zSDV2M2gzLjV6TTUgOXYzaDQuNWExLjUgMS41IDAgMDAwLTNINXpcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDwvTWRCb2xkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPE1kSXRhbGljXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndG9vbGJhci1pdGVtJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydteS00J10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAndG9vbGJhci1pdGVtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1zdyBteC0xJ1xyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkFkZCBpdGFsaWMgdGV4dCA8Y3RybCtpPlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1nYS1jbGljaz1cIk1hcmtkb3duIFRvb2xiYXIsIGNsaWNrLCBpdGFsaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIGhvdGtleT1cImlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvY3RpY29uIG9jdGljb24taXRhbGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02IDIuNzVBLjc1Ljc1IDAgMDE2Ljc1IDJoNi41YS43NS43NSAwIDAxMCAxLjVoLTIuNTA1bC0zLjg1OCA5SDkuMjVhLjc1Ljc1IDAgMDEwIDEuNWgtNi41YS43NS43NSAwIDAxMC0xLjVoMi41MDVsMy44NTgtOUg2Ljc1QS43NS43NSAwIDAxNiAyLjc1elwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPC9NZEl0YWxpYz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzeChjbGFzc2VzWydteC04J10sIGNsYXNzZXNbJ215LTgnXSl9PlxyXG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJUZXh0MVwiXHJcbiAgICAgICAgICAgICAgICAgIGNvbHM9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgIHJvd3M9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnRleHRhcmVhfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgYXJpYS1jb2xjb3VudD1cIjVcIiBjb2xzPVwiNDBcIiByb3dzPVwiNVwiIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcblxyXG5UZXh0QXJlYUJhc2UucHJvcFR5cGVzID0ge1xyXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcclxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgc3R5bGU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5hcnJheV0pLFxyXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXHJcbn1cclxuXHJcblRleHRBcmVhQmFzZS5kaXNwbGF5TmFtZSA9ICd0YWInXHJcblxyXG5leHBvcnQgZGVmYXVsdCBUZXh0QXJlYUJhc2VcclxuIl19