".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(c.format(e.button));return e.success&&(0,l.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),o.modal("show"),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),o}function f(e){(0,l.default)("#ezq--notifications-toast-container").length||(0,l.default)("body").append((0,l.default)("").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=d.format(e.title,e.body),o=(0,l.default)(t);if(e.onclose&&(0,l.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,l.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var a=!1!==e.autohide,s=!1!==e.animation,i=e.delay||1e4;return(0,l.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:a,delay:i,animation:s}),o.toast("show"),o}function h(e){var t=s.format(e.title),o=(0,l.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(m),a=(0,l.default)(u);return o.find(".modal-footer").append(a),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),(0,l.default)(n).click(function(){e.success()}),o.modal("show"),o}function j(e){if(e.target){var t=(0,l.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=s.format(e.title),a=(0,l.default)(n);return a.find(".modal-body").append((0,l.default)(o)),(0,l.default)("main").append(a),a.modal("show")}function g(e){var t={success:r,error:a}[e.type].format(e.body);return(0,l.default)(t)}var _={ezAlert:p,ezToast:f,ezQuery:h,ezProgressBar:j,ezBadge:g};t.default=_},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,a=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var s=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=a.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=a.default.csrfNonce,s(e,t)}},"./CTFd/themes/core/assets/js/patch.js":function(e,t,o){var n,l=(n=o("./node_modules/q/q.js"))&&n.__esModule?n:{default:n},a=o("./CTFd/themes/core/assets/js/api.js");function s(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function d(e,t){return function(t){for(var e=1;e".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(c.format(e.button));return e.success&&(0,l.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),o.modal("show"),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),o}function f(e){(0,l.default)("#ezq--notifications-toast-container").length||(0,l.default)("body").append((0,l.default)("").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=d.format(e.title,e.body),o=(0,l.default)(t);if(e.onclose&&(0,l.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,l.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var a=!1!==e.autohide,s=!1!==e.animation,i=e.delay||1e4;return(0,l.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:a,delay:i,animation:s}),o.toast("show"),o}function h(e){var t=s.format(e.title),o=(0,l.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(m),a=(0,l.default)(u);return o.find(".modal-footer").append(a),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),(0,l.default)(n).click(function(){e.success()}),o.modal("show"),o}function j(e){if(e.target){var t=(0,l.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=s.format(e.title),a=(0,l.default)(n);return a.find(".modal-body").append((0,l.default)(o)),(0,l.default)("main").append(a),a.modal("show")}function g(e){var t={success:r,error:a}[e.type].format(e.body);return(0,l.default)(t)}var _={ezAlert:p,ezToast:f,ezQuery:h,ezProgressBar:j,ezBadge:g};t.default=_},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,a=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var s=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=a.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=a.default.csrfNonce,s(e,t)}},"./CTFd/themes/core/assets/js/patch.js":function(e,t,o){var n,l=(n=o("./node_modules/q/q.js"))&&n.__esModule?n:{default:n},a=o("./CTFd/themes/core/assets/js/api.js");function s(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function d(e,t){return function(t){for(var e=1;e{0}
\".format(chalinfo.name));\n var chalscore = (0, _jquery.default)(\"{0}\".format(chalinfo.value));\n\n for (var j = 0; j < chalinfo.tags.length; j++) {\n var tag = \"tag-\" + chalinfo.tags[j].value.replace(/ /g, \"-\");\n chalwrap.addClass(tag);\n }\n\n chalbutton.append(chalheader);\n chalbutton.append(chalscore);\n chalwrap.append(chalbutton);\n (0, _jquery.default)(\"#\" + catid + \"-row\").find(\".category-challenges > .challenges-row\").append(chalwrap);\n }\n\n (0, _jquery.default)(\".challenge-button\").click(function (_event) {\n loadChal(this.value);\n getSolves(this.value);\n });\n });\n}\n\nfunction update() {\n return loadUserSolves() // Load the user's solved challenge ids\n .then(loadChals) // Load the full list of challenges\n .then(markSolves);\n}\n\n(0, _jquery.default)(function () {\n update().then(function () {\n if (window.location.hash.length > 0) {\n loadChalByName(decodeURIComponent(window.location.hash.substring(1)));\n }\n });\n (0, _jquery.default)(\"#challenge-input\").keyup(function (event) {\n if (event.keyCode == 13) {\n (0, _jquery.default)(\"#challenge-submit\").click();\n }\n });\n (0, _jquery.default)(\".nav-tabs a\").click(function (event) {\n event.preventDefault();\n (0, _jquery.default)(this).tab(\"show\");\n });\n (0, _jquery.default)(\"#challenge-window\").on(\"hidden.bs.modal\", function (_event) {\n (0, _jquery.default)(\".nav-tabs a:first\").tab(\"show\");\n history.replaceState(\"\", window.document.title, window.location.pathname);\n });\n (0, _jquery.default)(\".challenge-solves\").click(function (_event) {\n getSolves((0, _jquery.default)(\"#challenge-id\").val());\n });\n (0, _jquery.default)(\"#challenge-window\").on(\"hide.bs.modal\", function (_event) {\n (0, _jquery.default)(\"#challenge-input\").removeClass(\"wrong\");\n (0, _jquery.default)(\"#challenge-input\").removeClass(\"correct\");\n (0, _jquery.default)(\"#incorrect-key\").slideUp();\n (0, _jquery.default)(\"#correct-key\").slideUp();\n (0, _jquery.default)(\"#already-solved\").slideUp();\n (0, _jquery.default)(\"#too-fast\").slideUp();\n });\n});\nsetInterval(update, 300000); // Update every 5 minutes.\n\nvar displayHint = function displayHint(data) {\n (0, _ezq.ezAlert)({\n title: \"Hint\",\n body: md.render(data.content),\n button: \"Got it!\"\n });\n};\n\nvar displayUnlock = function displayUnlock(id) {\n (0, _ezq.ezQuery)({\n title: \"Unlock Hint?\",\n body: \"Are you sure you want to open this hint?\",\n success: function success() {\n var params = {\n target: id,\n type: \"hints\"\n };\n\n _CTFd.default.api.post_unlock_list({}, params).then(function (response) {\n if (response.success) {\n _CTFd.default.api.get_hint({\n hintId: id\n }).then(function (response) {\n displayHint(response.data);\n });\n\n return;\n }\n\n (0, _ezq.ezAlert)({\n title: \"Error\",\n body: md.render(response.errors.score),\n button: \"Got it!\"\n });\n });\n }\n });\n};\n\nvar loadHint = function loadHint(id) {\n _CTFd.default.api.get_hint({\n hintId: id\n }).then(function (response) {\n if (response.data.content) {\n displayHint(response.data);\n return;\n }\n\n displayUnlock(id);\n });\n};\n\n//# sourceURL=webpack:///./CTFd/themes/core/assets/js/pages/challenges.js?"); +eval("\n\n__webpack_require__(/*! ./main */ \"./CTFd/themes/core/assets/js/pages/main.js\");\n\n__webpack_require__(/*! bootstrap/js/dist/tab */ \"./node_modules/bootstrap/js/dist/tab.js\");\n\nvar _ezq = __webpack_require__(/*! ../ezq */ \"./CTFd/themes/core/assets/js/ezq.js\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./CTFd/themes/core/assets/js/utils.js\");\n\nvar _moment = _interopRequireDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\n\nvar _jquery = _interopRequireDefault(__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"));\n\nvar _CTFd = _interopRequireDefault(__webpack_require__(/*! ../CTFd */ \"./CTFd/themes/core/assets/js/CTFd.js\"));\n\nvar _config = _interopRequireDefault(__webpack_require__(/*! ../config */ \"./CTFd/themes/core/assets/js/config.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar api_func = {\n teams: function teams(x) {\n return _CTFd.default.api.get_team_solves({\n teamId: x\n });\n },\n users: function users(x) {\n return _CTFd.default.api.get_user_solves({\n userId: x\n });\n }\n};\n\nvar md = _CTFd.default.lib.markdown();\n\n_CTFd.default._internal.challenge = {};\nvar challenges = [];\nvar solves = [];\n\nvar loadChal = function loadChal(id) {\n var chal = _jquery.default.grep(challenges, function (chal) {\n return chal.id == id;\n })[0];\n\n if (chal.type === \"hidden\") {\n (0, _ezq.ezAlert)({\n title: \"Challenge Hidden!\",\n body: \"You haven't unlocked this challenge yet!\",\n button: \"Got it!\"\n });\n return;\n }\n\n displayChal(chal);\n};\n\nvar loadChalByName = function loadChalByName(name) {\n var idx = name.lastIndexOf(\"-\");\n var pieces = [name.slice(0, idx), name.slice(idx + 1)];\n var id = pieces[1];\n\n var chal = _jquery.default.grep(challenges, function (chal) {\n return chal.id == id;\n })[0];\n\n displayChal(chal);\n};\n\nvar displayChal = function displayChal(chal) {\n return Promise.all([_CTFd.default.api.get_challenge({\n challengeId: chal.id\n }), _jquery.default.getScript(_config.default.urlRoot + chal.script), _jquery.default.get(_config.default.urlRoot + chal.template)]).then(function (responses) {\n var challenge = _CTFd.default._internal.challenge;\n (0, _jquery.default)(\"#challenge-window\").empty(); // Inject challenge data into the plugin\n\n challenge.data = responses[0].data; // Call preRender function in plugin\n\n challenge.preRender(); // Build HTML from the Jinja response in API\n\n (0, _jquery.default)(\"#challenge-window\").append(responses[0].data.view);\n (0, _jquery.default)(\"#challenge-window #challenge-input\").addClass(\"form-control\");\n (0, _jquery.default)(\"#challenge-window #challenge-submit\").addClass(\"btn btn-md btn-outline-secondary float-right\");\n var modal = (0, _jquery.default)(\"#challenge-window\").find(\".modal-dialog\");\n\n if (window.init.theme_settings && window.init.theme_settings.challenge_window_size) {\n switch (window.init.theme_settings.challenge_window_size) {\n case \"sm\":\n modal.addClass(\"modal-sm\");\n break;\n\n case \"lg\":\n modal.addClass(\"modal-lg\");\n break;\n\n case \"xl\":\n modal.addClass(\"modal-xl\");\n break;\n\n default:\n break;\n }\n }\n\n (0, _jquery.default)(\".challenge-solves\").click(function (_event) {\n getSolves((0, _jquery.default)(\"#challenge-id\").val());\n });\n (0, _jquery.default)(\".nav-tabs a\").click(function (event) {\n event.preventDefault();\n (0, _jquery.default)(this).tab(\"show\");\n }); // Handle modal toggling\n\n (0, _jquery.default)(\"#challenge-window\").on(\"hide.bs.modal\", function (_event) {\n (0, _jquery.default)(\"#challenge-input\").removeClass(\"wrong\");\n (0, _jquery.default)(\"#challenge-input\").removeClass(\"correct\");\n (0, _jquery.default)(\"#incorrect-key\").slideUp();\n (0, _jquery.default)(\"#correct-key\").slideUp();\n (0, _jquery.default)(\"#already-solved\").slideUp();\n (0, _jquery.default)(\"#too-fast\").slideUp();\n });\n (0, _jquery.default)(\".load-hint\").on(\"click\", function (_event) {\n loadHint((0, _jquery.default)(this).data(\"hint-id\"));\n });\n (0, _jquery.default)(\"#challenge-submit\").click(function (event) {\n event.preventDefault();\n (0, _jquery.default)(\"#challenge-submit\").addClass(\"disabled-button\");\n (0, _jquery.default)(\"#challenge-submit\").prop(\"disabled\", true);\n\n _CTFd.default._internal.challenge.submit().then(renderSubmissionResponse).then(loadChals).then(markSolves);\n });\n (0, _jquery.default)(\"#challenge-input\").keyup(function (event) {\n if (event.keyCode == 13) {\n (0, _jquery.default)(\"#challenge-submit\").click();\n }\n });\n challenge.postRender();\n window.location.replace(window.location.href.split(\"#\")[0] + \"#\".concat(chal.name, \"-\").concat(chal.id));\n (0, _jquery.default)(\"#challenge-window\").modal();\n });\n};\n\nfunction renderSubmissionResponse(response) {\n var result = response.data;\n var result_message = (0, _jquery.default)(\"#result-message\");\n var result_notification = (0, _jquery.default)(\"#result-notification\");\n var answer_input = (0, _jquery.default)(\"#challenge-input\");\n result_notification.removeClass();\n result_message.text(result.message);\n\n if (result.status === \"authentication_required\") {\n window.location = _CTFd.default.config.urlRoot + \"/login?next=\" + _CTFd.default.config.urlRoot + window.location.pathname + window.location.hash;\n return;\n } else if (result.status === \"incorrect\") {\n // Incorrect key\n result_notification.addClass(\"alert alert-danger alert-dismissable text-center\");\n result_notification.slideDown();\n answer_input.removeClass(\"correct\");\n answer_input.addClass(\"wrong\");\n setTimeout(function () {\n answer_input.removeClass(\"wrong\");\n }, 3000);\n } else if (result.status === \"correct\") {\n // Challenge Solved\n result_notification.addClass(\"alert alert-success alert-dismissable text-center\");\n result_notification.slideDown();\n (0, _jquery.default)(\".challenge-solves\").text(parseInt((0, _jquery.default)(\".challenge-solves\").text().split(\" \")[0]) + 1 + \" Solves\");\n answer_input.val(\"\");\n answer_input.removeClass(\"wrong\");\n answer_input.addClass(\"correct\");\n } else if (result.status === \"already_solved\") {\n // Challenge already solved\n result_notification.addClass(\"alert alert-info alert-dismissable text-center\");\n result_notification.slideDown();\n answer_input.addClass(\"correct\");\n } else if (result.status === \"paused\") {\n // CTF is paused\n result_notification.addClass(\"alert alert-warning alert-dismissable text-center\");\n result_notification.slideDown();\n } else if (result.status === \"ratelimited\") {\n // Keys per minute too high\n result_notification.addClass(\"alert alert-warning alert-dismissable text-center\");\n result_notification.slideDown();\n answer_input.addClass(\"too-fast\");\n setTimeout(function () {\n answer_input.removeClass(\"too-fast\");\n }, 3000);\n }\n\n setTimeout(function () {\n (0, _jquery.default)(\".alert\").slideUp();\n (0, _jquery.default)(\"#challenge-submit\").removeClass(\"disabled-button\");\n (0, _jquery.default)(\"#challenge-submit\").prop(\"disabled\", false);\n }, 3000);\n}\n\nfunction markSolves() {\n return api_func[_CTFd.default.config.userMode](\"me\").then(function (response) {\n var solves = response.data;\n\n for (var i = solves.length - 1; i >= 0; i--) {\n var btn = (0, _jquery.default)('button[value=\"' + solves[i].challenge_id + '\"]');\n btn.addClass(\"solved-challenge\");\n btn.prepend(\"\");\n }\n });\n}\n\nfunction loadUserSolves() {\n if (_CTFd.default.user.id == 0) {\n return Promise.resolve();\n }\n\n return api_func[_CTFd.default.config.userMode](\"me\").then(function (response) {\n var solves = response.data;\n\n for (var i = solves.length - 1; i >= 0; i--) {\n var chal_id = solves[i].challenge_id;\n solves.push(chal_id);\n }\n });\n}\n\nfunction getSolves(id) {\n return _CTFd.default.api.get_challenge_solves({\n challengeId: id\n }).then(function (response) {\n var data = response.data;\n (0, _jquery.default)(\".challenge-solves\").text(parseInt(data.length) + \" Solves\");\n var box = (0, _jquery.default)(\"#challenge-solves-names\");\n box.empty();\n\n for (var i = 0; i < data.length; i++) {\n var _id = data[i].account_id;\n var name = data[i].name;\n var date = (0, _moment.default)(data[i].date).local().fromNow();\n var account_url = data[i].account_url;\n box.append('{0}
\".format(chalinfo.name));\n var chalscore = (0, _jquery.default)(\"{0}\".format(chalinfo.value));\n\n for (var j = 0; j < chalinfo.tags.length; j++) {\n var tag = \"tag-\" + chalinfo.tags[j].value.replace(/ /g, \"-\");\n chalwrap.addClass(tag);\n }\n\n chalbutton.append(chalheader);\n chalbutton.append(chalscore);\n chalwrap.append(chalbutton);\n (0, _jquery.default)(\"#\" + catid + \"-row\").find(\".category-challenges > .challenges-row\").append(chalwrap);\n }\n\n (0, _jquery.default)(\".challenge-button\").click(function (_event) {\n loadChal(this.value);\n getSolves(this.value);\n });\n });\n}\n\nfunction update() {\n return loadUserSolves() // Load the user's solved challenge ids\n .then(loadChals) // Load the full list of challenges\n .then(markSolves);\n}\n\n(0, _jquery.default)(function () {\n update().then(function () {\n if (window.location.hash.length > 0) {\n loadChalByName(decodeURIComponent(window.location.hash.substring(1)));\n }\n });\n (0, _jquery.default)(\"#challenge-input\").keyup(function (event) {\n if (event.keyCode == 13) {\n (0, _jquery.default)(\"#challenge-submit\").click();\n }\n });\n (0, _jquery.default)(\".nav-tabs a\").click(function (event) {\n event.preventDefault();\n (0, _jquery.default)(this).tab(\"show\");\n });\n (0, _jquery.default)(\"#challenge-window\").on(\"hidden.bs.modal\", function (_event) {\n (0, _jquery.default)(\".nav-tabs a:first\").tab(\"show\");\n history.replaceState(\"\", window.document.title, window.location.pathname);\n });\n (0, _jquery.default)(\".challenge-solves\").click(function (_event) {\n getSolves((0, _jquery.default)(\"#challenge-id\").val());\n });\n (0, _jquery.default)(\"#challenge-window\").on(\"hide.bs.modal\", function (_event) {\n (0, _jquery.default)(\"#challenge-input\").removeClass(\"wrong\");\n (0, _jquery.default)(\"#challenge-input\").removeClass(\"correct\");\n (0, _jquery.default)(\"#incorrect-key\").slideUp();\n (0, _jquery.default)(\"#correct-key\").slideUp();\n (0, _jquery.default)(\"#already-solved\").slideUp();\n (0, _jquery.default)(\"#too-fast\").slideUp();\n });\n});\nsetInterval(update, 300000); // Update every 5 minutes.\n\nvar displayHint = function displayHint(data) {\n (0, _ezq.ezAlert)({\n title: \"Hint\",\n body: md.render(data.content),\n button: \"Got it!\"\n });\n};\n\nvar displayUnlock = function displayUnlock(id) {\n (0, _ezq.ezQuery)({\n title: \"Unlock Hint?\",\n body: \"Are you sure you want to open this hint?\",\n success: function success() {\n var params = {\n target: id,\n type: \"hints\"\n };\n\n _CTFd.default.api.post_unlock_list({}, params).then(function (response) {\n if (response.success) {\n _CTFd.default.api.get_hint({\n hintId: id\n }).then(function (response) {\n displayHint(response.data);\n });\n\n return;\n }\n\n (0, _ezq.ezAlert)({\n title: \"Error\",\n body: md.render(response.errors.score),\n button: \"Got it!\"\n });\n });\n }\n });\n};\n\nvar loadHint = function loadHint(id) {\n _CTFd.default.api.get_hint({\n hintId: id\n }).then(function (response) {\n if (response.data.content) {\n displayHint(response.data);\n return;\n }\n\n displayUnlock(id);\n });\n};\n\n//# sourceURL=webpack:///./CTFd/themes/core/assets/js/pages/challenges.js?"); /***/ }) diff --git a/CTFd/themes/core/static/js/pages/challenges.min.js b/CTFd/themes/core/static/js/pages/challenges.min.js index 6800718a..b67b710a 100644 --- a/CTFd/themes/core/static/js/pages/challenges.min.js +++ b/CTFd/themes/core/static/js/pages/challenges.min.js @@ -1 +1 @@ -!function(r){function e(e){for(var t,o,n=e[0],s=e[1],a=e[2],i=0,l=[];i".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(c.format(e.button));return e.success&&(0,l.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),o.modal("show"),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),o}function f(e){(0,l.default)("#ezq--notifications-toast-container").length||(0,l.default)("body").append((0,l.default)("").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=r.format(e.title,e.body),o=(0,l.default)(t);if(e.onclose&&(0,l.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,l.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var s=!1!==e.autohide,a=!1!==e.animation,i=e.delay||1e4;return(0,l.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:s,delay:i,animation:a}),o.toast("show"),o}function j(e){var t=a.format(e.title),o=(0,l.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(m),s=(0,l.default)(u);return o.find(".modal-footer").append(s),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),(0,l.default)(n).click(function(){e.success()}),o.modal("show"),o}function h(e){if(e.target){var t=(0,l.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=a.format(e.title),s=(0,l.default)(n);return s.find(".modal-body").append((0,l.default)(o)),(0,l.default)("main").append(s),s.modal("show")}function _(e){var t={success:d,error:s}[e.type].format(e.body);return(0,l.default)(t)}var g={ezAlert:p,ezToast:f,ezQuery:j,ezProgressBar:h,ezBadge:_};t.default=g},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,s=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var a=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=s.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=s.default.csrfNonce,a(e,t)}},"./CTFd/themes/core/assets/js/pages/challenges.js":function(e,t,o){o("./CTFd/themes/core/assets/js/pages/main.js"),o("./node_modules/bootstrap/js/dist/tab.js");var n=o("./CTFd/themes/core/assets/js/ezq.js"),r=o("./CTFd/themes/core/assets/js/utils.js"),d=i(o("./node_modules/moment/moment.js")),_=i(o("./node_modules/jquery/dist/jquery.js")),a=i(o("./CTFd/themes/core/assets/js/CTFd.js")),s=i(o("./CTFd/themes/core/assets/js/config.js"));function i(e){return e&&e.__esModule?e:{default:e}}var l={teams:function(e){return a.default.api.get_team_solves({teamId:e})},users:function(e){return a.default.api.get_user_solves({userId:e})}},c=a.default.lib.markdown();a.default._internal.challenge={};var g=[],v=[],y=function(t){var e=_.default.grep(g,function(e){return e.id==t})[0];"hidden"!==e.type?u(e):(0,n.ezAlert)({title:"Challenge Hidden!",body:"You haven't unlocked this challenge yet!",button:"Got it!"})},u=function(n){return Promise.all([a.default.api.get_challenge({challengeId:n.id}),_.default.getScript(s.default.urlRoot+n.script),_.default.get(s.default.urlRoot+n.template)]).then(function(e){var t=a.default._internal.challenge;(0,_.default)("#challenge-window").empty(),(0,_.default)("#challenge-window").append(e[0].data.view),(0,_.default)("#challenge-window #challenge-input").addClass("form-control"),(0,_.default)("#challenge-window #challenge-submit").addClass("btn btn-md btn-outline-secondary float-right");var o=(0,_.default)("#challenge-window").find(".modal-dialog");if(window.init.theme_settings&&window.init.theme_settings.challenge_window_size)switch(window.init.theme_settings.challenge_window_size){case"sm":o.addClass("modal-sm");break;case"lg":o.addClass("modal-lg");break;case"xl":o.addClass("modal-xl")}(0,_.default)(".challenge-solves").click(function(e){b((0,_.default)("#challenge-id").val())}),(0,_.default)(".nav-tabs a").click(function(e){e.preventDefault(),(0,_.default)(this).tab("show")}),(0,_.default)("#challenge-window").on("hide.bs.modal",function(e){(0,_.default)("#challenge-input").removeClass("wrong"),(0,_.default)("#challenge-input").removeClass("correct"),(0,_.default)("#incorrect-key").slideUp(),(0,_.default)("#correct-key").slideUp(),(0,_.default)("#already-solved").slideUp(),(0,_.default)("#too-fast").slideUp()}),(0,_.default)(".load-hint").on("click",function(e){T((0,_.default)(this).data("hint-id"))}),(0,_.default)("#challenge-submit").click(function(e){e.preventDefault(),(0,_.default)("#challenge-submit").addClass("disabled-button"),(0,_.default)("#challenge-submit").prop("disabled",!0),a.default._internal.challenge.submit().then(m).then(f).then(p)}),(0,_.default)("#challenge-input").keyup(function(e){13==e.keyCode&&(0,_.default)("#challenge-submit").click()}),t.postRender(),window.location.replace(window.location.href.split("#")[0]+"#".concat(n.name,"-").concat(n.id)),(0,_.default)("#challenge-window").modal()})};function m(e){var t=e.data,o=(0,_.default)("#result-message"),n=(0,_.default)("#result-notification"),s=(0,_.default)("#challenge-input");n.removeClass(),o.text(t.message),"authentication_required"!==t.status?("incorrect"===t.status?(n.addClass("alert alert-danger alert-dismissable text-center"),n.slideDown(),s.removeClass("correct"),s.addClass("wrong"),setTimeout(function(){s.removeClass("wrong")},3e3)):"correct"===t.status?(n.addClass("alert alert-success alert-dismissable text-center"),n.slideDown(),(0,_.default)(".challenge-solves").text(parseInt((0,_.default)(".challenge-solves").text().split(" ")[0])+1+" Solves"),s.val(""),s.removeClass("wrong"),s.addClass("correct")):"already_solved"===t.status?(n.addClass("alert alert-info alert-dismissable text-center"),n.slideDown(),s.addClass("correct")):"paused"===t.status?(n.addClass("alert alert-warning alert-dismissable text-center"),n.slideDown()):"ratelimited"===t.status&&(n.addClass("alert alert-warning alert-dismissable text-center"),n.slideDown(),s.addClass("too-fast"),setTimeout(function(){s.removeClass("too-fast")},3e3)),setTimeout(function(){(0,_.default)(".alert").slideUp(),(0,_.default)("#challenge-submit").removeClass("disabled-button"),(0,_.default)("#challenge-submit").prop("disabled",!1)},3e3)):window.location=a.default.config.urlRoot+"/login?next="+a.default.config.urlRoot+window.location.pathname+window.location.hash}function p(){return l[a.default.config.userMode]("me").then(function(e){for(var t=e.data,o=t.length-1;0<=o;o--){var n=(0,_.default)('button[value="'+t[o].challenge_id+'"]');n.addClass("solved-challenge"),n.prepend("")}})}function b(e){return a.default.api.get_challenge_solves({challengeId:e}).then(function(e){var t=e.data;(0,_.default)(".challenge-solves").text(parseInt(t.length)+" Solves");var o=(0,_.default)("#challenge-solves-names");o.empty();for(var n=0;n{0}
".format(r.name)),f=(0,_.default)("{0}".format(r.value)),j=0;j".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(c.format(e.button));return e.success&&(0,l.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),o.modal("show"),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),o}function f(e){(0,l.default)("#ezq--notifications-toast-container").length||(0,l.default)("body").append((0,l.default)("").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=r.format(e.title,e.body),o=(0,l.default)(t);if(e.onclose&&(0,l.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,l.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var s=!1!==e.autohide,a=!1!==e.animation,i=e.delay||1e4;return(0,l.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:s,delay:i,animation:a}),o.toast("show"),o}function j(e){var t=a.format(e.title),o=(0,l.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,l.default)(e.body));var n=(0,l.default)(m),s=(0,l.default)(u);return o.find(".modal-footer").append(s),o.find(".modal-footer").append(n),(0,l.default)("main").append(o),(0,l.default)(o).on("hidden.bs.modal",function(){(0,l.default)(this).modal("dispose")}),(0,l.default)(n).click(function(){e.success()}),o.modal("show"),o}function h(e){if(e.target){var t=(0,l.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=a.format(e.title),s=(0,l.default)(n);return s.find(".modal-body").append((0,l.default)(o)),(0,l.default)("main").append(s),s.modal("show")}function _(e){var t={success:d,error:s}[e.type].format(e.body);return(0,l.default)(t)}var g={ezAlert:p,ezToast:f,ezQuery:j,ezProgressBar:h,ezBadge:_};t.default=g},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,s=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var a=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=s.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=s.default.csrfNonce,a(e,t)}},"./CTFd/themes/core/assets/js/pages/challenges.js":function(e,t,o){o("./CTFd/themes/core/assets/js/pages/main.js"),o("./node_modules/bootstrap/js/dist/tab.js");var n=o("./CTFd/themes/core/assets/js/ezq.js"),r=o("./CTFd/themes/core/assets/js/utils.js"),d=i(o("./node_modules/moment/moment.js")),_=i(o("./node_modules/jquery/dist/jquery.js")),a=i(o("./CTFd/themes/core/assets/js/CTFd.js")),s=i(o("./CTFd/themes/core/assets/js/config.js"));function i(e){return e&&e.__esModule?e:{default:e}}var l={teams:function(e){return a.default.api.get_team_solves({teamId:e})},users:function(e){return a.default.api.get_user_solves({userId:e})}},c=a.default.lib.markdown();a.default._internal.challenge={};var g=[],v=[],y=function(t){var e=_.default.grep(g,function(e){return e.id==t})[0];"hidden"!==e.type?u(e):(0,n.ezAlert)({title:"Challenge Hidden!",body:"You haven't unlocked this challenge yet!",button:"Got it!"})},u=function(n){return Promise.all([a.default.api.get_challenge({challengeId:n.id}),_.default.getScript(s.default.urlRoot+n.script),_.default.get(s.default.urlRoot+n.template)]).then(function(e){var t=a.default._internal.challenge;(0,_.default)("#challenge-window").empty(),t.data=e[0].data,t.preRender(),(0,_.default)("#challenge-window").append(e[0].data.view),(0,_.default)("#challenge-window #challenge-input").addClass("form-control"),(0,_.default)("#challenge-window #challenge-submit").addClass("btn btn-md btn-outline-secondary float-right");var o=(0,_.default)("#challenge-window").find(".modal-dialog");if(window.init.theme_settings&&window.init.theme_settings.challenge_window_size)switch(window.init.theme_settings.challenge_window_size){case"sm":o.addClass("modal-sm");break;case"lg":o.addClass("modal-lg");break;case"xl":o.addClass("modal-xl")}(0,_.default)(".challenge-solves").click(function(e){b((0,_.default)("#challenge-id").val())}),(0,_.default)(".nav-tabs a").click(function(e){e.preventDefault(),(0,_.default)(this).tab("show")}),(0,_.default)("#challenge-window").on("hide.bs.modal",function(e){(0,_.default)("#challenge-input").removeClass("wrong"),(0,_.default)("#challenge-input").removeClass("correct"),(0,_.default)("#incorrect-key").slideUp(),(0,_.default)("#correct-key").slideUp(),(0,_.default)("#already-solved").slideUp(),(0,_.default)("#too-fast").slideUp()}),(0,_.default)(".load-hint").on("click",function(e){T((0,_.default)(this).data("hint-id"))}),(0,_.default)("#challenge-submit").click(function(e){e.preventDefault(),(0,_.default)("#challenge-submit").addClass("disabled-button"),(0,_.default)("#challenge-submit").prop("disabled",!0),a.default._internal.challenge.submit().then(m).then(f).then(p)}),(0,_.default)("#challenge-input").keyup(function(e){13==e.keyCode&&(0,_.default)("#challenge-submit").click()}),t.postRender(),window.location.replace(window.location.href.split("#")[0]+"#".concat(n.name,"-").concat(n.id)),(0,_.default)("#challenge-window").modal()})};function m(e){var t=e.data,o=(0,_.default)("#result-message"),n=(0,_.default)("#result-notification"),s=(0,_.default)("#challenge-input");n.removeClass(),o.text(t.message),"authentication_required"!==t.status?("incorrect"===t.status?(n.addClass("alert alert-danger alert-dismissable text-center"),n.slideDown(),s.removeClass("correct"),s.addClass("wrong"),setTimeout(function(){s.removeClass("wrong")},3e3)):"correct"===t.status?(n.addClass("alert alert-success alert-dismissable text-center"),n.slideDown(),(0,_.default)(".challenge-solves").text(parseInt((0,_.default)(".challenge-solves").text().split(" ")[0])+1+" Solves"),s.val(""),s.removeClass("wrong"),s.addClass("correct")):"already_solved"===t.status?(n.addClass("alert alert-info alert-dismissable text-center"),n.slideDown(),s.addClass("correct")):"paused"===t.status?(n.addClass("alert alert-warning alert-dismissable text-center"),n.slideDown()):"ratelimited"===t.status&&(n.addClass("alert alert-warning alert-dismissable text-center"),n.slideDown(),s.addClass("too-fast"),setTimeout(function(){s.removeClass("too-fast")},3e3)),setTimeout(function(){(0,_.default)(".alert").slideUp(),(0,_.default)("#challenge-submit").removeClass("disabled-button"),(0,_.default)("#challenge-submit").prop("disabled",!1)},3e3)):window.location=a.default.config.urlRoot+"/login?next="+a.default.config.urlRoot+window.location.pathname+window.location.hash}function p(){return l[a.default.config.userMode]("me").then(function(e){for(var t=e.data,o=t.length-1;0<=o;o--){var n=(0,_.default)('button[value="'+t[o].challenge_id+'"]');n.addClass("solved-challenge"),n.prepend("")}})}function b(e){return a.default.api.get_challenge_solves({challengeId:e}).then(function(e){var t=e.data;(0,_.default)(".challenge-solves").text(parseInt(t.length)+" Solves");var o=(0,_.default)("#challenge-solves-names");o.empty();for(var n=0;n{0}
".format(r.name)),f=(0,_.default)("{0}".format(r.value)),j=0;j