{"version":3,"sources":["webpack://wagtail/./client/src/entrypoints/admin/core.js","webpack://wagtail/external \"jQuery\"","webpack://wagtail/webpack/bootstrap","webpack://wagtail/webpack/runtime/global","webpack://wagtail/webpack/runtime/hasOwnProperty shorthand","webpack://wagtail/webpack/runtime/jsonp chunk loading","webpack://wagtail/webpack/startup"],"names":["__importDefault","this","mod","__esModule","exports","jquery_1","window","addMessage","status","text","addClass","empty","append","addMsgTimeout","setTimeout","clearTimeout","escapeHtml","map","'","replace","char","initTagField","id","autocompleteUrl","options","finalOptions","Object","assign","autocomplete","source","preprocessTag","val","indexOf","tagit","enableDirtyFormCheck","formSelector","$form","confirmationMessage","alwaysDirty","initialData","formSubmitted","on","serialize","addEventListener","event","isDirty","returnValue","document","toggleClass","hasClass","removeClass","find","fitNav","css","height","$logoContainer","lastMouseX","lastDir","dirChangeCount","disableWag","dir","mouseX","pageX","initLogo","closest","location","hash","cleanedHash","tab","e","preventDefault","history","replaceState","attr","trigger","each","$dropdown","stopPropagation","e2","relTarg","relatedTarget","toElement","parents","is","off","headerSearch","searchCurrentIndex_1","searchNextIndex_1","$input_1","termInput","$inputContainer_1","parent","data","search_1","workingClasses","newQuery","getURLParam_1","trim","index_1","ajax","url","q","success","targetOutput","html","slideDown","complete","wagtail","ui","initDropDowns","name","results","RegExp","exec","search","autosize","update","get","$self","$replacementElem","dataName","cancelSpinner","prop","removeData","form","checkValidity","noValidate","timeout","reEnableAfter","length","LISTING_ACTIVE_CLASS","ICON_DOWN","ICON_UP","IS_OPEN","clickEvent","TOGGLE_SELECTOR","ARIA","keys","DropDownController","dropDowns","closeAllExcept","dropDown","index","forEach","item","i","state","isOpen","closeDropDown","add","push","getByIndex","getOpenDropDown","needle","DropDown","el","registry","console","$parent","clickOutsideDropDown","bind","openDropDown","handleClick","handleKeyEvent","error","initDropDown","handleKeyPress","which","open_1","qsa","element","selector","slice","call","querySelectorAll","prototype","toggle","querySelector","classList","setAttribute","remove","removeEventListener","relTarget","ready","inputElement","buttonElement","value","selectedButtonElement","module","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","m","x","g","globalThis","Function","o","obj","hasOwnProperty","installedChunks","321","deferredModules","checkDeferredModules","webpackJsonpCallback","parentChunkLoadingFunction","chunkId","chunkIds","moreModules","runtime","executeModules","resolves","shift","apply","chunkLoadingGlobal","self","checkDeferredModulesImpl","result","deferredModule","fulfilled","j","depId","splice","s","startup"],"mappings":"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","file":"wagtail/admin/static/wagtailadmin/js/core.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar jquery_1 = __importDefault(require(\"jquery\"));\n/* generic function for adding a message to message area through JS alone */\nfunction addMessage(status, text) {\n jquery_1[\"default\"]('.messages').addClass('new').empty()\n .append('');\n var addMsgTimeout = setTimeout(function () {\n jquery_1[\"default\"]('.messages').addClass('appear');\n clearTimeout(addMsgTimeout);\n }, 100);\n}\nwindow.addMessage = addMessage;\nfunction escapeHtml(text) {\n var map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n };\n return text.replace(/[&<>\"']/g, function (char) { return map[char]; });\n}\nwindow.escapeHtml = escapeHtml;\nfunction initTagField(id, autocompleteUrl, options) {\n var finalOptions = Object.assign({\n autocomplete: { source: autocompleteUrl },\n preprocessTag: function (val) {\n // Double quote a tag if it contains a space\n // and if it isn't already quoted.\n if (val && val[0] !== '\"' && val.indexOf(' ') > -1) {\n return '\"' + val + '\"';\n }\n return val;\n },\n }, options);\n jquery_1[\"default\"]('#' + id).tagit(finalOptions);\n}\nwindow.initTagField = initTagField;\n/*\n * Enables a \"dirty form check\", prompting the user if they are navigating away\n * from a page with unsaved changes.\n *\n * It takes the following parameters:\n *\n * - formSelector - A CSS selector to select the form to apply this check to.\n *\n * - options - An object for passing in options. Possible options are:\n * - confirmationMessage - The message to display in the prompt.\n * - alwaysDirty - When set to true the form will always be considered dirty,\n * prompting the user even when nothing has been changed.\n*/\nfunction enableDirtyFormCheck(formSelector, options) {\n var $form = jquery_1[\"default\"](formSelector);\n var confirmationMessage = options.confirmationMessage || ' ';\n var alwaysDirty = options.alwaysDirty || false;\n var initialData = null;\n var formSubmitted = false;\n $form.on('submit', function () {\n formSubmitted = true;\n });\n // Delay snapshotting the form’s data to avoid race conditions with form widgets that might process the values.\n // User interaction with the form within that delay also won’t trigger the confirmation message.\n setTimeout(function () {\n initialData = $form.serialize();\n }, 1000 * 10);\n // eslint-disable-next-line consistent-return\n window.addEventListener('beforeunload', function (event) {\n var isDirty = initialData && $form.serialize() !== initialData;\n var displayConfirmation = (!formSubmitted && (alwaysDirty || isDirty));\n if (displayConfirmation) {\n // eslint-disable-next-line no-param-reassign\n event.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n });\n}\nwindow.enableDirtyFormCheck = enableDirtyFormCheck;\njquery_1[\"default\"](function () {\n // Add class to the body from which transitions may be hung so they don't appear to transition as the page loads\n jquery_1[\"default\"]('body').addClass('ready');\n // Enable toggle to open/close nav\n jquery_1[\"default\"](document).on('click', '#nav-toggle', function () {\n jquery_1[\"default\"]('body').toggleClass('nav-open');\n if (!jquery_1[\"default\"]('body').hasClass('nav-open')) {\n jquery_1[\"default\"]('body').addClass('nav-closed');\n }\n else {\n jquery_1[\"default\"]('body').removeClass('nav-closed');\n }\n });\n // Enable toggle to open/close user settings\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', '#account-settings', function () {\n jquery_1[\"default\"]('.nav-main').toggleClass('nav-main--open-footer');\n jquery_1[\"default\"](this).find('em').toggleClass('icon-arrow-down-after icon-arrow-up-after');\n });\n // Resize nav to fit height of window. This is an unimportant bell/whistle to make it look nice\n // eslint-disable-next-line func-names\n var fitNav = function () {\n jquery_1[\"default\"]('.nav-wrapper').css('min-height', jquery_1[\"default\"](window).height());\n };\n fitNav();\n jquery_1[\"default\"](window).on('resize', function () {\n fitNav();\n });\n // Logo interactivity\n function initLogo() {\n var sensitivity = 8; // the amount of times the user must stroke the wagtail to trigger the animation\n var $logoContainer = jquery_1[\"default\"]('[data-animated-logo-container]');\n var lastMouseX = 0;\n var lastDir = '';\n var dirChangeCount = 0;\n function enableWag() {\n $logoContainer.removeClass('logo-serious').addClass('logo-playful');\n }\n function disableWag() {\n $logoContainer.removeClass('logo-playful').addClass('logo-serious');\n }\n $logoContainer.on('mousemove', function (event) {\n var mouseX = event.pageX;\n var dir;\n if (mouseX > lastMouseX) {\n dir = 'r';\n }\n else if (mouseX < lastMouseX) {\n dir = 'l';\n }\n if (dir !== lastDir && lastDir !== '') {\n dirChangeCount += 1;\n }\n if (dirChangeCount > sensitivity) {\n enableWag();\n }\n lastMouseX = mouseX;\n lastDir = dir;\n });\n $logoContainer.on('mouseleave', function () {\n dirChangeCount = 0;\n disableWag();\n });\n disableWag();\n }\n initLogo();\n // Enable nice focus effects on all fields. This enables help text on hover.\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('focus mouseover', 'input,textarea,select', function () {\n jquery_1[\"default\"](this).closest('.field').addClass('focused');\n jquery_1[\"default\"](this).closest('fieldset').addClass('focused');\n jquery_1[\"default\"](this).closest('li').addClass('focused');\n });\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('blur mouseout', 'input,textarea,select', function () {\n jquery_1[\"default\"](this).closest('.field').removeClass('focused');\n jquery_1[\"default\"](this).closest('fieldset').removeClass('focused');\n jquery_1[\"default\"](this).closest('li').removeClass('focused');\n });\n /* tabs */\n if (window.location.hash) {\n var cleanedHash = window.location.hash.replace(/[^\\w\\-#]/g, '');\n jquery_1[\"default\"]('a[href=\"' + cleanedHash + '\"]').tab('show');\n }\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', '.tab-nav a', function (e) {\n e.preventDefault();\n jquery_1[\"default\"](this).tab('show');\n window.history.replaceState(null, null, jquery_1[\"default\"](this).attr('href'));\n });\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', '.tab-toggle', function (e) {\n e.preventDefault();\n jquery_1[\"default\"]('.tab-nav a[href=\"' + jquery_1[\"default\"](this).attr('href') + '\"]').trigger('click');\n });\n // eslint-disable-next-line func-names\n jquery_1[\"default\"]('.dropdown').each(function () {\n var $dropdown = jquery_1[\"default\"](this);\n jquery_1[\"default\"]('.dropdown-toggle', $dropdown).on('click', function (e) {\n e.stopPropagation();\n $dropdown.toggleClass('open');\n if ($dropdown.hasClass('open')) {\n // If a dropdown is opened, add an event listener for document clicks to close it\n jquery_1[\"default\"](document).on('click.dropdown.cancel', function (e2) {\n var relTarg = e2.relatedTarget || e2.toElement;\n // Only close dropdown if the click target wasn't a child of this dropdown\n if (!jquery_1[\"default\"](relTarg).parents().is($dropdown)) {\n $dropdown.removeClass('open');\n jquery_1[\"default\"](document).off('click.dropdown.cancel');\n }\n });\n }\n else {\n jquery_1[\"default\"](document).off('click.dropdown.cancel');\n }\n });\n });\n /* Dropzones */\n // eslint-disable-next-line func-names\n jquery_1[\"default\"]('.drop-zone').on('dragover', function () {\n jquery_1[\"default\"](this).addClass('hovered');\n // eslint-disable-next-line func-names\n }).on('dragleave dragend drop', function () {\n jquery_1[\"default\"](this).removeClass('hovered');\n });\n /* Header search behaviour */\n if (window.headerSearch) {\n var searchCurrentIndex_1 = 0;\n var searchNextIndex_1 = 0;\n var $input_1 = jquery_1[\"default\"](window.headerSearch.termInput);\n var $inputContainer_1 = $input_1.parent();\n $input_1.on('keyup cut paste change', function () {\n clearTimeout($input_1.data('timer'));\n // eslint-disable-next-line no-use-before-define\n $input_1.data('timer', setTimeout(search_1, 200));\n });\n // auto focus on search box\n $input_1.trigger('focus');\n // eslint-disable-next-line func-names\n var search_1 = function () {\n var workingClasses = 'icon-spinner';\n var newQuery = $input_1.val();\n // eslint-disable-next-line no-use-before-define\n var currentQuery = getURLParam_1('q');\n // only do the query if it has changed for trimmed queries\n // eg. \" \" === \"\" and \"firstword \" ==== \"firstword\"\n if (currentQuery.trim() !== newQuery.trim()) {\n $inputContainer_1.addClass(workingClasses);\n searchNextIndex_1++;\n var index_1 = searchNextIndex_1;\n jquery_1[\"default\"].ajax({\n url: window.headerSearch.url,\n // eslint-disable-next-line id-length\n data: { q: newQuery },\n success: function (data) {\n if (index_1 > searchCurrentIndex_1) {\n searchCurrentIndex_1 = index_1;\n jquery_1[\"default\"](window.headerSearch.targetOutput).html(data).slideDown(800);\n window.history.replaceState(null, null, '?q=' + newQuery);\n }\n },\n complete: function () {\n window.wagtail.ui.initDropDowns();\n $inputContainer_1.removeClass(workingClasses);\n }\n });\n }\n };\n // eslint-disable-next-line func-names\n var getURLParam_1 = function (name) {\n var results = new RegExp('[\\\\?&]' + name + '=([^]*)').exec(window.location.search);\n if (results) {\n return results[1];\n }\n return '';\n };\n }\n /* Functions that need to run/rerun when active tabs are changed */\n jquery_1[\"default\"](document).on('shown.bs.tab', function () {\n // Resize autosize textareas\n // eslint-disable-next-line func-names\n jquery_1[\"default\"]('textarea[data-autosize-on]').each(function () {\n // eslint-disable-next-line no-undef\n autosize.update(jquery_1[\"default\"](this).get());\n });\n });\n /* Debounce submission of long-running forms and add spinner to give sense of activity */\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', 'button.button-longrunning', function () {\n var $self = jquery_1[\"default\"](this);\n var $replacementElem = jquery_1[\"default\"]('em', $self);\n var reEnableAfter = 30;\n var dataName = 'disabledtimeout';\n // eslint-disable-next-line func-names\n window.cancelSpinner = function () {\n $self.prop('disabled', '').removeData(dataName).removeClass('button-longrunning-active');\n if ($self.data('clicked-text')) {\n $replacementElem.text($self.data('original-text'));\n }\n };\n // If client-side validation is active on this form, and is going to block submission of the\n // form, don't activate the spinner\n var form = $self.closest('form').get(0);\n if (form && form.checkValidity && !form.noValidate && (!form.checkValidity())) {\n return;\n }\n // Disabling a button prevents it submitting the form, so disabling\n // must occur on a brief timeout only after this function returns.\n var timeout = setTimeout(function () {\n if (!$self.data(dataName)) {\n // Button re-enables after a timeout to prevent button becoming\n // permanently un-usable\n $self.data(dataName, setTimeout(function () {\n clearTimeout($self.data(dataName));\n // eslint-disable-next-line no-undef\n cancelSpinner();\n }, reEnableAfter * 1000));\n if ($self.data('clicked-text') && $replacementElem.length) {\n // Save current button text\n $self.data('original-text', $replacementElem.text());\n $replacementElem.text($self.data('clicked-text'));\n }\n // Disabling button must be done last: disabled buttons can't be\n // modified in the normal way, it would seem.\n $self.addClass('button-longrunning-active').prop('disabled', 'true');\n }\n clearTimeout(timeout);\n }, 10);\n });\n});\n// =============================================================================\n// Wagtail global module, mainly useful for debugging.\n// =============================================================================\n// =============================================================================\n// Inline dropdown module\n// =============================================================================\nvar wagtail = window.wagtail || {};\nif (!wagtail.ui) {\n wagtail.ui = {};\n}\n// Constants\nvar DROPDOWN_SELECTOR = '[data-dropdown]';\nvar LISTING_TITLE_SELECTOR = '[data-listing-page-title]';\nvar LISTING_ACTIVE_CLASS = 'listing__item--active';\nvar ICON_DOWN = 'icon-arrow-down';\nvar ICON_UP = 'icon-arrow-up';\nvar IS_OPEN = 'is-open';\nvar clickEvent = 'click';\nvar TOGGLE_SELECTOR = '[data-dropdown-toggle]';\nvar ARIA = 'aria-hidden';\nvar keys = {\n ESC: 27,\n ENTER: 13,\n SPACE: 32\n};\n/**\n * Singleton controller and registry for DropDown components.\n *\n * Mostly used to maintain open/closed state of components and easily\n * toggle them when the focus changes.\n */\nvar DropDownController = {\n dropDowns: [],\n closeAllExcept: function (dropDown) {\n var index = this.dropDowns.indexOf(dropDown);\n this.dropDowns.forEach(function (item, i) {\n if (i !== index && item.state.isOpen) {\n item.closeDropDown();\n }\n });\n },\n add: function (dropDown) {\n this.dropDowns.push(dropDown);\n },\n get: function () {\n return this.dropDowns;\n },\n getByIndex: function (index) {\n return this.dropDowns[index];\n },\n getOpenDropDown: function () {\n var needle = null;\n this.dropDowns.forEach(function (item) {\n if (item.state.isOpen) {\n needle = item;\n }\n });\n return needle;\n }\n};\n/**\n * DropDown component\n *\n * Template: _button_with_dropdown.html\n *\n * Can contain a list of links\n * Controllable via a toggle class or the keyboard.\n */\nfunction DropDown(el, registry) {\n if (!el || !registry) {\n if ('error' in console) {\n // eslint-disable-next-line max-len, no-console\n console.error('A dropdown was created without an element or the DropDownController.\\nMake sure to pass both to your component.');\n return;\n }\n }\n this.el = el;\n this.$parent = jquery_1[\"default\"](el).parents(LISTING_TITLE_SELECTOR);\n this.state = {\n isOpen: false\n };\n this.registry = registry;\n this.clickOutsideDropDown = this.clickOutsideDropDown.bind(this);\n this.closeDropDown = this.closeDropDown.bind(this);\n this.openDropDown = this.openDropDown.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyEvent = this.handleKeyEvent.bind(this);\n el.addEventListener(clickEvent, this.handleClick);\n el.addEventListener('keydown', this.handleKeyEvent);\n this.$parent.data('close', this.closeDropDown);\n}\nDropDown.prototype = {\n handleKeyEvent: function (e) {\n var validTriggers = [keys.SPACE, keys.ENTER];\n if (validTriggers.indexOf(e.which) > -1) {\n e.preventDefault();\n this.handleClick(e);\n }\n },\n handleClick: function (e) {\n if (!this.state.isOpen) {\n this.openDropDown(e);\n }\n else {\n this.closeDropDown(e);\n }\n },\n openDropDown: function (e) {\n e.stopPropagation();\n e.preventDefault();\n var el = this.el;\n var $parent = this.$parent;\n var toggle = el.querySelector(TOGGLE_SELECTOR);\n this.state.isOpen = true;\n this.registry.closeAllExcept(this);\n el.classList.add(IS_OPEN);\n el.setAttribute(ARIA, false);\n toggle.classList.remove(ICON_DOWN);\n toggle.classList.add(ICON_UP);\n document.addEventListener(clickEvent, this.clickOutsideDropDown, false);\n $parent.addClass(LISTING_ACTIVE_CLASS);\n },\n closeDropDown: function () {\n this.state.isOpen = false;\n var el = this.el;\n var $parent = this.$parent;\n var toggle = el.querySelector(TOGGLE_SELECTOR);\n document.removeEventListener(clickEvent, this.clickOutsideDropDown, false);\n el.classList.remove(IS_OPEN);\n toggle.classList.add(ICON_DOWN);\n toggle.classList.remove(ICON_UP);\n el.setAttribute(ARIA, true);\n $parent.removeClass(LISTING_ACTIVE_CLASS);\n },\n clickOutsideDropDown: function (e) {\n var el = this.el;\n var relTarget = e.relatedTarget || e.toElement;\n if (!jquery_1[\"default\"](relTarget).parents().is(el)) {\n this.closeDropDown();\n }\n }\n};\nfunction initDropDown() {\n var dropDown = new DropDown(this, DropDownController);\n DropDownController.add(dropDown);\n}\nfunction handleKeyPress(e) {\n if (e.which === keys.ESC) {\n var open_1 = DropDownController.getOpenDropDown();\n if (open_1) {\n open_1.closeDropDown();\n }\n }\n}\nfunction initDropDowns() {\n jquery_1[\"default\"](DROPDOWN_SELECTOR).each(initDropDown);\n jquery_1[\"default\"](document).on('keydown', handleKeyPress);\n}\njquery_1[\"default\"](document).ready(initDropDowns);\nwagtail.ui.initDropDowns = initDropDowns;\nwagtail.ui.DropDownController = DropDownController;\n// provide a workaround for NodeList#forEach not being available in IE 11\nfunction qsa(element, selector) {\n return [].slice.call(element.querySelectorAll(selector));\n}\n// Initialise button selectors\nfunction initButtonSelects() {\n qsa(document, '.button-select').forEach(function (element) {\n var inputElement = element.querySelector('input[type=\"hidden\"]');\n qsa(element, '.button-select__option').forEach(function (buttonElement) {\n buttonElement.addEventListener('click', function (e) {\n e.preventDefault();\n inputElement.value = buttonElement.value;\n qsa(element, '.button-select__option--selected').forEach(function (selectedButtonElement) {\n selectedButtonElement.classList.remove('button-select__option--selected');\n });\n buttonElement.classList.add('button-select__option--selected');\n });\n });\n });\n}\njquery_1[\"default\"](document).ready(initButtonSelects);\nwindow.wagtail = wagtail;\n","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n// It's empty as some runtime module handles the default behavior\n__webpack_require__.x = function() {}\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// Promise = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t321: 0\n};\n\nvar deferredModules = [\n\t[94639,751],\n\t[90971,751]\n];\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\nvar checkDeferredModules = function() {};\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\tvar executeModules = data[3];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0, resolves = [];\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tresolves.push(installedChunks[chunkId][0]);\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\twhile(resolves.length) {\n\t\tresolves.shift()();\n\t}\n\n\t// add entry modules from loaded chunk to deferred list\n\tif(executeModules) deferredModules.push.apply(deferredModules, executeModules);\n\n\t// run deferred modules when all chunks ready\n\treturn checkDeferredModules();\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwagtail\"] = self[\"webpackChunkwagtail\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\n\nfunction checkDeferredModulesImpl() {\n\tvar result;\n\tfor(var i = 0; i < deferredModules.length; i++) {\n\t\tvar deferredModule = deferredModules[i];\n\t\tvar fulfilled = true;\n\t\tfor(var j = 1; j < deferredModule.length; j++) {\n\t\t\tvar depId = deferredModule[j];\n\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferredModules.splice(i--, 1);\n\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n\t\t}\n\t}\n\tif(deferredModules.length === 0) {\n\t\t__webpack_require__.x();\n\t\t__webpack_require__.x = function() {};\n\t}\n\treturn result;\n}\nvar startup = __webpack_require__.x;\n__webpack_require__.x = function() {\n\t// reset startup function so it can be called again when more startup code is added\n\t__webpack_require__.x = startup || (function() {});\n\treturn (checkDeferredModules = checkDeferredModulesImpl)();\n};","// run startup\nreturn __webpack_require__.x();\n"],"sourceRoot":""}