patternplate-client
Version:
Universal javascript client application for patternplate
216 lines (186 loc) • 18.4 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
exports.default = PatternHeader;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouter = require('@marionebl/react-router');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _lodash = require('lodash');
var _breadCrumbs = require('../bread-crumbs');
var _breadCrumbs2 = _interopRequireDefault(_breadCrumbs);
var _headline = require('../common/headline');
var _headline2 = _interopRequireDefault(_headline);
var _icon = require('../common/icon');
var _icon2 = _interopRequireDefault(_icon);
var _urlQuery = require('../../utils/url-query');
var _urlQuery2 = _interopRequireDefault(_urlQuery);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var autoMount = 'https://github.com/sinnerschrader/patternplate-transform-react-to-markup#component-auto-mounting';
function PatternHeader(props) {
var flagClassName = (0, _classnames2.default)('pattern__flag', (0, _defineProperty3.default)({}, 'pattern__flag--' + props.flag, props.flag));
var fullscreen = _urlQuery2.default.format({
pathname: props.base + 'demo/' + props.id + '/index.html',
query: {
environment: props.environment
}
});
var fullscreenTitle = 'Open "' + props.name + '" in fullscreen [ctrl+f]';
var reloadTitle = 'Reload demo for "' + props.name + '" [ctrl+r]';
var reloadClassName = (0, _classnames2.default)('button', 'button--reload', {
'reload--reloading': props.loading,
'button--is-active': props.loading,
'reload--error': props.errored
});
var rulersTitle = props.rulers ? 'Disable rulers [ctrl+l]' : 'Enable rulers [ctrl+l]';
var rulersClassName = (0, _classnames2.default)('button button--rulers', {
'button--is-active': props.rulers
});
var opacityClassName = (0, _classnames2.default)('button button--opacity', {
'button--is-active': props.opacity
});
var opacitySymbol = props.opacity ? 'checkers' : 'checkers-inverted';
var opacityTitle = props.opacity ? 'Hide opacity [ctrl+o]' : 'Show opacity [ctrl+o]';
return _react2.default.createElement(
'div',
{ className: 'pattern-header-container' },
_react2.default.createElement(_breadCrumbs2.default, {
base: props.base,
crumbs: props.breadcrumbs,
location: props.location,
className: 'pattern-path'
}),
_react2.default.createElement(
_headline2.default,
{ className: 'pattern-header', order: 2 },
_react2.default.createElement(
'span',
{ className: 'pattern-name' },
props.name
),
_react2.default.createElement(
'small',
{ className: 'pattern-version' },
props.version ? 'v' + props.version : ''
),
props.flag ? _react2.default.createElement(
'small',
{ className: flagClassName },
_react2.default.createElement(
_reactRouter.Link,
{
title: 'Search patterns with flag ' + props.flag,
to: {
pathname: props.location.pathname,
query: (0, _extends3.default)({}, props.location.query, { search: 'flag:' + props.flag })
}
},
props.flag
)
) : null,
props.tags.map(function (tag, key) {
return _react2.default.createElement(
'small',
{ key: key, className: 'pattern-tag' },
_react2.default.createElement(
_reactRouter.Link,
{
title: 'Search patterns with tag ' + tag,
to: {
pathname: props.location.pathname,
query: (0, _extends3.default)({}, props.location.query, { search: 'tag:' + tag })
},
key: key
},
tag
)
);
}),
props.automount && _react2.default.createElement(
'small',
{ className: 'pattern-option' },
_react2.default.createElement(
'a',
{
href: autoMount,
target: '_blank',
title: 'Learn about component auto mounting on Github',
rel: 'noopener'
},
'auto-mount'
)
)
),
_react2.default.createElement(
'div',
{ className: 'pattern-header__actions' },
_react2.default.createElement(
_reactRouter.Link,
{
className: reloadClassName,
title: reloadTitle,
disabled: props.loading,
onClick: props.loading ? _lodash.noop : props.onReloadClick,
to: {
pathname: props.location.pathname,
query: (0, _extends3.default)({}, props.location.query, {
reload: props.reloadTime
})
}
},
_react2.default.createElement(_icon2.default, { symbol: 'reload' })
),
_react2.default.createElement(
_reactRouter.Link,
{
className: rulersClassName,
title: rulersTitle,
to: {
pathname: props.location.pathname,
query: (0, _extends3.default)({}, props.location.query, {
rulers: !props.rulers
})
}
},
_react2.default.createElement(_icon2.default, { symbol: 'rulers' })
),
_react2.default.createElement(
_reactRouter.Link,
{
className: opacityClassName,
title: opacityTitle,
to: {
pathname: props.location.pathname,
query: (0, _extends3.default)({}, props.location.query, {
opacity: !props.opacity
})
}
},
_react2.default.createElement(_icon2.default, { symbol: opacitySymbol })
),
_react2.default.createElement(
'a',
{
className: 'button fullscreen',
target: '_blank',
rel: 'noopener',
href: fullscreen,
title: fullscreenTitle
},
_react2.default.createElement(_icon2.default, { symbol: 'fullscreen' })
)
)
);
}
PatternHeader.defaultProps = {
tags: [],
onReloadClick: _lodash.noop
};
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb21wb25lbnRzL3BhdHRlcm4vcGF0dGVybi1oZWFkZXIuanMiXSwibmFtZXMiOlsiUGF0dGVybkhlYWRlciIsImF1dG9Nb3VudCIsInByb3BzIiwiZmxhZ0NsYXNzTmFtZSIsImZsYWciLCJmdWxsc2NyZWVuIiwiZm9ybWF0IiwicGF0aG5hbWUiLCJiYXNlIiwiaWQiLCJxdWVyeSIsImVudmlyb25tZW50IiwiZnVsbHNjcmVlblRpdGxlIiwibmFtZSIsInJlbG9hZFRpdGxlIiwicmVsb2FkQ2xhc3NOYW1lIiwibG9hZGluZyIsImVycm9yZWQiLCJydWxlcnNUaXRsZSIsInJ1bGVycyIsInJ1bGVyc0NsYXNzTmFtZSIsIm9wYWNpdHlDbGFzc05hbWUiLCJvcGFjaXR5Iiwib3BhY2l0eVN5bWJvbCIsIm9wYWNpdHlUaXRsZSIsImJyZWFkY3J1bWJzIiwibG9jYXRpb24iLCJ2ZXJzaW9uIiwic2VhcmNoIiwidGFncyIsIm1hcCIsInRhZyIsImtleSIsImF1dG9tb3VudCIsIm9uUmVsb2FkQ2xpY2siLCJyZWxvYWQiLCJyZWxvYWRUaW1lIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztrQkFZd0JBLGE7O0FBWnhCOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsSUFBTUMsWUFBWSxrR0FBbEI7O0FBRWUsU0FBU0QsYUFBVCxDQUF1QkUsS0FBdkIsRUFBOEI7QUFDNUMsS0FBTUMsZ0JBQWdCLGlHQUNGRCxNQUFNRSxJQURKLEVBQ2FGLE1BQU1FLElBRG5CLEVBQXRCOztBQUlBLEtBQU1DLGFBQWEsbUJBQVNDLE1BQVQsQ0FBZ0I7QUFDbENDLFlBQWFMLE1BQU1NLElBQW5CLGFBQStCTixNQUFNTyxFQUFyQyxnQkFEa0M7QUFFbENDLFNBQU87QUFDTkMsZ0JBQWFULE1BQU1TO0FBRGI7QUFGMkIsRUFBaEIsQ0FBbkI7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QUFNa0M7QUFGZjtBQUZHO0FBTEw7QUFhQyxvREFBTSxRQUFPLFFBQWI7QUFiRCxJQUREO0FBZ0JDO0FBQUE7QUFBQTtBQUNDLGdCQUFXaEIsZUFEWjtBQUVDLFlBQU9GLFdBRlI7QUFHQyxTQUFJO0FBQ0hYLGdCQUFVTCxNQUFNd0IsUUFBTixDQUFlbkIsUUFEdEI7QUFFSEcsd0NBQ0lSLE1BQU13QixRQUFOLENBQWVoQixLQURuQjtBQUVDUyxlQUFRLENBQUNqQixNQUFNaUI7QUFGaEI7QUFGRztBQUhMO0FBV0Msb0RBQU0sUUFBTyxRQUFiO0FBWEQsSUFoQkQ7QUE2QkM7QUFBQTtBQUFBO0FBQ0MsZ0JBQVdFLGdCQURaO0FBRUMsWUFBT0csWUFGUjtBQUdDLFNBQUk7QUFDSGpCLGdCQUFVTCxNQUFNd0IsUUFBTixDQUFlbkIsUUFEdEI7QUFFSEcsd0NBQ0lSLE1BQU13QixRQUFOLENBQWVoQixLQURuQjtBQUVDWSxnQkFBUyxDQUFDcEIsTUFBTW9CO0FBRmpCO0FBRkc7QUFITDtBQVdDLG9EQUFNLFFBQVFDLGFBQWQ7QUFYRCxJQTdCRDtBQTBDQztBQUFBO0FBQUE7QUFDQyxnQkFBVSxtQkFEWDtBQUVDLGFBQU8sUUFGUjtBQUdDLFVBQUksVUFITDtBQUlDLFdBQU1sQixVQUpQO0FBS0MsWUFBT087QUFMUjtBQU9DLG9EQUFNLFFBQU8sWUFBYjtBQVBEO0FBMUNEO0FBekRELEVBREQ7QUFnSEE7O0FBZ0NEWixjQUFjcUMsWUFBZCxHQUE2QjtBQUM1QlIsT0FBTSxFQURzQjtBQUU1Qks7QUFGNEIsQ0FBN0IiLCJmaWxlIjoicGF0dGVybi1oZWFkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXMgYXMgdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtMaW5rfSBmcm9tICdAbWFyaW9uZWJsL3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgam9pbiBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7bm9vcH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IEJyZWFkQ3J1bWJzIGZyb20gJy4uL2JyZWFkLWNydW1icyc7XG5pbXBvcnQgSGVhZGxpbmUgZnJvbSAnLi4vY29tbW9uL2hlYWRsaW5lJztcbmltcG9ydCBJY29uIGZyb20gJy4uL2NvbW1vbi9pY29uJztcbmltcG9ydCB1cmxRdWVyeSBmcm9tICcuLi8uLi91dGlscy91cmwtcXVlcnknO1xuXG5jb25zdCBhdXRvTW91bnQgPSAnaHR0cHM6Ly9naXRodWIuY29tL3Npbm5lcnNjaHJhZGVyL3BhdHRlcm5wbGF0ZS10cmFuc2Zvcm0tcmVhY3QtdG8tbWFya3VwI2NvbXBvbmVudC1hdXRvLW1vdW50aW5nJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGF0dGVybkhlYWRlcihwcm9wcykge1xuXHRjb25zdCBmbGFnQ2xhc3NOYW1lID0gam9pbihgcGF0dGVybl9fZmxhZ2AsIHtcblx0XHRbYHBhdHRlcm5fX2ZsYWctLSR7cHJvcHMuZmxhZ31gXTogcHJvcHMuZmxhZ1xuXHR9KTtcblxuXHRjb25zdCBmdWxsc2NyZWVuID0gdXJsUXVlcnkuZm9ybWF0KHtcblx0XHRwYXRobmFtZTogYCR7cHJvcHMuYmFzZX1kZW1vLyR7cHJvcHMuaWR9L2luZGV4Lmh0bWxgLFxuXHRcdHF1ZXJ5OiB7XG5cdFx0XHRlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnRcblx0XHR9XG5cdH0pO1xuXHRjb25zdCBmdWxsc2NyZWVuVGl0bGUgPSBgT3BlbiBcIiR7cHJvcHMubmFtZX1cIiBpbiBmdWxsc2NyZWVuIFtjdHJsK2ZdYDtcblxuXHRjb25zdCByZWxvYWRUaXRsZSA9IGBSZWxvYWQgZGVtbyBmb3IgXCIke3Byb3BzLm5hbWV9XCIgW2N0cmwrcl1gO1xuXHRjb25zdCByZWxvYWRDbGFzc05hbWUgPSBqb2luKFxuXHRcdCdidXR0b24nLFxuXHRcdCdidXR0b24tLXJlbG9hZCcsXG5cdFx0e1xuXHRcdFx0J3JlbG9hZC0tcmVsb2FkaW5nJzogcHJvcHMubG9hZGluZyxcblx0XHRcdCdidXR0b24tLWlzLWFjdGl2ZSc6IHByb3BzLmxvYWRpbmcsXG5cdFx0XHQncmVsb2FkLS1lcnJvcic6IHByb3BzLmVycm9yZWRcblx0XHR9XG5cdCk7XG5cblx0Y29uc3QgcnVsZXJzVGl0bGUgPSBwcm9wcy5ydWxlcnMgP1xuXHRcdGBEaXNhYmxlIHJ1bGVycyBbY3RybCtsXWAgOlxuXHRcdGBFbmFibGUgcnVsZXJzIFtjdHJsK2xdYDtcblxuXHRjb25zdCBydWxlcnNDbGFzc05hbWUgPSBqb2luKFxuXHRcdGBidXR0b24gYnV0dG9uLS1ydWxlcnNgLFxuXHRcdHtcblx0XHRcdCdidXR0b24tLWlzLWFjdGl2ZSc6IHByb3BzLnJ1bGVyc1xuXHRcdH1cblx0KTtcblxuXHRjb25zdCBvcGFjaXR5Q2xhc3NOYW1lID0gam9pbihcblx0XHQnYnV0dG9uIGJ1dHRvbi0tb3BhY2l0eScsXG5cdFx0e1xuXHRcdFx0J2J1dHRvbi0taXMtYWN0aXZlJzogcHJvcHMub3BhY2l0eVxuXHRcdH1cblx0KTtcblx0Y29uc3Qgb3BhY2l0eVN5bWJvbCA9IHByb3BzLm9wYWNpdHkgPyAnY2hlY2tlcnMnIDogJ2NoZWNrZXJzLWludmVydGVkJztcblx0Y29uc3Qgb3BhY2l0eVRpdGxlID0gcHJvcHMub3BhY2l0eSA/XG5cdFx0J0hpZGUgb3BhY2l0eSBbY3RybCtvXSc6XG5cdFx0J1Nob3cgb3BhY2l0eSBbY3RybCtvXSc7XG5cblx0cmV0dXJuIChcblx0XHQ8ZGl2IGNsYXNzTmFtZT1cInBhdHRlcm4taGVhZGVyLWNvbnRhaW5lclwiPlxuXHRcdFx0PEJyZWFkQ3J1bWJzXG5cdFx0XHRcdGJhc2U9e3Byb3BzLmJhc2V9XG5cdFx0XHRcdGNydW1icz17cHJvcHMuYnJlYWRjcnVtYnN9XG5cdFx0XHRcdGxvY2F0aW9uPXtwcm9wcy5sb2NhdGlvbn1cblx0XHRcdFx0Y2xhc3NOYW1lPVwicGF0dGVybi1wYXRoXCJcblx0XHRcdFx0Lz5cblx0XHRcdDxIZWFkbGluZSBjbGFzc05hbWU9XCJwYXR0ZXJuLWhlYWRlclwiIG9yZGVyPXsyfT5cblx0XHRcdFx0PHNwYW4gY2xhc3NOYW1lPVwicGF0dGVybi1uYW1lXCI+XG5cdFx0XHRcdFx0e3Byb3BzLm5hbWV9XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzTmFtZT1cInBhdHRlcm4tdmVyc2lvblwiPlxuXHRcdFx0XHRcdHtwcm9wcy52ZXJzaW9uID8gYHYke3Byb3BzLnZlcnNpb259YCA6ICcnfVxuXHRcdFx0XHQ8L3NtYWxsPlxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0cHJvcHMuZmxhZyA/XG5cdFx0XHRcdFx0XHQ8c21hbGwgY2xhc3NOYW1lPXtmbGFnQ2xhc3NOYW1lfT5cblx0XHRcdFx0XHRcdFx0PExpbmtcblx0XHRcdFx0XHRcdFx0XHR0aXRsZT17YFNlYXJjaCBwYXR0ZXJucyB3aXRoIGZsYWcgJHtwcm9wcy5mbGFnfWB9XG5cdFx0XHRcdFx0XHRcdFx0dG89e3tcblx0XHRcdFx0XHRcdFx0XHRcdHBhdGhuYW1lOiBwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSxcblx0XHRcdFx0XHRcdFx0XHRcdHF1ZXJ5OiB7Li4ucHJvcHMubG9jYXRpb24ucXVlcnksIHNlYXJjaDogYGZsYWc6JHtwcm9wcy5mbGFnfWB9XG5cdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0e3Byb3BzLmZsYWd9XG5cdFx0XHRcdFx0XHRcdDwvTGluaz5cblx0XHRcdFx0XHRcdDwvc21hbGw+IDpcblx0XHRcdFx0XHRcdG51bGxcblx0XHRcdFx0fVxuXHRcdFx0XHR7cHJvcHMudGFncy5tYXAoKHRhZywga2V5KSA9PlxuXHRcdFx0XHRcdDxzbWFsbCBrZXk9e2tleX0gY2xhc3NOYW1lPVwicGF0dGVybi10YWdcIj5cblx0XHRcdFx0XHRcdDxMaW5rXG5cdFx0XHRcdFx0XHRcdHRpdGxlPXtgU2VhcmNoIHBhdHRlcm5zIHdpdGggdGFnICR7dGFnfWB9XG5cdFx0XHRcdFx0XHRcdHRvPXt7XG5cdFx0XHRcdFx0XHRcdFx0cGF0aG5hbWU6IHByb3BzLmxvY2F0aW9uLnBhdGhuYW1lLFxuXHRcdFx0XHRcdFx0XHRcdHF1ZXJ5OiB7Li4ucHJvcHMubG9jYXRpb24ucXVlcnksIHNlYXJjaDogYHRhZzoke3RhZ31gfVxuXHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRrZXk9e2tleX1cblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHR7dGFnfVxuXHRcdFx0XHRcdFx0PC9MaW5rPlxuXHRcdFx0XHRcdDwvc21hbGw+XG5cdFx0XHRcdCl9XG5cdFx0XHRcdHtcblx0XHRcdFx0XHRwcm9wcy5hdXRvbW91bnQgJiZcblx0XHRcdFx0XHRcdDxzbWFsbCBjbGFzc05hbWU9XCJwYXR0ZXJuLW9wdGlvblwiPlxuXHRcdFx0XHRcdFx0XHQ8YVxuXHRcdFx0XHRcdFx0XHRcdGhyZWY9e2F1dG9Nb3VudH1cblx0XHRcdFx0XHRcdFx0XHR0YXJnZXQ9XCJfYmxhbmtcIlxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlPVwiTGVhcm4gYWJvdXQgY29tcG9uZW50IGF1dG8gbW91bnRpbmcgb24gR2l0aHViXCJcblx0XHRcdFx0XHRcdFx0XHRyZWw9XCJub29wZW5lclwiXG5cdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdGF1dG8tbW91bnRcblx0XHRcdFx0XHRcdFx0PC9hPlxuXHRcdFx0XHRcdFx0PC9zbWFsbD5cblx0XHRcdFx0fVxuXHRcdFx0PC9IZWFkbGluZT5cblx0XHRcdDxkaXYgY2xhc3NOYW1lPVwicGF0dGVybi1oZWFkZXJfX2FjdGlvbnNcIj5cblx0XHRcdFx0PExpbmtcblx0XHRcdFx0XHRjbGFzc05hbWU9e3JlbG9hZENsYXNzTmFtZX1cblx0XHRcdFx0XHR0aXRsZT17cmVsb2FkVGl0bGV9XG5cdFx0XHRcdFx0ZGlzYWJsZWQ9e3Byb3BzLmxvYWRpbmd9XG5cdFx0XHRcdFx0b25DbGljaz17cHJvcHMubG9hZGluZyA/IG5vb3AgOiBwcm9wcy5vblJlbG9hZENsaWNrfVxuXHRcdFx0XHRcdHRvPXt7XG5cdFx0XHRcdFx0XHRwYXRobmFtZTogcHJvcHMubG9jYXRpb24ucGF0aG5hbWUsXG5cdFx0XHRcdFx0XHRxdWVyeToge1xuXHRcdFx0XHRcdFx0XHQuLi5wcm9wcy5sb2NhdGlvbi5xdWVyeSxcblx0XHRcdFx0XHRcdFx0cmVsb2FkOiBwcm9wcy5yZWxvYWRUaW1lXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fX1cblx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0PEljb24gc3ltYm9sPVwicmVsb2FkXCIvPlxuXHRcdFx0XHQ8L0xpbms+XG5cdFx0XHRcdDxMaW5rXG5cdFx0XHRcdFx0Y2xhc3NOYW1lPXtydWxlcnNDbGFzc05hbWV9XG5cdFx0XHRcdFx0dGl0bGU9e3J1bGVyc1RpdGxlfVxuXHRcdFx0XHRcdHRvPXt7XG5cdFx0XHRcdFx0XHRwYXRobmFtZTogcHJvcHMubG9jYXRpb24ucGF0aG5hbWUsXG5cdFx0XHRcdFx0XHRxdWVyeToge1xuXHRcdFx0XHRcdFx0XHQuLi5wcm9wcy5sb2NhdGlvbi5xdWVyeSxcblx0XHRcdFx0XHRcdFx0cnVsZXJzOiAhcHJvcHMucnVsZXJzXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fX1cblx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0PEljb24gc3ltYm9sPVwicnVsZXJzXCIvPlxuXHRcdFx0XHQ8L0xpbms+XG5cdFx0XHRcdDxMaW5rXG5cdFx0XHRcdFx0Y2xhc3NOYW1lPXtvcGFjaXR5Q2xhc3NOYW1lfVxuXHRcdFx0XHRcdHRpdGxlPXtvcGFjaXR5VGl0bGV9XG5cdFx0XHRcdFx0dG89e3tcblx0XHRcdFx0XHRcdHBhdGhuYW1lOiBwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSxcblx0XHRcdFx0XHRcdHF1ZXJ5OiB7XG5cdFx0XHRcdFx0XHRcdC4uLnByb3BzLmxvY2F0aW9uLnF1ZXJ5LFxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAhcHJvcHMub3BhY2l0eVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0PlxuXHRcdFx0XHRcdDxJY29uIHN5bWJvbD17b3BhY2l0eVN5bWJvbH0vPlxuXHRcdFx0XHQ8L0xpbms+XG5cdFx0XHRcdDxhXG5cdFx0XHRcdFx0Y2xhc3NOYW1lPVwiYnV0dG9uIGZ1bGxzY3JlZW5cIlxuXHRcdFx0XHRcdHRhcmdldD1cIl9ibGFua1wiXG5cdFx0XHRcdFx0cmVsPVwibm9vcGVuZXJcIlxuXHRcdFx0XHRcdGhyZWY9e2Z1bGxzY3JlZW59XG5cdFx0XHRcdFx0dGl0bGU9e2Z1bGxzY3JlZW5UaXRsZX1cblx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0PEljb24gc3ltYm9sPVwiZnVsbHNjcmVlblwiLz5cblx0XHRcdFx0PC9hPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdCk7XG59XG5cblBhdHRlcm5IZWFkZXIucHJvcFR5cGVzID0ge1xuXHRhdXRvbW91bnQ6IHQuYm9vbC5pc1JlcXVpcmVkLFxuXHRiYXNlOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRicmVhZGNydW1iczogdC5hcnJheU9mKHQuc2hhcGUoe1xuXHRcdGlkOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdG5hbWU6IHQuc3RyaW5nLmlzUmVxdWlyZWQsXG5cdFx0dGFyZ2V0OiB0LnNoYXBlKHtcblx0XHRcdHBhdGhuYW1lOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdFx0cXVlcnk6IHQub2JqZWN0LmlzUmVxdWlyZWRcblx0XHR9KS5pc1JlcXVpcmVkXG5cdH0pKS5pc1JlcXVpcmVkLFxuXHRlbnZpcm9ubWVudDogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0ZXJyb3JlZDogdC5ib29sLmlzUmVxdWlyZWQsXG5cdGZsYWc6IHQuc3RyaW5nLFxuXHRpZDogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0bG9hZGluZzogdC5ib29sLmlzUmVxdWlyZWQsXG5cdGxvY2F0aW9uOiB0LnNoYXBlKHtcblx0XHRwYXRobmFtZTogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0XHRxdWVyeTogdC5vYmplY3QuaXNSZXF1aXJlZFxuXHR9KSxcblx0bmFtZTogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0b25SZWxvYWRDbGljazogdC5mdW5jLmlzUmVxdWlyZWQsXG5cdG9wYWNpdHk6IHQuYm9vbC5pc1JlcXVpcmVkLFxuXHRyZWxvYWRUaW1lOiB0Lm51bWJlcixcblx0cmVsb2FkZWRUaW1lOiB0Lm51bWJlcixcblx0cnVsZXJzOiB0LmJvb2wuaXNSZXF1aXJlZCxcblx0dGFnczogdC5hcnJheU9mKHQuc3RyaW5nKSxcblx0dmVyc2lvbjogdC5zdHJpbmcuaXNSZXF1aXJlZFxufTtcblxuUGF0dGVybkhlYWRlci5kZWZhdWx0UHJvcHMgPSB7XG5cdHRhZ3M6IFtdLFxuXHRvblJlbG9hZENsaWNrOiBub29wXG59O1xuIl19