UNPKG

@bund-x/core

Version:

Master Components Core Library

389 lines (370 loc) 44.7 kB
"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9JbnB1dC9UZXh0QXJlYUJhc2UvVGV4dEFyZWFCYXNlLmpzIl0sIm5hbWVzIjpbIk1kSGVhZGVyIiwiY2hpbGRyZW4iLCJzdHlsZSIsImNsYXNzTmFtZSIsIk1kQm9sZCIsIm9uQ2xpY2siLCJvbktleURvd24iLCJNZEl0YWxpYyIsInVzZVN0eWxlcyIsImRpc3BsYXkiLCJjb250YWluZXIiLCJwb3NpdGlvbiIsImNvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwibWFyZ2luIiwiYm94U2l6aW5nIiwiY2FyZXQiLCJ0b3AiLCJyaWdodCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInBvaW50ZXJFdmVudHMiLCJjbGlwUGF0aCIsInBhZGRpbmciLCJ0YWJuYXYiLCJtYXJnaW5Ub3AiLCJib3JkZXJCb3R0b20iLCJtYXJnaW5Cb3R0b20iLCJiYWNrZ3JvdW5kIiwib3ZlcmZsb3ciLCJmbGV4U2hyaW5rIiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidGV4dERlY29yYXRpb24iLCJ0cmFuc2l0aW9uIiwiYm9yZGVyQ29sb3IiLCJvdXRsaW5lIiwid2hpdGVTcGFjZSIsImN1cnNvciIsInVzZXJTZWxlY3QiLCJhcHBlYXJhbmNlIiwidG9vbGJhciIsImZsZXgiLCJib3JkZXJUb3AiLCJtYXJnaW5SaWdodCIsIm1hcmdpbkxlZnQiLCJwYWRkaW5nUmlnaHQiLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdUb3AiLCJ0ZXh0YXJlYSIsIm92ZXJmbG93WCIsInJlc2l6ZSIsIm92ZXJmbG93V3JhcCIsImZpbGwiLCJuYW1lIiwiVGV4dEFyZWFCYXNlIiwicHJvcHMiLCJ0aXRsZSIsImhhbmRsZVN1Ym1pdCIsInJlc3QiLCJjbGFzc2VzIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiZmxleFdyYXAiLCJjb25zb2xlIiwibG9nIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsInN0cmluZyIsIm9uZU9mVHlwZSIsIm9iamVjdCIsImFycmF5IiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLE9BQW9DO0FBQUEsTUFBakNDLFFBQWlDLFFBQWpDQSxRQUFpQztBQUFBLE1BQXZCQyxLQUF1QixRQUF2QkEsS0FBdUI7QUFBQSxNQUFoQkMsU0FBZ0IsUUFBaEJBLFNBQWdCO0FBQ25ELFNBQ0U7QUFBSyxJQUFBLEtBQUssRUFBRUQsS0FBWjtBQUFtQixJQUFBLFNBQVMsRUFBRUM7QUFBOUIsS0FDR0YsUUFESCxDQURGO0FBS0QsQ0FORDs7QUFRQSxJQUFNRyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxRQUF3RDtBQUFBLE1BQXJESCxRQUFxRCxTQUFyREEsUUFBcUQ7QUFBQSxNQUEzQ0MsS0FBMkMsU0FBM0NBLEtBQTJDO0FBQUEsTUFBcENDLFNBQW9DLFNBQXBDQSxTQUFvQztBQUFBLE1BQXpCRSxPQUF5QixTQUF6QkEsT0FBeUI7QUFBQSxNQUFoQkMsU0FBZ0IsU0FBaEJBLFNBQWdCO0FBQ3JFLFNBQ0U7QUFDRSxJQUFBLE9BQU8sRUFBRUQsT0FEWDtBQUVFLElBQUEsU0FBUyxFQUFFQyxTQUZiO0FBR0UsSUFBQSxLQUFLLEVBQUVKLEtBSFQ7QUFJRSxJQUFBLFNBQVMsRUFBRUM7QUFKYixLQUtHRixRQUxILENBREY7QUFTRCxDQVZEOztBQVlBLElBQU1NLFFBQVEsR0FBRyxTQUFYQSxRQUFXLFFBQXdEO0FBQUEsTUFBckROLFFBQXFELFNBQXJEQSxRQUFxRDtBQUFBLE1BQTNDQyxLQUEyQyxTQUEzQ0EsS0FBMkM7QUFBQSxNQUFwQ0MsU0FBb0MsU0FBcENBLFNBQW9DO0FBQUEsTUFBekJFLE9BQXlCLFNBQXpCQSxPQUF5QjtBQUFBLE1BQWhCQyxTQUFnQixTQUFoQkEsU0FBZ0I7QUFD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QyxXQUhWO0FBSUUsSUFBQSxPQUFPLEVBQUMsS0FKVjtBQUtFLElBQUEsS0FBSyxFQUFDLElBTFI7QUFNRSxtQkFBWTtBQU5kLEtBT0U7QUFDRSxJQUFBLFFBQVEsRUFBQyxTQURYO0FBRUUsSUFBQSxDQUFDLEVBQUM7QUFGSixJQVBGLENBWEYsQ0ExREYsQ0FQRixDQXhERixDQVBGLEVBMEpFLGlDQUNFO0FBQUssSUFBQSxTQUFTLEVBQUUsc0JBQUtBLE9BQU8sQ0FBQyxNQUFELENBQVosRUFBc0JBLE9BQU8sQ0FBQyxNQUFELENBQTdCO0FBQWhCLEtBQ0U7QUFDRSxJQUFBLElBQUksRUFBQyxPQURQO0FBRUUsSUFBQSxJQUFJLEVBQUMsSUFGUDtBQUdFLElBQUEsSUFBSSxFQUFDLEdBSFA7QUFJRSxJQUFBLFNBQVMsRUFBRUEsT0FBTyxDQUFDWDtBQUpyQixJQURGLEVBUUU7QUFBTyxxQkFBYyxHQUFyQjtBQUF5QixJQUFBLElBQUksRUFBQyxJQUE5QjtBQUFtQyxJQUFBLElBQUksRUFBQztBQUF4QyxJQVJGLENBREYsQ0ExSkYsQ0FSRixDQURGLENBUEYsQ0FERjtBQTRMRCxDQS9MTTs7O0FBaU1QTSxZQUFZLENBQUNhLFNBQWIsR0FBeUI7QUFDdkJ0RSxFQUFBQSxRQUFRLEVBQUV1RSxzQkFBVUMsSUFERztBQUV2QnRFLEVBQUFBLFNBQVMsRUFBRXFFLHNCQUFVRSxNQUZFO0FBR3ZCeEUsRUFBQUEsS0FBSyxFQUFFc0Usc0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVJLE1BQVgsRUFBbUJKLHNCQUFVSyxLQUE3QixDQUFwQixDQUhnQjtBQUl2QmpCLEVBQUFBLEtBQUssRUFBRVksc0JBQVVFO0FBSk0sQ0FBekI7QUFPQWhCLFlBQVksQ0FBQ29CLFdBQWIsR0FBMkIsS0FBM0I7ZUFFZXBCLFkiLCJzb3VyY2VSb290IjoiY29yZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXHJcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnXHJcbmltcG9ydCB7IGNyZWF0ZVVzZVN0eWxlcyB9IGZyb20gJ3JlYWN0LWpzcydcclxuXHJcbmNvbnN0IE1kSGVhZGVyID0gKHsgY2hpbGRyZW4sIHN0eWxlLCBjbGFzc05hbWUgfSkgPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IHN0eWxlPXtzdHlsZX0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn1cclxuXHJcbmNvbnN0IE1kQm9sZCA9ICh7IGNoaWxkcmVuLCBzdHlsZSwgY2xhc3NOYW1lLCBvbkNsaWNrLCBvbktleURvd24gfSkgPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2XHJcbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XHJcbiAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxyXG4gICAgICBzdHlsZT17c3R5bGV9XHJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cclxuICAgICAge2NoaWxkcmVufVxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcblxyXG5jb25zdCBNZEl0YWxpYyA9ICh7IGNoaWxkcmVuLCBzdHlsZSwgY2xhc3NOYW1lLCBvbkNsaWNrLCBvbktleURvd24gfSkgPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2XHJcbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XHJcbiAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxyXG4gICAgICBzdHlsZT17c3R5bGV9XHJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cclxuICAgICAge2NoaWxkcmVufVxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcblxyXG5jb25zdCB1c2VTdHlsZXMgPSBjcmVhdGVVc2VTdHlsZXMoXHJcbiAge1xyXG4gICAgJ2lucHV0LXh5eic6IHtcclxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaydcclxuICAgIH0sXHJcbiAgICBjb250YWluZXI6IHtcclxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXHJcbiAgICAgIGNvbG9yOiAnI2M5ZDFkOScsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJyMwZDExMTcnLFxyXG4gICAgICBib3JkZXI6ICcxcHggc29saWQgIzMwMzYzZCcsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzZweCcsXHJcbiAgICAgIG1hcmdpbjogJzE2cHgnLFxyXG4gICAgICAnJiAqJzoge1xyXG4gICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjYXJldDoge1xyXG4gICAgICAnJjphZnRlcic6IHtcclxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcclxuICAgICAgICB0b3A6ICcxMXB4JyxcclxuICAgICAgICByaWdodDogJzEwMCUnLFxyXG4gICAgICAgIGxlZnQ6ICctOHB4JyxcclxuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICAgIHdpZHRoOiAnOHB4JyxcclxuICAgICAgICBoZWlnaHQ6ICcxNnB4JyxcclxuICAgICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXHJcbiAgICAgICAgY2xpcFBhdGg6ICdwb2x5Z29uKDAgNTAlLDEwMCUgMCwxMDAlIDEwMCUpJ1xyXG4gICAgICB9LFxyXG4gICAgICAnJjpiZWZvcmUnOiB7XHJcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAgICAgICAgdG9wOiAnMTFweCcsXHJcbiAgICAgICAgcmlnaHQ6ICcxMDAlJyxcclxuICAgICAgICBsZWZ0OiAnLThweCcsXHJcbiAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcclxuICAgICAgICB3aWR0aDogJzhweCcsXHJcbiAgICAgICAgaGVpZ2h0OiAnMTZweCcsXHJcbiAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxyXG4gICAgICAgIGNsaXBQYXRoOiAncG9seWdvbigwIDUwJSwxMDAlIDAsMTAwJSAxMDAlKSdcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICAnZmllbGRzZXQteHl6Jzoge1xyXG4gICAgICBkaXNwbGF5OiAnZ3JpZCcsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzhweCcsXHJcbiAgICAgIHBhZGRpbmc6IDAsXHJcbiAgICAgIG1hcmdpbjogMCxcclxuICAgICAgYm9yZGVyOiAwXHJcbiAgICB9LFxyXG4gICAgdGFibmF2OiB7XHJcbiAgICAgIG1hcmdpblRvcDogMCxcclxuICAgICAgLy8gbWFyZ2luQm90dG9tOiAnOHB4JyxcclxuICAgICAgYm9yZGVyQm90dG9tOiAnMXB4IHNvbGlkICMzMDM2M2QnXHJcbiAgICB9LFxyXG4gICAgJ3RhYm5hdi1oZWFkJzoge1xyXG4gICAgICAvLyBwYWRkaW5nOiAnOHB4IDhweCAwJyxcclxuICAgICAgbWFyZ2luQm90dG9tOiAnOHB4JyxcclxuICAgICAgYmFja2dyb3VuZDogJyMxNjFiMjInLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc2cHggNnB4IDAgMCdcclxuICAgIH0sXHJcblxyXG4gICAgJ3RhYm5hdnMtaGVhZGVyJzoge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAnIzE2MWIyMidcclxuICAgIH0sXHJcblxyXG4gICAgJ3RhYm5hdi10YWJzJzoge1xyXG4gICAgICBkaXNwbGF5OiAnYmxvY2sgIWltcG9ydGFudCcsXHJcbiAgICAgIG1hcmdpbkJvdHRvbTogJy0xcHgnLFxyXG4gICAgICBvdmVyZmxvdzogJ2F1dG8nXHJcbiAgICB9LFxyXG4gICAgJ3RhYm5hdi10YWInOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxyXG4gICAgICBmbGV4U2hyaW5rOiAwLFxyXG4gICAgICBwYWRkaW5nOiAnOHB4IDE2cHgnLFxyXG4gICAgICBmb250U2l6ZTogJzE0cHgnLFxyXG4gICAgICBsaW5lSGVpZ2h0OiAnMjNweCcsXHJcbiAgICAgIGNvbG9yOiAnIzhiOTQ5ZScsXHJcbiAgICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2luaXRpYWwnLFxyXG4gICAgICBib3JkZXI6ICcxcHggc29saWQgdHJhbnNwYXJlbnQnLFxyXG4gICAgICBib3JkZXJCb3R0b206IDAsXHJcbiAgICAgIHRyYW5zaXRpb246ICdjb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4zLDAsLjUsMSknLFxyXG4gICAgICAnJlthcmlhLXNlbGVjdGVkPXRydWVdJzoge1xyXG4gICAgICAgIGNvbG9yOiAnI2M5ZDFkOScsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzBkMTExNycsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6ICcjMzAzNjNkJyxcclxuICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHggNnB4IDAgMCdcclxuICAgICAgfSxcclxuICAgICAgJyY6Zm9jdXMnOiB7XHJcbiAgICAgICAgb3V0bGluZTogJ25vbmUnXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAnYnRuLWxpbmsnOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxyXG4gICAgICAvLyBwYWRkaW5nOiAwLFxyXG4gICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxyXG4gICAgICBjb2xvcjogJyM1OGE2ZmYnLFxyXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxyXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcclxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXHJcbiAgICAgIHVzZXJTZWxlY3Q6ICdub25lJyxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnaW5pdGlhbCcsXHJcbiAgICAgIC8vIGJvcmRlcjogMCxcclxuICAgICAgYXBwZWFyYW5jZTogJ25vbmUnXHJcbiAgICB9LFxyXG4gICAgdG9vbGJhcjoge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAnIzBkMTExNydcclxuICAgIH0sXHJcbiAgICBmbGV4OiB7XHJcbiAgICAgIGRpc3BsYXk6ICdmbGV4IWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMzMDM2M2QgIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnYm9yZGVyLWNvbG9yJzoge1xyXG4gICAgICBib3JkZXJDb2xvcjogJyMzMDM2M2QgIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnYm9yZGVyLWJvdHRvbSc6IHtcclxuICAgICAgYm9yZGVyQm90dG9tOiAnMCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdib3JkZXItdG9wJzoge1xyXG4gICAgICBib3JkZXJUb3A6ICcxcHggc29saWQgIzMwMzYzZCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdteS00Jzoge1xyXG4gICAgICBtYXJnaW5SaWdodDogJzRweCAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luTGVmdDogJzRweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdteC04Jzoge1xyXG4gICAgICBtYXJnaW5Ub3A6ICc4cHggIWltcG9ydGFudCcsXHJcbiAgICAgIG1hcmdpbkJvdHRvbTogJzhweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdteS04Jzoge1xyXG4gICAgICBtYXJnaW5SaWdodDogJzhweCAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luTGVmdDogJzhweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdteS0xNic6IHtcclxuICAgICAgbWFyZ2luUmlnaHQ6ICcxNnB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5MZWZ0OiAnMTZweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdtci0xNic6IHtcclxuICAgICAgbWFyZ2luUmlnaHQ6ICcxNnB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ3B5LTE2Jzoge1xyXG4gICAgICBwYWRkaW5nUmlnaHQ6ICcxNnB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBwYWRkaW5nTGVmdDogJzE2cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAncHQtOCc6IHtcclxuICAgICAgcGFkZGluZ1RvcDogJzhweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdweXQtOCc6IHtcclxuICAgICAgcGFkZGluZ1JpZ2h0OiAnOHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBwYWRkaW5nTGVmdDogJzhweCAhaW1wb3J0YW50JyxcclxuICAgICAgcGFkZGluZ1RvcDogJzhweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdtdC04Jzoge1xyXG4gICAgICBtYXJnaW5Ub3A6ICc4cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbWQtYmxvY2snOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdibG9jayAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgIHRleHRhcmVhOiB7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGhlaWdodDogJzE1MHB4JyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcclxuICAgICAgb3V0bGluZTogJ25vbmUnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICBwYWRkaW5nOiAnMTRweCcsXHJcbiAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxyXG4gICAgICByZXNpemU6ICd2ZXJ0aWNhbCcsXHJcbiAgICAgIGN1cnNvcjogJ3RleHQnLFxyXG4gICAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxyXG4gICAgICBvdmVyZmxvd1dyYXA6ICdicmVhay13b3JkJ1xyXG4gICAgfSxcclxuICAgICd0b29sYmFyLWl0ZW0nOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXHJcbiAgICAgIGZsb2F0OiAnbGVmdCcsXHJcbiAgICAgIHBhZGRpbmc6ICc0cHgnLFxyXG4gICAgICBmb250U2l6ZTogJzE0cHgnLFxyXG4gICAgICBmaWxsOiAnIzhiOTQ5ZScsXHJcbiAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXHJcbiAgICAgIGJvcmRlcjogMCxcclxuICAgICAgJyY6aG92ZXInOiB7XHJcbiAgICAgICAgZmlsbDogJyM1OGE2ZmYnXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9LFxyXG4gIHsgbmFtZTogJ2J1bmQtJyB9XHJcbilcclxuXHJcbmV4cG9ydCBjb25zdCBUZXh0QXJlYUJhc2UgPSAocHJvcHMpID0+IHtcclxuICBjb25zdCB7IGNoaWxkcmVuLCB0aXRsZSwgY2xhc3NOYW1lLCBzdHlsZSwgaGFuZGxlU3VibWl0LCAuLi5yZXN0IH0gPSBwcm9wc1xyXG4gIGNvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXMoKVxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICBjbGFzc2VzLmNvbnRhaW5lcixcclxuICAgICAgICBjbGFzc2VzLmJvcmRlcixcclxuICAgICAgICBjbGFzc2VzLmNhcmV0LFxyXG4gICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICApfT5cclxuICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0gbm9WYWxpZGF0ZT5cclxuICAgICAgICA8ZmllbGRzZXRcclxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChjbGFzc2VzWydmaWVsZHNldC14eXonXSwgY2xhc3NOYW1lKX1cclxuICAgICAgICAgIHsuLi5yZXN0fVxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnOHB4JyxcclxuICAgICAgICAgICAgcGFkZGluZzogMCxcclxuICAgICAgICAgICAgbWFyZ2luOiAwXHJcbiAgICAgICAgICB9fT5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdiddLFxyXG4gICAgICAgICAgICAgIGNsYXNzZXNbJ2JvcmRlci1jb2xvciddLFxyXG4gICAgICAgICAgICAgIGNsYXNzZXNbJ2JvcmRlci1ib3R0b20nXSxcclxuICAgICAgICAgICAgICAnY29tbWVudC1mb3JtLWhlYWQgdGFibmF2IGQtZmxleCBmbGV4LWp1c3RpZnktYmV0d2VlbiBtYi0yIHAtMCB0YWJuYXYtLXJlc3BvbnNpdmUgZmxleC1jb2x1bW4gYm9yZGVyLWJvdHRvbS0wIG1iLTAgbWItbGctMiBmbGV4LWl0ZW1zLXN0cmV0Y2ggYm9yZGVyLWxnLWJvdHRvbSBjb2xvci1ib3JkZXItcHJpbWFyeSBmbGV4LWxnLWl0ZW1zLWNlbnRlciBmbGV4LWxnLXJvdydcclxuICAgICAgICAgICAgKX0+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYtaGVhZCddLFxyXG4gICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2cy1oZWFkZXInXVxyXG4gICAgICAgICAgICAgICl9PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2LXRhYnMnXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktOCddLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWydwdC04J10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ21kLWJsb2NrJ10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2LXRhYiddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3B5LTE2J10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snYnRuLWxpbmsnXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgIFdyaXRlXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYtdGFiJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sncHktMTYnXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydidG4tbGluayddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiPlxyXG4gICAgICAgICAgICAgICAgICBQcmV2aWV3XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJpdG1vamktZmxvYXRlclwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAnMHB4IGNlbnRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3VybChjaHJvbWUtZXh0ZW5zaW9uOi8vYmZnZGVpYWRrY2tmYmtlaWdrb25jcGRpZWlpZWZwaWcvc3RhdGljL21lZGlhL2JpdG1vamktaWNvbi00OC5wbmcpJyxcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvbnRhaW4nLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICduby1yZXBlYXQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMjhweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMjhweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnLThweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzLnRvb2xiYXIsXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXMuZmxleCxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sncHl0LTgnXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snYm9yZGVyLXRvcCddXHJcbiAgICAgICAgICAgICAgICApfT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ21yLTE2J10sXHJcbiAgICAgICAgICAgICAgICAgICAgJ2ZsZXgtbm93cmFwIGQtbm9uZSBkLW1kLWlubGluZS1ibG9jayBtci0zJ1xyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2sgIWltcG9ydGFudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICcxNnB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhXcmFwOiAnbm93cmFwICFpbXBvcnRhbnQnXHJcbiAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgICA8TWRIZWFkZXJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0b29sYmFyLWl0ZW0nXSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ215LTQnXSxcclxuICAgICAgICAgICAgICAgICAgICAgICd0b29sYmFyLWl0ZW0gdG9vbHRpcHBlZCB0b29sdGlwcGVkLXN3IG14LTEnXHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWRkIGhlYWRlciB0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWdhLWNsaWNrPVwiTWFya2Rvd24gVG9vbGJhciwgY2xpY2ssIGhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9jdGljb24gb2N0aWNvbi1oZWFkaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjc1IDJhLjc1Ljc1IDAgMDEuNzUuNzVWN2g3VjIuNzVhLjc1Ljc1IDAgMDExLjUgMHYxMC41YS43NS43NSAwIDAxLTEuNSAwVjguNWgtN3Y0Ljc1YS43NS43NSAwIDAxLTEuNSAwVjIuNzVBLjc1Ljc1IDAgMDEzLjc1IDJ6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L01kSGVhZGVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPE1kQm9sZFxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3Rvb2xiYXItaXRlbSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktNCddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3Rvb2xiYXItaXRlbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtc3cgbXgtMSdcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBZGQgYm9sZCB0ZXh0IDxjdHJsK2I+XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWdhLWNsaWNrPVwiTWFya2Rvd24gVG9vbGJhciwgY2xpY2ssIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNvbnNvbGUubG9nKCdjbGlja2VkJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgaG90a2V5PVwiYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9jdGljb24gb2N0aWNvbi1ib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00IDJhMSAxIDAgMDAtMSAxdjEwYTEgMSAwIDAwMSAxaDUuNWEzLjUgMy41IDAgMDAxLjg1Mi02LjQ3QTMuNSAzLjUgMCAwMDguNSAySDR6bTQuNSA1YTEuNSAxLjUgMCAxMDAtM0g1djNoMy41ek01IDl2M2g0LjVhMS41IDEuNSAwIDAwMC0zSDV6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L01kQm9sZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxNZEl0YWxpY1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3Rvb2xiYXItaXRlbSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktNCddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3Rvb2xiYXItaXRlbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtc3cgbXgtMSdcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBZGQgaXRhbGljIHRleHQgPGN0cmwraT5cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtZ2EtY2xpY2s9XCJNYXJrZG93biBUb29sYmFyLCBjbGljaywgaXRhbGljXCJcclxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBob3RrZXk9XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2N0aWNvbiBvY3RpY29uLWl0YWxpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiAyLjc1QS43NS43NSAwIDAxNi43NSAyaDYuNWEuNzUuNzUgMCAwMTAgMS41aC0yLjUwNWwtMy44NTggOUg5LjI1YS43NS43NSAwIDAxMCAxLjVoLTYuNWEuNzUuNzUgMCAwMTAtMS41aDIuNTA1bDMuODU4LTlINi43NUEuNzUuNzUgMCAwMTYgMi43NXpcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDwvTWRJdGFsaWM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nsc3goY2xhc3Nlc1snbXgtOCddLCBjbGFzc2VzWydteS04J10pfT5cclxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiVGV4dDFcIlxyXG4gICAgICAgICAgICAgICAgICBjb2xzPVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICByb3dzPVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0YXJlYX1cclxuICAgICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGFyaWEtY29sY291bnQ9XCI1XCIgY29scz1cIjQwXCIgcm93cz1cIjVcIiAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZmllbGRzZXQ+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuVGV4dEFyZWFCYXNlLnByb3BUeXBlcyA9IHtcclxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXHJcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIHN0eWxlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcclxuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xyXG59XHJcblxyXG5UZXh0QXJlYUJhc2UuZGlzcGxheU5hbWUgPSAndGFiJ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVGV4dEFyZWFCYXNlXHJcbiJdfQ==