payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
219 lines (218 loc) • 23.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _modal = require("@faceless-ui/modal");
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _getTranslation = require("../../../../utilities/getTranslation");
const _Form = /*#__PURE__*/ _interop_require_default(require("../../forms/Form"));
const _context = require("../../forms/Form/context");
const _RenderFields = /*#__PURE__*/ _interop_require_default(require("../../forms/RenderFields"));
const _Submit = /*#__PURE__*/ _interop_require_default(require("../../forms/Submit"));
const _fieldtypes = require("../../forms/field-types");
const _X = /*#__PURE__*/ _interop_require_default(require("../../icons/X"));
const _Auth = require("../../utilities/Auth");
const _Config = require("../../utilities/Config");
const _DocumentInfo = require("../../utilities/DocumentInfo");
const _OperationProvider = require("../../utilities/OperationProvider");
const _SelectionProvider = require("../../views/collections/List/SelectionProvider");
const _Drawer = require("../Drawer");
const _FieldSelect = require("../FieldSelect");
require("./index.scss");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && 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;
}
const baseClass = 'edit-many';
const Submit = ({ action, disabled })=>{
const { submit } = (0, _context.useForm)();
const { t } = (0, _reacti18next.useTranslation)('general');
const save = (0, _react.useCallback)(()=>{
submit({
action,
method: 'PATCH',
skipValidation: true
});
}, [
action,
submit
]);
return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
className: `${baseClass}__save`,
disabled: disabled,
onClick: save
}, t('save'));
};
const Publish = ({ action, disabled })=>{
const { submit } = (0, _context.useForm)();
const { t } = (0, _reacti18next.useTranslation)('version');
const save = (0, _react.useCallback)(()=>{
submit({
action,
method: 'PATCH',
overrides: {
_status: 'published'
},
skipValidation: true
});
}, [
action,
submit
]);
return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
className: `${baseClass}__publish`,
disabled: disabled,
onClick: save
}, t('publishChanges'));
};
const SaveDraft = ({ action, disabled })=>{
const { submit } = (0, _context.useForm)();
const { t } = (0, _reacti18next.useTranslation)('version');
const save = (0, _react.useCallback)(()=>{
submit({
action,
method: 'PATCH',
overrides: {
_status: 'draft'
},
skipValidation: true
});
}, [
action,
submit
]);
return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
className: `${baseClass}__draft`,
disabled: disabled,
onClick: save
}, t('saveDraft'));
};
const EditMany = (props)=>{
const { collection: { fields, labels: { plural }, slug } = {}, collection, resetParams } = props;
const { permissions } = (0, _Auth.useAuth)();
const { closeModal } = (0, _modal.useModal)();
const { routes: { api }, serverURL } = (0, _Config.useConfig)();
const { count, getQueryParams, selectAll } = (0, _SelectionProvider.useSelection)();
const { i18n, t } = (0, _reacti18next.useTranslation)('general');
const [selected, setSelected] = (0, _react.useState)([]);
const collectionPermissions = permissions?.collections?.[slug];
const hasUpdatePermission = collectionPermissions?.update?.permission;
const drawerSlug = `edit-${slug}`;
if (selectAll === _SelectionProvider.SelectAllStatus.None || !hasUpdatePermission) {
return null;
}
const onSuccess = ()=>{
resetParams({
page: selectAll === _SelectionProvider.SelectAllStatus.AllAvailable ? 1 : undefined
});
};
return /*#__PURE__*/ _react.default.createElement("div", {
className: baseClass
}, /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, {
"aria-label": t('edit'),
className: `${baseClass}__toggle`,
onClick: ()=>{
setSelected([]);
},
slug: drawerSlug
}, t('edit')), /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
header: null,
slug: drawerSlug
}, /*#__PURE__*/ _react.default.createElement(_DocumentInfo.DocumentInfoProvider, {
collection: collection
}, /*#__PURE__*/ _react.default.createElement(_OperationProvider.OperationContext.Provider, {
value: "update"
}, /*#__PURE__*/ _react.default.createElement(_Form.default, {
className: `${baseClass}__form`,
onSuccess: onSuccess
}, /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__main`
}, /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__header`
}, /*#__PURE__*/ _react.default.createElement("h2", {
className: `${baseClass}__header__title`
}, t('editingLabel', {
count,
label: (0, _getTranslation.getTranslation)(plural, i18n)
})), /*#__PURE__*/ _react.default.createElement("button", {
"aria-label": t('close'),
className: `${baseClass}__header__close`,
id: `close-drawer__${drawerSlug}`,
onClick: ()=>closeModal(drawerSlug),
type: "button"
}, /*#__PURE__*/ _react.default.createElement(_X.default, null))), /*#__PURE__*/ _react.default.createElement(_FieldSelect.FieldSelect, {
fields: fields,
setSelected: setSelected
}), /*#__PURE__*/ _react.default.createElement(_RenderFields.default, {
fieldSchema: selected,
fieldTypes: _fieldtypes.fieldTypes
}), /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__sidebar-wrap`
}, /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__sidebar`
}, /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__sidebar-sticky-wrap`
}, /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__document-actions`
}, collection.versions ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Publish, {
action: `${serverURL}${api}/${slug}${getQueryParams()}`,
disabled: selected.length === 0
}), /*#__PURE__*/ _react.default.createElement(SaveDraft, {
action: `${serverURL}${api}/${slug}${getQueryParams()}`,
disabled: selected.length === 0
})) : /*#__PURE__*/ _react.default.createElement(Submit, {
action: `${serverURL}${api}/${slug}${getQueryParams()}`,
disabled: selected.length === 0
})))))))))));
};
const _default = EditMany;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0VkaXRNYW55L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IEZvcm0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybSdcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuLi8uLi9mb3Jtcy9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgUmVuZGVyRmllbGRzIGZyb20gJy4uLy4uL2Zvcm1zL1JlbmRlckZpZWxkcydcbmltcG9ydCBGb3JtU3VibWl0IGZyb20gJy4uLy4uL2Zvcm1zL1N1Ym1pdCdcbmltcG9ydCB7IGZpZWxkVHlwZXMgfSBmcm9tICcuLi8uLi9mb3Jtcy9maWVsZC10eXBlcydcbmltcG9ydCBYIGZyb20gJy4uLy4uL2ljb25zL1gnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgRG9jdW1lbnRJbmZvUHJvdmlkZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgT3BlcmF0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9PcGVyYXRpb25Qcm92aWRlcidcbmltcG9ydCB7IFNlbGVjdEFsbFN0YXR1cywgdXNlU2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdmlld3MvY29sbGVjdGlvbnMvTGlzdC9TZWxlY3Rpb25Qcm92aWRlcidcbmltcG9ydCB7IERyYXdlciwgRHJhd2VyVG9nZ2xlciB9IGZyb20gJy4uL0RyYXdlcidcbmltcG9ydCB7IEZpZWxkU2VsZWN0IH0gZnJvbSAnLi4vRmllbGRTZWxlY3QnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2VkaXQtbWFueSdcblxuY29uc3QgU3VibWl0OiBSZWFjdC5GQzx7IGFjdGlvbjogc3RyaW5nOyBkaXNhYmxlZDogYm9vbGVhbiB9PiA9ICh7IGFjdGlvbiwgZGlzYWJsZWQgfSkgPT4ge1xuICBjb25zdCB7IHN1Ym1pdCB9ID0gdXNlRm9ybSgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGNvbnN0IHNhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc3VibWl0KHtcbiAgICAgIGFjdGlvbixcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NhdmVgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3NhdmUnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFB1Ymxpc2g6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigndmVyc2lvbicpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgfSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3B1Ymxpc2hgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3B1Ymxpc2hDaGFuZ2VzJyl9XG4gICAgPC9Gb3JtU3VibWl0PlxuICApXG59XG5jb25zdCBTYXZlRHJhZnQ6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigndmVyc2lvbicpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdkcmFmdCcsXG4gICAgICB9LFxuICAgICAgc2tpcFZhbGlkYXRpb246IHRydWUsXG4gICAgfSlcbiAgfSwgW2FjdGlvbiwgc3VibWl0XSlcblxuICByZXR1cm4gKFxuICAgIDxGb3JtU3VibWl0IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZHJhZnRgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3NhdmVEcmFmdCcpfVxuICAgIDwvRm9ybVN1Ym1pdD5cbiAgKVxufVxuY29uc3QgRWRpdE1hbnk6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb246IHsgZmllbGRzLCBsYWJlbHM6IHsgcGx1cmFsIH0sIHNsdWcgfSA9IHt9LCBjb2xsZWN0aW9uLCByZXNldFBhcmFtcyB9ID0gcHJvcHNcblxuICBjb25zdCB7IHBlcm1pc3Npb25zIH0gPSB1c2VBdXRoKClcbiAgY29uc3QgeyBjbG9zZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgeyBjb3VudCwgZ2V0UXVlcnlQYXJhbXMsIHNlbGVjdEFsbCB9ID0gdXNlU2VsZWN0aW9uKClcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG4gIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoW10pXG5cbiAgY29uc3QgY29sbGVjdGlvblBlcm1pc3Npb25zID0gcGVybWlzc2lvbnM/LmNvbGxlY3Rpb25zPy5bc2x1Z11cbiAgY29uc3QgaGFzVXBkYXRlUGVybWlzc2lvbiA9IGNvbGxlY3Rpb25QZXJtaXNzaW9ucz8udXBkYXRlPy5wZXJtaXNzaW9uXG5cbiAgY29uc3QgZHJhd2VyU2x1ZyA9IGBlZGl0LSR7c2x1Z31gXG5cbiAgaWYgKHNlbGVjdEFsbCA9PT0gU2VsZWN0QWxsU3RhdHVzLk5vbmUgfHwgIWhhc1VwZGF0ZVBlcm1pc3Npb24pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3Qgb25TdWNjZXNzID0gKCkgPT4ge1xuICAgIHJlc2V0UGFyYW1zKHsgcGFnZTogc2VsZWN0QWxsID09PSBTZWxlY3RBbGxTdGF0dXMuQWxsQXZhaWxhYmxlID8gMSA6IHVuZGVmaW5lZCB9KVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgIGFyaWEtbGFiZWw9e3QoJ2VkaXQnKX1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b2dnbGVgfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgc2V0U2VsZWN0ZWQoW10pXG4gICAgICAgIH19XG4gICAgICAgIHNsdWc9e2RyYXdlclNsdWd9XG4gICAgICA+XG4gICAgICAgIHt0KCdlZGl0Jyl9XG4gICAgICA8L0RyYXdlclRvZ2dsZXI+XG4gICAgICA8RHJhd2VyIGhlYWRlcj17bnVsbH0gc2x1Zz17ZHJhd2VyU2x1Z30+XG4gICAgICAgIDxEb2N1bWVudEluZm9Qcm92aWRlciBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufT5cbiAgICAgICAgICA8T3BlcmF0aW9uQ29udGV4dC5Qcm92aWRlciB2YWx1ZT1cInVwZGF0ZVwiPlxuICAgICAgICAgICAgPEZvcm0gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19mb3JtYH0gb25TdWNjZXNzPXtvblN1Y2Nlc3N9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWFpbmB9PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXJgfT5cbiAgICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcl9fdGl0bGVgfT5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2VkaXRpbmdMYWJlbCcsIHsgY291bnQsIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihwbHVyYWwsIGkxOG4pIH0pfVxuICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2xvc2UnKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXJfX2Nsb3NlYH1cbiAgICAgICAgICAgICAgICAgICAgaWQ9e2BjbG9zZS1kcmF3ZXJfXyR7ZHJhd2VyU2x1Z31gfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKGRyYXdlclNsdWcpfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFggLz5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxGaWVsZFNlbGVjdCBmaWVsZHM9e2ZpZWxkc30gc2V0U2VsZWN0ZWQ9e3NldFNlbGVjdGVkfSAvPlxuICAgICAgICAgICAgICAgIDxSZW5kZXJGaWVsZHMgZmllbGRTY2hlbWE9e3NlbGVjdGVkfSBmaWVsZFR5cGVzPXtmaWVsZFR5cGVzfSAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXdyYXBgfT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyYH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXN0aWNreS13cmFwYH0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvY3VtZW50LWFjdGlvbnNgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb2xsZWN0aW9uLnZlcnNpb25zID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFB1Ymxpc2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj17YCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9JHtnZXRRdWVyeVBhcmFtcygpfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNhdmVEcmFmdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7c2x1Z30ke2dldFF1ZXJ5UGFyYW1zKCl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdWJtaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249e2Ake3NlcnZlclVSTH0ke2FwaX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICA8L09wZXJhdGlvbkNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvRG9jdW1lbnRJbmZvUHJvdmlkZXI+XG4gICAgICA8L0RyYXdlcj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBFZGl0TWFueVxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIlN1Ym1pdCIsImFjdGlvbiIsImRpc2FibGVkIiwic3VibWl0IiwidXNlRm9ybSIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsInNhdmUiLCJ1c2VDYWxsYmFjayIsIm1ldGhvZCIsInNraXBWYWxpZGF0aW9uIiwiRm9ybVN1Ym1pdCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJQdWJsaXNoIiwib3ZlcnJpZGVzIiwiX3N0YXR1cyIsIlNhdmVEcmFmdCIsIkVkaXRNYW55IiwicHJvcHMiLCJjb2xsZWN0aW9uIiwiZmllbGRzIiwibGFiZWxzIiwicGx1cmFsIiwic2x1ZyIsInJlc2V0UGFyYW1zIiwicGVybWlzc2lvbnMiLCJ1c2VBdXRoIiwiY2xvc2VNb2RhbCIsInVzZU1vZGFsIiwicm91dGVzIiwiYXBpIiwic2VydmVyVVJMIiwidXNlQ29uZmlnIiwiY291bnQiLCJnZXRRdWVyeVBhcmFtcyIsInNlbGVjdEFsbCIsInVzZVNlbGVjdGlvbiIsImkxOG4iLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwidXNlU3RhdGUiLCJjb2xsZWN0aW9uUGVybWlzc2lvbnMiLCJjb2xsZWN0aW9ucyIsImhhc1VwZGF0ZVBlcm1pc3Npb24iLCJ1cGRhdGUiLCJwZXJtaXNzaW9uIiwiZHJhd2VyU2x1ZyIsIlNlbGVjdEFsbFN0YXR1cyIsIk5vbmUiLCJvblN1Y2Nlc3MiLCJwYWdlIiwiQWxsQXZhaWxhYmxlIiwidW5kZWZpbmVkIiwiZGl2IiwiRHJhd2VyVG9nZ2xlciIsImFyaWEtbGFiZWwiLCJEcmF3ZXIiLCJoZWFkZXIiLCJEb2N1bWVudEluZm9Qcm92aWRlciIsIk9wZXJhdGlvbkNvbnRleHQiLCJQcm92aWRlciIsInZhbHVlIiwiRm9ybSIsImgyIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImJ1dHRvbiIsImlkIiwidHlwZSIsIlgiLCJGaWVsZFNlbGVjdCIsIlJlbmRlckZpZWxkcyIsImZpZWxkU2NoZW1hIiwiZmllbGRUeXBlcyIsInZlcnNpb25zIiwiUmVhY3QiLCJGcmFnbWVudCIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFpTEE7OztlQUFBOzs7dUJBakx5QjsrREFDb0I7OEJBQ2Q7Z0NBSUE7NkRBQ2Q7eUJBQ087cUVBQ0M7K0RBQ0Y7NEJBQ0k7MERBQ2I7c0JBQ1U7d0JBQ0U7OEJBQ1c7bUNBQ0o7bUNBQ2E7d0JBQ1I7NkJBQ1Y7UUFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxTQUEwRCxDQUFDLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFO0lBQ25GLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdDLElBQUFBLGdCQUFPO0lBQzFCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFN0IsTUFBTUMsT0FBT0MsSUFBQUEsa0JBQVcsRUFBQztRQUN2QkwsT0FBTztZQUNMRjtZQUNBUSxRQUFRO1lBQ1JDLGdCQUFnQjtRQUNsQjtJQUNGLEdBQUc7UUFBQ1Q7UUFBUUU7S0FBTztJQUVuQixxQkFDRSw2QkFBQ1EsZUFBVTtRQUFDQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxNQUFNLENBQUM7UUFBRUcsVUFBVUE7UUFBVVcsU0FBU047T0FDdkVGLEVBQUU7QUFHVDtBQUNBLE1BQU1TLFVBQTJELENBQUMsRUFBRWIsTUFBTSxFQUFFQyxRQUFRLEVBQUU7SUFDcEYsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsSUFBQUEsZ0JBQU87SUFDMUIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWMsRUFBQztJQUU3QixNQUFNQyxPQUFPQyxJQUFBQSxrQkFBVyxFQUFDO1FBQ3ZCTCxPQUFPO1lBQ0xGO1lBQ0FRLFFBQVE7WUFDUk0sV0FBVztnQkFDVEMsU0FBUztZQUNYO1lBQ0FOLGdCQUFnQjtRQUNsQjtJQUNGLEdBQUc7UUFBQ1Q7UUFBUUU7S0FBTztJQUVuQixxQkFDRSw2QkFBQ1EsZUFBVTtRQUFDQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxTQUFTLENBQUM7UUFBRUcsVUFBVUE7UUFBVVcsU0FBU047T0FDMUVGLEVBQUU7QUFHVDtBQUNBLE1BQU1ZLFlBQTZELENBQUMsRUFBRWhCLE1BQU0sRUFBRUMsUUFBUSxFQUFFO0lBQ3RGLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdDLElBQUFBLGdCQUFPO0lBQzFCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFN0IsTUFBTUMsT0FBT0MsSUFBQUEsa0JBQVcsRUFBQztRQUN2QkwsT0FBTztZQUNMRjtZQUNBUSxRQUFRO1lBQ1JNLFdBQVc7Z0JBQ1RDLFNBQVM7WUFDWDtZQUNBTixnQkFBZ0I7UUFDbEI7SUFDRixHQUFHO1FBQUNUO1FBQVFFO0tBQU87SUFFbkIscUJBQ0UsNkJBQUNRLGVBQVU7UUFBQ0MsV0FBVyxDQUFDLEVBQUViLFVBQVUsT0FBTyxDQUFDO1FBQUVHLFVBQVVBO1FBQVVXLFNBQVNOO09BQ3hFRixFQUFFO0FBR1Q7QUFDQSxNQUFNYSxXQUE0QixDQUFDQztJQUNqQyxNQUFNLEVBQUVDLFlBQVksRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRSxFQUFFQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRUosVUFBVSxFQUFFSyxXQUFXLEVBQUUsR0FBR047SUFFM0YsTUFBTSxFQUFFTyxXQUFXLEVBQUUsR0FBR0MsSUFBQUEsYUFBTztJQUMvQixNQUFNLEVBQUVDLFVBQVUsRUFBRSxHQUFHQyxJQUFBQSxlQUFRO0lBQy9CLE1BQU0sRUFDSkMsUUFBUSxFQUFFQyxHQUFHLEVBQUUsRUFDZkMsU0FBUyxFQUNWLEdBQUdDLElBQUFBLGlCQUFTO0lBQ2IsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLGNBQWMsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLElBQUFBLCtCQUFZO0lBQ3pELE1BQU0sRUFBRUMsSUFBSSxFQUFFakMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFDbkMsTUFBTSxDQUFDaUMsVUFBVUMsWUFBWSxHQUFHQyxJQUFBQSxlQUFRLEVBQUMsRUFBRTtJQUUzQyxNQUFNQyx3QkFBd0JoQixhQUFhaUIsYUFBYSxDQUFDbkIsS0FBSztJQUM5RCxNQUFNb0Isc0JBQXNCRix1QkFBdUJHLFFBQVFDO0lBRTNELE1BQU1DLGFBQWEsQ0FBQyxLQUFLLEVBQUV2QixLQUFLLENBQUM7SUFFakMsSUFBSVksY0FBY1ksa0NBQWUsQ0FBQ0MsSUFBSSxJQUFJLENBQUNMLHFCQUFxQjtRQUM5RCxPQUFPO0lBQ1Q7SUFFQSxNQUFNTSxZQUFZO1FBQ2hCekIsWUFBWTtZQUFFMEIsTUFBTWYsY0FBY1ksa0NBQWUsQ0FBQ0ksWUFBWSxHQUFHLElBQUlDO1FBQVU7SUFDakY7SUFFQSxxQkFDRSw2QkFBQ0M7UUFBSTFDLFdBQVdiO3FCQUNkLDZCQUFDd0QscUJBQWE7UUFDWkMsY0FBWW5ELEVBQUU7UUFDZE8sV0FBVyxDQUFDLEVBQUViLFVBQVUsUUFBUSxDQUFDO1FBQ2pDYyxTQUFTO1lBQ1AyQixZQUFZLEVBQUU7UUFDaEI7UUFDQWhCLE1BQU11QjtPQUVMMUMsRUFBRSx3QkFFTCw2QkFBQ29ELGNBQU07UUFBQ0MsUUFBUTtRQUFNbEMsTUFBTXVCO3FCQUMxQiw2QkFBQ1ksa0NBQW9CO1FBQUN2QyxZQUFZQTtxQkFDaEMsNkJBQUN3QyxtQ0FBZ0IsQ0FBQ0MsUUFBUTtRQUFDQyxPQUFNO3FCQUMvQiw2QkFBQ0MsYUFBSTtRQUFDbkQsV0FBVyxDQUFDLEVBQUViLFVBQVUsTUFBTSxDQUFDO1FBQUVtRCxXQUFXQTtxQkFDaEQsNkJBQUNJO1FBQUkxQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxNQUFNLENBQUM7cUJBQ2xDLDZCQUFDdUQ7UUFBSTFDLFdBQVcsQ0FBQyxFQUFFYixVQUFVLFFBQVEsQ0FBQztxQkFDcEMsNkJBQUNpRTtRQUFHcEQsV0FBVyxDQUFDLEVBQUViLFVBQVUsZUFBZSxDQUFDO09BQ3pDTSxFQUFFLGdCQUFnQjtRQUFFNkI7UUFBTytCLE9BQU9DLElBQUFBLDhCQUFjLEVBQUMzQyxRQUFRZTtJQUFNLG1CQUVsRSw2QkFBQzZCO1FBQ0NYLGNBQVluRCxFQUFFO1FBQ2RPLFdBQVcsQ0FBQyxFQUFFYixVQUFVLGVBQWUsQ0FBQztRQUN4Q3FFLElBQUksQ0FBQyxjQUFjLEVBQUVyQixXQUFXLENBQUM7UUFDakNsQyxTQUFTLElBQU1lLFdBQVdtQjtRQUMxQnNCLE1BQUs7cUJBRUwsNkJBQUNDLFVBQUMseUJBR04sNkJBQUNDLHdCQUFXO1FBQUNsRCxRQUFRQTtRQUFRbUIsYUFBYUE7c0JBQzFDLDZCQUFDZ0MscUJBQVk7UUFBQ0MsYUFBYWxDO1FBQVVtQyxZQUFZQSxzQkFBVTtzQkFDM0QsNkJBQUNwQjtRQUFJMUMsV0FBVyxDQUFDLEVBQUViLFVBQVUsY0FBYyxDQUFDO3FCQUMxQyw2QkFBQ3VEO1FBQUkxQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxTQUFTLENBQUM7cUJBQ3JDLDZCQUFDdUQ7UUFBSTFDLFdBQVcsQ0FBQyxFQUFFYixVQUFVLHFCQUFxQixDQUFDO3FCQUNqRCw2QkFBQ3VEO1FBQUkxQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxrQkFBa0IsQ0FBQztPQUM3Q3FCLFdBQVd1RCxRQUFRLGlCQUNsQiw2QkFBQ0MsY0FBSyxDQUFDQyxRQUFRLHNCQUNiLDZCQUFDL0Q7UUFDQ2IsUUFBUSxDQUFDLEVBQUUrQixVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFUCxLQUFLLEVBQUVXLGlCQUFpQixDQUFDO1FBQ3ZEakMsVUFBVXFDLFNBQVN1QyxNQUFNLEtBQUs7c0JBRWhDLDZCQUFDN0Q7UUFDQ2hCLFFBQVEsQ0FBQyxFQUFFK0IsVUFBVSxFQUFFRCxJQUFJLENBQUMsRUFBRVAsS0FBSyxFQUFFVyxpQkFBaUIsQ0FBQztRQUN2RGpDLFVBQVVxQyxTQUFTdUMsTUFBTSxLQUFLO3dCQUlsQyw2QkFBQzlFO1FBQ0NDLFFBQVEsQ0FBQyxFQUFFK0IsVUFBVSxFQUFFRCxJQUFJLENBQUMsRUFBRVAsS0FBSyxFQUFFVyxpQkFBaUIsQ0FBQztRQUN2RGpDLFVBQVVxQyxTQUFTdUMsTUFBTSxLQUFLOztBQWMxRDtNQUVBLFdBQWU1RCJ9