{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./app/javascript/ajax.js","webpack:///./app/javascript/packs/include_hit.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./app/javascript/hit.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","send","method","path","data","Promise","resolve","reject","request","type","url","console","log","JSON","stringify","success","response","error","Rails","ajax","err","window","clearUser","then","getUser","a","user_email","setUser","encodeURIComponent","_typeof","iterator","obj","constructor","this","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","setData","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","dispatchEvent","stopEverything","e","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","options","responseText","getResponseHeader","Math","floor","status","statusText","complete","beforeSend","readyState","XMLHttpRequest","OPENED","location","href","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","webpackPolyfill","deprecate","paths","children","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","arg","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","fn","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","queryString","search","urlParams","URLSearchParams","pathname","fromDesktop","detectMob","ab_queryString","ab_urlParams","innerWidth","homeRedirect"],"mappings":"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","file":"js/include_hit-d22a3f090b4a10f11663.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 38);\n","module.exports = require(\"regenerator-runtime\");\n","import Rails from '@rails/ujs';\n\nexport function send(method, path, data = null) {\n return new Promise((resolve, reject) => {\n try {\n const request = {\n type: method,\n url: path,\n data: data\n };\n console.log(`sending request: ${JSON.stringify(request)}`);\n request.success = (response) => {\n console.log(`received response to ${method} ${path}: ${JSON.stringify(response)}`);\n resolve(response);\n };\n request.error = (response) => {\n console.log(`received error response to ${method} ${path}: ${JSON.stringify(response)}`);\n reject(response);\n };\n Rails.ajax(request);\n }\n catch (err) {\n console.log(`client-side error for ${method} ${path}: ${err}`);\n reject(err);\n }\n });\n}\n\n// For test/debug:\nwindow.clearUser = () => send(\"POST\", \"/santa/clear_user\").then(() => { console.log('OK'); }).catch(err => { console.log(err); });\nwindow.getUser = async () => { try { const {user_email} = await send(\"GET\", \"/santa/get_user\"); console.log(`logged in: ${user_email}`); } catch(err) {console.log(err); } };\nwindow.setUser = (user_email) => send(\"POST\", \"/santa/set_user\", `user_email=${encodeURIComponent(user_email)}`).then(() => { console.log('OK'); }).catch(err => { console.log(err); });\n","import '../hit'\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import {send} from 'ajax';\n\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\nurlParams.append('path', window.location.pathname); // for \"path\" column in \"hits\" table\n\nexport const fromDesktop = urlParams.get('home') === 'yes' ? true : false;\n\n//hitPage();\n\n\n // only redirect from homepage\n if (window.location.pathname == '/' || window.location.pathname == '/santa/signup') {\n //ab_redirect(); - turn off ab test\n homeRedirect();\n }\n\n\nexport async function hitPage(){\n try {\n let link_url = \"/santa/hit?\"+urlParams.toString(); \n const hit = await send(\"GET\", link_url);\n }\n catch (err) {\n console.log('hit page testing err: ' + err);\n }\n}\n\nexport async function homeRedirect() {\nconsole.log('m', fromDesktop, urlParams, urlParams.get('home'));\n if (!detectMob() && !fromDesktop) {\n console.log('desktop redirect');\n var ab_queryString = window.location.search;\n var ab_urlParams = new URLSearchParams(ab_queryString);\n window.location.href ='/santa/desktop?' + ab_urlParams; \n }\n else {\n console.log('mobile view');\n }\n}\n\nexport async function signup_redirect() {\n var ab_queryString = window.location.search;\n var ab_urlParams = new URLSearchParams(ab_queryString);\n if (detectMob()) {\n window.location.href ='/santa/signup?' + ab_urlParams; \n }\n}\n\nexport async function ab_redirect() {\n var ab_queryString = window.location.search;\n var ab_urlParams = new URLSearchParams(ab_queryString);\n const ab_test = await send('GET', '/santa/check_ab_testing?' + ab_urlParams);\n var ab_ = ab_test.result;\n if (ab_ == 'b') {\n window.location.href ='/santa/signup?' + ab_urlParams; \n }\n}\n\nfunction detectMob() {\n return ( window.innerWidth <= 900 ) ;\n}\n"],"sourceRoot":""}