"use strict";
(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_views_m"],{
/***/ "./src/shared/views/main/volunteer/approved.tsx"
/*!******************************************************!*\
!*** ./src/shared/views/main/volunteer/approved.tsx ***!
\******************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_tag__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/tag */ "../../../node_modules/antd/lib/tag/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var antd_es_image__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/image */ "../../../node_modules/antd/lib/image/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var antd_es_typography__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/typography */ "../../../node_modules/antd/lib/typography/index.js");
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SortAscendingOutlined.js");
/* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! xlsx */ "../../../node_modules/xlsx/xlsx.mjs");
/* harmony import */ var jspdf_autotable__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! jspdf-autotable */ "../../../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js");
/* harmony import */ var jspdf_autotable__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(jspdf_autotable__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var notiflix__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! notiflix */ "../../../node_modules/notiflix/dist/notiflix-aio-3.2.8.min.js");
/* harmony import */ var notiflix__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(notiflix__WEBPACK_IMPORTED_MODULE_24__);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! moment */ "../../../node_modules/moment/moment.js");
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_25__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var confirm = antd_es_modal__WEBPACK_IMPORTED_MODULE_11__["default"].confirm;
var statusColors = {
Register: 'blue',
Shortlist: 'gold',
Interview: 'purple',
Participants: 'green',
Reserve: 'cyan',
Failed: 'red',
Resignation: 'orange',
Disqualification: 'volcano'
};
var ApprovedVoluneers = function ApprovedVoluneers(_ref) {
var _volunteers$meta, _educationInstitution, _interestedTeams$data, _volunteerEvents$data, _languages$data, _skills$data, _volunteers$meta2;
var status = _ref.status;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_14__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_15__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_14__.useSelector)(function (state) {
return state.volunteer;
}),
volunteers = _useSelector.volunteers,
volunteerPending = _useSelector.volunteerPending,
dashboard = _useSelector.dashboard,
provinces = _useSelector.provinces,
educationInstitutions = _useSelector.educationInstitutions,
interestedTeams = _useSelector.interestedTeams,
volunteerEvents = _useSelector.volunteerEvents,
skills = _useSelector.skills,
languages = _useSelector.languages;
var _useSelector2 = (0,react_redux__WEBPACK_IMPORTED_MODULE_14__.useSelector)(function (state) {
return state;
}),
auth = _useSelector2.auth;
var currentUser = auth.currentUser;
var isAdmin = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "super_admin"; // Check user role
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(1),
_useState4 = _slicedToArray(_useState3, 2),
currentPage = _useState4[0],
setCurrentPage = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(10),
_useState6 = _slicedToArray(_useState5, 2),
pageSize = _useState6[0],
setPageSize = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(""),
_useState8 = _slicedToArray(_useState7, 2),
search = _useState8[0],
setSearch = _useState8[1];
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)("desc"),
_useState0 = _slicedToArray(_useState9, 2),
sortOrder = _useState0[0],
setSortOrder = _useState0[1];
var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(""),
_useState10 = _slicedToArray(_useState1, 2),
province = _useState10[0],
setProvince = _useState10[1];
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(0),
_useState12 = _slicedToArray(_useState11, 2),
teamId = _useState12[0],
setTeamId = _useState12[1];
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]),
_useState14 = _slicedToArray(_useState13, 2),
eventIds = _useState14[0],
setEventIds = _useState14[1];
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(0),
_useState16 = _slicedToArray(_useState15, 2),
languageId = _useState16[0],
setLanguageId = _useState16[1];
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(0),
_useState18 = _slicedToArray(_useState17, 2),
skillId = _useState18[0],
setSkillId = _useState18[1];
var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(null),
_useState20 = _slicedToArray(_useState19, 2),
selectedInstitution = _useState20[0],
setSelectedInstitution = _useState20[1];
var _useState21 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(null),
_useState22 = _slicedToArray(_useState21, 2),
scoreFrom = _useState22[0],
setScoreFrom = _useState22[1];
var _useState23 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(null),
_useState24 = _slicedToArray(_useState23, 2),
scoreTo = _useState24[0],
setScoreTo = _useState24[1];
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchProvince)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchEducationInstitutions)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchTeam)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchEvent)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchLanguateAction)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchSkillAction)());
}, [dispatch]);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchEducationInstitutions)());
}, [dispatch]);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
search: search,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
}));
}, [dispatch, status, currentPage, pageSize, search, sortOrder, selectedInstitution, scoreFrom, scoreTo, province, teamId, eventIds, languageId, skillId]);
var handleSearch = function handleSearch(e) {
setSearch(e.target.value);
};
var resetSearch = function resetSearch() {
setSearch("");
};
var handleScoreFrom = function handleScoreFrom(e) {
var value = e.target.value;
setScoreFrom(value ? Number(value) : null); // Sets null instead of ""
};
var handleScoreTo = function handleScoreTo(e) {
var value = e.target.value;
setScoreTo(value ? Number(value) : null); // Sets null instead of ""
};
var handleEdit = function handleEdit(id) {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.volunteerDetailAction)(id));
navigate("/volunteer/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
if (!isAdmin) return; // Restrict access to non-admins
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().fire({
title: 'Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n
\n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.deleteVolunteerAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
}));
});
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().close();
});
}
});
};
var statusOptions = ["Register", "Shortlist", "Interview", "Participants", "Reserve", "Failed", "Resignation", "Disqualification"];
// Handle status change and fetch updated list
var handleStatusChange = function handleStatusChange(volunteerId, newStatus) {
if (!isAdmin) return; // Restrict access to non-admins
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.updateVolunteerAction)({
id: volunteerId,
data: {
volunteer_status: newStatus
}
})).then(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
})); // Fetch updated list after change
notiflix__WEBPACK_IMPORTED_MODULE_24___default().Notify.success("Status updated to \"".concat(newStatus, "\""));
})["catch"](function () {
notiflix__WEBPACK_IMPORTED_MODULE_24___default().Notify.failure("Failed to update status. Try again.");
});
};
var handleInstitutionChange = function handleInstitutionChange(institutionId) {
setSelectedInstitution(institutionId);
};
var handleTableChange = function handleTableChange(pagination) {
setCurrentPage(pagination.current);
setPageSize(pagination.pageSize);
};
var columns = [{
title: '№',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'លេខកូដ',
key: 'code',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
size: "small"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
type: "link",
onClick: function onClick() {
return handleEdit(record.id);
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_typography__WEBPACK_IMPORTED_MODULE_10__["default"].Text, {
style: {
color: record.main_code ? 'green' : 'inherit'
}
}, record.main_code || record.code)));
}
}, {
title: 'រូបភាពនិងឈ្មោះ',
dataIndex: 'combined',
key: 'combined',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
display: 'flex',
alignItems: 'center',
gap: 10
}
}, record.photo ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_7__["default"], {
width: 50,
src: record.photo,
alt: "Photo",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "No Image"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, record.name));
}
}, {
title: 'លេខទូរស័ព្ទ',
dataIndex: 'phone_number',
key: 'phone_number',
responsive: ['md'],
ellipsis: true
}, {
title: 'ភេទ',
dataIndex: 'gender',
key: 'gender',
responsive: ['sm'],
ellipsis: true
}, {
title: 'ព័ត៌មានអំពីការដាក់ពាក្យ',
dataIndex: 'application_info',
key: 'application_info',
responsive: ['md'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD:"), " ", record.volunteer_event_name || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u1780\u17D2\u179A\u17BB\u1798\u1780\u17B6\u179A\u1784\u17B6\u179A:"), " ", record.interested_team_name || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u17A2\u17CA\u17B8\u1798\u17C2\u179B:"), " ", record.email || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u1790\u17D2\u1784\u17C3\u1785\u17BB\u17C7\u1788\u17D2\u1798\u17C4\u17C7:"), " ", moment__WEBPACK_IMPORTED_MODULE_25___default()(record.created_at).format('MMMM Do YYYY, h:mm:ss a') || '-'));
}
}, {
title: 'ព្រឹត្តិការណ៍',
dataIndex: 'volunteer_event_name',
key: 'volunteer_event_name',
responsive: ['sm']
}, {
title: "Action",
key: "action",
responsive: ["xs", "sm", "md", "lg"],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
size: "small"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_tag__WEBPACK_IMPORTED_MODULE_5__["default"], {
color: statusColors[record.volunteer_status] || "default",
style: {
padding: "3px 6px",
borderRadius: "6px",
display: "flex",
alignItems: "center"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
size: "small" // ✅ Makes the dropdown smaller
,
value: record.volunteer_status || "Register",
bordered: false // ✅ Removes border for a cleaner look
,
dropdownStyle: {
fontSize: "12px"
} // ✅ Ensures smaller text in dropdown
,
style: {
minWidth: 100,
backgroundColor: "transparent",
fontSize: "12px" // ✅ Makes text smaller
},
disabled: !isAdmin,
onChange: function onChange(newStatus) {
return handleStatusChange(record.id, newStatus);
}
}, statusOptions.map(function (status) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"].Option, {
key: status,
value: status
}, status);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_18__["default"], null),
type: "primary",
size: "small" // ✅ Makes button smaller
,
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_17__["default"], null),
danger: true,
size: "small" // ✅ Makes button smaller
,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}, {
title: 'អត្តសញ្ញាណប័ណ្ណ',
dataIndex: 'upload_id_card',
key: 'upload_id_card',
responsive: ['lg'],
render: function render(text) {
return text ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_7__["default"], {
width: 50,
src: text,
alt: "ID Card",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : 'No Image';
}
}];
// 📌 EXPORT TO EXCEL FUNCTION
var exportToExcel = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
var _allDashboard$payload, _allvolunteers$payloa;
var allDashboard, allvolunteers, _allvolunteers$payloa2, ws, wb;
return _regenerator().w(function (_context) {
while (1) switch (_context.n) {
case 0:
if (isAdmin) {
_context.n = 1;
break;
}
return _context.a(2);
case 1:
_context.n = 2;
return dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchDashboardAction)());
case 2:
allDashboard = _context.v;
_context.n = 3;
return dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: 1,
pageSize: (allDashboard === null || allDashboard === void 0 || (_allDashboard$payload = allDashboard.payload) === null || _allDashboard$payload === void 0 ? void 0 : _allDashboard$payload.count_volunteers) || 2000,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
}));
case 3:
allvolunteers = _context.v;
if (allvolunteers && (allvolunteers === null || allvolunteers === void 0 || (_allvolunteers$payloa = allvolunteers.payload) === null || _allvolunteers$payloa === void 0 ? void 0 : _allvolunteers$payloa.data.length) > 0) {
ws = xlsx__WEBPACK_IMPORTED_MODULE_21__.utils.json_to_sheet(allvolunteers === null || allvolunteers === void 0 || (_allvolunteers$payloa2 = allvolunteers.payload) === null || _allvolunteers$payloa2 === void 0 ? void 0 : _allvolunteers$payloa2.data.map(function (it, index) {
var _it$last_name_khmer, _it$first_name_khmer, _it$last_name_latin, _it$first_name_latin, _it$date_of_birth, _it$gender, _it$nationality, _it$phone_number, _it$email, _it$current_address, _it$province_id, _it$occupation_name, _it$education_institu, _it$t_shirt_size, _it$food_name, _it$food_allergies, _it$disability_type_n, _it$interested_team_n, _it$volunteer_event_n, _it$opportunity_sourc, _it$training_session_, _it$volunteer_status;
return {
'#': index + 1,
'លេខកូដបណ្ដោះអាសន្ន': it.code,
'លេខកូដ': it.main_code,
'ឈ្មោះ (Khmer)': "".concat((_it$last_name_khmer = it.last_name_khmer) !== null && _it$last_name_khmer !== void 0 ? _it$last_name_khmer : '', " ").concat((_it$first_name_khmer = it.first_name_khmer) !== null && _it$first_name_khmer !== void 0 ? _it$first_name_khmer : ''),
'ឈ្មោះ (Latin)': "".concat((_it$last_name_latin = it.last_name_latin) !== null && _it$last_name_latin !== void 0 ? _it$last_name_latin : '', " ").concat((_it$first_name_latin = it.first_name_latin) !== null && _it$first_name_latin !== void 0 ? _it$first_name_latin : ''),
'ថ្ងៃកំណើត': (_it$date_of_birth = it.date_of_birth) !== null && _it$date_of_birth !== void 0 ? _it$date_of_birth : '',
'ភេទ': (_it$gender = it.gender) !== null && _it$gender !== void 0 ? _it$gender : '',
'សញ្ជាតិ': (_it$nationality = it.nationality) !== null && _it$nationality !== void 0 ? _it$nationality : '',
'លេខទូរស័ព្ទ': (_it$phone_number = it.phone_number) !== null && _it$phone_number !== void 0 ? _it$phone_number : '',
'អ៊ីមែល': (_it$email = it.email) !== null && _it$email !== void 0 ? _it$email : '',
'អាសយដ្ឋាន': (_it$current_address = it.current_address) !== null && _it$current_address !== void 0 ? _it$current_address : '',
'ខេត្ត': (_it$province_id = it.province_id) !== null && _it$province_id !== void 0 ? _it$province_id : '',
'អាជីព': (_it$occupation_name = it.occupation_name) !== null && _it$occupation_name !== void 0 ? _it$occupation_name : '',
'ស្ថាប័នសិក្សា': (_it$education_institu = it.education_institution_name) !== null && _it$education_institu !== void 0 ? _it$education_institu : '',
'ទំហំអាវ': (_it$t_shirt_size = it.t_shirt_size) !== null && _it$t_shirt_size !== void 0 ? _it$t_shirt_size : '',
'អាហារ': (_it$food_name = it.food_name) !== null && _it$food_name !== void 0 ? _it$food_name : '',
'បញ្ហាអាហារ': it.is_food_allergy ? 'Yes' : 'No',
'អាហារដែលផ្អែក': (_it$food_allergies = it.food_allergies) !== null && _it$food_allergies !== void 0 ? _it$food_allergies : '',
'ប្រភេទពិការភាព': (_it$disability_type_n = it.disability_type_name) !== null && _it$disability_type_n !== void 0 ? _it$disability_type_n : '',
'ក្រុមដែលចាប់អារម្មណ៍': (_it$interested_team_n = it.interested_team_name) !== null && _it$interested_team_n !== void 0 ? _it$interested_team_n : '',
'ព្រឹត្តិការណ៍': (_it$volunteer_event_n = it.volunteer_event_name) !== null && _it$volunteer_event_n !== void 0 ? _it$volunteer_event_n : '',
'ប្រភពឱកាស': (_it$opportunity_sourc = it.opportunity_source_name) !== null && _it$opportunity_sourc !== void 0 ? _it$opportunity_sourc : '',
'វគ្គបណ្តុះបណ្តាល': (_it$training_session_ = it.training_session_name) !== null && _it$training_session_ !== void 0 ? _it$training_session_ : '',
'ស្ថានភាព': (_it$volunteer_status = it.volunteer_status) !== null && _it$volunteer_status !== void 0 ? _it$volunteer_status : '',
'Created At': it.created_at,
// ✅ Add Direct Image URLs
'រូបភាព': it.photo ? it.photo : 'No Image',
'អត្តសញ្ញាណប័ណ្ណ': it.upload_id_card ? it.upload_id_card : 'No Image',
// ✅ Add Downloadable CV Link
'CV': it.upload_cv ? "=HYPERLINK(\"".concat(it.upload_cv, "\", \"Download CV\")") : 'No CV'
};
}));
wb = xlsx__WEBPACK_IMPORTED_MODULE_21__.utils.book_new();
xlsx__WEBPACK_IMPORTED_MODULE_21__.utils.book_append_sheet(wb, ws, 'Volunteers');
// ✅ Ensure the CV link format is properly applied
ws['!cols'] = [{
wch: 10
}, {
wch: 20
}, {
wch: 25
}, {
wch: 25
}, {
wch: 15
}, {
wch: 10
}, {
wch: 20
}, {
wch: 20
}, {
wch: 30
}, {
wch: 20
}, {
wch: 20
}, {
wch: 25
}, {
wch: 15
}, {
wch: 10
}, {
wch: 10
}, {
wch: 10
}, {
wch: 15
}, {
wch: 15
}, {
wch: 20
}, {
wch: 20
}, {
wch: 20
}, {
wch: 20
}, {
wch: 25
}];
xlsx__WEBPACK_IMPORTED_MODULE_21__.writeFile(wb, 'Volunteers.xlsx');
}
case 4:
return _context.a(2);
}
}, _callee);
}));
return function exportToExcel() {
return _ref2.apply(this, arguments);
};
}();
var handleSortOrder = function handleSortOrder() {
setSortOrder(function (prevOrder) {
return prevOrder === "desc" ? "asc" : "desc";
});
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, isAdmin && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], {
gutter: [16, 16],
justify: "space-between",
align: "middle",
style: {
marginBottom: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
md: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (volunteers === null || volunteers === void 0 || (_volunteers$meta = volunteers.meta) === null || _volunteers$meta === void 0 ? void 0 : _volunteers$meta.total) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_4__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
value: search,
onChange: handleSearch,
style: {
minWidth: 150
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
onClick: resetSearch
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
md: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
wrap: true,
style: {
width: '100%',
justifyContent: 'flex-end'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
type: "default",
style: {
borderColor: "red",
color: "red",
backgroundColor: "white"
},
onClick: handleSortOrder
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_20__["default"], {
style: {
color: "red"
}
}), " ORDER"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
type: "default",
style: {
borderColor: "green",
color: "green",
backgroundColor: "white"
},
onClick: exportToExcel
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_19__["default"], {
style: {
color: "green"
}
}), " Excel")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], {
gutter: [16, 16]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1781\u17C1\u178F\u17D2\u178F\u200B \u17AC \u1780\u17D2\u179A\u17BB\u1784"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
placeholder: "Select a Province or City",
onChange: function onChange(value) {
return setProvince(value);
},
showSearch: true
}, Array.isArray(provinces) && provinces.length > 0 ? provinces.map(function (province) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"].Option, {
key: province.id,
value: "".concat(province.id, ",").concat(province.name.km, " / ").concat(province.name.latin)
}, "".concat(province.name.km, " / ").concat(province.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"].Option, {
disabled: true
}, "No provinces available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u179F\u17B6\u1780\u179B\u179C\u17B7\u1791\u17D2\u1799\u17B6\u179B\u17D0\u1799"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
},
onChange: handleInstitutionChange,
placeholder: "Select an institution"
}, educationInstitutions === null || educationInstitutions === void 0 || (_educationInstitution = educationInstitutions.data) === null || _educationInstitution === void 0 ? void 0 : _educationInstitution.map(function (institution) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: institution.id,
value: institution.id
}, institution.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1780\u17D2\u179A\u17BB\u1798"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select an interested team",
onChange: function onChange(value) {
return setTeamId(value);
},
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
}
}, interestedTeams === null || interestedTeams === void 0 || (_interestedTeams$data = interestedTeams.data) === null || _interestedTeams$data === void 0 ? void 0 : _interestedTeams$data.map(function (team) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: team.id,
value: team.id
}, team.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
mode: "multiple",
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select an event",
value: eventIds,
onChange: function onChange(values) {
return setEventIds(values);
},
filterOption: function filterOption(input, option) {
var _option$children;
return option === null || option === void 0 || (_option$children = option.children) === null || _option$children === void 0 ? void 0 : _option$children.toString().toLowerCase().includes(input.toLowerCase());
}
}, volunteerEvents === null || volunteerEvents === void 0 || (_volunteerEvents$data = volunteerEvents.data) === null || _volunteerEvents$data === void 0 ? void 0 : _volunteerEvents$data.map(function (event) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: event.id,
value: event.id
}, event.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1797\u17B6\u179F\u17B6"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select a language",
onChange: function onChange(value) {
return setLanguageId(value);
},
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
}
}, languages === null || languages === void 0 || (_languages$data = languages.data) === null || _languages$data === void 0 ? void 0 : _languages$data.map(function (language) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: language.id,
value: language.id
}, language.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1787\u17C6\u1793\u17B6\u1789\u1795\u17D2\u179F\u17C1\u1784\u1791\u17C0\u178F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select a skill",
onChange: function onChange(value) {
return setSkillId(value);
},
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
}
}, skills === null || skills === void 0 || (_skills$data = skills.data) === null || _skills$data === void 0 ? void 0 : _skills$data.map(function (skill) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: skill.id,
value: skill.id
}, skill.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 24,
md: 12,
lg: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1796\u17B7\u1793\u17D2\u1791\u17BB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
style: {
width: '100%'
},
direction: "horizontal",
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "From",
min: 0,
value: scoreFrom,
onChange: setScoreFrom
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "To",
min: scoreFrom || 0,
value: scoreTo,
onChange: setScoreTo
}))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: ((volunteers === null || volunteers === void 0 ? void 0 : volunteers.data) || []).map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: "".concat(it.last_name_latin, " ").concat(it.first_name_latin)
}, it);
}),
loading: volunteerPending,
pagination: {
current: currentPage,
pageSize: pageSize,
total: (volunteers === null || volunteers === void 0 || (_volunteers$meta2 = volunteers.meta) === null || _volunteers$meta2 === void 0 ? void 0 : _volunteers$meta2.total) || 0,
showSizeChanger: true
},
onChange: handleTableChange,
rowKey: "id",
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_16__["default"], {
visible: volunteerPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApprovedVoluneers);
/***/ },
/***/ "./src/shared/views/main/volunteer/form.tsx"
/*!**************************************************!*\
!*** ./src/shared/views/main/volunteer/form.tsx ***!
\**************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_register_components_form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/volunteer/register/components/form */ "./src/services/volunteer/register/components/form.tsx");
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var NewEditVolunteerPage = function NewEditVolunteerPage() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_volunteer_register_components_form__WEBPACK_IMPORTED_MODULE_1__["default"], {
id: id
});
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditVolunteerPage);
/***/ },
/***/ "./src/shared/views/main/volunteer/index.tsx"
/*!***************************************************!*\
!*** ./src/shared/views/main/volunteer/index.tsx ***!
\***************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_tabs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/tabs */ "../../../node_modules/antd/lib/tabs/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _approved__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./approved */ "./src/shared/views/main/volunteer/approved.tsx");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var VOLUNTEER_TABS = [{
label: "បញ្ជីអ្នកចុះឈ្មោះស្ម័គ្រចិត្ត",
key: ""
}, {
label: "បញ្ជីសម្រាំ",
key: "Shortlist",
adminOnly: true
}, {
label: "បញ្ជីអ្នកត្រូវសម្ភាសន៍",
key: "Interview",
adminOnly: true
}, {
label: "បញ្ជីអ្នកជាប់",
key: "Participants",
adminOnly: true
}, {
label: "បញ្ជីអ្នកបំរុង",
key: "Reserve",
adminOnly: true
}, {
label: "បញ្ជីអ្នកធ្លាក់",
key: "Failed",
adminOnly: true
}, {
label: "បញ្ជីអ្នកសុំឈប់",
key: "Resignation",
adminOnly: true
}, {
label: "បញ្ជីអ្នកមិនទាន់មានលក្ខណៈគ្រប់គ្រាន់",
key: "Disqualification",
adminOnly: true
}];
var VolunteerList = function VolunteerList() {
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useLocation)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useNavigate)();
var query = new URLSearchParams(location.search);
var initialStatus = query.get("status") || "";
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialStatus),
_useState2 = _slicedToArray(_useState, 2),
status = _useState2[0],
setStatus = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) {
return state.auth;
}),
currentUser = _useSelector.currentUser;
var isAdmin = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "super_admin"; // Check if user is admin
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
if (query.get("status") !== status) {
setStatus(query.get("status") || "");
}
}, [location.search]); // Ensure status updates with URL changes
var handleTabChange = function handleTabChange(key) {
setStatus(key);
query.set("status", key);
navigate({
pathname: location.pathname,
search: query.toString()
});
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_0__["default"], {
activeKey: status,
onChange: handleTabChange
}, VOLUNTEER_TABS.map(function (_ref) {
var label = _ref.label,
key = _ref.key,
adminOnly = _ref.adminOnly;
return (!adminOnly || isAdmin) && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_0__["default"].TabPane, {
tab: label,
key: key
});
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_approved__WEBPACK_IMPORTED_MODULE_4__["default"], {
status: status
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerList);
/***/ },
/***/ "./src/shared/views/main/volunteer_event/form.tsx"
/*!********************************************************!*\
!*** ./src/shared/views/main/volunteer_event/form.tsx ***!
\********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/volunteer_event/core/actions */ "./src/services/volunteer_event/core/actions.ts");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js");
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var NewEditVolunteerEventPage = function NewEditVolunteerEventPage() {
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) {
return state.volunteerEvent;
}),
volunteerEvent = _useSelector.volunteerEvent,
registerErrorMessage = _useSelector.registerErrorMessage,
volunteerEventUpdatePending = _useSelector.volunteerEventUpdatePending;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
isClick = _useState2[0],
setIsClick = _useState2[1];
// 👉 Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__.volunteerEventDetailAction)(Number(id)));
} else {
form.resetFields(); // Reset form fields when adding a new item
}
}, [dispatch, id, form]);
// 👉 Populate form with fetched data
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (id && volunteerEvent) {
form.setFieldsValue({
name: volunteerEvent.name || '',
description: volunteerEvent.description || ''
});
}
}, [volunteerEvent, form, id]);
// 👉 Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (!volunteerEventUpdatePending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/volunteer-events');
}
}
}, [volunteerEventUpdatePending, registerErrorMessage, id, isClick, navigate]);
// 👉 Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateVolunteerEventAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__.createVolunteerEventAction)({
data: values
}));
form.resetFields(); // Reset form after successful creation
}
setIsClick(true);
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'កែប្រែព្រឹត្តិការណ៍ស្ម័គ្រចិត្ត' : 'បន្ថែមថ្មីព្រឹត្តិការណ៍ស្ម័គ្រចិត្ត'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], {
form: form,
layout: "vertical",
onFinish: onFinish,
style: {
maxWidth: '100%',
margin: '0 auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7",
name: "name",
rules: [{
required: true,
message: 'Please enter a name'
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, {
label: "\u1794\u179A\u17B7\u1799\u17B6\u1799",
name: "description"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], {
rows: 3
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], {
gutter: [12, 12]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
type: "primary",
block: true,
htmlType: "submit",
loading: volunteerEventUpdatePending
}, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], {
span: 3
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), {
htmlType: "button",
onClick: function onClick() {
return navigate('/volunteer-events');
}
}, "Cancel"))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditVolunteerEventPage);
/***/ },
/***/ "./src/shared/views/main/volunteer_event/index.tsx"
/*!*********************************************************!*\
!*** ./src/shared/views/main/volunteer_event/index.tsx ***!
\*********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var _services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/volunteer_event/core/actions */ "./src/services/volunteer_event/core/actions.ts");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var VolunteerEventList = function VolunteerEventList() {
var _volunteerEvents$meta, _volunteerEvents$meta2;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(1),
_useState2 = _slicedToArray(_useState, 2),
currentPage = _useState2[0],
setCurrentPage = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(10),
_useState4 = _slicedToArray(_useState3, 2),
pageSize = _useState4[0],
setPageSize = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]),
_useState6 = _slicedToArray(_useState5, 2),
selectedRows = _useState6[0],
setSelectedRows = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''),
_useState8 = _slicedToArray(_useState7, 2),
searchText = _useState8[0],
setSearchText = _useState8[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) {
return state.volunteerEvent;
}),
volunteerEvents = _useSelector.volunteerEvents,
volunteerEventsPending = _useSelector.volunteerEventsPending;
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchVolunteerEvents)({
search: searchText,
page: currentPage,
pageSize: pageSize
}));
}, [dispatch, searchText, currentPage, pageSize]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.volunteerEventDetailAction)(id));
navigate("/volunteer-events/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({
title: 'Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n \n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteVolunteerEventAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchVolunteerEvents)());
});
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close();
});
}
});
};
var handleSearch = function handleSearch() {
// Triggers search by setting state
setCurrentPage(1);
setSearchText(searchText.trim());
};
var handleReset = function handleReset() {
// Clears input and shows all data
setSearchText('');
};
var handleTableChange = function handleTableChange(pagination) {
setCurrentPage(pagination.current);
setPageSize(pagination.pageSize);
};
var columns = [{
title: 'លេខរៀង',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'ឈ្មោះ',
dataIndex: 'name',
key: 'name',
responsive: ['sm']
}, {
title: 'បរិយាយ',
dataIndex: 'description',
key: 'description',
responsive: ['sm']
}, {
title: 'Action',
key: 'action',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null),
type: "primary",
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null),
danger: true,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}];
var filteredData = ((volunteerEvents === null || volunteerEvents === void 0 ? void 0 : volunteerEvents.data) || []).filter(function (it) {
var _it$name;
return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase());
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px',
flexWrap: 'wrap'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (volunteerEvents === null || volunteerEvents === void 0 || (_volunteerEvents$meta = volunteerEvents.meta) === null || _volunteerEvents$meta === void 0 ? void 0 : _volunteerEvents$meta.total) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
style: {
width: 200
},
value: searchText,
onChange: function onChange(e) {
setCurrentPage(1);
setSearchText(e.target.value);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/volunteer-events/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: filteredData.map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: it.name
}, it);
}),
pagination: {
current: currentPage,
pageSize: pageSize,
total: (volunteerEvents === null || volunteerEvents === void 0 || (_volunteerEvents$meta2 = volunteerEvents.meta) === null || _volunteerEvents$meta2 === void 0 ? void 0 : _volunteerEvents$meta2.total) || 0,
showSizeChanger: true
},
onChange: handleTableChange,
rowKey: "id",
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], {
visible: volunteerEventsPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerEventList);
/***/ },
/***/ "./src/shared/views/not-found/not-found.tsx"
/*!**************************************************!*\
!*** ./src/shared/views/not-found/not-found.tsx ***!
\**************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
var NotFound = function NotFound() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h1", null, "404 - Page Not Found");
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NotFound);
/***/ },
/***/ "./src/shared/views/volunteer/volunteer-register-game.tsx"
/*!****************************************************************!*\
!*** ./src/shared/views/volunteer/volunteer-register-game.tsx ***!
\****************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_register_components_register_game__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/volunteer/register/components/register-game */ "./src/services/volunteer/register/components/register-game.tsx");
var VolunteerRegisterGameForm = function VolunteerRegisterGameForm() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "form-container"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_volunteer_register_components_register_game__WEBPACK_IMPORTED_MODULE_1__["default"], null));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerRegisterGameForm);
/***/ }
},
/******/ __webpack_require__ => { // webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, ["vendors-node_modules_ant-design_colors_es_index_js-node_modules_ant-design_cssinjs-utils_es_i-f02ac1","vendors-node_modules_ant-design_icons_BarsOutlined_js-node_modules_ant-design_icons_CalendarO-7cadf6","vendors-node_modules_antd_lib__util_ActionButton_js-node_modules_antd_lib__util_ContextIsolat-b90fcb","vendors-node_modules_antd_lib_app_context_js-node_modules_antd_lib_avatar_index_js-node_modul-2c5175","vendors-node_modules_antd_lib_col_index_js-node_modules_antd_lib_color-picker_components_Colo-c1ac4b","vendors-node_modules_antd_lib_empty_index_js-node_modules_antd_lib_form_hooks_useVariants_js--bb653c","vendors-node_modules_antd_lib_image_index_js-node_modules_antd_lib_input-number_index_js-node-448b51","vendors-node_modules_antd_lib_locale_ar_EG_js-node_modules_antd_lib_locale_az_AZ_js-node_modu-7ec6c3","vendors-node_modules_antd_lib_locale_kmr_IQ_js-node_modules_antd_lib_locale_kn_IN_js-node_mod-2ac214","vendors-node_modules_antd_lib_mentions_index_js-node_modules_antd_lib_menu_index_js-node_modu-4846ff","vendors-node_modules_antd_lib_modal_index_js-node_modules_antd_lib_pagination_index_js-node_m-c8b342","vendors-node_modules_antd_lib_row_index_js-node_modules_antd_lib_select_index_js-node_modules-4f326d","vendors-node_modules_antd_lib_space_index_js-node_modules_antd_lib_spin_index_js-node_modules-ab3176","vendors-node_modules_antd_lib_style_motion_index_js-node_modules_antd_lib_style_placementArro-1fef11","vendors-node_modules_antd_lib_tabs_index_js-node_modules_antd_lib_tag_index_js","vendors-node_modules_antd_lib_time-picker_locale_ar_EG_js-node_modules_antd_lib_time-picker_l-060d59","vendors-node_modules_antd_lib_tree_index_js-node_modules_antd_lib_typography_index_js-node_mo-2046af","vendors-node_modules_axios_lib_cancel_CancelToken_js-node_modules_axios_lib_core_Axios_js-nod-659661","vendors-node_modules_call-bound_index_js-node_modules_copy-to-clipboard_index_js-node_modules-eae75a","vendors-node_modules_emotion_hash_dist_hash_browser_esm_js-node_modules_emotion_unitless_dist-cea445","vendors-node_modules_fflate_esm_browser_js-node_modules_get-intrinsic_index_js-node_modules_f-a457fe","vendors-node_modules_gopd_index_js-node_modules_has-symbols_index_js-node_modules_hasown_inde-de185c","vendors-node_modules_jspdf_dist_jspdf_es_min_js","vendors-node_modules_lodash_every_js-node_modules_lodash_find_js-node_modules_lodash_flatMap_-d1fff4","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-c27f65","vendors-node_modules_moment_locale_gu_js-node_modules_moment_locale_he_js-node_modules_moment-f09aae","vendors-node_modules_moment_locale_nl-be_js-node_modules_moment_locale_nl_js-node_modules_mom-aa5e01","vendors-node_modules_moment_locale_tzl_js-node_modules_moment_locale_tzm-latn_js-node_modules-ad9985","vendors-node_modules_moment_moment_js","vendors-node_modules_notiflix_dist_notiflix-aio-3_2_8_min_js-node_modules_object-inspect_inde-908f0d","vendors-node_modules_rc-component_async-validator_es_index_js-node_modules_rc-component_color-9c3d79","vendors-node_modules_rc-dropdown_es_index_js-node_modules_rc-field-form_es_index_js-node_modu-800196","vendors-node_modules_rc-input-number_es_index_js-node_modules_rc-input_lib_utils_commonUtils_-994bf3","vendors-node_modules_rc-overflow_es_index_js-node_modules_rc-pagination_es_index_js-node_modu-6a88db","vendors-node_modules_rc-picker_es_index_js","vendors-node_modules_rc-picker_es_utils_dateUtil_js-node_modules_rc-picker_es_utils_miscUtil_-e20299","vendors-node_modules_rc-progress_es_index_js-node_modules_rc-resize-observer_es_index_js-node-08f4a6","vendors-node_modules_rc-steps_es_index_js-node_modules_rc-table_es_index_js-node_modules_rc-t-ed5418","vendors-node_modules_rc-textarea_es_index_js-node_modules_rc-tooltip_es_index_js-node_modules-ae4019","vendors-node_modules_rc-tree_lib_util_js-node_modules_rc-tree_lib_utils_conductUtil_js-node_m-79c8f8","vendors-node_modules_rc-util_lib_Children_toArray_js-node_modules_rc-util_lib_Dom_dynamicCSS_-42f019","vendors-node_modules_rc-virtual-list_es_index_js","vendors-node_modules_react-dom_cjs_react-dom_development_js","vendors-node_modules_react-dom_client_js-node_modules_react-phone-hooks_index_js","vendors-node_modules_react-phone-hooks_locale_js","vendors-node_modules_react-phone-hooks_styles_js-node_modules_react-redux_dist_react-redux_mj-091c33","vendors-node_modules_react-router-dom_dist_index_js","vendors-node_modules_react-smooth_es6_index_js","vendors-node_modules_react-transition-group_esm_Transition_js-node_modules_react-transition-g-8c83ea","vendors-node_modules_recharts-scale_es6_index_js-node_modules_recharts_es6_cartesian_Bar_js-n-5ba3ae","vendors-node_modules_recharts_es6_chart_BarChart_js-node_modules_recharts_es6_chart_PieChart_js","vendors-node_modules_recharts_es6_component_Cell_js-node_modules_recharts_es6_component_Curso-e8e03b","vendors-node_modules_recharts_es6_polar_Pie_js-node_modules_recharts_es6_polar_PolarAngleAxis-559055","vendors-node_modules_recharts_es6_util_BarUtils_js-node_modules_recharts_es6_util_CssPrefixUt-0883c9","vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_modern_mjs","vendors-node_modules_remix-run_router_dist_router_js","vendors-node_modules_resize-observer-polyfill_dist_ResizeObserver_es_js-node_modules_schedule-9e14aa","vendors-node_modules_sweetalert2_dist_sweetalert2_all_js-node_modules_toggle-selection_index_-23f96a","vendors-node_modules_xlsx_xlsx_mjs","main-i","main-src_services_p","main-src_services_volunteer_c","main-src_shared_a","main-src_shared_views_main_d","main-src_shared_views_main_i","main-src_shared_views_main_s"], () => (__webpack_exec__("./src/index.tsx")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX3ZpZXdzX20udm9sdW50ZWVyYXBpLjViYTJmNzI2YWU2YjVjZDg3YjMzLmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQ0EsdUtBQUFBLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxXQUFBLDhCQUFBQyxFQUFBTixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQUwsQ0FBQSxJQUFBQSxDQUFBLENBQUFNLFNBQUEsWUFBQUMsU0FBQSxHQUFBUCxDQUFBLEdBQUFPLFNBQUEsRUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUwsQ0FBQSxDQUFBQyxTQUFBLFVBQUFLLG1CQUFBLENBQUFILENBQUEsdUJBQUFWLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFJLENBQUEsTUFBQUMsQ0FBQSxHQUFBWCxDQUFBLFFBQUFZLENBQUEsT0FBQUMsQ0FBQSxLQUFBRixDQUFBLEtBQUFiLENBQUEsS0FBQWdCLENBQUEsRUFBQXBCLENBQUEsRUFBQXFCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBc0IsQ0FBQSxXQUFBQSxFQUFBckIsQ0FBQSxFQUFBQyxDQUFBLFdBQUFNLENBQUEsR0FBQVAsQ0FBQSxFQUFBUSxDQUFBLE1BQUFHLENBQUEsR0FBQVosQ0FBQSxFQUFBbUIsQ0FBQSxDQUFBZixDQUFBLEdBQUFGLENBQUEsRUFBQW1CLENBQUEsZ0JBQUFD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QXJCQSxRQUFrQkEsQ0FBQSxFQUFTO0VBQy9CLG9CQUFPalosMERBQUEsYUFBSSxzQkFBd0IsQ0FBQztBQUN0QyxDQUFDO0FBRUQsaUVBQWVpWixRQUFRLEU7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDTkc7QUFDb0U7QUFJOUYsSUFBTUUseUJBQW1DLEdBQUcsU0FBdENBLHlCQUFtQ0EsQ0FBQSxFQUFTO0VBRWhELG9CQUNFblosMERBQUE7SUFBS29aLFNBQVMsRUFBQztFQUFnQixnQkFDN0JwWiwwREFBQSxDQUFDa1osNkZBQWlCLE1BQUMsQ0FDaEIsQ0FBQztBQUVWLENBQUM7QUFFRCxpRUFBZUMseUJBQXlCLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL3ZvbHVudGVlci9hcHByb3ZlZC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi92b2x1bnRlZXIvZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi92b2x1bnRlZXIvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vdm9sdW50ZWVyX2V2ZW50L2Zvcm0udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vdm9sdW50ZWVyX2V2ZW50L2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9ub3QtZm91bmQvbm90LWZvdW5kLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy92b2x1bnRlZXIvdm9sdW50ZWVyLXJlZ2lzdGVyLWdhbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlLCBJbWFnZSwgTW9kYWwsIFJvdywgQ29sLCBUYWcsIFNlbGVjdCwgSW5wdXROdW1iZXIsIFR5cG9ncmFwaHkgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IGRlbGV0ZVZvbHVudGVlckFjdGlvbiwgZmV0Y2hEYXNoYm9hcmRBY3Rpb24sIGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zLCBmZXRjaEV2ZW50LCBmZXRjaExhbmd1YXRlQWN0aW9uLCBmZXRjaFByb3ZpbmNlLCBmZXRjaFNraWxsQWN0aW9uLCBmZXRjaFRlYW0sIGZldGNoVm9sdW50ZWVycywgdXBkYXRlVm9sdW50ZWVyQWN0aW9uLCB2b2x1bnRlZXJEZXRhaWxBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXIvY29yZS9hY3Rpb25zJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi8uLi8uLi9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBGaWxlRXhjZWxPdXRsaW5lZCwgU29ydEFzY2VuZGluZ091dGxpbmVkLCBGaWx0ZXJPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5pbXBvcnQgJ2pzcGRmLWF1dG90YWJsZSc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5pbXBvcnQgTm90aWZsaXggZnJvbSAnbm90aWZsaXgnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5cbmNvbnN0IHsgY29uZmlybSB9ID0gTW9kYWw7XG5cbmNvbnN0IHN0YXR1c0NvbG9yczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgUmVnaXN0ZXI6ICdibHVlJyxcbiAgU2hvcnRsaXN0OiAnZ29sZCcsXG4gIEludGVydmlldzogJ3B1cnBsZScsXG4gIFBhcnRpY2lwYW50czogJ2dyZWVuJyxcbiAgUmVzZXJ2ZTogJ2N5YW4nLFxuICBGYWlsZWQ6ICdyZWQnLFxuICBSZXNpZ25hdGlvbjogJ29yYW5nZScsXG4gIERpc3F1YWxpZmljYXRpb246ICd2b2xjYW5vJyxcbn07XG5cbmludGVyZmFjZSBBcHByb3ZlZFZvbHVuZWVyc1Byb3BzIHtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFwcHJvdmVkVm9sdW5lZXJzID0gKHsgc3RhdHVzIH06IEFwcHJvdmVkVm9sdW5lZXJzUHJvcHMpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IFtzZWxlY3RlZFJvd3MsIHNldFNlbGVjdGVkUm93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3Qge1xuICAgIHZvbHVudGVlcnMsXG4gICAgdm9sdW50ZWVyUGVuZGluZyxcbiAgICBkYXNoYm9hcmQsXG4gICAgcHJvdmluY2VzLFxuICAgIGVkdWNhdGlvbkluc3RpdHV0aW9ucyxcbiAgICBpbnRlcmVzdGVkVGVhbXMsXG4gICAgdm9sdW50ZWVyRXZlbnRzLFxuICAgIHNraWxscyxcbiAgICBsYW5ndWFnZXNcbiAgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXIpO1xuICBjb25zdCB7IGF1dGggfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IHsgY3VycmVudFVzZXIgfSA9IGF1dGg7XG4gIGNvbnN0IGlzQWRtaW4gPSBjdXJyZW50VXNlcj8ucm9sZSA9PT0gXCJzdXBlcl9hZG1pblwiOyAvLyBDaGVjayB1c2VyIHJvbGVcblxuICBjb25zdCBbY3VycmVudFBhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlKDEpO1xuICBjb25zdCBbcGFnZVNpemUsIHNldFBhZ2VTaXplXSA9IHVzZVN0YXRlKDEwKTtcbiAgY29uc3QgW3NlYXJjaCwgc2V0U2VhcmNoXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbc29ydE9yZGVyLCBzZXRTb3J0T3JkZXJdID0gdXNlU3RhdGUoXCJkZXNjXCIpO1xuICBjb25zdCBbcHJvdmluY2UsIHNldFByb3ZpbmNlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbdGVhbUlkLCBzZXRUZWFtSWRdID0gdXNlU3RhdGUoMCk7XG4gIGNvbnN0IFtldmVudElkcywgc2V0RXZlbnRJZHNdID0gdXNlU3RhdGU8bnVtYmVyW10+KFtdKTtcbiAgY29uc3QgW2xhbmd1YWdlSWQsIHNldExhbmd1YWdlSWRdID0gdXNlU3RhdGUoMCk7XG4gIGNvbnN0IFtza2lsbElkLCBzZXRTa2lsbElkXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc2VsZWN0ZWRJbnN0aXR1dGlvbiwgc2V0U2VsZWN0ZWRJbnN0aXR1dGlvbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Njb3JlRnJvbSwgc2V0U2NvcmVGcm9tXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbc2NvcmVUbywgc2V0U2NvcmVUb10gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoUHJvdmluY2UoKSk7XG4gICAgZGlzcGF0Y2goZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMoKSk7XG4gICAgZGlzcGF0Y2goZmV0Y2hUZWFtKCkpO1xuICAgIGRpc3BhdGNoKGZldGNoRXZlbnQoKSk7XG4gICAgZGlzcGF0Y2goZmV0Y2hMYW5ndWF0ZUFjdGlvbigpKTtcbiAgICBkaXNwYXRjaChmZXRjaFNraWxsQWN0aW9uKCkpO1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMoKSk7XG4gIH0sIFtkaXNwYXRjaF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFZvbHVudGVlcnMoeyB2b2x1bnRlZXJfc3RhdHVzOiBzdGF0dXMsIHBhZ2U6IGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSwgc2VhcmNoLCBzb3J0X29yZGVyOiBzb3J0T3JkZXIsIGVkdWNhdGlvbl9pbnN0aXR1dGlvbl9pZDogc2VsZWN0ZWRJbnN0aXR1dGlvbiwgc2NvcmVfZnJvbTogc2NvcmVGcm9tLCBzY29yZV90bzogc2NvcmVUbywgcHJvdmluY2UsIGludGVyZXN0ZWRfdGVhbV9pZDogdGVhbUlkLCBldmVudF9pZHM6IGV2ZW50SWRzLCBsYW5ndWFnZV9pZDogbGFuZ3VhZ2VJZCwgc2tpbGxfaWQ6IHNraWxsSWQgfSkpO1xuICB9LCBbZGlzcGF0Y2gsIHN0YXR1cywgY3VycmVudFBhZ2UsIHBhZ2VTaXplLCBzZWFyY2gsIHNvcnRPcmRlciwgc2VsZWN0ZWRJbnN0aXR1dGlvbiwgc2NvcmVGcm9tLCBzY29yZVRvLCBwcm92aW5jZSwgdGVhbUlkLCBldmVudElkcywgbGFuZ3VhZ2VJZCwgc2tpbGxJZF0pO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaChlLnRhcmdldC52YWx1ZSk7XG4gIH07XG4gIGNvbnN0IHJlc2V0U2VhcmNoID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaChcIlwiKTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlU2NvcmVGcm9tID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICBzZXRTY29yZUZyb20odmFsdWUgPyBOdW1iZXIodmFsdWUpIDogbnVsbCk7IC8vIFNldHMgbnVsbCBpbnN0ZWFkIG9mIFwiXCJcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTY29yZVRvID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICBzZXRTY29yZVRvKHZhbHVlID8gTnVtYmVyKHZhbHVlKSA6IG51bGwpOyAvLyBTZXRzIG51bGwgaW5zdGVhZCBvZiBcIlwiXG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2godm9sdW50ZWVyRGV0YWlsQWN0aW9uKGlkKSk7XG4gICAgbmF2aWdhdGUoYC92b2x1bnRlZXIvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgaWYgKCFpc0FkbWluKSByZXR1cm47IC8vIFJlc3RyaWN0IGFjY2VzcyB0byBub24tYWRtaW5zXG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVWb2x1bnRlZXJBY3Rpb24oaWQpKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIFN3YWwuZmlyZSgnRGVsZXRlZCEnLCAnVGhlIGl0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJzKHsgdm9sdW50ZWVyX3N0YXR1czogc3RhdHVzLCBwYWdlOiBjdXJyZW50UGFnZSwgcGFnZVNpemU6IHBhZ2VTaXplLCBzb3J0X29yZGVyOiBzb3J0T3JkZXIsIGVkdWNhdGlvbl9pbnN0aXR1dGlvbl9pZDogc2VsZWN0ZWRJbnN0aXR1dGlvbiwgc2NvcmVfZnJvbTogc2NvcmVGcm9tLCBzY29yZV90bzogc2NvcmVUbywgcHJvdmluY2UsIGludGVyZXN0ZWRfdGVhbV9pZDogdGVhbUlkLCBldmVudF9pZHM6IGV2ZW50SWRzLCBsYW5ndWFnZV9pZDogbGFuZ3VhZ2VJZCwgc2tpbGxfaWQ6IHNraWxsSWQgfSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY2FuY2VsQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzdGF0dXNPcHRpb25zID0gW1xuICAgIFwiUmVnaXN0ZXJcIixcbiAgICBcIlNob3J0bGlzdFwiLFxuICAgIFwiSW50ZXJ2aWV3XCIsXG4gICAgXCJQYXJ0aWNpcGFudHNcIixcbiAgICBcIlJlc2VydmVcIixcbiAgICBcIkZhaWxlZFwiLFxuICAgIFwiUmVzaWduYXRpb25cIixcbiAgICBcIkRpc3F1YWxpZmljYXRpb25cIixcbiAgXTtcblxuXG4gIC8vIEhhbmRsZSBzdGF0dXMgY2hhbmdlIGFuZCBmZXRjaCB1cGRhdGVkIGxpc3RcbiAgY29uc3QgaGFuZGxlU3RhdHVzQ2hhbmdlID0gKHZvbHVudGVlcklkOiBzdHJpbmcsIG5ld1N0YXR1czogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFpc0FkbWluKSByZXR1cm47IC8vIFJlc3RyaWN0IGFjY2VzcyB0byBub24tYWRtaW5zXG4gICAgZGlzcGF0Y2godXBkYXRlVm9sdW50ZWVyQWN0aW9uKHsgaWQ6IHZvbHVudGVlcklkLCBkYXRhOiB7IHZvbHVudGVlcl9zdGF0dXM6IG5ld1N0YXR1cyB9IH0pKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaChmZXRjaFZvbHVudGVlcnMoeyB2b2x1bnRlZXJfc3RhdHVzOiBzdGF0dXMsIHBhZ2U6IGN1cnJlbnRQYWdlLCBwYWdlU2l6ZTogcGFnZVNpemUsIHNvcnRfb3JkZXI6IHNvcnRPcmRlciwgZWR1Y2F0aW9uX2luc3RpdHV0aW9uX2lkOiBzZWxlY3RlZEluc3RpdHV0aW9uLCBzY29yZV9mcm9tOiBzY29yZUZyb20sIHNjb3JlX3RvOiBzY29yZVRvLCBwcm92aW5jZSwgaW50ZXJlc3RlZF90ZWFtX2lkOiB0ZWFtSWQsIGV2ZW50X2lkczogZXZlbnRJZHMsIGxhbmd1YWdlX2lkOiBsYW5ndWFnZUlkLCBza2lsbF9pZDogc2tpbGxJZCB9KSk7IC8vIEZldGNoIHVwZGF0ZWQgbGlzdCBhZnRlciBjaGFuZ2VcbiAgICAgICAgTm90aWZsaXguTm90aWZ5LnN1Y2Nlc3MoYFN0YXR1cyB1cGRhdGVkIHRvIFwiJHtuZXdTdGF0dXN9XCJgKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICBOb3RpZmxpeC5Ob3RpZnkuZmFpbHVyZShcIkZhaWxlZCB0byB1cGRhdGUgc3RhdHVzLiBUcnkgYWdhaW4uXCIpO1xuICAgICAgfSk7XG4gIH07XG4gIGNvbnN0IGhhbmRsZUluc3RpdHV0aW9uQ2hhbmdlID0gKGluc3RpdHV0aW9uSWQ6IHN0cmluZykgPT4ge1xuICAgIHNldFNlbGVjdGVkSW5zdGl0dXRpb24oaW5zdGl0dXRpb25JZCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFibGVDaGFuZ2UgPSAocGFnaW5hdGlvbjogYW55KSA9PiB7XG4gICAgc2V0Q3VycmVudFBhZ2UocGFnaW5hdGlvbi5jdXJyZW50KTtcbiAgICBzZXRQYWdlU2l6ZShwYWdpbmF0aW9uLnBhZ2VTaXplKTtcbiAgfTtcblxuICBjb25zdCBjb2x1bW5zID0gW1xuICAgIHsgdGl0bGU6ICfihJYnLCBkYXRhSW5kZXg6ICdpbmRleCcsIGtleTogJ2luZGV4JywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICfhnpvhn4HhnoHhnoDhnrzhnoonLFxuICAgICAga2V5OiAnY29kZScsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJsaW5rXCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfT5cbiAgICAgICAgICAgIDxUeXBvZ3JhcGh5LlRleHQgc3R5bGU9e3sgY29sb3I6IHJlY29yZC5tYWluX2NvZGUgPyAnZ3JlZW4nIDogJ2luaGVyaXQnIH19PlxuICAgICAgICAgICAgICB7cmVjb3JkLm1haW5fY29kZSB8fCByZWNvcmQuY29kZX1cbiAgICAgICAgICAgIDwvVHlwb2dyYXBoeS5UZXh0PlxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAn4Z6a4Z684Z6U4Z6X4Z624Z6W4Z6T4Z634Z6E4Z6I4Z+S4Z6Y4Z+E4Z+HJyxcbiAgICAgIGRhdGFJbmRleDogJ2NvbWJpbmVkJyxcbiAgICAgIGtleTogJ2NvbWJpbmVkJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IGFueSwgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDEwIH19PlxuICAgICAgICAgIHtyZWNvcmQucGhvdG8gPyAoXG4gICAgICAgICAgICA8SW1hZ2Ugd2lkdGg9ezUwfSBzcmM9e3JlY29yZC5waG90b30gYWx0PVwiUGhvdG9cIiBzdHlsZT17eyBib3JkZXJSYWRpdXM6IDUsIGJvcmRlcjogJzFweCBzb2xpZCAjZGRkJyB9fSAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8c3Bhbj5ObyBJbWFnZTwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxzcGFuPntyZWNvcmQubmFtZX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSxcbiAgICB9LFxuICAgIHsgdGl0bGU6ICfhnpvhn4HhnoHhnpHhnrzhnprhnp/hn5Dhnpbhn5LhnpEnLCBkYXRhSW5kZXg6ICdwaG9uZV9udW1iZXInLCBrZXk6ICdwaG9uZV9udW1iZXInLCByZXNwb25zaXZlOiBbJ21kJ10sIGVsbGlwc2lzOiB0cnVlIH0sXG4gICAgeyB0aXRsZTogJ+Gel+GfgeGekScsIGRhdGFJbmRleDogJ2dlbmRlcicsIGtleTogJ2dlbmRlcicsIHJlc3BvbnNpdmU6IFsnc20nXSwgZWxsaXBzaXM6IHRydWUgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ+GeluGfkOGej+GfjOGemOGetuGek+GeouGfhuGeluGeuOGegOGetuGemuGeiuGetuGegOGfi+GeluGetuGegOGfkuGemScsXG4gICAgICBkYXRhSW5kZXg6ICdhcHBsaWNhdGlvbl9pbmZvJyxcbiAgICAgIGtleTogJ2FwcGxpY2F0aW9uX2luZm8nLFxuICAgICAgcmVzcG9uc2l2ZTogWydtZCddLFxuICAgICAgcmVuZGVyOiAoXzogYW55LCByZWNvcmQ6IGFueSkgPT4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3Ryb25nPuGeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjTo8L3N0cm9uZz4ge3JlY29yZC52b2x1bnRlZXJfZXZlbnRfbmFtZSB8fCAnLSd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzdHJvbmc+4Z6A4Z+S4Z6a4Z674Z6Y4Z6A4Z624Z6a4Z6E4Z624Z6aOjwvc3Ryb25nPiB7cmVjb3JkLmludGVyZXN0ZWRfdGVhbV9uYW1lIHx8ICctJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHN0cm9uZz7hnqLhn4rhnrjhnpjhn4Lhnps6PC9zdHJvbmc+IHtyZWNvcmQuZW1haWwgfHwgJy0nfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3Ryb25nPuGekOGfkuGehOGfg+GeheGeu+Gfh+GeiOGfkuGemOGfhOGfhzo8L3N0cm9uZz4ge21vbWVudChyZWNvcmQuY3JlYXRlZF9hdCkuZm9ybWF0KCdNTU1NIERvIFlZWVksIGg6bW06c3MgYScpIHx8ICctJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApLFxuICAgIH0sXG4gICAgeyB0aXRsZTogJ+GeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjScsIGRhdGFJbmRleDogJ3ZvbHVudGVlcl9ldmVudF9uYW1lJywga2V5OiAndm9sdW50ZWVyX2V2ZW50X25hbWUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCJBY3Rpb25cIixcbiAgICAgIGtleTogXCJhY3Rpb25cIixcbiAgICAgIHJlc3BvbnNpdmU6IFtcInhzXCIsIFwic21cIiwgXCJtZFwiLCBcImxnXCJdLFxuICAgICAgcmVuZGVyOiAoXzogc3RyaW5nLCByZWNvcmQ6IGFueSkgPT4gKFxuICAgICAgICA8U3BhY2Ugc2l6ZT1cInNtYWxsXCI+XG4gICAgICAgICAgey8qIFN0YXR1cyBEcm9wZG93biBpbnNpZGUgYSBDb2xvcmVkIFRhZyAqL31cbiAgICAgICAgICA8VGFnXG4gICAgICAgICAgICBjb2xvcj17c3RhdHVzQ29sb3JzW3JlY29yZC52b2x1bnRlZXJfc3RhdHVzXSB8fCBcImRlZmF1bHRcIn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IFwiM3B4IDZweFwiLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiNnB4XCIsXG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiIC8vIOKchSBNYWtlcyB0aGUgZHJvcGRvd24gc21hbGxlclxuICAgICAgICAgICAgICB2YWx1ZT17cmVjb3JkLnZvbHVudGVlcl9zdGF0dXMgfHwgXCJSZWdpc3RlclwifVxuICAgICAgICAgICAgICBib3JkZXJlZD17ZmFsc2V9IC8vIOKchSBSZW1vdmVzIGJvcmRlciBmb3IgYSBjbGVhbmVyIGxvb2tcbiAgICAgICAgICAgICAgZHJvcGRvd25TdHlsZT17eyBmb250U2l6ZTogXCIxMnB4XCIgfX0gLy8g4pyFIEVuc3VyZXMgc21hbGxlciB0ZXh0IGluIGRyb3Bkb3duXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgbWluV2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIxMnB4XCIsIC8vIOKchSBNYWtlcyB0ZXh0IHNtYWxsZXJcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc0FkbWlufVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KG5ld1N0YXR1cykgPT4gaGFuZGxlU3RhdHVzQ2hhbmdlKHJlY29yZC5pZCwgbmV3U3RhdHVzKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3N0YXR1c09wdGlvbnMubWFwKChzdGF0dXMpID0+IChcbiAgICAgICAgICAgICAgICA8U2VsZWN0Lk9wdGlvbiBrZXk9e3N0YXR1c30gdmFsdWU9e3N0YXR1c30gPlxuICAgICAgICAgICAgICAgICAge3N0YXR1c31cbiAgICAgICAgICAgICAgICA8L1NlbGVjdC5PcHRpb24+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgPC9UYWc+XG5cbiAgICAgICAgICB7LyogRWRpdCBCdXR0b24gKi99XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWNvbj17PEVkaXRPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiIC8vIOKchSBNYWtlcyBidXR0b24gc21hbGxlclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfVxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICB7LyogRGVsZXRlIEJ1dHRvbiAqL31cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBpY29uPXs8RGVsZXRlT3V0bGluZWQgLz59XG4gICAgICAgICAgICBkYW5nZXJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiIC8vIOKchSBNYWtlcyBidXR0b24gc21hbGxlclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ+GeouGej+GfkuGej+Gen+GeieGfkuGeieGetuGejuGelOGfkOGejuGfkuGejicsXG4gICAgICBkYXRhSW5kZXg6ICd1cGxvYWRfaWRfY2FyZCcsXG4gICAgICBrZXk6ICd1cGxvYWRfaWRfY2FyZCcsXG4gICAgICByZXNwb25zaXZlOiBbJ2xnJ10sXG4gICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+XG4gICAgICAgIHRleHQgPyA8SW1hZ2Ugd2lkdGg9ezUwfSBzcmM9e3RleHR9IGFsdD1cIklEIENhcmRcIiBzdHlsZT17eyBib3JkZXJSYWRpdXM6IDUsIGJvcmRlcjogJzFweCBzb2xpZCAjZGRkJyB9fSAvPiA6ICdObyBJbWFnZScsXG4gICAgfSxcblxuXG4gIF07XG5cbiAgLy8g8J+TjCBFWFBPUlQgVE8gRVhDRUwgRlVOQ1RJT05cbiAgY29uc3QgZXhwb3J0VG9FeGNlbCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIWlzQWRtaW4pIHJldHVybjsgLy8gUmVzdHJpY3QgYWNjZXNzIHRvIG5vbi1hZG1pbnNcbiAgICBjb25zdCBhbGxEYXNoYm9hcmQgPSBhd2FpdCBkaXNwYXRjaChmZXRjaERhc2hib2FyZEFjdGlvbigpKTtcbiAgICBjb25zdCBhbGx2b2x1bnRlZXJzID0gYXdhaXQgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJzKHsgdm9sdW50ZWVyX3N0YXR1czogc3RhdHVzLCBwYWdlOiAxLCBwYWdlU2l6ZTogYWxsRGFzaGJvYXJkPy5wYXlsb2FkPy5jb3VudF92b2x1bnRlZXJzIHx8IDIwMDAsIHNvcnRfb3JkZXI6IHNvcnRPcmRlciwgZWR1Y2F0aW9uX2luc3RpdHV0aW9uX2lkOiBzZWxlY3RlZEluc3RpdHV0aW9uLCBzY29yZV9mcm9tOiBzY29yZUZyb20sIHNjb3JlX3RvOiBzY29yZVRvLCBwcm92aW5jZSwgaW50ZXJlc3RlZF90ZWFtX2lkOiB0ZWFtSWQsIGV2ZW50X2lkczogZXZlbnRJZHMsIGxhbmd1YWdlX2lkOiBsYW5ndWFnZUlkLCBza2lsbF9pZDogc2tpbGxJZCB9KSk7XG5cbiAgICBpZiAoYWxsdm9sdW50ZWVycyAmJiBhbGx2b2x1bnRlZXJzPy5wYXlsb2FkPy5kYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHdzID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KFxuICAgICAgICBhbGx2b2x1bnRlZXJzPy5wYXlsb2FkPy5kYXRhLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICcjJzogaW5kZXggKyAxLFxuICAgICAgICAgICfhnpvhn4HhnoHhnoDhnrzhnorhnpThno7hn5Lhnorhn4Thn4fhnqLhnrbhnp/hnpPhn5LhnpMnOiBpdC5jb2RlLFxuICAgICAgICAgICfhnpvhn4HhnoHhnoDhnrzhnoonOiBpdC5tYWluX2NvZGUsXG4gICAgICAgICAgJ+GeiOGfkuGemOGfhOGfhyAoS2htZXIpJzogYCR7aXQubGFzdF9uYW1lX2tobWVyPz8nJ30gJHtpdC5maXJzdF9uYW1lX2tobWVyPz8nJ31gLFxuICAgICAgICAgICfhnojhn5Lhnpjhn4Thn4cgKExhdGluKSc6IGAke2l0Lmxhc3RfbmFtZV9sYXRpbj8/Jyd9ICR7aXQuZmlyc3RfbmFtZV9sYXRpbj8/Jyd9YCxcbiAgICAgICAgICAn4Z6Q4Z+S4Z6E4Z+D4Z6A4Z+G4Z6O4Z6+4Z6PJzogaXQuZGF0ZV9vZl9iaXJ0aD8/JycsXG4gICAgICAgICAgJ+Gel+GfgeGekSc6IGl0LmdlbmRlcj8/JycsXG4gICAgICAgICAgJ+Gen+GeieGfkuGeh+GetuGej+Getyc6IGl0Lm5hdGlvbmFsaXR5Pz8nJyxcbiAgICAgICAgICAn4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RJzogaXQucGhvbmVfbnVtYmVyPz8nJyxcbiAgICAgICAgICAn4Z6i4Z+K4Z644Z6Y4Z+C4Z6bJzogaXQuZW1haWw/PycnLFxuICAgICAgICAgICfhnqLhnrbhnp/hnpnhnorhn5LhnovhnrbhnpMnOiBpdC5jdXJyZW50X2FkZHJlc3M/PycnLFxuICAgICAgICAgICfhnoHhn4Hhno/hn5Lhno8nOiBpdC5wcm92aW5jZV9pZD8/JycsXG4gICAgICAgICAgJ+GeouGetuGeh+GeuOGelic6IGl0Lm9jY3VwYXRpb25fbmFtZT8/JycsXG4gICAgICAgICAgJ+Gen+GfkuGekOGetuGelOGfkOGek+Gen+Get+GegOGfkuGen+Getic6IGl0LmVkdWNhdGlvbl9pbnN0aXR1dGlvbl9uYW1lPz8nJyxcbiAgICAgICAgICAn4Z6R4Z+G4Z6g4Z+G4Z6i4Z624Z6cJzogaXQudF9zaGlydF9zaXplPz8nJyxcbiAgICAgICAgICAn4Z6i4Z624Z6g4Z624Z6aJzogaXQuZm9vZF9uYW1lPz8nJyxcbiAgICAgICAgICAn4Z6U4Z6J4Z+S4Z6g4Z624Z6i4Z624Z6g4Z624Z6aJzogaXQuaXNfZm9vZF9hbGxlcmd5ID8gJ1llcycgOiAnTm8nLFxuICAgICAgICAgICfhnqLhnrbhnqDhnrbhnprhnorhn4LhnpvhnpXhn5LhnqLhn4LhnoAnOiBpdC5mb29kX2FsbGVyZ2llcz8/JycsXG4gICAgICAgICAgJ+GelOGfkuGemuGel+GfgeGekeGeluGet+GegOGetuGemuGel+GetuGelic6IGl0LmRpc2FiaWxpdHlfdHlwZV9uYW1lPz8nJyxcbiAgICAgICAgICAn4Z6A4Z+S4Z6a4Z674Z6Y4Z6K4Z+C4Z6b4Z6F4Z624Z6U4Z+L4Z6i4Z624Z6a4Z6Y4Z+S4Z6Y4Z6O4Z+NJzogaXQuaW50ZXJlc3RlZF90ZWFtX25hbWU/PycnLFxuICAgICAgICAgICfhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn40nOiBpdC52b2x1bnRlZXJfZXZlbnRfbmFtZT8/JycsXG4gICAgICAgICAgJ+GelOGfkuGemuGel+GeluGeseGegOGetuGenyc6IGl0Lm9wcG9ydHVuaXR5X3NvdXJjZV9uYW1lPz8nJyxcbiAgICAgICAgICAn4Z6c4Z6C4Z+S4Z6C4Z6U4Z6O4Z+S4Z6P4Z674Z+H4Z6U4Z6O4Z+S4Z6P4Z624Z6bJzogaXQudHJhaW5pbmdfc2Vzc2lvbl9uYW1lPz8nJyxcbiAgICAgICAgICAn4Z6f4Z+S4Z6Q4Z624Z6T4Z6X4Z624Z6WJzogaXQudm9sdW50ZWVyX3N0YXR1cz8/JycsXG4gICAgICAgICAgJ0NyZWF0ZWQgQXQnOiBpdC5jcmVhdGVkX2F0LFxuXG4gICAgICAgICAgLy8g4pyFIEFkZCBEaXJlY3QgSW1hZ2UgVVJMc1xuICAgICAgICAgICfhnprhnrzhnpThnpfhnrbhnpYnOiBpdC5waG90byA/IGl0LnBob3RvIDogJ05vIEltYWdlJyxcbiAgICAgICAgICAn4Z6i4Z6P4Z+S4Z6P4Z6f4Z6J4Z+S4Z6J4Z624Z6O4Z6U4Z+Q4Z6O4Z+S4Z6OJzogaXQudXBsb2FkX2lkX2NhcmQgPyBpdC51cGxvYWRfaWRfY2FyZCA6ICdObyBJbWFnZScsXG5cbiAgICAgICAgICAvLyDinIUgQWRkIERvd25sb2FkYWJsZSBDViBMaW5rXG4gICAgICAgICAgJ0NWJzogaXQudXBsb2FkX2N2ID8gYD1IWVBFUkxJTksoXCIke2l0LnVwbG9hZF9jdn1cIiwgXCJEb3dubG9hZCBDVlwiKWAgOiAnTm8gQ1YnXG4gICAgICAgIH0pKVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgd2IgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgJ1ZvbHVudGVlcnMnKTtcblxuICAgICAgLy8g4pyFIEVuc3VyZSB0aGUgQ1YgbGluayBmb3JtYXQgaXMgcHJvcGVybHkgYXBwbGllZFxuICAgICAgd3NbJyFjb2xzJ10gPSBbeyB3Y2g6IDEwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjUgfSwgeyB3Y2g6IDI1IH0sIHsgd2NoOiAxNSB9LCB7IHdjaDogMTAgfSwgeyB3Y2g6IDIwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMzAgfSwgeyB3Y2g6IDIwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjUgfSwgeyB3Y2g6IDE1IH0sIHsgd2NoOiAxMCB9LCB7IHdjaDogMTAgfSwgeyB3Y2g6IDEwIH0sIHsgd2NoOiAxNSB9LCB7IHdjaDogMTUgfSwgeyB3Y2g6IDIwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDIwIH0sIHsgd2NoOiAyNSB9XTtcblxuICAgICAgWExTWC53cml0ZUZpbGUod2IsICdWb2x1bnRlZXJzLnhsc3gnKTtcbiAgICB9XG4gIH07XG5cblxuICBjb25zdCBoYW5kbGVTb3J0T3JkZXIgPSAoKSA9PiB7XG4gICAgc2V0U29ydE9yZGVyKHByZXZPcmRlciA9PiAocHJldk9yZGVyID09PSBcImRlc2NcIiA/IFwiYXNjXCIgOiBcImRlc2NcIikpO1xuICB9XG5cblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgb3ZlcmZsb3dYOiAnYXV0bycgfX0+XG4gICAgICB7aXNBZG1pbiAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTBweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHsvKiBIZWFkZXIgQ29udHJvbHMgKi99XG4gICAgICAgICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfSBqdXN0aWZ5PVwic3BhY2UtYmV0d2VlblwiIGFsaWduPVwibWlkZGxlXCIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMTBweCcgfX0+XG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gbWQ9ezEyfT5cbiAgICAgICAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgICAgICAgPHNwYW4+4Z6f4Z6a4Z674Z6UOiB7dm9sdW50ZWVycz8ubWV0YT8udG90YWwgfHwgMH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGen+GfkuGenOGfguGehOGemuGegC4uLlwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17c2VhcmNofVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVNlYXJjaH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1pbldpZHRoOiAxNTAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17cmVzZXRTZWFyY2h9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gbWQ9ezEyfT5cbiAgICAgICAgICAgICAgPFNwYWNlIHdyYXAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJywganVzdGlmeUNvbnRlbnQ6ICdmbGV4LWVuZCcgfX0+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgYm9yZGVyQ29sb3I6IFwicmVkXCIsIGNvbG9yOiBcInJlZFwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwid2hpdGVcIiB9fVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU29ydE9yZGVyfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTb3J0QXNjZW5kaW5nT3V0bGluZWQgc3R5bGU9e3sgY29sb3I6IFwicmVkXCIgfX0gLz4gT1JERVJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiBcImdyZWVuXCIsIGNvbG9yOiBcImdyZWVuXCIsIGJhY2tncm91bmRDb2xvcjogXCJ3aGl0ZVwiIH19XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtleHBvcnRUb0V4Y2VsfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxGaWxlRXhjZWxPdXRsaW5lZCBzdHlsZT17eyBjb2xvcjogXCJncmVlblwiIH19IC8+IEV4Y2VsXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvU3BhY2U+XG4gICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8L1Jvdz5cblxuICAgICAgICAgIHsvKiBGaWx0ZXJzICovfVxuICAgICAgICAgIDxSb3cgZ3V0dGVyPXtbMTYsIDE2XX0+XG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgICA8c3Bhbj7hnoHhn4Hhno/hn5Lhno/igIsg4Z6sIOGegOGfkuGemuGeu+GehDwvc3Bhbj5cbiAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBQcm92aW5jZSBvciBDaXR5XCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlOiBhbnkpID0+IHNldFByb3ZpbmNlKHZhbHVlKX1cbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShwcm92aW5jZXMpICYmIHByb3ZpbmNlcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgICAgcHJvdmluY2VzLm1hcCgocHJvdmluY2UpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPFNlbGVjdC5PcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3Byb3ZpbmNlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtgJHtwcm92aW5jZS5pZH0sJHtwcm92aW5jZS5uYW1lLmttfSAvICR7cHJvdmluY2UubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2Ake3Byb3ZpbmNlLm5hbWUua219IC8gJHtwcm92aW5jZS5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Lk9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uIGRpc2FibGVkPk5vIHByb3ZpbmNlcyBhdmFpbGFibGU8L1NlbGVjdC5PcHRpb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgICAgPHNwYW4+4Z6f4Z624Z6A4Z6b4Z6c4Z634Z6R4Z+S4Z6Z4Z624Z6b4Z+Q4Z6ZPC9zcGFuPlxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoXG4gICAgICAgICAgICAgICAgZmlsdGVyT3B0aW9uPXsoaW5wdXQsIG9wdGlvbjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgb3B0aW9uPy5jaGlsZHJlbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVJbnN0aXR1dGlvbkNoYW5nZX1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhbiBpbnN0aXR1dGlvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZWR1Y2F0aW9uSW5zdGl0dXRpb25zPy5kYXRhPy5tYXAoKGluc3RpdHV0aW9uKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17aW5zdGl0dXRpb24uaWR9IHZhbHVlPXtpbnN0aXR1dGlvbi5pZH0+XG4gICAgICAgICAgICAgICAgICAgIHtpbnN0aXR1dGlvbi5uYW1lfVxuICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICAgIDxzcGFuPuGegOGfkuGemuGeu+GemDwvc3Bhbj5cbiAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIGludGVyZXN0ZWQgdGVhbVwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXRUZWFtSWQodmFsdWUpfVxuICAgICAgICAgICAgICAgIGZpbHRlck9wdGlvbj17KGlucHV0LCBvcHRpb246IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRyZW4udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpbnRlcmVzdGVkVGVhbXM/LmRhdGE/Lm1hcCgodGVhbTogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17dGVhbS5pZH0gdmFsdWU9e3RlYW0uaWR9PlxuICAgICAgICAgICAgICAgICAgICB7dGVhbS5uYW1lfVxuICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICAgIDxzcGFuPuGeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjTwvc3Bhbj5cbiAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgIG1vZGU9XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYW4gZXZlbnRcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtldmVudElkc31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlcykgPT4gc2V0RXZlbnRJZHModmFsdWVzKX1cbiAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eyhpbnB1dCwgb3B0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgb3B0aW9uPy5jaGlsZHJlbj8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3ZvbHVudGVlckV2ZW50cz8uZGF0YT8ubWFwKChldmVudCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2V2ZW50LmlkfSB2YWx1ZT17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgICB7ZXZlbnQubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgICA8c3Bhbj7hnpfhnrbhnp/hnrY8L3NwYW4+XG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICAgIHNob3dTZWFyY2hcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIGxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlOiBhbnkpID0+IHNldExhbmd1YWdlSWQodmFsdWUpfVxuICAgICAgICAgICAgICAgIGZpbHRlck9wdGlvbj17KGlucHV0LCBvcHRpb246IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRyZW4udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtsYW5ndWFnZXM/LmRhdGE/Lm1hcCgobGFuZ3VhZ2U6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2xhbmd1YWdlLmlkfSB2YWx1ZT17bGFuZ3VhZ2UuaWR9PlxuICAgICAgICAgICAgICAgICAgICB7bGFuZ3VhZ2UubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgICA8c3Bhbj7hnofhn4bhnpPhnrbhnonhnpXhn5Lhnp/hn4HhnoThnpHhn4Dhno88L3NwYW4+XG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICAgIHNob3dTZWFyY2hcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIHNraWxsXCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlOiBhbnkpID0+IHNldFNraWxsSWQodmFsdWUpfVxuICAgICAgICAgICAgICAgIGZpbHRlck9wdGlvbj17KGlucHV0LCBvcHRpb246IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRyZW4udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtza2lsbHM/LmRhdGE/Lm1hcCgoc2tpbGw6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e3NraWxsLmlkfSB2YWx1ZT17c2tpbGwuaWR9PlxuICAgICAgICAgICAgICAgICAgICB7c2tpbGwubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezI0fSBtZD17MTJ9IGxnPXsxMn0+XG4gICAgICAgICAgICAgIDxzcGFuPuGeluGet+Gek+GfkuGekeGeuzwvc3Bhbj5cbiAgICAgICAgICAgICAgPFNwYWNlIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX0gZGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiIHdyYXA+XG4gICAgICAgICAgICAgICAgPElucHV0TnVtYmVyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZyb21cIlxuICAgICAgICAgICAgICAgICAgbWluPXswfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3Njb3JlRnJvbX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtzZXRTY29yZUZyb219XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8SW5wdXROdW1iZXJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVG9cIlxuICAgICAgICAgICAgICAgICAgbWluPXtzY29yZUZyb20gfHwgMH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtzY29yZVRvfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldFNjb3JlVG99XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDwvUm93PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHsvKiBUYWJsZSBTZWN0aW9uICovfVxuICAgICAgPFRhYmxlXG4gICAgICAgIHJvd1NlbGVjdGlvbj17e1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgb25DaGFuZ2U6IChfLCBzZWxlY3RlZFJvd3MpID0+IHNldFNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3MpLFxuICAgICAgICB9fVxuICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICBkYXRhU291cmNlPXsodm9sdW50ZWVycz8uZGF0YSB8fCBbXSkubWFwKChpdCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAga2V5OiBpdC5pZCxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIG5hbWU6IGAke2l0Lmxhc3RfbmFtZV9sYXRpbn0gJHtpdC5maXJzdF9uYW1lX2xhdGlufWAsXG4gICAgICAgICAgLi4uaXQsXG4gICAgICAgIH0pKX1cbiAgICAgICAgbG9hZGluZz17dm9sdW50ZWVyUGVuZGluZ31cbiAgICAgICAgcGFnaW5hdGlvbj17e1xuICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgICB0b3RhbDogdm9sdW50ZWVycz8ubWV0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYWJsZUNoYW5nZX1cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e3ZvbHVudGVlclBlbmRpbmd9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcHByb3ZlZFZvbHVuZWVyczsiLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVm9sdW50ZWVyRm9ybSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL3JlZ2lzdGVyL2NvbXBvbmVudHMvZm9ybVwiO1xuIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiBjb25zdCBpZDogYW55ID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcbmNvbnN0IE5ld0VkaXRWb2x1bnRlZXJQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Vm9sdW50ZWVyRm9ybSBpZD17aWR9IC8+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdFZvbHVudGVlclBhZ2U7IiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFRhYnMgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUsIHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgQXBwcm92ZWRWb2x1bnRlZXJzIGZyb20gXCIuL2FwcHJvdmVkXCI7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vcmVkdXgvc3RvcmVcIjtcblxuY29uc3QgVk9MVU5URUVSX1RBQlMgPSBbXG4gIHsgbGFiZWw6IFwi4Z6U4Z6J4Z+S4Z6H4Z644Z6i4Z+S4Z6T4Z6A4Z6F4Z674Z+H4Z6I4Z+S4Z6Y4Z+E4Z+H4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PXCIsIGtleTogXCJcIiB9LFxuICB7IGxhYmVsOiBcIuGelOGeieGfkuGeh+GeuOGen+GemOGfkuGemuGetuGfhlwiLCBrZXk6IFwiU2hvcnRsaXN0XCIsIGFkbWluT25seTogdHJ1ZSB9LFxuICB7IGxhYmVsOiBcIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGej+GfkuGemuGevOGenOGen+GemOGfkuGel+GetuGen+Gek+GfjVwiLCBrZXk6IFwiSW50ZXJ2aWV3XCIsIGFkbWluT25seTogdHJ1ZSB9LFxuICB7IGxhYmVsOiBcIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGeh+GetuGelOGfi1wiLCBrZXk6IFwiUGFydGljaXBhbnRzXCIsIGFkbWluT25seTogdHJ1ZSB9LFxuICB7IGxhYmVsOiBcIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGelOGfhuGemuGeu+GehFwiLCBrZXk6IFwiUmVzZXJ2ZVwiLCBhZG1pbk9ubHk6IHRydWUgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnpLhn5LhnpvhnrbhnoDhn4tcIiwga2V5OiBcIkZhaWxlZFwiLCBhZG1pbk9ubHk6IHRydWUgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnp/hnrvhn4bhnojhnpThn4tcIiwga2V5OiBcIlJlc2lnbmF0aW9uXCIsIGFkbWluT25seTogdHJ1ZSB9LFxuICB7IGxhYmVsOiBcIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGemOGet+Gek+GekeGetuGek+Gfi+GemOGetuGek+Gem+GegOGfkuGegeGejuGfiOGeguGfkuGemuGelOGfi+GeguGfkuGemuGetuGek+Gfi1wiLCBrZXk6IFwiRGlzcXVhbGlmaWNhdGlvblwiLCBhZG1pbk9ubHk6IHRydWUgfSxcbl07XG5cbmNvbnN0IFZvbHVudGVlckxpc3Q6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgcXVlcnkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGluaXRpYWxTdGF0dXMgPSBxdWVyeS5nZXQoXCJzdGF0dXNcIikgfHwgXCJcIjtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbFN0YXR1cyk7XG5cbiAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmF1dGgpO1xuICBjb25zdCBpc0FkbWluID0gY3VycmVudFVzZXI/LnJvbGUgPT09IFwic3VwZXJfYWRtaW5cIjsgLy8gQ2hlY2sgaWYgdXNlciBpcyBhZG1pblxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHF1ZXJ5LmdldChcInN0YXR1c1wiKSAhPT0gc3RhdHVzKSB7XG4gICAgICBzZXRTdGF0dXMocXVlcnkuZ2V0KFwic3RhdHVzXCIpIHx8IFwiXCIpO1xuICAgIH1cbiAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pOyAvLyBFbnN1cmUgc3RhdHVzIHVwZGF0ZXMgd2l0aCBVUkwgY2hhbmdlc1xuXG4gIGNvbnN0IGhhbmRsZVRhYkNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgIHNldFN0YXR1cyhrZXkpO1xuICAgIHF1ZXJ5LnNldChcInN0YXR1c1wiLCBrZXkpO1xuICAgIG5hdmlnYXRlKHsgcGF0aG5hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLCBzZWFyY2g6IHF1ZXJ5LnRvU3RyaW5nKCkgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPFRhYnMgYWN0aXZlS2V5PXtzdGF0dXN9IG9uQ2hhbmdlPXtoYW5kbGVUYWJDaGFuZ2V9PlxuICAgICAgICB7Vk9MVU5URUVSX1RBQlMubWFwKFxuICAgICAgICAgICh7IGxhYmVsLCBrZXksIGFkbWluT25seSB9KSA9PlxuICAgICAgICAgICAgKCFhZG1pbk9ubHkgfHwgaXNBZG1pbikgJiYgPFRhYnMuVGFiUGFuZSB0YWI9e2xhYmVsfSBrZXk9e2tleX0gLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGFicz5cbiAgICAgIDxBcHByb3ZlZFZvbHVudGVlcnMgc3RhdHVzPXtzdGF0dXN9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWb2x1bnRlZXJMaXN0O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtLCBJbnB1dCwgQnV0dG9uLCBSb3csIENvbCwgbWVzc2FnZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgVm9sdW50ZWVyRXZlbnQgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZVZvbHVudGVlckV2ZW50QWN0aW9uLCB2b2x1bnRlZXJFdmVudERldGFpbEFjdGlvbiwgdXBkYXRlVm9sdW50ZWVyRXZlbnRBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXJfZXZlbnQvY29yZS9hY3Rpb25zJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVGV4dEFyZWEgZnJvbSAnYW50ZC9lcy9pbnB1dC9UZXh0QXJlYSc7XG5cbmNvbnN0IE5ld0VkaXRWb2x1bnRlZXJFdmVudFBhZ2U6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgeyB2b2x1bnRlZXJFdmVudCwgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHZvbHVudGVlckV2ZW50VXBkYXRlUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLnZvbHVudGVlckV2ZW50XG4gICk7XG4gIGNvbnN0IFtmb3JtXSA9IEZvcm0udXNlRm9ybSgpO1xuXG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgY29uc3QgaWQgPSBzZWFyY2hQYXJhbXMuZ2V0KCdpZCcpO1xuXG4gIGNvbnN0IFtpc0NsaWNrLCBzZXRJc0NsaWNrXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAvLyDwn5GJIEZldGNoIGRhdGEgd2hlbiBlZGl0aW5nIG9yIHJlc2V0IGZvcm0gd2hlbiBhZGRpbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHZvbHVudGVlckV2ZW50RGV0YWlsQWN0aW9uKE51bWJlcihpZCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGZpZWxkcyB3aGVuIGFkZGluZyBhIG5ldyBpdGVtXG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIGlkLCBmb3JtXSk7XG5cbiAgLy8g8J+RiSBQb3B1bGF0ZSBmb3JtIHdpdGggZmV0Y2hlZCBkYXRhXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkICYmIHZvbHVudGVlckV2ZW50KSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgbmFtZTogdm9sdW50ZWVyRXZlbnQubmFtZSB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHZvbHVudGVlckV2ZW50LmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbdm9sdW50ZWVyRXZlbnQsIGZvcm0sIGlkXSk7XG5cbiAgLy8g8J+RiSBTaG93IHN1Y2Nlc3Mgb3IgZXJyb3IgYWxlcnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF2b2x1bnRlZXJFdmVudFVwZGF0ZVBlbmRpbmcgJiYgaXNDbGljaykge1xuICAgICAgaWYgKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIG1lc3NhZ2UuZXJyb3IocmVnaXN0ZXJFcnJvck1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGlkID8gJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5IScgOiAnQ3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgIG5hdmlnYXRlKCcvdm9sdW50ZWVyLWV2ZW50cycpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3ZvbHVudGVlckV2ZW50VXBkYXRlUGVuZGluZywgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGlkLCBpc0NsaWNrLCBuYXZpZ2F0ZV0pO1xuXG4gIC8vIPCfkYkgSGFuZGxlIGZvcm0gc3VibWl0XG4gIGNvbnN0IG9uRmluaXNoID0gKHZhbHVlczogVm9sdW50ZWVyRXZlbnQpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZVZvbHVudGVlckV2ZW50QWN0aW9uKHsgaWQ6IE51bWJlcihpZCksIGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZVZvbHVudGVlckV2ZW50QWN0aW9uKHsgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBhZnRlciBzdWNjZXNzZnVsIGNyZWF0aW9uXG4gICAgfVxuICAgIHNldElzQ2xpY2sodHJ1ZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgyPntpZCA/ICfhnoDhn4LhnpThn5Lhnprhn4Lhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn43hnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno8nIDogJ+GelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuOGeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjeGen+GfkuGemOGfkOGeguGfkuGemuGeheGet+Gej+GfkuGejyd9PC9oMj5cbiAgICAgIDxGb3JtIGZvcm09e2Zvcm19IGxheW91dD1cInZlcnRpY2FsXCIgb25GaW5pc2g9e29uRmluaXNofSBzdHlsZT17eyBtYXhXaWR0aDogJzEwMCUnLCBtYXJnaW46ICcwIGF1dG8nIH19PlxuICAgICAgICA8Um93IGd1dHRlcj17WzEyLCAxMl19PlxuICAgICAgICAgIDxDb2wgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGeiOGfkuGemOGfhOGfh1wiIG5hbWU9XCJuYW1lXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGVudGVyIGEgbmFtZScgfV19PlxuICAgICAgICAgICAgICA8SW5wdXQgLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGelOGemuGet+GemeGetuGemVwiIG5hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICA8VGV4dEFyZWEgcm93cz17M30gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGJsb2NrIGh0bWxUeXBlPVwic3VibWl0XCIgbG9hZGluZz17dm9sdW50ZWVyRXZlbnRVcGRhdGVQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBodG1sVHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKCcvdm9sdW50ZWVyLWV2ZW50cycpfT5cbiAgICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0Zvcm0+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIElucHV0LCBTcGFjZSwgVGFibGUgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi8uLi8uLi9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBkZWxldGVWb2x1bnRlZXJFdmVudEFjdGlvbiwgdm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24sIGZldGNoVm9sdW50ZWVyRXZlbnRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyX2V2ZW50L2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmNvbnN0IFZvbHVudGVlckV2ZW50TGlzdCA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIFxuICBjb25zdCBbY3VycmVudFBhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlKDEpO1xuICBjb25zdCBbcGFnZVNpemUsIHNldFBhZ2VTaXplXSA9IHVzZVN0YXRlKDEwKTtcbiAgY29uc3QgW3NlbGVjdGVkUm93cywgc2V0U2VsZWN0ZWRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbc2VhcmNoVGV4dCwgc2V0U2VhcmNoVGV4dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHsgdm9sdW50ZWVyRXZlbnRzLCB2b2x1bnRlZXJFdmVudHNQZW5kaW5nIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUudm9sdW50ZWVyRXZlbnQpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJFdmVudHMoe1xuICAgICAgc2VhcmNoOiBzZWFyY2hUZXh0LFxuICAgICAgcGFnZTogY3VycmVudFBhZ2UsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfSwgW2Rpc3BhdGNoLCBzZWFyY2hUZXh0LCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKTtcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKGlkOiBhbnkpID0+IHtcbiAgICBkaXNwYXRjaCh2b2x1bnRlZXJFdmVudERldGFpbEFjdGlvbihpZCkpO1xuICAgIG5hdmlnYXRlKGAvdm9sdW50ZWVyLWV2ZW50cy9mb3JtP2lkPSR7aWR9YCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlID0gKGlkOiBhbnkpID0+IHtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmU/JyxcbiAgICAgIHRleHQ6ICdZb3Ugd29uXFwndCBiZSBhYmxlIHRvIHJldmVydCB0aGlzIScsXG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcbiAgICAgIGh0bWw6IGBcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDIwcHg7XCI+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNvbmZpcm0tZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jb25maXJtIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2QzMztcIj5EZWxldGU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY2FuY2VsLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY2FuY2VsIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzMwODVkNjtcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgLFxuICAgICAgZGlkT3BlbjogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maXJtQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY29uZmlybS1kZWxldGUnKTtcbiAgICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY2FuY2VsLWRlbGV0ZScpO1xuXG4gICAgICAgIGNvbmZpcm1CdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGRpc3BhdGNoKGRlbGV0ZVZvbHVudGVlckV2ZW50QWN0aW9uKGlkKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBTd2FsLmZpcmUoJ0RlbGV0ZWQhJywgJ1RoZSBpdGVtIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKGZldGNoVm9sdW50ZWVyRXZlbnRzKCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY2FuY2VsQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTZWFyY2ggPSAoKSA9PiB7XG4gICAgLy8gVHJpZ2dlcnMgc2VhcmNoIGJ5IHNldHRpbmcgc3RhdGVcbiAgICBzZXRDdXJyZW50UGFnZSgxKTtcbiAgICBzZXRTZWFyY2hUZXh0KHNlYXJjaFRleHQudHJpbSgpKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVSZXNldCA9ICgpID0+IHtcbiAgICAvLyBDbGVhcnMgaW5wdXQgYW5kIHNob3dzIGFsbCBkYXRhXG4gICAgc2V0U2VhcmNoVGV4dCgnJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFibGVDaGFuZ2UgPSAocGFnaW5hdGlvbjogYW55KSA9PiB7XG4gICAgc2V0Q3VycmVudFBhZ2UocGFnaW5hdGlvbi5jdXJyZW50KTtcbiAgICBzZXRQYWdlU2l6ZShwYWdpbmF0aW9uLnBhZ2VTaXplKTtcbiAgfTtcblxuICBjb25zdCBjb2x1bW5zID0gW1xuICAgIHsgdGl0bGU6ICfhnpvhn4HhnoHhnprhn4DhnoQnLCBkYXRhSW5kZXg6ICdpbmRleCcsIGtleTogJ2luZGV4JywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+GeiOGfkuGemOGfhOGfhycsIGRhdGFJbmRleDogJ25hbWUnLCBrZXk6ICduYW1lJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAgeyB0aXRsZTogJ+GelOGemuGet+GemeGetuGemScsIGRhdGFJbmRleDogJ2Rlc2NyaXB0aW9uJywga2V5OiAnZGVzY3JpcHRpb24nLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0FjdGlvbicsXG4gICAgICBrZXk6ICdhY3Rpb24nLFxuICAgICAgcmVzcG9uc2l2ZTogWyd4cycsICdzbScsICdtZCcsICdsZyddLFxuICAgICAgcmVuZGVyOiAoXzogc3RyaW5nLCByZWNvcmQ6IGFueSkgPT4gKFxuICAgICAgICA8U3BhY2Ugc2l6ZT1cIm1pZGRsZVwiPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PEVkaXRPdXRsaW5lZCAvPn0gdHlwZT1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVFZGl0KHJlY29yZC5pZCl9IC8+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RGVsZXRlT3V0bGluZWQgLz59IGRhbmdlciBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGUocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICksXG4gICAgfSxcbiAgXTtcblxuICBjb25zdCBmaWx0ZXJlZERhdGEgPSAodm9sdW50ZWVyRXZlbnRzPy5kYXRhIHx8IFtdKS5maWx0ZXIoKGl0KSA9PlxuICAgIGl0Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBvdmVyZmxvd1g6ICdhdXRvJyB9fT5cbiAgICAgIDxoMj7hnpThnonhn5Lhnofhnrjhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn43hnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno88L2gyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTBweCcsXG4gICAgICAgICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPHNwYW4+4Z6f4Z6a4Z674Z6UOiB7dm9sdW50ZWVyRXZlbnRzPy5tZXRhPy50b3RhbCB8fCAwfTwvc3Bhbj5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6ALi4uXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAyMDAgfX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hUZXh0fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIHNldEN1cnJlbnRQYWdlKDEpO1xuICAgICAgICAgICAgICBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVNlYXJjaH0gdHlwZT1cInByaW1hcnlcIj7hnoXhnpjhn5Lhnprhn4Thn4c8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVJlc2V0fT7hnoDhn4bhno7hno/hn4vhnqHhnr7hnoThnpzhnrfhnok8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8UGx1c091dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKGAvdm9sdW50ZWVyLWV2ZW50cy9mb3JtYCl9PuGelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuDwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgPC9kaXY+XG4gICAgICA8VGFibGVcbiAgICAgICAgcm93U2VsZWN0aW9uPXt7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBvbkNoYW5nZTogKF8sIHNlbGVjdGVkUm93cykgPT4gc2V0U2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93cyksXG4gICAgICAgIH19XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGRhdGFTb3VyY2U9e2ZpbHRlcmVkRGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICBrZXk6IGl0LmlkLFxuICAgICAgICAgIGluZGV4OiBpbmRleCArIDEsXG4gICAgICAgICAgbmFtZTogaXQubmFtZSxcbiAgICAgICAgICAuLi5pdCxcbiAgICAgICAgfSkpfVxuICAgICAgICBwYWdpbmF0aW9uPXt7XG4gICAgICAgICAgY3VycmVudDogY3VycmVudFBhZ2UsXG4gICAgICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgICAgIHRvdGFsOiB2b2x1bnRlZXJFdmVudHM/Lm1ldGE/LnRvdGFsIHx8IDAsXG4gICAgICAgICAgc2hvd1NpemVDaGFuZ2VyOiB0cnVlLFxuICAgICAgICB9fVxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlVGFibGVDaGFuZ2V9XG4gICAgICAgIHJvd0tleT1cImlkXCJcbiAgICAgICAgc2Nyb2xsPXt7IHg6ICdtYXgtY29udGVudCcgfX1cbiAgICAgIC8+XG4gICAgICA8TG9hZGluZ0RpYWxvZyB2aXNpYmxlPXt2b2x1bnRlZXJFdmVudHNQZW5kaW5nfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyRXZlbnRMaXN0O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgTm90Rm91bmQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gPGgxPjQwNCAtIFBhZ2UgTm90IEZvdW5kPC9oMT47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RGb3VuZDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVm9sdW50ZWVyR2FtZUZvcm0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL3JlZ2lzdGVyL2NvbXBvbmVudHMvcmVnaXN0ZXItZ2FtZSc7XG5pbXBvcnQgVm9sdW50ZWVyVGhhbmtZb3UgZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL3JlZ2lzdGVyL2NvbXBvbmVudHMvdGhhbmtzJztcblxuXG5jb25zdCBWb2x1bnRlZXJSZWdpc3RlckdhbWVGb3JtOiBSZWFjdC5GQyA9ICgpID0+IHtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1jb250YWluZXJcIj5cbiAgICAgIDxWb2x1bnRlZXJHYW1lRm9ybS8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWb2x1bnRlZXJSZWdpc3RlckdhbWVGb3JtO1xuIl0sIm5hbWVzIjpbImUiLCJ0IiwiciIsIlN5bWJvbCIsIm4iLCJpdGVyYXRvciIsIm8iLCJ0b1N0cmluZ1RhZyIsImkiLCJjIiwicHJvdG90eXBlIiwiR2VuZXJhdG9yIiwidSIsIk9iamVjdCIsImNyZWF0ZSIsIl9yZWdlbmVyYXRvckRlZmluZTIiLCJmIiwicCIsInkiLCJHIiwidiIsImEiLCJkIiwiYmluZCIsImxlbmd0aCIsImwiLCJUeXBlRXJyb3IiLCJjYWxsIiwiZG9uZSIsInZhbHVlIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsImdldFByb3RvdHlwZU9mIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJkaXNwbGF5TmFtZSIsIl9yZWdlbmVyYXRvciIsInciLCJtIiwiZGVmaW5lUHJvcGVydHkiLCJfcmVnZW5lcmF0b3JEZWZpbmUiLCJfaW52b2tlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsIm5leHQiLCJwdXNoIiwiaXNBcnJheSIsIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJkZWxldGVWb2x1bnRlZXJBY3Rpb24iLCJmZXRjaERhc2hib2FyZEFjdGlvbiIsImZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiZmV0Y2hFdmVudCIsImZldGNoTGFuZ3VhdGVBY3Rpb24iLCJmZXRjaFByb3ZpbmNlIiwiZmV0Y2hTa2lsbEFjdGlvbiIsImZldGNoVGVhbSIsImZldGNoVm9sdW50ZWVycyIsInVwZGF0ZVZvbHVudGVlckFjdGlvbiIsInZvbHVudGVlckRldGFpbEFjdGlvbiIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJ1c2VOYXZpZ2F0ZSIsIkxvYWRpbmdEaWFsb2ciLCJEZWxldGVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIkZpbGVFeGNlbE91dGxpbmVkIiwiU29ydEFzY2VuZGluZ091dGxpbmVkIiwiWExTWCIsIlN3YWwiLCJOb3RpZmxpeCIsIm1vbWVudCIsImNvbmZpcm0iLCJfTW9kYWwiLCJzdGF0dXNDb2xvcnMiLCJSZWdpc3RlciIsIlNob3J0bGlzdCIsIkludGVydmlldyIsIlBhcnRpY2lwYW50cyIsIlJlc2VydmUiLCJGYWlsZWQiLCJSZXNpZ25hdGlvbiIsIkRpc3F1YWxpZmljYXRpb24iLCJBcHByb3ZlZFZvbHVuZWVycyIsIl9yZWYiLCJfdm9sdW50ZWVycyRtZXRhIiwiX2VkdWNhdGlvbkluc3RpdHV0aW9uIiwiX2ludGVyZXN0ZWRUZWFtcyRkYXRhIiwiX3ZvbHVudGVlckV2ZW50cyRkYXRhIiwiX2xhbmd1YWdlcyRkYXRhIiwiX3NraWxscyRkYXRhIiwiX3ZvbHVudGVlcnMkbWV0YTIiLCJzdGF0dXMiLCJkaXNwYXRjaCIsIm5hdmlnYXRlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsInNlbGVjdGVkUm93cyIsInNldFNlbGVjdGVkUm93cyIsIl91c2VTZWxlY3RvciIsInN0YXRlIiwidm9sdW50ZWVyIiwidm9sdW50ZWVycyIsInZvbHVudGVlclBlbmRpbmciLCJkYXNoYm9hcmQiLCJwcm92aW5jZXMiLCJlZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJpbnRlcmVzdGVkVGVhbXMiLCJ2b2x1bnRlZXJFdmVudHMiLCJza2lsbHMiLCJsYW5ndWFnZXMiLCJfdXNlU2VsZWN0b3IyIiwiYXV0aCIsImN1cnJlbnRVc2VyIiwiaXNBZG1pbiIsInJvbGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImN1cnJlbnRQYWdlIiwic2V0Q3VycmVudFBhZ2UiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBhZ2VTaXplIiwic2V0UGFnZVNpemUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlYXJjaCIsInNldFNlYXJjaCIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic29ydE9yZGVyIiwic2V0U29ydE9yZGVyIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwicHJvdmluY2UiLCJzZXRQcm92aW5jZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJ0ZWFtSWQiLCJzZXRUZWFtSWQiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwiZXZlbnRJZHMiLCJzZXRFdmVudElkcyIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJsYW5ndWFnZUlkIiwic2V0TGFuZ3VhZ2VJZCIsIl91c2VTdGF0ZTE3IiwiX3VzZVN0YXRlMTgiLCJza2lsbElkIiwic2V0U2tpbGxJZCIsIl91c2VTdGF0ZTE5IiwiX3VzZVN0YXRlMjAiLCJzZWxlY3RlZEluc3RpdHV0aW9uIiwic2V0U2VsZWN0ZWRJbnN0aXR1dGlvbiIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJzY29yZUZyb20iLCJzZXRTY29yZUZyb20iLCJfdXNlU3RhdGUyMyIsIl91c2VTdGF0ZTI0Iiwic2NvcmVUbyIsInNldFNjb3JlVG8iLCJ2b2x1bnRlZXJfc3RhdHVzIiwicGFnZSIsInNvcnRfb3JkZXIiLCJlZHVjYXRpb25faW5zdGl0dXRpb25faWQiLCJzY29yZV9mcm9tIiwic2NvcmVfdG8iLCJpbnRlcmVzdGVkX3RlYW1faWQiLCJldmVudF9pZHMiLCJsYW5ndWFnZV9pZCIsInNraWxsX2lkIiwiaGFuZGxlU2VhcmNoIiwidGFyZ2V0IiwicmVzZXRTZWFyY2giLCJoYW5kbGVTY29yZUZyb20iLCJOdW1iZXIiLCJoYW5kbGVTY29yZVRvIiwiaGFuZGxlRWRpdCIsImlkIiwiY29uY2F0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRpdGxlIiwidGV4dCIsImljb24iLCJzaG93Q29uZmlybUJ1dHRvbiIsInNob3dDYW5jZWxCdXR0b24iLCJodG1sIiwiZGlkT3BlbiIsIl9Td2FsJGdldFBvcHVwIiwiX1N3YWwkZ2V0UG9wdXAyIiwiY29uZmlybUJ1dHRvbiIsImdldFBvcHVwIiwicXVlcnlTZWxlY3RvciIsImNhbmNlbEJ1dHRvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbG9zZSIsInN0YXR1c09wdGlvbnMiLCJoYW5kbGVTdGF0dXNDaGFuZ2UiLCJ2b2x1bnRlZXJJZCIsIm5ld1N0YXR1cyIsImRhdGEiLCJOb3RpZnkiLCJzdWNjZXNzIiwiZmFpbHVyZSIsImhhbmRsZUluc3RpdHV0aW9uQ2hhbmdlIiwiaW5zdGl0dXRpb25JZCIsImhhbmRsZVRhYmxlQ2hhbmdlIiwicGFnaW5hdGlvbiIsImN1cnJlbnQiLCJjb2x1bW5zIiwiZGF0YUluZGV4Iiwia2V5IiwicmVzcG9uc2l2ZSIsInJlbmRlciIsIl8iLCJyZWNvcmQiLCJjcmVhdGVFbGVtZW50IiwiX1NwYWNlIiwic2l6ZSIsIl9CdXR0b24iLCJ0eXBlIiwib25DbGljayIsIl9UeXBvZ3JhcGh5IiwiVGV4dCIsInN0eWxlIiwiY29sb3IiLCJtYWluX2NvZGUiLCJjb2RlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJwaG90byIsIl9JbWFnZSIsIndpZHRoIiwic3JjIiwiYWx0IiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwiZWxsaXBzaXMiLCJ2b2x1bnRlZXJfZXZlbnRfbmFtZSIsImludGVyZXN0ZWRfdGVhbV9uYW1lIiwiZW1haWwiLCJjcmVhdGVkX2F0IiwiZm9ybWF0IiwiX1RhZyIsInBhZGRpbmciLCJfU2VsZWN0IiwiYm9yZGVyZWQiLCJkcm9wZG93blN0eWxlIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsImJhY2tncm91bmRDb2xvciIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJtYXAiLCJPcHRpb24iLCJkYW5nZXIiLCJleHBvcnRUb0V4Y2VsIiwiX3JlZjIiLCJfY2FsbGVlIiwiX2FsbERhc2hib2FyZCRwYXlsb2FkIiwiX2FsbHZvbHVudGVlcnMkcGF5bG9hIiwiYWxsRGFzaGJvYXJkIiwiYWxsdm9sdW50ZWVycyIsIl9hbGx2b2x1bnRlZXJzJHBheWxvYTIiLCJ3cyIsIndiIiwiX2NvbnRleHQiLCJwYXlsb2FkIiwiY291bnRfdm9sdW50ZWVycyIsInV0aWxzIiwianNvbl90b19zaGVldCIsIml0IiwiaW5kZXgiLCJfaXQkbGFzdF9uYW1lX2tobWVyIiwiX2l0JGZpcnN0X25hbWVfa2htZXIiLCJfaXQkbGFzdF9uYW1lX2xhdGluIiwiX2l0JGZpcnN0X25hbWVfbGF0aW4iLCJfaXQkZGF0ZV9vZl9iaXJ0aCIsIl9pdCRnZW5kZXIiLCJfaXQkbmF0aW9uYWxpdHkiLCJfaXQkcGhvbmVfbnVtYmVyIiwiX2l0JGVtYWlsIiwiX2l0JGN1cnJlbnRfYWRkcmVzcyIsIl9pdCRwcm92aW5jZV9pZCIsIl9pdCRvY2N1cGF0aW9uX25hbWUiLCJfaXQkZWR1Y2F0aW9uX2luc3RpdHUiLCJfaXQkdF9zaGlydF9zaXplIiwiX2l0JGZvb2RfbmFtZSIsIl9pdCRmb29kX2FsbGVyZ2llcyIsIl9pdCRkaXNhYmlsaXR5X3R5cGVfbiIsIl9pdCRpbnRlcmVzdGVkX3RlYW1fbiIsIl9pdCR2b2x1bnRlZXJfZXZlbnRfbiIsIl9pdCRvcHBvcnR1bml0eV9zb3VyYyIsIl9pdCR0cmFpbmluZ19zZXNzaW9uXyIsIl9pdCR2b2x1bnRlZXJfc3RhdHVzIiwibGFzdF9uYW1lX2tobWVyIiwiZmlyc3RfbmFtZV9raG1lciIsImxhc3RfbmFtZV9sYXRpbiIsImZpcnN0X25hbWVfbGF0aW4iLCJkYXRlX29mX2JpcnRoIiwiZ2VuZGVyIiwibmF0aW9uYWxpdHkiLCJwaG9uZV9udW1iZXIiLCJjdXJyZW50X2FkZHJlc3MiLCJwcm92aW5jZV9pZCIsIm9jY3VwYXRpb25fbmFtZSIsImVkdWNhdGlvbl9pbnN0aXR1dGlvbl9uYW1lIiwidF9zaGlydF9zaXplIiwiZm9vZF9uYW1lIiwiaXNfZm9vZF9hbGxlcmd5IiwiZm9vZF9hbGxlcmdpZXMiLCJkaXNhYmlsaXR5X3R5cGVfbmFtZSIsIm9wcG9ydHVuaXR5X3NvdXJjZV9uYW1lIiwidHJhaW5pbmdfc2Vzc2lvbl9uYW1lIiwidXBsb2FkX2lkX2NhcmQiLCJ1cGxvYWRfY3YiLCJib29rX25ldyIsImJvb2tfYXBwZW5kX3NoZWV0Iiwid2NoIiwid3JpdGVGaWxlIiwiaGFuZGxlU29ydE9yZGVyIiwicHJldk9yZGVyIiwib3ZlcmZsb3dYIiwiYmFja2dyb3VuZCIsIm1hcmdpbkJvdHRvbSIsIl9Sb3ciLCJndXR0ZXIiLCJqdXN0aWZ5IiwiYWxpZ24iLCJfQ29sIiwieHMiLCJtZCIsIndyYXAiLCJtZXRhIiwidG90YWwiLCJfSW5wdXQiLCJwbGFjZWhvbGRlciIsImp1c3RpZnlDb250ZW50IiwiYm9yZGVyQ29sb3IiLCJzbSIsImxnIiwiYWxsb3dDbGVhciIsInNob3dTZWFyY2giLCJrbSIsImxhdGluIiwiZmlsdGVyT3B0aW9uIiwiaW5wdXQiLCJvcHRpb24iLCJjaGlsZHJlbiIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJpbnN0aXR1dGlvbiIsInRlYW0iLCJtb2RlIiwidmFsdWVzIiwiX29wdGlvbiRjaGlsZHJlbiIsImV2ZW50IiwibGFuZ3VhZ2UiLCJza2lsbCIsImRpcmVjdGlvbiIsIl9JbnB1dE51bWJlciIsIm1pbiIsIl9UYWJsZSIsInJvd1NlbGVjdGlvbiIsImRhdGFTb3VyY2UiLCJfb2JqZWN0U3ByZWFkIiwibG9hZGluZyIsInNob3dTaXplQ2hhbmdlciIsInJvd0tleSIsInNjcm9sbCIsIngiLCJ2aXNpYmxlIiwiVm9sdW50ZWVyRm9ybSIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwiZ2V0IiwiTmV3RWRpdFZvbHVudGVlclBhZ2UiLCJ1c2VMb2NhdGlvbiIsIkFwcHJvdmVkVm9sdW50ZWVycyIsIlZPTFVOVEVFUl9UQUJTIiwibGFiZWwiLCJhZG1pbk9ubHkiLCJWb2x1bnRlZXJMaXN0IiwicXVlcnkiLCJpbml0aWFsU3RhdHVzIiwic2V0U3RhdHVzIiwiaGFuZGxlVGFiQ2hhbmdlIiwic2V0IiwicGF0aG5hbWUiLCJfVGFicyIsImFjdGl2ZUtleSIsIlRhYlBhbmUiLCJ0YWIiLCJjcmVhdGVWb2x1bnRlZXJFdmVudEFjdGlvbiIsInZvbHVudGVlckV2ZW50RGV0YWlsQWN0aW9uIiwidXBkYXRlVm9sdW50ZWVyRXZlbnRBY3Rpb24iLCJUZXh0QXJlYSIsIk5ld0VkaXRWb2x1bnRlZXJFdmVudFBhZ2UiLCJ2b2x1bnRlZXJFdmVudCIsInJlZ2lzdGVyRXJyb3JNZXNzYWdlIiwidm9sdW50ZWVyRXZlbnRVcGRhdGVQZW5kaW5nIiwiX0Zvcm0kdXNlRm9ybSIsIl9Gb3JtIiwidXNlRm9ybSIsIl9Gb3JtJHVzZUZvcm0yIiwiZm9ybSIsImlzQ2xpY2siLCJzZXRJc0NsaWNrIiwicmVzZXRGaWVsZHMiLCJzZXRGaWVsZHNWYWx1ZSIsImRlc2NyaXB0aW9uIiwiX21lc3NhZ2UiLCJlcnJvciIsIm9uRmluaXNoIiwiRnJhZ21lbnQiLCJsYXlvdXQiLCJtYXhXaWR0aCIsIm1hcmdpbiIsInNwYW4iLCJJdGVtIiwicnVsZXMiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJyb3dzIiwiYmxvY2siLCJodG1sVHlwZSIsIlBsdXNPdXRsaW5lZCIsImRlbGV0ZVZvbHVudGVlckV2ZW50QWN0aW9uIiwiZmV0Y2hWb2x1bnRlZXJFdmVudHMiLCJWb2x1bnRlZXJFdmVudExpc3QiLCJfdm9sdW50ZWVyRXZlbnRzJG1ldGEiLCJfdm9sdW50ZWVyRXZlbnRzJG1ldGEyIiwic2VhcmNoVGV4dCIsInNldFNlYXJjaFRleHQiLCJ2b2x1bnRlZXJFdmVudHNQZW5kaW5nIiwidHJpbSIsImhhbmRsZVJlc2V0IiwiZmlsdGVyZWREYXRhIiwiZmlsdGVyIiwiX2l0JG5hbWUiLCJmbGV4V3JhcCIsIk5vdEZvdW5kIiwiVm9sdW50ZWVyR2FtZUZvcm0iLCJWb2x1bnRlZXJSZWdpc3RlckdhbWVGb3JtIiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==