matrix-react-sdk
Version:
SDK for matrix.org using React
147 lines (145 loc) • 21.4 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.IconizedContextMenuRadio = exports.IconizedContextMenuOptionList = exports.IconizedContextMenuOption = exports.IconizedContextMenuCheckbox = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _ContextMenu = _interopRequireWildcard(require("../../structures/ContextMenu"));
var _languageHandler = require("../../../languageHandler");
const _excluded = ["label", "iconClassName", "active", "className"],
_excluded2 = ["label", "iconClassName", "active", "className", "words"],
_excluded3 = ["label", "className", "iconClassName", "children", "isDestructive"],
_excluded4 = ["className", "children", "compact"];
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
const IconizedContextMenuRadio = _ref => {
let {
label,
iconClassName,
active,
className
} = _ref,
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
return /*#__PURE__*/_react.default.createElement(_ContextMenu.MenuItemRadio, (0, _extends2.default)({}, props, {
className: (0, _classnames.default)(className, {
mx_IconizedContextMenu_item: true,
mx_IconizedContextMenu_active: active
}),
active: active,
label: label
}), iconClassName && /*#__PURE__*/_react.default.createElement("span", {
className: (0, _classnames.default)("mx_IconizedContextMenu_icon", iconClassName)
}), /*#__PURE__*/_react.default.createElement("span", {
className: "mx_IconizedContextMenu_label"
}, label), active && /*#__PURE__*/_react.default.createElement("span", {
className: "mx_IconizedContextMenu_icon mx_IconizedContextMenu_checked"
}));
};
exports.IconizedContextMenuRadio = IconizedContextMenuRadio;
const IconizedContextMenuCheckbox = _ref2 => {
let {
label,
iconClassName,
active,
className,
words
} = _ref2,
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
let marker;
if (words) {
marker = /*#__PURE__*/_react.default.createElement("span", {
className: "mx_IconizedContextMenu_activeText"
}, active ? (0, _languageHandler._t)("common|on") : (0, _languageHandler._t)("common|off"));
} else {
marker = /*#__PURE__*/_react.default.createElement("span", {
className: (0, _classnames.default)("mx_IconizedContextMenu_icon", {
mx_IconizedContextMenu_checked: active,
mx_IconizedContextMenu_unchecked: !active
})
});
}
return /*#__PURE__*/_react.default.createElement(_ContextMenu.MenuItemCheckbox, (0, _extends2.default)({}, props, {
className: (0, _classnames.default)(className, {
mx_IconizedContextMenu_item: true,
mx_IconizedContextMenu_active: active
}),
active: active,
label: label
}), /*#__PURE__*/_react.default.createElement("span", {
className: (0, _classnames.default)("mx_IconizedContextMenu_icon", iconClassName)
}), /*#__PURE__*/_react.default.createElement("span", {
className: "mx_IconizedContextMenu_label"
}, label), marker);
};
exports.IconizedContextMenuCheckbox = IconizedContextMenuCheckbox;
const IconizedContextMenuOption = _ref3 => {
let {
label,
className,
iconClassName,
children,
isDestructive
} = _ref3,
props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
return /*#__PURE__*/_react.default.createElement(_ContextMenu.MenuItem, (0, _extends2.default)({
element: "li"
}, props, {
className: (0, _classnames.default)(className, {
mx_IconizedContextMenu_item: true,
mx_IconizedContextMenu_itemDestructive: isDestructive
}),
label: label
}), iconClassName && /*#__PURE__*/_react.default.createElement("span", {
className: (0, _classnames.default)("mx_IconizedContextMenu_icon", iconClassName)
}), /*#__PURE__*/_react.default.createElement("span", {
className: "mx_IconizedContextMenu_label"
}, label), children);
};
exports.IconizedContextMenuOption = IconizedContextMenuOption;
const IconizedContextMenuOptionList = ({
first,
red,
className,
label,
children
}) => {
const classes = (0, _classnames.default)("mx_IconizedContextMenu_optionList", className, {
mx_IconizedContextMenu_optionList_notFirst: !first,
mx_IconizedContextMenu_optionList_red: red
});
return /*#__PURE__*/_react.default.createElement("div", {
className: classes
}, label && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
className: "mx_IconizedContextMenu_optionList_label"
}, label)), children);
};
exports.IconizedContextMenuOptionList = IconizedContextMenuOptionList;
const IconizedContextMenu = _ref4 => {
let {
className,
children,
compact
} = _ref4,
props = (0, _objectWithoutProperties2.default)(_ref4, _excluded4);
const classes = (0, _classnames.default)("mx_IconizedContextMenu", className, {
mx_IconizedContextMenu_compact: compact
});
return /*#__PURE__*/_react.default.createElement(_ContextMenu.default, (0, _extends2.default)({
chevronFace: _ContextMenu.ChevronFace.None
}, props), /*#__PURE__*/_react.default.createElement("ul", {
role: "none",
className: classes
}, children));
};
var _default = exports.default = IconizedContextMenu;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX0NvbnRleHRNZW51IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl9leGNsdWRlZDMiLCJfZXhjbHVkZWQ0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiSWNvbml6ZWRDb250ZXh0TWVudVJhZGlvIiwiX3JlZiIsImxhYmVsIiwiaWNvbkNsYXNzTmFtZSIsImFjdGl2ZSIsImNsYXNzTmFtZSIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImNyZWF0ZUVsZW1lbnQiLCJNZW51SXRlbVJhZGlvIiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lcyIsIm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSIsIm14X0ljb25pemVkQ29udGV4dE1lbnVfYWN0aXZlIiwiZXhwb3J0cyIsIkljb25pemVkQ29udGV4dE1lbnVDaGVja2JveCIsIl9yZWYyIiwid29yZHMiLCJtYXJrZXIiLCJfdCIsIm14X0ljb25pemVkQ29udGV4dE1lbnVfY2hlY2tlZCIsIm14X0ljb25pemVkQ29udGV4dE1lbnVfdW5jaGVja2VkIiwiTWVudUl0ZW1DaGVja2JveCIsIkljb25pemVkQ29udGV4dE1lbnVPcHRpb24iLCJfcmVmMyIsImNoaWxkcmVuIiwiaXNEZXN0cnVjdGl2ZSIsIk1lbnVJdGVtIiwiZWxlbWVudCIsIm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbURlc3RydWN0aXZlIiwiSWNvbml6ZWRDb250ZXh0TWVudU9wdGlvbkxpc3QiLCJmaXJzdCIsInJlZCIsImNsYXNzZXMiLCJteF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3Rfbm90Rmlyc3QiLCJteF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfcmVkIiwiSWNvbml6ZWRDb250ZXh0TWVudSIsIl9yZWY0IiwiY29tcGFjdCIsIm14X0ljb25pemVkQ29udGV4dE1lbnVfY29tcGFjdCIsImNoZXZyb25GYWNlIiwiQ2hldnJvbkZhY2UiLCJOb25lIiwicm9sZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3MvY29udGV4dF9tZW51cy9JY29uaXplZENvbnRleHRNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuXG5pbXBvcnQgQ29udGV4dE1lbnUsIHtcbiAgICBDaGV2cm9uRmFjZSxcbiAgICBJUHJvcHMgYXMgSUNvbnRleHRNZW51UHJvcHMsXG4gICAgTWVudUl0ZW0sXG4gICAgTWVudUl0ZW1DaGVja2JveCxcbiAgICBNZW51SXRlbVJhZGlvLFxufSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlcy9Db250ZXh0TWVudVwiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5cbmludGVyZmFjZSBJUHJvcHMgZXh0ZW5kcyBJQ29udGV4dE1lbnVQcm9wcyB7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGNvbXBhY3Q/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgSU9wdGlvbkxpc3RQcm9wcyB7XG4gICAgZmlyc3Q/OiBib29sZWFuO1xuICAgIHJlZD86IGJvb2xlYW47XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5cbmludGVyZmFjZSBJT3B0aW9uUHJvcHMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgTWVudUl0ZW0+IHtcbiAgICBpY29uQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGlzRGVzdHJ1Y3RpdmU/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgSUNoZWNrYm94UHJvcHMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgTWVudUl0ZW1DaGVja2JveD4ge1xuICAgIGljb25DbGFzc05hbWU6IHN0cmluZztcbiAgICB3b3Jkcz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBJUmFkaW9Qcm9wcyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudFByb3BzPHR5cGVvZiBNZW51SXRlbVJhZGlvPiB7XG4gICAgaWNvbkNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEljb25pemVkQ29udGV4dE1lbnVSYWRpbzogUmVhY3QuRkM8SVJhZGlvUHJvcHM+ID0gKHtcbiAgICBsYWJlbCxcbiAgICBpY29uQ2xhc3NOYW1lLFxuICAgIGFjdGl2ZSxcbiAgICBjbGFzc05hbWUsXG4gICAgLi4ucHJvcHNcbn0pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8TWVudUl0ZW1SYWRpb1xuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwge1xuICAgICAgICAgICAgICAgIG14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBteF9JY29uaXplZENvbnRleHRNZW51X2FjdGl2ZTogYWN0aXZlLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgPlxuICAgICAgICAgICAge2ljb25DbGFzc05hbWUgJiYgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uXCIsIGljb25DbGFzc05hbWUpfSAvPn1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWxcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAge2FjdGl2ZSAmJiA8c3BhbiBjbGFzc05hbWU9XCJteF9JY29uaXplZENvbnRleHRNZW51X2ljb24gbXhfSWNvbml6ZWRDb250ZXh0TWVudV9jaGVja2VkXCIgLz59XG4gICAgICAgIDwvTWVudUl0ZW1SYWRpbz5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEljb25pemVkQ29udGV4dE1lbnVDaGVja2JveDogUmVhY3QuRkM8SUNoZWNrYm94UHJvcHM+ID0gKHtcbiAgICBsYWJlbCxcbiAgICBpY29uQ2xhc3NOYW1lLFxuICAgIGFjdGl2ZSxcbiAgICBjbGFzc05hbWUsXG4gICAgd29yZHMsXG4gICAgLi4ucHJvcHNcbn0pID0+IHtcbiAgICBsZXQgbWFya2VyOiBKU1guRWxlbWVudDtcbiAgICBpZiAod29yZHMpIHtcbiAgICAgICAgbWFya2VyID0gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibXhfSWNvbml6ZWRDb250ZXh0TWVudV9hY3RpdmVUZXh0XCI+e2FjdGl2ZSA/IF90KFwiY29tbW9ufG9uXCIpIDogX3QoXCJjb21tb258b2ZmXCIpfTwvc3Bhbj5cbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBtYXJrZXIgPSAoXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcIm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvblwiLCB7XG4gICAgICAgICAgICAgICAgICAgIG14X0ljb25pemVkQ29udGV4dE1lbnVfY2hlY2tlZDogYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICBteF9JY29uaXplZENvbnRleHRNZW51X3VuY2hlY2tlZDogIWFjdGl2ZSxcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPE1lbnVJdGVtQ2hlY2tib3hcbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc05hbWUsIHtcbiAgICAgICAgICAgICAgICBteF9JY29uaXplZENvbnRleHRNZW51X2l0ZW06IHRydWUsXG4gICAgICAgICAgICAgICAgbXhfSWNvbml6ZWRDb250ZXh0TWVudV9hY3RpdmU6IGFjdGl2ZSxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcIm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvblwiLCBpY29uQ2xhc3NOYW1lKX0gLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWxcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAge21hcmtlcn1cbiAgICAgICAgPC9NZW51SXRlbUNoZWNrYm94PlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgSWNvbml6ZWRDb250ZXh0TWVudU9wdGlvbjogUmVhY3QuRkM8SU9wdGlvblByb3BzPiA9ICh7XG4gICAgbGFiZWwsXG4gICAgY2xhc3NOYW1lLFxuICAgIGljb25DbGFzc05hbWUsXG4gICAgY2hpbGRyZW4sXG4gICAgaXNEZXN0cnVjdGl2ZSxcbiAgICAuLi5wcm9wc1xufSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgZWxlbWVudD1cImxpXCJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc05hbWUsIHtcbiAgICAgICAgICAgICAgICBteF9JY29uaXplZENvbnRleHRNZW51X2l0ZW06IHRydWUsXG4gICAgICAgICAgICAgICAgbXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtRGVzdHJ1Y3RpdmU6IGlzRGVzdHJ1Y3RpdmUsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgPlxuICAgICAgICAgICAge2ljb25DbGFzc05hbWUgJiYgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uXCIsIGljb25DbGFzc05hbWUpfSAvPn1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWxcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L01lbnVJdGVtPlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgSWNvbml6ZWRDb250ZXh0TWVudU9wdGlvbkxpc3Q6IFJlYWN0LkZDPElPcHRpb25MaXN0UHJvcHM+ID0gKHtcbiAgICBmaXJzdCxcbiAgICByZWQsXG4gICAgY2xhc3NOYW1lLFxuICAgIGxhYmVsLFxuICAgIGNoaWxkcmVuLFxufSkgPT4ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc05hbWVzKFwibXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0XCIsIGNsYXNzTmFtZSwge1xuICAgICAgICBteF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3Rfbm90Rmlyc3Q6ICFmaXJzdCxcbiAgICAgICAgbXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0X3JlZDogcmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXN9PlxuICAgICAgICAgICAge2xhYmVsICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJteF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfbGFiZWxcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmNvbnN0IEljb25pemVkQ29udGV4dE1lbnU6IFJlYWN0LkZDPFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPElQcm9wcz4+ID0gKHsgY2xhc3NOYW1lLCBjaGlsZHJlbiwgY29tcGFjdCwgLi4ucHJvcHMgfSkgPT4ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc05hbWVzKFwibXhfSWNvbml6ZWRDb250ZXh0TWVudVwiLCBjbGFzc05hbWUsIHtcbiAgICAgICAgbXhfSWNvbml6ZWRDb250ZXh0TWVudV9jb21wYWN0OiBjb21wYWN0LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPENvbnRleHRNZW51IGNoZXZyb25GYWNlPXtDaGV2cm9uRmFjZS5Ob25lfSB7Li4ucHJvcHN9PlxuICAgICAgICAgICAgPHVsIHJvbGU9XCJub25lXCIgY2xhc3NOYW1lPXtjbGFzc2VzfT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L0NvbnRleHRNZW51PlxuICAgICk7XG59O1xu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UUFDSyxDQUFDO0FBRW5CLENBQUM7QUFBQ1gsT0FBQSxDQUFBUyx5QkFBQSxHQUFBQSx5QkFBQTtBQUVLLE1BQU1PLDZCQUF5RCxHQUFHQSxDQUFDO0VBQ3RFQyxLQUFLO0VBQ0xDLEdBQUc7RUFDSDNCLFNBQVM7RUFDVEgsS0FBSztFQUNMdUI7QUFDSixDQUFDLEtBQUs7RUFDRixNQUFNUSxPQUFPLEdBQUcsSUFBQXRCLG1CQUFVLEVBQUMsbUNBQW1DLEVBQUVOLFNBQVMsRUFBRTtJQUN2RTZCLDBDQUEwQyxFQUFFLENBQUNILEtBQUs7SUFDbERJLHFDQUFxQyxFQUFFSDtFQUMzQyxDQUFDLENBQUM7RUFFRixvQkFDSS9ELE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQXNCLGFBQUE7SUFBS0gsU0FBUyxFQUFFNEI7RUFBUSxHQUNuQi9CLEtBQUssaUJBQ0ZqQyxNQUFBLENBQUFpQixPQUFBLENBQUFzQixhQUFBLDJCQUNJdkMsTUFBQSxDQUFBaUIsT0FBQSxDQUFBc0IsYUFBQTtJQUFNSCxTQUFTLEVBQUM7RUFBeUMsR0FBRUgsS0FBWSxDQUN0RSxDQUNSLEVBQ0F1QixRQUNBLENBQUM7QUFFZCxDQUFDO0FBQUNYLE9BQUEsQ0FBQWdCLDZCQUFBLEdBQUFBLDZCQUFBO0FBRUYsTUFBTU0sbUJBQThELEdBQUdDLEtBQUEsSUFBZ0Q7RUFBQSxJQUEvQztNQUFFaEMsU0FBUztNQUFFb0IsUUFBUTtNQUFFYTtJQUFrQixDQUFDLEdBQUFELEtBQUE7SUFBUC9CLEtBQUssT0FBQUMseUJBQUEsQ0FBQXJCLE9BQUEsRUFBQW1ELEtBQUEsRUFBQTFELFVBQUE7RUFDNUcsTUFBTXNELE9BQU8sR0FBRyxJQUFBdEIsbUJBQVUsRUFBQyx3QkFBd0IsRUFBRU4sU0FBUyxFQUFFO0lBQzVEa0MsOEJBQThCLEVBQUVEO0VBQ3BDLENBQUMsQ0FBQztFQUVGLG9CQUNJckUsTUFBQSxDQUFBaUIsT0FBQSxDQUFBc0IsYUFBQSxDQUFDbkMsWUFBQSxDQUFBYSxPQUFXLE1BQUF3QixTQUFBLENBQUF4QixPQUFBO0lBQUNzRCxXQUFXLEVBQUVDLHdCQUFXLENBQUNDO0VBQUssR0FBS3BDLEtBQUssZ0JBQ2pEckMsTUFBQSxDQUFBaUIsT0FBQSxDQUFBc0IsYUFBQTtJQUFJbUMsSUFBSSxFQUFDLE1BQU07SUFBQ3RDLFNBQVMsRUFBRTRCO0VBQVEsR0FDOUJSLFFBQ0QsQ0FDSyxDQUFDO0FBRXRCLENBQUM7QUFBQyxJQUFBbUIsUUFBQSxHQUFBOUIsT0FBQSxDQUFBNUIsT0FBQSxHQUVha0QsbUJBQW1CIiwiaWdub3JlTGlzdCI6W119