{"version":3,"sources":["webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/waypoints/lib/jquery.waypoints.min.js","webpack:///./node_modules/waypoints/lib/shortcuts/sticky.min.js","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./node_modules/scroll-snap-api/dist-web/index.js","webpack:///./node_modules/scroll-snap-slider/src/ScrollSnapSlider.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/turbolinks/dist/turbolinks.js","webpack:///./node_modules/stimulus-use/dist/index.js"],"names":["module","exports","__webpack_amd_options__","t","o","Error","element","handler","this","key","e","options","Adapter","extend","defaults","adapter","callback","axis","horizontal","enabled","triggerPoint","group","Group","findOrCreate","name","context","Context","findOrCreateByElement","offsetAliases","offset","add","i","prototype","queueTrigger","trigger","apply","destroy","remove","disable","enable","refresh","next","previous","invokeAll","push","n","r","length","destroyAll","disableAll","enableAll","refreshAll","viewportHeight","window","innerHeight","document","documentElement","clientHeight","viewportWidth","clientWidth","adapters","continuous","outerHeight","innerWidth","outerWidth","Waypoint","setTimeout","didScroll","didResize","oldScroll","x","scrollLeft","y","scrollTop","waypoints","vertical","waypointContextKey","windowContext","createThrottledScrollHandler","createThrottledResizeHandler","onload","checkEmpty","isEmptyObject","off","handleResize","on","requestAnimationFrame","handleScroll","isTouch","newScroll","forward","backward","s","a","l","h","id","c","flushTriggers","contextOffset","left","contextScroll","contextDimension","offsetProp","top","p","d","f","w","g","parseFloat","indexOf","Math","ceil","floor","findByElement","mozRequestAnimationFrame","webkitRequestAnimationFrame","call","clearTriggerQueues","triggerQueues","up","down","right","sort","inArray","splice","first","last","$element","jQuery","each","Array","slice","arguments","isFunction","closest","fn","waypoint","Zepto","createWrapper","createWaypoint","wrapper","proxy","direction","$wrapper","height","toggleClass","stuckClass","wrap","parent","removeClass","unwrap","Sticky","root","self","global","result","_toConsumableArray","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","_unsupportedIterableToArray","TypeError","_nonIterableSpread","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","done","value","err","_iterableToArrayLimit","_nonIterableRest","_createForOfIteratorHelper","allowArrayLike","it","F","_e2","normalCompletion","didErr","step","_e3","return","minLen","Object","toString","constructor","test","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","scrollSnapToNext","scrollToOptions","undefined","behavior","scrollFuzz","sign","maxScroll","scrollWidth","offsetWidth","scrollHeight","offsetHeight","scrollSnapPositions","getScrollSnapPositions","nextScrollPosition","currentScrollPosition","nextScrollPositions","pos","b","scrollTo","domRectIntersects","bottom","getAllDescendants","_step","children","_iterator","child","concat","rect","getBoundingClientRect","scrollPadding","style","getComputedStyle","xBeforeRaw","getPropertyValue","replace","yBeforeRaw","xAfterRaw","yAfterRaw","convert","raw","size","xBefore","width","yBefore","before","after","getScrollPadding","snapPositions","excludeOffAxis","parentRect","positions","start","center","end","descendants","_step2","orthogonalAxis","axisStart","axisSize","axisScroll","_iterator2","childRect","_childStyle$getProper2","split","childAlignY","childAlignX","childAlign","childOffsetStart","getSnapPositions","clamp","min","max","unique","map","v","iterable","Set","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","ScrollSnapSlider","plugins","slideScrollLeft","scrollTimeoutId","sizingMethod","slider","firstElementChild","roundingMethod","round","slide","calculateSlide","scrollTimeout","listenerOptions","passive","onScroll","bind","onScrollEnd","slideTo","addEventListener","removeEventListener","attachListeners","Map","plugin","set","protoProps","staticProps","dispatch","floored","clearTimeout","event","detail","dispatchEvent","CustomEvent","index","values","symbolObservablePonyfill","_Symbol","observable","originalModule","webpackPolyfill","create","get","_typeof","Turbolinks","supported","history","pushState","visit","controller","clearCache","setProgressBarDelay","copyObject","nodeType","Node","ELEMENT_NODE","parentNode","defer","throttle","u","cancelable","data","createEvent","initEvent","preventDefault","defaultPrevented","match","matchesSelector","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","uuid","random","Location","createElement","href","absoluteURL","hash","requestURL","anchor","getOrigin","join","getPath","getPathComponents","getLastPathComponent","getExtension","isHTML","isPrefixedBy","isEqualTo","toCacheKey","toJSON","valueOf","_t","HttpRequest","delegate","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","url","referrer","createXHR","NETWORK_FAILURE","TIMEOUT_FAILURE","timeout","send","xhr","sent","notifyApplicationBeforeRequestStart","setProgress","requestStarted","cancel","abort","lengthComputable","loaded","total","endRequest","status","requestCompletedWithResponse","responseText","getResponseHeader","failed","requestFailedWithStatusCode","notifyApplicationAfterRequestEnd","XMLHttpRequest","open","setRequestHeader","onprogress","onerror","ontimeout","onabort","progress","requestFinished","ProgressBar","trickle","_t2","stylesheetElement","createStylesheetElement","progressElement","createProgressElement","defaultCSS","show","visible","installStylesheetElement","installProgressElement","startTrickling","hide","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","setValue","head","insertBefore","firstChild","opacity","body","removeChild","trickleInterval","setInterval","clearInterval","type","textContent","className","BrowserAdapter","showProgressBar","_t3","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","action","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","location","_t4","History","onPageLoad","onPopState","started","stop","update","shouldHandlePopState","state","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","readyState","HeadDetails","elements","outerHTML","tracked","fromHeadElement","childNodes","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","getMetaValue","findMetaElementByName","getAttribute","tagName","toLowerCase","Snapshot","headDetails","bodyElement","fromHTMLString","fromHTMLElement","innerHTML","querySelector","clone","cloneNode","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","querySelectorAll","getPermanentElementById","getPermanentElementsPresentInSnapshot","findFirstAutofocusableElement","hasAnchor","isPreviewable","isCacheable","isVisitable","Renderer","render","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","async","attributes","setAttribute","__super__","hasOwnProperty","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","shouldRender","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","appendChild","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","focus","_t5","replaceChild","_t6","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","getSnapshot","snapshot","error","markAsPreview","renderSnapshot","renderError","removeAttribute","ScrollManager","_t7","scrollToElement","scrollIntoView","scrollToPosition","updatePosition","pageXOffset","pageYOffset","position","scrollPositionChanged","SnapshotCache","snapshots","has","read","touch","put","write","unshift","trim","Visit","performScroll","_t8","identifier","timingMetrics","recordTimingMetric","request","cancelRender","complete","fail","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","response","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","Date","getTime","getTimingMetrics","snapshotCached","frame","cancelAnimationFrame","_t9","Controller","clickBubbled","clickCaptured","view","scrollManager","startHistory","stopHistory","cache","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","which","altKey","ctrlKey","metaKey","shiftKey","nodeIsVisitable","currentScript","hasAttribute","console","warn","_createClass","_inherits","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getPrototypeOf","composeEventName","eventPrefix","composedName","__rest","propertyIsEnumerable","defaultOptions$4","debug","logger","StimulusUse","_a","_b","_c","_this7","log","functionName","args","groupCollapsed","assign","controllerId","groupEnd","eventName","details","eventDetails","customEvent","extendedEvent","targetElement","methodName","method","_ref2","bubbles","composed","originalEvent","application","stimulusUseDebug","dataset","_Object$assign4","controllerInitialize","initialize","controllerConnect","connect","controllerDisconnect","disconnect","defaultOptions$3","UseDispatch","_StimulusUse","_super9","_this8","_assertThisInitialize","eventNameWithPrefix","enhanceController","useDispatch","DebounceController","_Controller12","_super27","debounces","debounce","wait","timeoutId","useDebounce","func","ThrottleController","_Controller13","_super28","throttles"],"mappings":"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","file":"js/application~ec8c427e-964561451bdb56947844.chunk.js","sourcesContent":["/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","/*!\nWaypoints - 4.0.1\nCopyright © 2011-2016 Caleb Troughton\nLicensed under the MIT license.\nhttps://github.com/imakewebthings/waypoints/blob/master/licenses.txt\n*/\n!function () {\n \"use strict\";\n\n function t(o) {\n if (!o) throw new Error(\"No options passed to Waypoint constructor\");\n if (!o.element) throw new Error(\"No element option passed to Waypoint constructor\");\n if (!o.handler) throw new Error(\"No handler option passed to Waypoint constructor\");\n this.key = \"waypoint-\" + e, this.options = t.Adapter.extend({}, t.defaults, o), this.element = this.options.element, this.adapter = new t.Adapter(this.element), this.callback = o.handler, this.axis = this.options.horizontal ? \"horizontal\" : \"vertical\", this.enabled = this.options.enabled, this.triggerPoint = null, this.group = t.Group.findOrCreate({\n name: this.options.group,\n axis: this.axis\n }), this.context = t.Context.findOrCreateByElement(this.options.context), t.offsetAliases[this.options.offset] && (this.options.offset = t.offsetAliases[this.options.offset]), this.group.add(this), this.context.add(this), i[this.key] = this, e += 1;\n }\n\n var e = 0,\n i = {};\n t.prototype.queueTrigger = function (t) {\n this.group.queueTrigger(this, t);\n }, t.prototype.trigger = function (t) {\n this.enabled && this.callback && this.callback.apply(this, t);\n }, t.prototype.destroy = function () {\n this.context.remove(this), this.group.remove(this), delete i[this.key];\n }, t.prototype.disable = function () {\n return this.enabled = !1, this;\n }, t.prototype.enable = function () {\n return this.context.refresh(), this.enabled = !0, this;\n }, t.prototype.next = function () {\n return this.group.next(this);\n }, t.prototype.previous = function () {\n return this.group.previous(this);\n }, t.invokeAll = function (t) {\n var e = [];\n\n for (var o in i) {\n e.push(i[o]);\n }\n\n for (var n = 0, r = e.length; r > n; n++) {\n e[n][t]();\n }\n }, t.destroyAll = function () {\n t.invokeAll(\"destroy\");\n }, t.disableAll = function () {\n t.invokeAll(\"disable\");\n }, t.enableAll = function () {\n t.Context.refreshAll();\n\n for (var e in i) {\n i[e].enabled = !0;\n }\n\n return this;\n }, t.refreshAll = function () {\n t.Context.refreshAll();\n }, t.viewportHeight = function () {\n return window.innerHeight || document.documentElement.clientHeight;\n }, t.viewportWidth = function () {\n return document.documentElement.clientWidth;\n }, t.adapters = [], t.defaults = {\n context: window,\n continuous: !0,\n enabled: !0,\n group: \"default\",\n horizontal: !1,\n offset: 0\n }, t.offsetAliases = {\n \"bottom-in-view\": function bottomInView() {\n return this.context.innerHeight() - this.adapter.outerHeight();\n },\n \"right-in-view\": function rightInView() {\n return this.context.innerWidth() - this.adapter.outerWidth();\n }\n }, window.Waypoint = t;\n}(), function () {\n \"use strict\";\n\n function t(t) {\n window.setTimeout(t, 1e3 / 60);\n }\n\n function e(t) {\n this.element = t, this.Adapter = n.Adapter, this.adapter = new this.Adapter(t), this.key = \"waypoint-context-\" + i, this.didScroll = !1, this.didResize = !1, this.oldScroll = {\n x: this.adapter.scrollLeft(),\n y: this.adapter.scrollTop()\n }, this.waypoints = {\n vertical: {},\n horizontal: {}\n }, t.waypointContextKey = this.key, o[t.waypointContextKey] = this, i += 1, n.windowContext || (n.windowContext = !0, n.windowContext = new e(window)), this.createThrottledScrollHandler(), this.createThrottledResizeHandler();\n }\n\n var i = 0,\n o = {},\n n = window.Waypoint,\n r = window.onload;\n e.prototype.add = function (t) {\n var e = t.options.horizontal ? \"horizontal\" : \"vertical\";\n this.waypoints[e][t.key] = t, this.refresh();\n }, e.prototype.checkEmpty = function () {\n var t = this.Adapter.isEmptyObject(this.waypoints.horizontal),\n e = this.Adapter.isEmptyObject(this.waypoints.vertical),\n i = this.element == this.element.window;\n t && e && !i && (this.adapter.off(\".waypoints\"), delete o[this.key]);\n }, e.prototype.createThrottledResizeHandler = function () {\n function t() {\n e.handleResize(), e.didResize = !1;\n }\n\n var e = this;\n this.adapter.on(\"resize.waypoints\", function () {\n e.didResize || (e.didResize = !0, n.requestAnimationFrame(t));\n });\n }, e.prototype.createThrottledScrollHandler = function () {\n function t() {\n e.handleScroll(), e.didScroll = !1;\n }\n\n var e = this;\n this.adapter.on(\"scroll.waypoints\", function () {\n (!e.didScroll || n.isTouch) && (e.didScroll = !0, n.requestAnimationFrame(t));\n });\n }, e.prototype.handleResize = function () {\n n.Context.refreshAll();\n }, e.prototype.handleScroll = function () {\n var t = {},\n e = {\n horizontal: {\n newScroll: this.adapter.scrollLeft(),\n oldScroll: this.oldScroll.x,\n forward: \"right\",\n backward: \"left\"\n },\n vertical: {\n newScroll: this.adapter.scrollTop(),\n oldScroll: this.oldScroll.y,\n forward: \"down\",\n backward: \"up\"\n }\n };\n\n for (var i in e) {\n var o = e[i],\n n = o.newScroll > o.oldScroll,\n r = n ? o.forward : o.backward;\n\n for (var s in this.waypoints[i]) {\n var a = this.waypoints[i][s];\n\n if (null !== a.triggerPoint) {\n var l = o.oldScroll < a.triggerPoint,\n h = o.newScroll >= a.triggerPoint,\n p = l && h,\n u = !l && !h;\n (p || u) && (a.queueTrigger(r), t[a.group.id] = a.group);\n }\n }\n }\n\n for (var c in t) {\n t[c].flushTriggers();\n }\n\n this.oldScroll = {\n x: e.horizontal.newScroll,\n y: e.vertical.newScroll\n };\n }, e.prototype.innerHeight = function () {\n return this.element == this.element.window ? n.viewportHeight() : this.adapter.innerHeight();\n }, e.prototype.remove = function (t) {\n delete this.waypoints[t.axis][t.key], this.checkEmpty();\n }, e.prototype.innerWidth = function () {\n return this.element == this.element.window ? n.viewportWidth() : this.adapter.innerWidth();\n }, e.prototype.destroy = function () {\n var t = [];\n\n for (var e in this.waypoints) {\n for (var i in this.waypoints[e]) {\n t.push(this.waypoints[e][i]);\n }\n }\n\n for (var o = 0, n = t.length; n > o; o++) {\n t[o].destroy();\n }\n }, e.prototype.refresh = function () {\n var t,\n e = this.element == this.element.window,\n i = e ? void 0 : this.adapter.offset(),\n o = {};\n this.handleScroll(), t = {\n horizontal: {\n contextOffset: e ? 0 : i.left,\n contextScroll: e ? 0 : this.oldScroll.x,\n contextDimension: this.innerWidth(),\n oldScroll: this.oldScroll.x,\n forward: \"right\",\n backward: \"left\",\n offsetProp: \"left\"\n },\n vertical: {\n contextOffset: e ? 0 : i.top,\n contextScroll: e ? 0 : this.oldScroll.y,\n contextDimension: this.innerHeight(),\n oldScroll: this.oldScroll.y,\n forward: \"down\",\n backward: \"up\",\n offsetProp: \"top\"\n }\n };\n\n for (var r in t) {\n var s = t[r];\n\n for (var a in this.waypoints[r]) {\n var l,\n h,\n p,\n u,\n c,\n d = this.waypoints[r][a],\n f = d.options.offset,\n w = d.triggerPoint,\n y = 0,\n g = null == w;\n d.element !== d.element.window && (y = d.adapter.offset()[s.offsetProp]), \"function\" == typeof f ? f = f.apply(d) : \"string\" == typeof f && (f = parseFloat(f), d.options.offset.indexOf(\"%\") > -1 && (f = Math.ceil(s.contextDimension * f / 100))), l = s.contextScroll - s.contextOffset, d.triggerPoint = Math.floor(y + l - f), h = w < s.oldScroll, p = d.triggerPoint >= s.oldScroll, u = h && p, c = !h && !p, !g && u ? (d.queueTrigger(s.backward), o[d.group.id] = d.group) : !g && c ? (d.queueTrigger(s.forward), o[d.group.id] = d.group) : g && s.oldScroll >= d.triggerPoint && (d.queueTrigger(s.forward), o[d.group.id] = d.group);\n }\n }\n\n return n.requestAnimationFrame(function () {\n for (var t in o) {\n o[t].flushTriggers();\n }\n }), this;\n }, e.findOrCreateByElement = function (t) {\n return e.findByElement(t) || new e(t);\n }, e.refreshAll = function () {\n for (var t in o) {\n o[t].refresh();\n }\n }, e.findByElement = function (t) {\n return o[t.waypointContextKey];\n }, window.onload = function () {\n r && r(), e.refreshAll();\n }, n.requestAnimationFrame = function (e) {\n var i = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || t;\n i.call(window, e);\n }, n.Context = e;\n}(), function () {\n \"use strict\";\n\n function t(t, e) {\n return t.triggerPoint - e.triggerPoint;\n }\n\n function e(t, e) {\n return e.triggerPoint - t.triggerPoint;\n }\n\n function i(t) {\n this.name = t.name, this.axis = t.axis, this.id = this.name + \"-\" + this.axis, this.waypoints = [], this.clearTriggerQueues(), o[this.axis][this.name] = this;\n }\n\n var o = {\n vertical: {},\n horizontal: {}\n },\n n = window.Waypoint;\n i.prototype.add = function (t) {\n this.waypoints.push(t);\n }, i.prototype.clearTriggerQueues = function () {\n this.triggerQueues = {\n up: [],\n down: [],\n left: [],\n right: []\n };\n }, i.prototype.flushTriggers = function () {\n for (var i in this.triggerQueues) {\n var o = this.triggerQueues[i],\n n = \"up\" === i || \"left\" === i;\n o.sort(n ? e : t);\n\n for (var r = 0, s = o.length; s > r; r += 1) {\n var a = o[r];\n (a.options.continuous || r === o.length - 1) && a.trigger([i]);\n }\n }\n\n this.clearTriggerQueues();\n }, i.prototype.next = function (e) {\n this.waypoints.sort(t);\n var i = n.Adapter.inArray(e, this.waypoints),\n o = i === this.waypoints.length - 1;\n return o ? null : this.waypoints[i + 1];\n }, i.prototype.previous = function (e) {\n this.waypoints.sort(t);\n var i = n.Adapter.inArray(e, this.waypoints);\n return i ? this.waypoints[i - 1] : null;\n }, i.prototype.queueTrigger = function (t, e) {\n this.triggerQueues[e].push(t);\n }, i.prototype.remove = function (t) {\n var e = n.Adapter.inArray(t, this.waypoints);\n e > -1 && this.waypoints.splice(e, 1);\n }, i.prototype.first = function () {\n return this.waypoints[0];\n }, i.prototype.last = function () {\n return this.waypoints[this.waypoints.length - 1];\n }, i.findOrCreate = function (t) {\n return o[t.axis][t.name] || new i(t);\n }, n.Group = i;\n}(), function () {\n \"use strict\";\n\n function t(t) {\n this.$element = e(t);\n }\n\n var e = window.jQuery,\n i = window.Waypoint;\n e.each([\"innerHeight\", \"innerWidth\", \"off\", \"offset\", \"on\", \"outerHeight\", \"outerWidth\", \"scrollLeft\", \"scrollTop\"], function (e, i) {\n t.prototype[i] = function () {\n var t = Array.prototype.slice.call(arguments);\n return this.$element[i].apply(this.$element, t);\n };\n }), e.each([\"extend\", \"inArray\", \"isEmptyObject\"], function (i, o) {\n t[o] = e[o];\n }), i.adapters.push({\n name: \"jquery\",\n Adapter: t\n }), i.Adapter = t;\n}(), function () {\n \"use strict\";\n\n function t(t) {\n return function () {\n var i = [],\n o = arguments[0];\n return t.isFunction(arguments[0]) && (o = t.extend({}, arguments[1]), o.handler = arguments[0]), this.each(function () {\n var n = t.extend({}, o, {\n element: this\n });\n \"string\" == typeof n.context && (n.context = t(this).closest(n.context)[0]), i.push(new e(n));\n }), i;\n };\n }\n\n var e = window.Waypoint;\n window.jQuery && (window.jQuery.fn.waypoint = t(window.jQuery)), window.Zepto && (window.Zepto.fn.waypoint = t(window.Zepto));\n}();","/*!\nWaypoints Sticky Element Shortcut - 4.0.1\nCopyright © 2011-2016 Caleb Troughton\nLicensed under the MIT license.\nhttps://github.com/imakewebthings/waypoints/blob/master/licenses.txt\n*/\n!function () {\n \"use strict\";\n\n function t(s) {\n this.options = e.extend({}, i.defaults, t.defaults, s), this.element = this.options.element, this.$element = e(this.element), this.createWrapper(), this.createWaypoint();\n }\n\n var e = window.jQuery,\n i = window.Waypoint;\n t.prototype.createWaypoint = function () {\n var t = this.options.handler;\n this.waypoint = new i(e.extend({}, this.options, {\n element: this.wrapper,\n handler: e.proxy(function (e) {\n var i = this.options.direction.indexOf(e) > -1,\n s = i ? this.$element.outerHeight(!0) : \"\";\n this.$wrapper.height(s), this.$element.toggleClass(this.options.stuckClass, i), t && t.call(this, e);\n }, this)\n }));\n }, t.prototype.createWrapper = function () {\n this.options.wrapper && this.$element.wrap(this.options.wrapper), this.$wrapper = this.$element.parent(), this.wrapper = this.$wrapper[0];\n }, t.prototype.destroy = function () {\n this.$element.parent()[0] === this.wrapper && (this.waypoint.destroy(), this.$element.removeClass(this.options.stuckClass), this.options.wrapper && this.$element.unwrap());\n }, t.defaults = {\n wrapper: '<div class=\"sticky-wrapper\" />',\n stuckClass: \"stuck\",\n direction: \"down right\"\n }, i.Sticky = t;\n}();","/* global window */\nimport ponyfill from './ponyfill.js';\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction scrollSnapToNext(element, direction) {\n var scrollToOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n behavior: 'smooth'\n };\n // Pretend we're already this many pixels past the current scroll point in the direction we want to go.\n // Helps avoid rounding errors in element sizes.\n var scrollFuzz = 2;\n var axis = direction === 'up' || direction === 'down' ? 'y' : 'x';\n var sign = direction === 'right' || direction === 'down' ? '+' : '-';\n var maxScroll = axis === 'x' ? element.scrollWidth - element.offsetWidth : element.scrollHeight - element.offsetHeight;\n var scrollSnapPositions = getScrollSnapPositions(element)[axis];\n\n if (sign === '-') {\n scrollFuzz *= -1;\n }\n\n var currentScrollPosition = element[axis === 'x' ? 'scrollLeft' : 'scrollTop'] + scrollFuzz;\n var nextScrollPositions = scrollSnapPositions.filter(function (pos) {\n if (sign === '+') {\n return pos > currentScrollPosition;\n } else {\n return pos < currentScrollPosition;\n }\n }).sort(function (a, b) {\n return sign === '+' ? a - b : b - a;\n });\n var nextScrollPosition;\n\n if (nextScrollPositions.length > 0) {\n nextScrollPosition = nextScrollPositions[0];\n } else {\n if (sign === '+') {\n nextScrollPosition = maxScroll;\n } else {\n nextScrollPosition = 0;\n }\n } // scrollTo might return a promise in the future\n\n\n return element.scrollTo(_objectSpread(_objectSpread({}, scrollToOptions), {}, _defineProperty({}, axis === 'x' ? 'left' : 'top', nextScrollPosition)));\n}\n\nfunction getScrollPadding(element) {\n var style = window.getComputedStyle(element);\n var rect = element.getBoundingClientRect();\n var xBeforeRaw = style.getPropertyValue('scroll-padding-left').replace('auto', '0px');\n var yBeforeRaw = style.getPropertyValue('scroll-padding-top').replace('auto', '0px');\n var xAfterRaw = style.getPropertyValue('scroll-padding-right').replace('auto', '0px');\n var yAfterRaw = style.getPropertyValue('scroll-padding-bottom').replace('auto', '0px');\n /**\r\n * Convert a CSS length to a number.\r\n * @param raw CSS length value\r\n * @param size Parent size, used for percentage lengths\r\n */\n\n function convert(raw, size) {\n var n = parseFloat(raw);\n\n if (/%/.test(raw)) {\n n /= 100;\n n *= size;\n }\n\n return n;\n }\n\n var xBefore = convert(xBeforeRaw, rect.width);\n var yBefore = convert(yBeforeRaw, rect.height);\n var xAfter = convert(xAfterRaw, rect.width);\n var yAfter = convert(yAfterRaw, rect.height);\n return {\n x: {\n before: xBefore,\n after: xAfter\n },\n y: {\n before: yBefore,\n after: yAfter\n }\n };\n}\n\nfunction domRectIntersects(a, b) {\n var axis = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'both';\n return axis === 'x' && a.right >= b.left && a.left <= b.right || axis === 'y' && a.bottom >= b.top && a.top <= b.bottom || axis === 'both' && a.right >= b.left && a.left <= b.right && a.bottom >= b.top && a.top <= b.bottom;\n}\n\nfunction getAllDescendants(parent) {\n var children = [];\n\n var _iterator = _createForOfIteratorHelper(parent.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n children = children.concat(child, getAllDescendants(child));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return children;\n}\n\nfunction getSnapPositions(parent) {\n var excludeOffAxis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var parentRect = parent.getBoundingClientRect();\n var positions = {\n x: {\n start: [],\n center: [],\n end: []\n },\n y: {\n start: [],\n center: [],\n end: []\n }\n };\n var descendants = getAllDescendants(parent);\n\n for (var _i = 0, _arr = ['x', 'y']; _i < _arr.length; _i++) {\n var axis = _arr[_i];\n var orthogonalAxis = axis === 'x' ? 'y' : 'x';\n var axisStart = axis === 'x' ? 'left' : 'top';\n var axisSize = axis === 'x' ? 'width' : 'height';\n var axisScroll = axis === 'x' ? 'scrollLeft' : 'scrollTop';\n\n var _iterator2 = _createForOfIteratorHelper(descendants),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var child = _step2.value;\n var childRect = child.getBoundingClientRect(); // Skip child if it doesn't intersect the parent's opposite axis (it can never be in view)\n\n if (excludeOffAxis && !domRectIntersects(parentRect, childRect, orthogonalAxis)) {\n continue;\n }\n\n var childStyle = window.getComputedStyle(child);\n\n var _childStyle$getProper = childStyle.getPropertyValue('scroll-snap-align').split(' '),\n _childStyle$getProper2 = _slicedToArray(_childStyle$getProper, 2),\n childAlignY = _childStyle$getProper2[0],\n childAlignX = _childStyle$getProper2[1];\n\n if (typeof childAlignX === 'undefined') {\n childAlignX = childAlignY;\n }\n\n var childAlign = axis === 'x' ? childAlignX : childAlignY;\n var childOffsetStart = childRect[axisStart] - parentRect[axisStart] + parent[axisScroll];\n\n switch (childAlign) {\n case 'none':\n break;\n\n case 'start':\n positions[axis].start.push(childOffsetStart);\n break;\n\n case 'center':\n positions[axis].center.push(childOffsetStart + childRect[axisSize] / 2);\n break;\n\n case 'end':\n positions[axis].end.push(childOffsetStart + childRect[axisSize]);\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return positions;\n}\n\nfunction getScrollSnapPositions(element) {\n var rect = element.getBoundingClientRect();\n var scrollPadding = getScrollPadding(element);\n var snapPositions = getSnapPositions(element);\n var maxScroll = {\n x: element.scrollWidth - element.offsetWidth,\n y: element.scrollHeight - element.offsetHeight\n };\n\n var clamp = function clamp(min, max) {\n return function (value) {\n return Math.max(min, Math.min(max, value));\n };\n };\n\n return {\n x: unique([].concat(_toConsumableArray(snapPositions.x.start.map(function (v) {\n return v - scrollPadding.x.before;\n })), _toConsumableArray(snapPositions.x.center.map(function (v) {\n return v - rect.width / 2;\n })), _toConsumableArray(snapPositions.x.end.map(function (v) {\n return v - rect.width + scrollPadding.x.after;\n }))).map(clamp(0, maxScroll.x))),\n y: unique([].concat(_toConsumableArray(snapPositions.y.start.map(function (v) {\n return v - scrollPadding.y.before;\n })), _toConsumableArray(snapPositions.y.center.map(function (v) {\n return v - rect.height / 2;\n })), _toConsumableArray(snapPositions.y.end.map(function (v) {\n return v - rect.height + scrollPadding.y.after;\n }))).map(clamp(0, maxScroll.y)))\n };\n}\n\nfunction unique(iterable) {\n return Array.from(new Set(iterable));\n}\n\nexport { getScrollPadding, getScrollSnapPositions, getSnapPositions, scrollSnapToNext };","function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n/**\n * @classdesc Mostly CSS slider with great performance.\n */\nexport var ScrollSnapSlider = /*#__PURE__*/function () {\n /**\n * Bind methods and possibly attach listeners.\n * @param {Element|HTMLElement} element - element to attach listeners and dispatch events\n * @param {Boolean} enabled - attach listeners and enable plugins now. If this is false, you will have to call slider.attachListener() once and plugin.enable() for each plugin later.\n * @param {ScrollSnapPlugin[]} plugins - additional behaviour\n */\n function ScrollSnapSlider(element) {\n var enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var plugins = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n _classCallCheck(this, ScrollSnapSlider);\n\n /**\n * Base element of this slider\n * @name ScrollSnapSlider#element\n * @type {Element|HTMLElement}\n * @readonly\n * @public\n */\n this.element = element;\n /**\n * Active slide's scrollLeft in the containing element\n * @name ScrollSnapSlider#slideScrollLeft\n * @type {Number}\n * @private\n */\n\n this.slideScrollLeft = this.element.scrollLeft;\n /**\n * Timeout ID used to catch the end of scroll events\n * @name ScrollSnapSlider#scrollTimeoutId\n * @type {?Number}\n * @private\n */\n\n this.scrollTimeoutId = null;\n /**\n * @callback sizingMethod\n * @param {ScrollSnapSlider} slider\n * @return {Number} integer size of a slide in pixels\n */\n\n /**\n * Width of each slide\n * @type {sizingMethod}\n * @public\n */\n\n this.sizingMethod = function (slider) {\n return slider.element.firstElementChild.offsetWidth;\n };\n /**\n * @callback roundingMethod\n * @param {Number} x - factor indicating th current position (e.g \"0\" for first slide, \"2.5\" for third slide and a half)\n * @return {Number} f(x) - integer factor indicating the currently 'active' slide.\n */\n\n /**\n * Rounding method used to calculate the current slide (e.g. Math.floor, Math.round, Math.ceil, or totally custom.)\n * @name ScrollSnapSlider#roundingMethod\n * @type {roundingMethod}\n * @public\n */\n\n\n this.roundingMethod = Math.round;\n /**\n * Active slide\n * @name ScrollSnapSlider#slide\n * @type {?Number}\n * @public\n */\n\n this.slide = this.calculateSlide();\n /**\n * Timeout delay in milliseconds used to catch the end of scroll events\n * @name ScrollSnapSlider#scrollTimeout\n * @type {?Number}\n * @public\n */\n\n this.scrollTimeout = 100;\n /**\n * Options for the scroll listener (passive by default, may be overwritten for compatibility or other reasons)\n * @name ScrollSnapSlider#listenerOptions\n * @type {AddEventListenerOptions}\n * @public\n */\n\n this.listenerOptions = {\n passive: true\n };\n this.onScroll = this.onScroll.bind(this);\n this.onScrollEnd = this.onScrollEnd.bind(this);\n this.slideTo = this.slideTo.bind(this);\n /**\n * Adds event listener to the element\n * @name ScrollSnapSlider#addEventListener\n * @method\n * @public\n */\n\n this.addEventListener = this.element.addEventListener.bind(this.element);\n /**\n * Removes event listener from the element\n * @name ScrollSnapSlider#removeEventListener\n * @method\n * @public\n */\n\n this.removeEventListener = this.element.removeEventListener.bind(this.element);\n enabled && this.attachListeners();\n /**\n * Maps a plugin name to its instance\n * @type {Map<String, Object>}\n */\n\n this.plugins = new window.Map();\n\n var _iterator = _createForOfIteratorHelper(plugins),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var plugin = _step.value;\n this.plugins.set(plugin.id, plugin);\n enabled && plugin.enable(this);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n /**\n * Attach all necessary listeners\n * @return {void}\n * @public\n */\n\n\n _createClass(ScrollSnapSlider, [{\n key: \"attachListeners\",\n value: function attachListeners() {\n this.addEventListener('scroll', this.onScroll, this.listenerOptions);\n }\n /**\n * Act when scrolling starts and stops\n * @return {void}\n * @private\n */\n\n }, {\n key: \"onScroll\",\n value: function onScroll() {\n if (null === this.scrollTimeoutId) {\n var direction = this.element.scrollLeft > this.slideScrollLeft ? 1 : -1;\n this.dispatch('slide-start', this.slide + direction);\n }\n\n var floored = this.calculateSlide();\n\n if (floored !== this.slide) {\n this.slideScrollLeft = this.element.scrollLeft;\n this.slide = floored;\n this.dispatch('slide-pass', this.slide);\n }\n\n window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = window.setTimeout(this.onScrollEnd, this.scrollTimeout);\n }\n /**\n * Calculate all necessary things and dispatch an event when sliding stops\n * @return {void}\n * @private\n */\n\n }, {\n key: \"onScrollEnd\",\n value: function onScrollEnd() {\n this.scrollTimeoutId = null;\n this.slide = this.calculateSlide();\n this.slideScrollLeft = this.element.scrollLeft;\n this.dispatch('slide-stop', this.slide);\n }\n /**\n * Calculates the active slide.\n * The scroll-snap-type property makes sure that the container snaps perfectly to integer multiples.\n * @return {Number}\n * @private\n */\n\n }, {\n key: \"calculateSlide\",\n value: function calculateSlide() {\n return this.roundingMethod(this.element.scrollLeft / this.sizingMethod(this));\n }\n /**\n * @param {String} event\n * @param {any} detail\n * @return {boolean}\n * @private\n */\n\n }, {\n key: \"dispatch\",\n value: function dispatch(event, detail) {\n return this.element.dispatchEvent(new window.CustomEvent(event, {\n detail: detail\n }));\n }\n /**\n * Scroll to a slide by index.\n *\n * @param {Number} index\n * @return {void}\n * @public\n */\n\n }, {\n key: \"slideTo\",\n value: function slideTo(index) {\n this.element.scrollTo({\n left: index * this.sizingMethod(this)\n });\n }\n /**\n * Free resources and listeners, disable plugins\n * @return {void}\n * @public\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n window.clearTimeout(this.scrollTimeoutId);\n this.removeEventListener('scroll', this.onScroll, this.listenerOptions);\n\n var _iterator2 = _createForOfIteratorHelper(this.plugins.values()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var plugin = _step2.value;\n plugin.disable();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }]);\n\n return ScrollSnapSlider;\n}();","export default function symbolObservablePonyfill(root) {\n var result;\n var _Symbol = root.Symbol;\n\n if (typeof _Symbol === 'function') {\n if (_Symbol.observable) {\n result = _Symbol.observable;\n } else {\n result = _Symbol('observable');\n _Symbol.observable = result;\n }\n } else {\n result = '@@observable';\n }\n\n return result;\n}\n;","module.exports = function (originalModule) {\n if (!originalModule.webpackPolyfill) {\n var module = Object.create(originalModule); // 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 Object.defineProperty(module, \"exports\", {\n enumerable: true\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function () {\n var t = this;\n (function () {\n (function () {\n this.Turbolinks = {\n supported: function () {\n return null != window.history.pushState && null != window.requestAnimationFrame && null != window.addEventListener;\n }(),\n visit: function visit(t, r) {\n return e.controller.visit(t, r);\n },\n clearCache: function clearCache() {\n return e.controller.clearCache();\n },\n setProgressBarDelay: function setProgressBarDelay(t) {\n return e.controller.setProgressBarDelay(t);\n }\n };\n }).call(this);\n }).call(t);\n var e = t.Turbolinks;\n (function () {\n (function () {\n var t,\n r,\n n,\n o = [].slice;\n e.copyObject = function (t) {\n var e, r, n;\n r = {};\n\n for (e in t) {\n n = t[e], r[e] = n;\n }\n\n return r;\n }, e.closest = function (e, r) {\n return t.call(e, r);\n }, t = function () {\n var t, e;\n return t = document.documentElement, null != (e = t.closest) ? e : function (t) {\n var e;\n\n for (e = this; e;) {\n if (e.nodeType === Node.ELEMENT_NODE && r.call(e, t)) return e;\n e = e.parentNode;\n }\n };\n }(), e.defer = function (t) {\n return setTimeout(t, 1);\n }, e.throttle = function (t) {\n var e;\n return e = null, function () {\n var r;\n return r = 1 <= arguments.length ? o.call(arguments, 0) : [], null != e ? e : e = requestAnimationFrame(function (n) {\n return function () {\n return e = null, t.apply(n, r);\n };\n }(this));\n };\n }, e.dispatch = function (t, e) {\n var r, o, i, s, a, u;\n return a = null != e ? e : {}, u = a.target, r = a.cancelable, o = a.data, i = document.createEvent(\"Events\"), i.initEvent(t, !0, r === !0), i.data = null != o ? o : {}, i.cancelable && !n && (s = i.preventDefault, i.preventDefault = function () {\n return this.defaultPrevented || Object.defineProperty(this, \"defaultPrevented\", {\n get: function get() {\n return !0;\n }\n }), s.call(this);\n }), (null != u ? u : document).dispatchEvent(i), i;\n }, n = function () {\n var t;\n return t = document.createEvent(\"Events\"), t.initEvent(\"test\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }(), e.match = function (t, e) {\n return r.call(t, e);\n }, r = function () {\n var t, e, r, n;\n return t = document.documentElement, null != (e = null != (r = null != (n = t.matchesSelector) ? n : t.webkitMatchesSelector) ? r : t.msMatchesSelector) ? e : t.mozMatchesSelector;\n }(), e.uuid = function () {\n var t, e, r;\n\n for (r = \"\", t = e = 1; 36 >= e; t = ++e) {\n r += 9 === t || 14 === t || 19 === t || 24 === t ? \"-\" : 15 === t ? \"4\" : 20 === t ? (Math.floor(4 * Math.random()) + 8).toString(16) : Math.floor(15 * Math.random()).toString(16);\n }\n\n return r;\n };\n }).call(this), function () {\n e.Location = function () {\n function t(t) {\n var e, r;\n null == t && (t = \"\"), r = document.createElement(\"a\"), r.href = t.toString(), this.absoluteURL = r.href, e = r.hash.length, 2 > e ? this.requestURL = this.absoluteURL : (this.requestURL = this.absoluteURL.slice(0, -e), this.anchor = r.hash.slice(1));\n }\n\n var e, r, n, o;\n return t.wrap = function (t) {\n return t instanceof this ? t : new this(t);\n }, t.prototype.getOrigin = function () {\n return this.absoluteURL.split(\"/\", 3).join(\"/\");\n }, t.prototype.getPath = function () {\n var t, e;\n return null != (t = null != (e = this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/)) ? e[1] : void 0) ? t : \"/\";\n }, t.prototype.getPathComponents = function () {\n return this.getPath().split(\"/\").slice(1);\n }, t.prototype.getLastPathComponent = function () {\n return this.getPathComponents().slice(-1)[0];\n }, t.prototype.getExtension = function () {\n var t, e;\n return null != (t = null != (e = this.getLastPathComponent().match(/\\.[^.]*$/)) ? e[0] : void 0) ? t : \"\";\n }, t.prototype.isHTML = function () {\n return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/);\n }, t.prototype.isPrefixedBy = function (t) {\n var e;\n return e = r(t), this.isEqualTo(t) || o(this.absoluteURL, e);\n }, t.prototype.isEqualTo = function (t) {\n return this.absoluteURL === (null != t ? t.absoluteURL : void 0);\n }, t.prototype.toCacheKey = function () {\n return this.requestURL;\n }, t.prototype.toJSON = function () {\n return this.absoluteURL;\n }, t.prototype.toString = function () {\n return this.absoluteURL;\n }, t.prototype.valueOf = function () {\n return this.absoluteURL;\n }, r = function r(t) {\n return e(t.getOrigin() + t.getPath());\n }, e = function e(t) {\n return n(t, \"/\") ? t : t + \"/\";\n }, o = function o(t, e) {\n return t.slice(0, e.length) === e;\n }, n = function n(t, e) {\n return t.slice(-e.length) === e;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t, e) {\n return function () {\n return _t.apply(e, arguments);\n };\n };\n\n e.HttpRequest = function () {\n function r(r, n, o) {\n this.delegate = r, this.requestCanceled = t(this.requestCanceled, this), this.requestTimedOut = t(this.requestTimedOut, this), this.requestFailed = t(this.requestFailed, this), this.requestLoaded = t(this.requestLoaded, this), this.requestProgressed = t(this.requestProgressed, this), this.url = e.Location.wrap(n).requestURL, this.referrer = e.Location.wrap(o).absoluteURL, this.createXHR();\n }\n\n return r.NETWORK_FAILURE = 0, r.TIMEOUT_FAILURE = -1, r.timeout = 60, r.prototype.send = function () {\n var t;\n return this.xhr && !this.sent ? (this.notifyApplicationBeforeRequestStart(), this.setProgress(0), this.xhr.send(), this.sent = !0, \"function\" == typeof (t = this.delegate).requestStarted ? t.requestStarted() : void 0) : void 0;\n }, r.prototype.cancel = function () {\n return this.xhr && this.sent ? this.xhr.abort() : void 0;\n }, r.prototype.requestProgressed = function (t) {\n return t.lengthComputable ? this.setProgress(t.loaded / t.total) : void 0;\n }, r.prototype.requestLoaded = function () {\n return this.endRequest(function (t) {\n return function () {\n var e;\n return 200 <= (e = t.xhr.status) && 300 > e ? t.delegate.requestCompletedWithResponse(t.xhr.responseText, t.xhr.getResponseHeader(\"Turbolinks-Location\")) : (t.failed = !0, t.delegate.requestFailedWithStatusCode(t.xhr.status, t.xhr.responseText));\n };\n }(this));\n }, r.prototype.requestFailed = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE);\n };\n }(this));\n }, r.prototype.requestTimedOut = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE);\n };\n }(this));\n }, r.prototype.requestCanceled = function () {\n return this.endRequest();\n }, r.prototype.notifyApplicationBeforeRequestStart = function () {\n return e.dispatch(\"turbolinks:request-start\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.notifyApplicationAfterRequestEnd = function () {\n return e.dispatch(\"turbolinks:request-end\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.createXHR = function () {\n return this.xhr = new XMLHttpRequest(), this.xhr.open(\"GET\", this.url, !0), this.xhr.timeout = 1e3 * this.constructor.timeout, this.xhr.setRequestHeader(\"Accept\", \"text/html, application/xhtml+xml\"), this.xhr.setRequestHeader(\"Turbolinks-Referrer\", this.referrer), this.xhr.onprogress = this.requestProgressed, this.xhr.onload = this.requestLoaded, this.xhr.onerror = this.requestFailed, this.xhr.ontimeout = this.requestTimedOut, this.xhr.onabort = this.requestCanceled;\n }, r.prototype.endRequest = function (t) {\n return this.xhr ? (this.notifyApplicationAfterRequestEnd(), null != t && t.call(this), this.destroy()) : void 0;\n }, r.prototype.setProgress = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.delegate).requestProgressed ? e.requestProgressed(this.progress) : void 0;\n }, r.prototype.destroy = function () {\n var t;\n return this.setProgress(1), \"function\" == typeof (t = this.delegate).requestFinished && t.requestFinished(), this.delegate = null, this.xhr = null;\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t2, e) {\n return function () {\n return _t2.apply(e, arguments);\n };\n };\n\n e.ProgressBar = function () {\n function e() {\n this.trickle = t(this.trickle, this), this.stylesheetElement = this.createStylesheetElement(), this.progressElement = this.createProgressElement();\n }\n\n var r;\n return r = 300, e.defaultCSS = \".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \" + r + \"ms ease-out, opacity \" + r / 2 + \"ms \" + r / 2 + \"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\", e.prototype.show = function () {\n return this.visible ? void 0 : (this.visible = !0, this.installStylesheetElement(), this.installProgressElement(), this.startTrickling());\n }, e.prototype.hide = function () {\n return this.visible && !this.hiding ? (this.hiding = !0, this.fadeProgressElement(function (t) {\n return function () {\n return t.uninstallProgressElement(), t.stopTrickling(), t.visible = !1, t.hiding = !1;\n };\n }(this))) : void 0;\n }, e.prototype.setValue = function (t) {\n return this.value = t, this.refresh();\n }, e.prototype.installStylesheetElement = function () {\n return document.head.insertBefore(this.stylesheetElement, document.head.firstChild);\n }, e.prototype.installProgressElement = function () {\n return this.progressElement.style.width = 0, this.progressElement.style.opacity = 1, document.documentElement.insertBefore(this.progressElement, document.body), this.refresh();\n }, e.prototype.fadeProgressElement = function (t) {\n return this.progressElement.style.opacity = 0, setTimeout(t, 1.5 * r);\n }, e.prototype.uninstallProgressElement = function () {\n return this.progressElement.parentNode ? document.documentElement.removeChild(this.progressElement) : void 0;\n }, e.prototype.startTrickling = function () {\n return null != this.trickleInterval ? this.trickleInterval : this.trickleInterval = setInterval(this.trickle, r);\n }, e.prototype.stopTrickling = function () {\n return clearInterval(this.trickleInterval), this.trickleInterval = null;\n }, e.prototype.trickle = function () {\n return this.setValue(this.value + Math.random() / 100);\n }, e.prototype.refresh = function () {\n return requestAnimationFrame(function (t) {\n return function () {\n return t.progressElement.style.width = 10 + 90 * t.value + \"%\";\n };\n }(this));\n }, e.prototype.createStylesheetElement = function () {\n var t;\n return t = document.createElement(\"style\"), t.type = \"text/css\", t.textContent = this.constructor.defaultCSS, t;\n }, e.prototype.createProgressElement = function () {\n var t;\n return t = document.createElement(\"div\"), t.className = \"turbolinks-progress-bar\", t;\n }, e;\n }();\n }.call(this), function () {\n var t = function t(_t3, e) {\n return function () {\n return _t3.apply(e, arguments);\n };\n };\n\n e.BrowserAdapter = function () {\n function r(r) {\n this.controller = r, this.showProgressBar = t(this.showProgressBar, this), this.progressBar = new e.ProgressBar();\n }\n\n var n, o, i;\n return i = e.HttpRequest, n = i.NETWORK_FAILURE, o = i.TIMEOUT_FAILURE, r.prototype.visitProposedToLocationWithAction = function (t, e) {\n return this.controller.startVisitToLocationWithAction(t, e);\n }, r.prototype.visitStarted = function (t) {\n return t.issueRequest(), t.changeHistory(), t.loadCachedSnapshot();\n }, r.prototype.visitRequestStarted = function (t) {\n return this.progressBar.setValue(0), t.hasCachedSnapshot() || \"restore\" !== t.action ? this.showProgressBarAfterDelay() : this.showProgressBar();\n }, r.prototype.visitRequestProgressed = function (t) {\n return this.progressBar.setValue(t.progress);\n }, r.prototype.visitRequestCompleted = function (t) {\n return t.loadResponse();\n }, r.prototype.visitRequestFailedWithStatusCode = function (t, e) {\n switch (e) {\n case n:\n case o:\n return this.reload();\n\n default:\n return t.loadResponse();\n }\n }, r.prototype.visitRequestFinished = function (t) {\n return this.hideProgressBar();\n }, r.prototype.visitCompleted = function (t) {\n return t.followRedirect();\n }, r.prototype.pageInvalidated = function () {\n return this.reload();\n }, r.prototype.showProgressBarAfterDelay = function () {\n return this.progressBarTimeout = setTimeout(this.showProgressBar, this.controller.progressBarDelay);\n }, r.prototype.showProgressBar = function () {\n return this.progressBar.show();\n }, r.prototype.hideProgressBar = function () {\n return this.progressBar.hide(), clearTimeout(this.progressBarTimeout);\n }, r.prototype.reload = function () {\n return window.location.reload();\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t4, e) {\n return function () {\n return _t4.apply(e, arguments);\n };\n };\n\n e.History = function () {\n function r(e) {\n this.delegate = e, this.onPageLoad = t(this.onPageLoad, this), this.onPopState = t(this.onPopState, this);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"popstate\", this.onPopState, !1), addEventListener(\"load\", this.onPageLoad, !1), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"popstate\", this.onPopState, !1), removeEventListener(\"load\", this.onPageLoad, !1), this.started = !1) : void 0;\n }, r.prototype.push = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"push\", t, r);\n }, r.prototype.replace = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"replace\", t, r);\n }, r.prototype.onPopState = function (t) {\n var r, n, o, i;\n return this.shouldHandlePopState() && (i = null != (n = t.state) ? n.turbolinks : void 0) ? (r = e.Location.wrap(window.location), o = i.restorationIdentifier, this.delegate.historyPoppedToLocationWithRestorationIdentifier(r, o)) : void 0;\n }, r.prototype.onPageLoad = function (t) {\n return e.defer(function (t) {\n return function () {\n return t.pageLoaded = !0;\n };\n }(this));\n }, r.prototype.shouldHandlePopState = function () {\n return this.pageIsLoaded();\n }, r.prototype.pageIsLoaded = function () {\n return this.pageLoaded || \"complete\" === document.readyState;\n }, r.prototype.update = function (t, e, r) {\n var n;\n return n = {\n turbolinks: {\n restorationIdentifier: r\n }\n }, history[t + \"State\"](n, null, e);\n }, r;\n }();\n }.call(this), function () {\n e.HeadDetails = function () {\n function t(t) {\n var e, r, n, s, a, u;\n\n for (this.elements = {}, n = 0, a = t.length; a > n; n++) {\n u = t[n], u.nodeType === Node.ELEMENT_NODE && (s = u.outerHTML, r = null != (e = this.elements)[s] ? e[s] : e[s] = {\n type: i(u),\n tracked: o(u),\n elements: []\n }, r.elements.push(u));\n }\n }\n\n var e, r, n, o, i;\n return t.fromHeadElement = function (t) {\n var e;\n return new this(null != (e = null != t ? t.childNodes : void 0) ? e : []);\n }, t.prototype.hasElementWithKey = function (t) {\n return t in this.elements;\n }, t.prototype.getTrackedElementSignature = function () {\n var t, e;\n return function () {\n var r, n;\n r = this.elements, n = [];\n\n for (t in r) {\n e = r[t].tracked, e && n.push(t);\n }\n\n return n;\n }.call(this).join(\"\");\n }, t.prototype.getScriptElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"script\", t);\n }, t.prototype.getStylesheetElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"stylesheet\", t);\n }, t.prototype.getElementsMatchingTypeNotInDetails = function (t, e) {\n var r, n, o, i, s, a;\n o = this.elements, s = [];\n\n for (n in o) {\n i = o[n], a = i.type, r = i.elements, a !== t || e.hasElementWithKey(n) || s.push(r[0]);\n }\n\n return s;\n }, t.prototype.getProvisionalElements = function () {\n var t, e, r, n, o, i, s;\n r = [], n = this.elements;\n\n for (e in n) {\n o = n[e], s = o.type, i = o.tracked, t = o.elements, null != s || i ? t.length > 1 && r.push.apply(r, t.slice(1)) : r.push.apply(r, t);\n }\n\n return r;\n }, t.prototype.getMetaValue = function (t) {\n var e;\n return null != (e = this.findMetaElementByName(t)) ? e.getAttribute(\"content\") : void 0;\n }, t.prototype.findMetaElementByName = function (t) {\n var r, n, o, i;\n r = void 0, i = this.elements;\n\n for (o in i) {\n n = i[o].elements, e(n[0], t) && (r = n[0]);\n }\n\n return r;\n }, i = function i(t) {\n return r(t) ? \"script\" : n(t) ? \"stylesheet\" : void 0;\n }, o = function o(t) {\n return \"reload\" === t.getAttribute(\"data-turbolinks-track\");\n }, r = function r(t) {\n var e;\n return e = t.tagName.toLowerCase(), \"script\" === e;\n }, n = function n(t) {\n var e;\n return e = t.tagName.toLowerCase(), \"style\" === e || \"link\" === e && \"stylesheet\" === t.getAttribute(\"rel\");\n }, e = function e(t, _e) {\n var r;\n return r = t.tagName.toLowerCase(), \"meta\" === r && t.getAttribute(\"name\") === _e;\n }, t;\n }();\n }.call(this), function () {\n e.Snapshot = function () {\n function t(t, e) {\n this.headDetails = t, this.bodyElement = e;\n }\n\n return t.wrap = function (t) {\n return t instanceof this ? t : \"string\" == typeof t ? this.fromHTMLString(t) : this.fromHTMLElement(t);\n }, t.fromHTMLString = function (t) {\n var e;\n return e = document.createElement(\"html\"), e.innerHTML = t, this.fromHTMLElement(e);\n }, t.fromHTMLElement = function (t) {\n var r, n, o, i;\n return o = t.querySelector(\"head\"), r = null != (i = t.querySelector(\"body\")) ? i : document.createElement(\"body\"), n = e.HeadDetails.fromHeadElement(o), new this(n, r);\n }, t.prototype.clone = function () {\n return new this.constructor(this.headDetails, this.bodyElement.cloneNode(!0));\n }, t.prototype.getRootLocation = function () {\n var t, r;\n return r = null != (t = this.getSetting(\"root\")) ? t : \"/\", new e.Location(r);\n }, t.prototype.getCacheControlValue = function () {\n return this.getSetting(\"cache-control\");\n }, t.prototype.getElementForAnchor = function (t) {\n try {\n return this.bodyElement.querySelector(\"[id='\" + t + \"'], a[name='\" + t + \"']\");\n } catch (e) {}\n }, t.prototype.getPermanentElements = function () {\n return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementById = function (t) {\n return this.bodyElement.querySelector(\"#\" + t + \"[data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementsPresentInSnapshot = function (t) {\n var e, r, n, o, i;\n\n for (o = this.getPermanentElements(), i = [], r = 0, n = o.length; n > r; r++) {\n e = o[r], t.getPermanentElementById(e.id) && i.push(e);\n }\n\n return i;\n }, t.prototype.findFirstAutofocusableElement = function () {\n return this.bodyElement.querySelector(\"[autofocus]\");\n }, t.prototype.hasAnchor = function (t) {\n return null != this.getElementForAnchor(t);\n }, t.prototype.isPreviewable = function () {\n return \"no-preview\" !== this.getCacheControlValue();\n }, t.prototype.isCacheable = function () {\n return \"no-cache\" !== this.getCacheControlValue();\n }, t.prototype.isVisitable = function () {\n return \"reload\" !== this.getSetting(\"visit-control\");\n }, t.prototype.getSetting = function (t) {\n return this.headDetails.getMetaValue(\"turbolinks-\" + t);\n }, t;\n }();\n }.call(this), function () {\n var t = [].slice;\n\n e.Renderer = function () {\n function e() {}\n\n var r;\n return e.render = function () {\n var e, r, n, o;\n return n = arguments[0], r = arguments[1], e = 3 <= arguments.length ? t.call(arguments, 2) : [], o = function (t, e, r) {\n r.prototype = t.prototype;\n var n = new r(),\n o = t.apply(n, e);\n return Object(o) === o ? o : n;\n }(this, e, function () {}), o.delegate = n, o.render(r), o;\n }, e.prototype.renderView = function (t) {\n return this.delegate.viewWillRender(this.newBody), t(), this.delegate.viewRendered(this.newBody);\n }, e.prototype.invalidateView = function () {\n return this.delegate.viewInvalidated();\n }, e.prototype.createScriptElement = function (t) {\n var e;\n return \"false\" === t.getAttribute(\"data-turbolinks-eval\") ? t : (e = document.createElement(\"script\"), e.textContent = t.textContent, e.async = !1, r(e, t), e);\n }, r = function r(t, e) {\n var r, n, o, i, s, a, u;\n\n for (i = e.attributes, a = [], r = 0, n = i.length; n > r; r++) {\n s = i[r], o = s.name, u = s.value, a.push(t.setAttribute(o, u));\n }\n\n return a;\n }, e;\n }();\n }.call(this), function () {\n var t,\n r,\n n = function n(t, e) {\n function r() {\n this.constructor = t;\n }\n\n for (var n in e) {\n o.call(e, n) && (t[n] = e[n]);\n }\n\n return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n e.SnapshotRenderer = function (e) {\n function o(t, e, r) {\n this.currentSnapshot = t, this.newSnapshot = e, this.isPreview = r, this.currentHeadDetails = this.currentSnapshot.headDetails, this.newHeadDetails = this.newSnapshot.headDetails, this.currentBody = this.currentSnapshot.bodyElement, this.newBody = this.newSnapshot.bodyElement;\n }\n\n return n(o, e), o.prototype.render = function (t) {\n return this.shouldRender() ? (this.mergeHead(), this.renderView(function (e) {\n return function () {\n return e.replaceBody(), e.isPreview || e.focusFirstAutofocusableElement(), t();\n };\n }(this))) : this.invalidateView();\n }, o.prototype.mergeHead = function () {\n return this.copyNewHeadStylesheetElements(), this.copyNewHeadScriptElements(), this.removeCurrentHeadProvisionalElements(), this.copyNewHeadProvisionalElements();\n }, o.prototype.replaceBody = function () {\n var t;\n return t = this.relocateCurrentBodyPermanentElements(), this.activateNewBodyScriptElements(), this.assignNewBody(), this.replacePlaceholderElementsWithClonedPermanentElements(t);\n }, o.prototype.shouldRender = function () {\n return this.newSnapshot.isVisitable() && this.trackedElementsAreIdentical();\n }, o.prototype.trackedElementsAreIdentical = function () {\n return this.currentHeadDetails.getTrackedElementSignature() === this.newHeadDetails.getTrackedElementSignature();\n }, o.prototype.copyNewHeadStylesheetElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadStylesheetElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(t));\n }\n\n return o;\n }, o.prototype.copyNewHeadScriptElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadScriptElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(this.createScriptElement(t)));\n }\n\n return o;\n }, o.prototype.removeCurrentHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getCurrentHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.removeChild(t));\n }\n\n return o;\n }, o.prototype.copyNewHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(t));\n }\n\n return o;\n }, o.prototype.relocateCurrentBodyPermanentElements = function () {\n var e, n, o, i, s, a, u;\n\n for (a = this.getCurrentBodyPermanentElements(), u = [], e = 0, n = a.length; n > e; e++) {\n i = a[e], s = t(i), o = this.newSnapshot.getPermanentElementById(i.id), r(i, s.element), r(o, i), u.push(s);\n }\n\n return u;\n }, o.prototype.replacePlaceholderElementsWithClonedPermanentElements = function (t) {\n var e, n, o, i, s, a, u;\n\n for (u = [], o = 0, i = t.length; i > o; o++) {\n a = t[o], n = a.element, s = a.permanentElement, e = s.cloneNode(!0), u.push(r(n, e));\n }\n\n return u;\n }, o.prototype.activateNewBodyScriptElements = function () {\n var t, e, n, o, i, s;\n\n for (i = this.getNewBodyScriptElements(), s = [], e = 0, o = i.length; o > e; e++) {\n n = i[e], t = this.createScriptElement(n), s.push(r(n, t));\n }\n\n return s;\n }, o.prototype.assignNewBody = function () {\n return document.body = this.newBody;\n }, o.prototype.focusFirstAutofocusableElement = function () {\n var t;\n return null != (t = this.newSnapshot.findFirstAutofocusableElement()) ? t.focus() : void 0;\n }, o.prototype.getNewHeadStylesheetElements = function () {\n return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getNewHeadScriptElements = function () {\n return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getCurrentHeadProvisionalElements = function () {\n return this.currentHeadDetails.getProvisionalElements();\n }, o.prototype.getNewHeadProvisionalElements = function () {\n return this.newHeadDetails.getProvisionalElements();\n }, o.prototype.getCurrentBodyPermanentElements = function () {\n return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot);\n }, o.prototype.getNewBodyScriptElements = function () {\n return this.newBody.querySelectorAll(\"script\");\n }, o;\n }(e.Renderer), t = function t(_t5) {\n var e;\n return e = document.createElement(\"meta\"), e.setAttribute(\"name\", \"turbolinks-permanent-placeholder\"), e.setAttribute(\"content\", _t5.id), {\n element: e,\n permanentElement: _t5\n };\n }, r = function r(t, e) {\n var r;\n return (r = t.parentNode) ? r.replaceChild(e, t) : void 0;\n };\n }.call(this), function () {\n var t = function t(_t6, e) {\n function n() {\n this.constructor = _t6;\n }\n\n for (var o in e) {\n r.call(e, o) && (_t6[o] = e[o]);\n }\n\n return n.prototype = e.prototype, _t6.prototype = new n(), _t6.__super__ = e.prototype, _t6;\n },\n r = {}.hasOwnProperty;\n\n e.ErrorRenderer = function (e) {\n function r(t) {\n var e;\n e = document.createElement(\"html\"), e.innerHTML = t, this.newHead = e.querySelector(\"head\"), this.newBody = e.querySelector(\"body\");\n }\n\n return t(r, e), r.prototype.render = function (t) {\n return this.renderView(function (e) {\n return function () {\n return e.replaceHeadAndBody(), e.activateBodyScriptElements(), t();\n };\n }(this));\n }, r.prototype.replaceHeadAndBody = function () {\n var t, e;\n return e = document.head, t = document.body, e.parentNode.replaceChild(this.newHead, e), t.parentNode.replaceChild(this.newBody, t);\n }, r.prototype.activateBodyScriptElements = function () {\n var t, e, r, n, o, i;\n\n for (n = this.getScriptElements(), i = [], e = 0, r = n.length; r > e; e++) {\n o = n[e], t = this.createScriptElement(o), i.push(o.parentNode.replaceChild(t, o));\n }\n\n return i;\n }, r.prototype.getScriptElements = function () {\n return document.documentElement.querySelectorAll(\"script\");\n }, r;\n }(e.Renderer);\n }.call(this), function () {\n e.View = function () {\n function t(t) {\n this.delegate = t, this.htmlElement = document.documentElement;\n }\n\n return t.prototype.getRootLocation = function () {\n return this.getSnapshot().getRootLocation();\n }, t.prototype.getElementForAnchor = function (t) {\n return this.getSnapshot().getElementForAnchor(t);\n }, t.prototype.getSnapshot = function () {\n return e.Snapshot.fromHTMLElement(this.htmlElement);\n }, t.prototype.render = function (t, e) {\n var r, n, o;\n return o = t.snapshot, r = t.error, n = t.isPreview, this.markAsPreview(n), null != o ? this.renderSnapshot(o, n, e) : this.renderError(r, e);\n }, t.prototype.markAsPreview = function (t) {\n return t ? this.htmlElement.setAttribute(\"data-turbolinks-preview\", \"\") : this.htmlElement.removeAttribute(\"data-turbolinks-preview\");\n }, t.prototype.renderSnapshot = function (t, r, n) {\n return e.SnapshotRenderer.render(this.delegate, n, this.getSnapshot(), e.Snapshot.wrap(t), r);\n }, t.prototype.renderError = function (t, r) {\n return e.ErrorRenderer.render(this.delegate, r, t);\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t7, e) {\n return function () {\n return _t7.apply(e, arguments);\n };\n };\n\n e.ScrollManager = function () {\n function r(r) {\n this.delegate = r, this.onScroll = t(this.onScroll, this), this.onScroll = e.throttle(this.onScroll);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"scroll\", this.onScroll, !1), this.onScroll(), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"scroll\", this.onScroll, !1), this.started = !1) : void 0;\n }, r.prototype.scrollToElement = function (t) {\n return t.scrollIntoView();\n }, r.prototype.scrollToPosition = function (t) {\n var e, r;\n return e = t.x, r = t.y, window.scrollTo(e, r);\n }, r.prototype.onScroll = function (t) {\n return this.updatePosition({\n x: window.pageXOffset,\n y: window.pageYOffset\n });\n }, r.prototype.updatePosition = function (t) {\n var e;\n return this.position = t, null != (e = this.delegate) ? e.scrollPositionChanged(this.position) : void 0;\n }, r;\n }();\n }.call(this), function () {\n e.SnapshotCache = function () {\n function t(t) {\n this.size = t, this.keys = [], this.snapshots = {};\n }\n\n var r;\n return t.prototype.has = function (t) {\n var e;\n return e = r(t), e in this.snapshots;\n }, t.prototype.get = function (t) {\n var e;\n if (this.has(t)) return e = this.read(t), this.touch(t), e;\n }, t.prototype.put = function (t, e) {\n return this.write(t, e), this.touch(t), e;\n }, t.prototype.read = function (t) {\n var e;\n return e = r(t), this.snapshots[e];\n }, t.prototype.write = function (t, e) {\n var n;\n return n = r(t), this.snapshots[n] = e;\n }, t.prototype.touch = function (t) {\n var e, n;\n return n = r(t), e = this.keys.indexOf(n), e > -1 && this.keys.splice(e, 1), this.keys.unshift(n), this.trim();\n }, t.prototype.trim = function () {\n var t, e, r, n, o;\n\n for (n = this.keys.splice(this.size), o = [], t = 0, r = n.length; r > t; t++) {\n e = n[t], o.push(delete this.snapshots[e]);\n }\n\n return o;\n }, r = function r(t) {\n return e.Location.wrap(t).toCacheKey();\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t8, e) {\n return function () {\n return _t8.apply(e, arguments);\n };\n };\n\n e.Visit = function () {\n function r(r, n, o) {\n this.controller = r, this.action = o, this.performScroll = t(this.performScroll, this), this.identifier = e.uuid(), this.location = e.Location.wrap(n), this.adapter = this.controller.adapter, this.state = \"initialized\", this.timingMetrics = {};\n }\n\n var n;\n return r.prototype.start = function () {\n return \"initialized\" === this.state ? (this.recordTimingMetric(\"visitStart\"), this.state = \"started\", this.adapter.visitStarted(this)) : void 0;\n }, r.prototype.cancel = function () {\n var t;\n return \"started\" === this.state ? (null != (t = this.request) && t.cancel(), this.cancelRender(), this.state = \"canceled\") : void 0;\n }, r.prototype.complete = function () {\n var t;\n return \"started\" === this.state ? (this.recordTimingMetric(\"visitEnd\"), this.state = \"completed\", \"function\" == typeof (t = this.adapter).visitCompleted && t.visitCompleted(this), this.controller.visitCompleted(this)) : void 0;\n }, r.prototype.fail = function () {\n var t;\n return \"started\" === this.state ? (this.state = \"failed\", \"function\" == typeof (t = this.adapter).visitFailed ? t.visitFailed(this) : void 0) : void 0;\n }, r.prototype.changeHistory = function () {\n var t, e;\n return this.historyChanged ? void 0 : (t = this.location.isEqualTo(this.referrer) ? \"replace\" : this.action, e = n(t), this.controller[e](this.location, this.restorationIdentifier), this.historyChanged = !0);\n }, r.prototype.issueRequest = function () {\n return this.shouldIssueRequest() && null == this.request ? (this.progress = 0, this.request = new e.HttpRequest(this, this.location, this.referrer), this.request.send()) : void 0;\n }, r.prototype.getCachedSnapshot = function () {\n var t;\n return !(t = this.controller.getCachedSnapshotForLocation(this.location)) || null != this.location.anchor && !t.hasAnchor(this.location.anchor) || \"restore\" !== this.action && !t.isPreviewable() ? void 0 : t;\n }, r.prototype.hasCachedSnapshot = function () {\n return null != this.getCachedSnapshot();\n }, r.prototype.loadCachedSnapshot = function () {\n var t, e;\n return (e = this.getCachedSnapshot()) ? (t = this.shouldIssueRequest(), this.render(function () {\n var r;\n return this.cacheSnapshot(), this.controller.render({\n snapshot: e,\n isPreview: t\n }, this.performScroll), \"function\" == typeof (r = this.adapter).visitRendered && r.visitRendered(this), t ? void 0 : this.complete();\n })) : void 0;\n }, r.prototype.loadResponse = function () {\n return null != this.response ? this.render(function () {\n var t, e;\n return this.cacheSnapshot(), this.request.failed ? (this.controller.render({\n error: this.response\n }, this.performScroll), \"function\" == typeof (t = this.adapter).visitRendered && t.visitRendered(this), this.fail()) : (this.controller.render({\n snapshot: this.response\n }, this.performScroll), \"function\" == typeof (e = this.adapter).visitRendered && e.visitRendered(this), this.complete());\n }) : void 0;\n }, r.prototype.followRedirect = function () {\n return this.redirectedToLocation && !this.followedRedirect ? (this.location = this.redirectedToLocation, this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation, this.restorationIdentifier), this.followedRedirect = !0) : void 0;\n }, r.prototype.requestStarted = function () {\n var t;\n return this.recordTimingMetric(\"requestStart\"), \"function\" == typeof (t = this.adapter).visitRequestStarted ? t.visitRequestStarted(this) : void 0;\n }, r.prototype.requestProgressed = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.adapter).visitRequestProgressed ? e.visitRequestProgressed(this) : void 0;\n }, r.prototype.requestCompletedWithResponse = function (t, r) {\n return this.response = t, null != r && (this.redirectedToLocation = e.Location.wrap(r)), this.adapter.visitRequestCompleted(this);\n }, r.prototype.requestFailedWithStatusCode = function (t, e) {\n return this.response = e, this.adapter.visitRequestFailedWithStatusCode(this, t);\n }, r.prototype.requestFinished = function () {\n var t;\n return this.recordTimingMetric(\"requestEnd\"), \"function\" == typeof (t = this.adapter).visitRequestFinished ? t.visitRequestFinished(this) : void 0;\n }, r.prototype.performScroll = function () {\n return this.scrolled ? void 0 : (\"restore\" === this.action ? this.scrollToRestoredPosition() || this.scrollToTop() : this.scrollToAnchor() || this.scrollToTop(), this.scrolled = !0);\n }, r.prototype.scrollToRestoredPosition = function () {\n var t, e;\n return t = null != (e = this.restorationData) ? e.scrollPosition : void 0, null != t ? (this.controller.scrollToPosition(t), !0) : void 0;\n }, r.prototype.scrollToAnchor = function () {\n return null != this.location.anchor ? (this.controller.scrollToAnchor(this.location.anchor), !0) : void 0;\n }, r.prototype.scrollToTop = function () {\n return this.controller.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.recordTimingMetric = function (t) {\n var e;\n return null != (e = this.timingMetrics)[t] ? e[t] : e[t] = new Date().getTime();\n }, r.prototype.getTimingMetrics = function () {\n return e.copyObject(this.timingMetrics);\n }, n = function n(t) {\n switch (t) {\n case \"replace\":\n return \"replaceHistoryWithLocationAndRestorationIdentifier\";\n\n case \"advance\":\n case \"restore\":\n return \"pushHistoryWithLocationAndRestorationIdentifier\";\n }\n }, r.prototype.shouldIssueRequest = function () {\n return \"restore\" === this.action ? !this.hasCachedSnapshot() : !0;\n }, r.prototype.cacheSnapshot = function () {\n return this.snapshotCached ? void 0 : (this.controller.cacheSnapshot(), this.snapshotCached = !0);\n }, r.prototype.render = function (t) {\n return this.cancelRender(), this.frame = requestAnimationFrame(function (e) {\n return function () {\n return e.frame = null, t.call(e);\n };\n }(this));\n }, r.prototype.cancelRender = function () {\n return this.frame ? cancelAnimationFrame(this.frame) : void 0;\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t9, e) {\n return function () {\n return _t9.apply(e, arguments);\n };\n };\n\n e.Controller = function () {\n function r() {\n this.clickBubbled = t(this.clickBubbled, this), this.clickCaptured = t(this.clickCaptured, this), this.pageLoaded = t(this.pageLoaded, this), this.history = new e.History(this), this.view = new e.View(this), this.scrollManager = new e.ScrollManager(this), this.restorationData = {}, this.clearCache(), this.setProgressBarDelay(500);\n }\n\n return r.prototype.start = function () {\n return e.supported && !this.started ? (addEventListener(\"click\", this.clickCaptured, !0), addEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.start(), this.startHistory(), this.started = !0, this.enabled = !0) : void 0;\n }, r.prototype.disable = function () {\n return this.enabled = !1;\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"click\", this.clickCaptured, !0), removeEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.stop(), this.stopHistory(), this.started = !1) : void 0;\n }, r.prototype.clearCache = function () {\n return this.cache = new e.SnapshotCache(10);\n }, r.prototype.visit = function (t, r) {\n var n, o;\n return null == r && (r = {}), t = e.Location.wrap(t), this.applicationAllowsVisitingLocation(t) ? this.locationIsVisitable(t) ? (n = null != (o = r.action) ? o : \"advance\", this.adapter.visitProposedToLocationWithAction(t, n)) : window.location = t : void 0;\n }, r.prototype.startVisitToLocationWithAction = function (t, r, n) {\n var o;\n return e.supported ? (o = this.getRestorationDataForIdentifier(n), this.startVisit(t, r, {\n restorationData: o\n })) : window.location = t;\n }, r.prototype.setProgressBarDelay = function (t) {\n return this.progressBarDelay = t;\n }, r.prototype.startHistory = function () {\n return this.location = e.Location.wrap(window.location), this.restorationIdentifier = e.uuid(), this.history.start(), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.stopHistory = function () {\n return this.history.stop();\n }, r.prototype.pushHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.push(this.location, this.restorationIdentifier);\n }, r.prototype.replaceHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.historyPoppedToLocationWithRestorationIdentifier = function (t, r) {\n var n;\n return this.restorationIdentifier = r, this.enabled ? (n = this.getRestorationDataForIdentifier(this.restorationIdentifier), this.startVisit(t, \"restore\", {\n restorationIdentifier: this.restorationIdentifier,\n restorationData: n,\n historyChanged: !0\n }), this.location = e.Location.wrap(t)) : this.adapter.pageInvalidated();\n }, r.prototype.getCachedSnapshotForLocation = function (t) {\n var e;\n return null != (e = this.cache.get(t)) ? e.clone() : void 0;\n }, r.prototype.shouldCacheSnapshot = function () {\n return this.view.getSnapshot().isCacheable();\n }, r.prototype.cacheSnapshot = function () {\n var t, r;\n return this.shouldCacheSnapshot() ? (this.notifyApplicationBeforeCachingSnapshot(), r = this.view.getSnapshot(), t = this.lastRenderedLocation, e.defer(function (e) {\n return function () {\n return e.cache.put(t, r.clone());\n };\n }(this))) : void 0;\n }, r.prototype.scrollToAnchor = function (t) {\n var e;\n return (e = this.view.getElementForAnchor(t)) ? this.scrollToElement(e) : this.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.scrollToElement = function (t) {\n return this.scrollManager.scrollToElement(t);\n }, r.prototype.scrollToPosition = function (t) {\n return this.scrollManager.scrollToPosition(t);\n }, r.prototype.scrollPositionChanged = function (t) {\n var e;\n return e = this.getCurrentRestorationData(), e.scrollPosition = t;\n }, r.prototype.render = function (t, e) {\n return this.view.render(t, e);\n }, r.prototype.viewInvalidated = function () {\n return this.adapter.pageInvalidated();\n }, r.prototype.viewWillRender = function (t) {\n return this.notifyApplicationBeforeRender(t);\n }, r.prototype.viewRendered = function () {\n return this.lastRenderedLocation = this.currentVisit.location, this.notifyApplicationAfterRender();\n }, r.prototype.pageLoaded = function () {\n return this.lastRenderedLocation = this.location, this.notifyApplicationAfterPageLoad();\n }, r.prototype.clickCaptured = function () {\n return removeEventListener(\"click\", this.clickBubbled, !1), addEventListener(\"click\", this.clickBubbled, !1);\n }, r.prototype.clickBubbled = function (t) {\n var e, r, n;\n return this.enabled && this.clickEventIsSignificant(t) && (r = this.getVisitableLinkForNode(t.target)) && (n = this.getVisitableLocationForLink(r)) && this.applicationAllowsFollowingLinkToLocation(r, n) ? (t.preventDefault(), e = this.getActionForLink(r), this.visit(n, {\n action: e\n })) : void 0;\n }, r.prototype.applicationAllowsFollowingLinkToLocation = function (t, e) {\n var r;\n return r = this.notifyApplicationAfterClickingLinkToLocation(t, e), !r.defaultPrevented;\n }, r.prototype.applicationAllowsVisitingLocation = function (t) {\n var e;\n return e = this.notifyApplicationBeforeVisitingLocation(t), !e.defaultPrevented;\n }, r.prototype.notifyApplicationAfterClickingLinkToLocation = function (t, r) {\n return e.dispatch(\"turbolinks:click\", {\n target: t,\n data: {\n url: r.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationBeforeVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:before-visit\", {\n data: {\n url: t.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationAfterVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:visit\", {\n data: {\n url: t.absoluteURL\n }\n });\n }, r.prototype.notifyApplicationBeforeCachingSnapshot = function () {\n return e.dispatch(\"turbolinks:before-cache\");\n }, r.prototype.notifyApplicationBeforeRender = function (t) {\n return e.dispatch(\"turbolinks:before-render\", {\n data: {\n newBody: t\n }\n });\n }, r.prototype.notifyApplicationAfterRender = function () {\n return e.dispatch(\"turbolinks:render\");\n }, r.prototype.notifyApplicationAfterPageLoad = function (t) {\n return null == t && (t = {}), e.dispatch(\"turbolinks:load\", {\n data: {\n url: this.location.absoluteURL,\n timing: t\n }\n });\n }, r.prototype.startVisit = function (t, e, r) {\n var n;\n return null != (n = this.currentVisit) && n.cancel(), this.currentVisit = this.createVisit(t, e, r), this.currentVisit.start(), this.notifyApplicationAfterVisitingLocation(t);\n }, r.prototype.createVisit = function (t, r, n) {\n var o, i, s, a, u;\n return i = null != n ? n : {}, a = i.restorationIdentifier, s = i.restorationData, o = i.historyChanged, u = new e.Visit(this, t, r), u.restorationIdentifier = null != a ? a : e.uuid(), u.restorationData = e.copyObject(s), u.historyChanged = o, u.referrer = this.location, u;\n }, r.prototype.visitCompleted = function (t) {\n return this.notifyApplicationAfterPageLoad(t.getTimingMetrics());\n }, r.prototype.clickEventIsSignificant = function (t) {\n return !(t.defaultPrevented || t.target.isContentEditable || t.which > 1 || t.altKey || t.ctrlKey || t.metaKey || t.shiftKey);\n }, r.prototype.getVisitableLinkForNode = function (t) {\n return this.nodeIsVisitable(t) ? e.closest(t, \"a[href]:not([target]):not([download])\") : void 0;\n }, r.prototype.getVisitableLocationForLink = function (t) {\n var r;\n return r = new e.Location(t.getAttribute(\"href\")), this.locationIsVisitable(r) ? r : void 0;\n }, r.prototype.getActionForLink = function (t) {\n var e;\n return null != (e = t.getAttribute(\"data-turbolinks-action\")) ? e : \"advance\";\n }, r.prototype.nodeIsVisitable = function (t) {\n var r;\n return (r = e.closest(t, \"[data-turbolinks]\")) ? \"false\" !== r.getAttribute(\"data-turbolinks\") : !0;\n }, r.prototype.locationIsVisitable = function (t) {\n return t.isPrefixedBy(this.view.getRootLocation()) && t.isHTML();\n }, r.prototype.getCurrentRestorationData = function () {\n return this.getRestorationDataForIdentifier(this.restorationIdentifier);\n }, r.prototype.getRestorationDataForIdentifier = function (t) {\n var e;\n return null != (e = this.restorationData)[t] ? e[t] : e[t] = {};\n }, r;\n }();\n }.call(this), function () {\n !function () {\n var t, e;\n if ((t = e = document.currentScript) && !e.hasAttribute(\"data-turbolinks-suppress-warning\")) for (; t = t.parentNode;) {\n if (t === document.body) return console.warn(\"You are loading Turbolinks from a <script> element inside the <body> element. This is probably not what you meant to do!\\n\\nLoad your application\\u2019s JavaScript bundle inside the <head> element instead. <script> elements in <body> are evaluated with each page change.\\n\\nFor more information, see: https://github.com/turbolinks/turbolinks#working-with-script-elements\\n\\n\\u2014\\u2014\\nSuppress this warning by adding a `data-turbolinks-suppress-warning` attribute to: %s\", e.outerHTML);\n }\n }();\n }.call(this), function () {\n var t, r, n;\n e.start = function () {\n return r() ? (null == e.controller && (e.controller = t()), e.controller.start()) : void 0;\n }, r = function r() {\n return null == window.Turbolinks && (window.Turbolinks = e), n();\n }, t = function t() {\n var t;\n return t = new e.Controller(), t.adapter = new e.BrowserAdapter(t), t;\n }, n = function n() {\n return window.Turbolinks === e;\n }, n() && e.start();\n }.call(this);\n }).call(this), \"object\" == (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) && module.exports ? module.exports = e : \"function\" == typeof define && define.amd && define(e);\n}).call(this);","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/*\nStimulus-Use 0.50.0-2\n*/\nimport { Controller } from '@hotwired/stimulus';\nimport hotkeys from 'hotkeys-js';\n\nvar method = function method(controller, methodName) {\n var method = controller[methodName];\n\n if (typeof method == 'function') {\n return method;\n } else {\n return function () {};\n }\n};\n\nvar composeEventName = function composeEventName(name, controller, eventPrefix) {\n var composedName = name;\n\n if (eventPrefix === true) {\n composedName = \"\".concat(controller.identifier, \":\").concat(name);\n } else if (typeof eventPrefix === 'string') {\n composedName = \"\".concat(eventPrefix, \":\").concat(name);\n }\n\n return composedName;\n};\n\nvar extendedEvent = function extendedEvent(type, event, detail) {\n var _ref = event || {\n bubbles: true,\n cancelable: true,\n composed: true\n },\n bubbles = _ref.bubbles,\n cancelable = _ref.cancelable,\n composed = _ref.composed;\n\n if (event) {\n Object.assign(detail, {\n originalEvent: event\n });\n }\n\n var customEvent = new CustomEvent(type, {\n bubbles: bubbles,\n cancelable: cancelable,\n composed: composed,\n detail: detail\n });\n return customEvent;\n};\n\nfunction isElementInViewport(el) {\n var rect = el.getBoundingClientRect();\n var windowHeight = window.innerHeight || document.documentElement.clientHeight;\n var windowWidth = window.innerWidth || document.documentElement.clientWidth;\n var vertInView = rect.top <= windowHeight && rect.top + rect.height >= 0;\n var horInView = rect.left <= windowWidth && rect.left + rect.width >= 0;\n return vertInView && horInView;\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, function (_, char) {\n return char.toUpperCase();\n });\n}\n\nvar defaultOptions$7 = {\n dispatchEvent: true,\n eventPrefix: true\n};\n\nvar useIntersection = function useIntersection(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Object$assign = Object.assign({}, defaultOptions$7, options),\n dispatchEvent = _Object$assign.dispatchEvent,\n eventPrefix = _Object$assign.eventPrefix;\n\n var targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n\n var callback = function callback(entries) {\n var _entries = _slicedToArray(entries, 1),\n entry = _entries[0];\n\n if (entry.isIntersecting) {\n dispatchAppear(entry);\n } else if (controller.isVisible) {\n dispatchDisappear(entry);\n }\n };\n\n var dispatchAppear = function dispatchAppear(entry) {\n controller.isVisible = true;\n method(controller, 'appear').call(controller, entry);\n\n if (dispatchEvent) {\n var eventName = composeEventName('appear', controller, eventPrefix);\n var appearEvent = extendedEvent(eventName, null, {\n controller: controller,\n entry: entry\n });\n targetElement.dispatchEvent(appearEvent);\n }\n };\n\n var dispatchDisappear = function dispatchDisappear(entry) {\n controller.isVisible = false;\n method(controller, 'disappear').call(controller, entry);\n\n if (dispatchEvent) {\n var eventName = composeEventName('disappear', controller, eventPrefix);\n var disappearEvent = extendedEvent(eventName, null, {\n controller: controller,\n entry: entry\n });\n targetElement.dispatchEvent(disappearEvent);\n }\n };\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n var observer = new IntersectionObserver(callback, options);\n\n var observe = function observe() {\n observer.observe(targetElement);\n };\n\n var unobserve = function unobserve() {\n observer.unobserve(targetElement);\n };\n\n Object.assign(controller, {\n isVisible: false,\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};\n\nvar IntersectionComposableController = /*#__PURE__*/function (_Controller) {\n _inherits(IntersectionComposableController, _Controller);\n\n var _super = _createSuper(IntersectionComposableController);\n\n function IntersectionComposableController() {\n var _this;\n\n _classCallCheck(this, IntersectionComposableController);\n\n _this = _super.apply(this, arguments);\n _this.isVisible = false;\n return _this;\n }\n\n return _createClass(IntersectionComposableController);\n}(Controller);\n\nvar IntersectionController = /*#__PURE__*/function (_IntersectionComposab) {\n _inherits(IntersectionController, _IntersectionComposab);\n\n var _super2 = _createSuper(IntersectionController);\n\n function IntersectionController(context) {\n var _this2;\n\n _classCallCheck(this, IntersectionController);\n\n _this2 = _super2.call(this, context);\n requestAnimationFrame(function () {\n var _useIntersection = useIntersection(_assertThisInitialized(_this2), _this2.options),\n _useIntersection2 = _slicedToArray(_useIntersection, 2),\n observe = _useIntersection2[0],\n unobserve = _useIntersection2[1];\n\n Object.assign(_assertThisInitialized(_this2), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this2;\n }\n\n return _createClass(IntersectionController);\n}(IntersectionComposableController);\n\nvar useLazyLoad = function useLazyLoad(controller, options) {\n var callback = function callback(entries) {\n var _entries2 = _slicedToArray(entries, 1),\n entry = _entries2[0];\n\n if (entry.isIntersecting && !controller.isLoaded) {\n handleAppear();\n }\n };\n\n var handleAppear = function handleAppear(entry) {\n var src = controller.data.get('src');\n if (!src) return;\n var imageElement = controller.element;\n controller.isLoading = true;\n method(controller, 'loading').call(controller, src);\n\n imageElement.onload = function () {\n handleLoaded(src);\n };\n\n imageElement.src = src;\n };\n\n var handleLoaded = function handleLoaded(src) {\n controller.isLoading = false;\n controller.isLoaded = true;\n method(controller, 'loaded').call(controller, src);\n };\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n var observer = new IntersectionObserver(callback, options);\n\n var observe = function observe() {\n observer.observe(controller.element);\n };\n\n var unobserve = function unobserve() {\n observer.unobserve(controller.element);\n };\n\n Object.assign(controller, {\n isVisible: false,\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};\n\nvar LazyLoadComposableController = /*#__PURE__*/function (_Controller2) {\n _inherits(LazyLoadComposableController, _Controller2);\n\n var _super3 = _createSuper(LazyLoadComposableController);\n\n function LazyLoadComposableController() {\n var _this3;\n\n _classCallCheck(this, LazyLoadComposableController);\n\n _this3 = _super3.apply(this, arguments);\n _this3.isLoading = false;\n _this3.isLoaded = false;\n return _this3;\n }\n\n return _createClass(LazyLoadComposableController);\n}(Controller);\n\nvar LazyLoadController = /*#__PURE__*/function (_LazyLoadComposableCo) {\n _inherits(LazyLoadController, _LazyLoadComposableCo);\n\n var _super4 = _createSuper(LazyLoadController);\n\n function LazyLoadController(context) {\n var _this4;\n\n _classCallCheck(this, LazyLoadController);\n\n _this4 = _super4.call(this, context);\n _this4.options = {\n rootMargin: '10%'\n };\n requestAnimationFrame(function () {\n var _useLazyLoad = useLazyLoad(_assertThisInitialized(_this4), _this4.options),\n _useLazyLoad2 = _slicedToArray(_useLazyLoad, 2),\n observe = _useLazyLoad2[0],\n unobserve = _useLazyLoad2[1];\n\n Object.assign(_assertThisInitialized(_this4), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this4;\n }\n\n return _createClass(LazyLoadController);\n}(LazyLoadComposableController);\n\nvar defaultOptions$6 = {\n dispatchEvent: true,\n eventPrefix: true\n};\n\nvar useResize = function useResize(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Object$assign2 = Object.assign({}, defaultOptions$6, options),\n dispatchEvent = _Object$assign2.dispatchEvent,\n eventPrefix = _Object$assign2.eventPrefix;\n\n var targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n\n var callback = function callback(entries) {\n var _entries3 = _slicedToArray(entries, 1),\n entry = _entries3[0];\n\n method(controller, 'resize').call(controller, entry.contentRect);\n\n if (dispatchEvent) {\n var eventName = composeEventName('resize', controller, eventPrefix);\n var appearEvent = extendedEvent(eventName, null, {\n controller: controller,\n entry: entry\n });\n targetElement.dispatchEvent(appearEvent);\n }\n };\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n var observer = new ResizeObserver(callback);\n\n var observe = function observe() {\n observer.observe(targetElement);\n };\n\n var unobserve = function unobserve() {\n observer.unobserve(targetElement);\n };\n\n Object.assign(controller, {\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};\n\nvar ResizeComposableController = /*#__PURE__*/function (_Controller3) {\n _inherits(ResizeComposableController, _Controller3);\n\n var _super5 = _createSuper(ResizeComposableController);\n\n function ResizeComposableController() {\n _classCallCheck(this, ResizeComposableController);\n\n return _super5.apply(this, arguments);\n }\n\n return _createClass(ResizeComposableController);\n}(Controller);\n\nvar ResizeController = /*#__PURE__*/function (_ResizeComposableCont) {\n _inherits(ResizeController, _ResizeComposableCont);\n\n var _super6 = _createSuper(ResizeController);\n\n function ResizeController(context) {\n var _this5;\n\n _classCallCheck(this, ResizeController);\n\n _this5 = _super6.call(this, context);\n requestAnimationFrame(function () {\n var _useResize = useResize(_assertThisInitialized(_this5), _this5.options),\n _useResize2 = _slicedToArray(_useResize, 2),\n observe = _useResize2[0],\n unobserve = _useResize2[1];\n\n Object.assign(_assertThisInitialized(_this5), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this5;\n }\n\n return _createClass(ResizeController);\n}(ResizeComposableController);\n\nvar defaultOptions$5 = {\n events: ['click', 'touchend'],\n onlyVisible: true,\n dispatchEvent: true,\n eventPrefix: true\n};\n\nvar useClickOutside = function useClickOutside(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Object$assign3 = Object.assign({}, defaultOptions$5, options),\n onlyVisible = _Object$assign3.onlyVisible,\n dispatchEvent = _Object$assign3.dispatchEvent,\n events = _Object$assign3.events,\n eventPrefix = _Object$assign3.eventPrefix;\n\n var onEvent = function onEvent(event) {\n var targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n\n if (targetElement.contains(event.target) || !isElementInViewport(targetElement) && onlyVisible) {\n return;\n }\n\n if (controller.clickOutside) {\n controller.clickOutside(event);\n }\n\n if (dispatchEvent) {\n var eventName = composeEventName('click:outside', controller, eventPrefix);\n var clickOutsideEvent = extendedEvent(eventName, event, {\n controller: controller\n });\n targetElement.dispatchEvent(clickOutsideEvent);\n }\n };\n\n var observe = function observe() {\n events === null || events === void 0 ? void 0 : events.forEach(function (event) {\n window.addEventListener(event, onEvent, false);\n });\n };\n\n var unobserve = function unobserve() {\n events === null || events === void 0 ? void 0 : events.forEach(function (event) {\n window.removeEventListener(event, onEvent, false);\n });\n };\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n Object.assign(controller, {\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};\n\nvar ClickOutsideComposableController = /*#__PURE__*/function (_Controller4) {\n _inherits(ClickOutsideComposableController, _Controller4);\n\n var _super7 = _createSuper(ClickOutsideComposableController);\n\n function ClickOutsideComposableController() {\n _classCallCheck(this, ClickOutsideComposableController);\n\n return _super7.apply(this, arguments);\n }\n\n return _createClass(ClickOutsideComposableController);\n}(Controller);\n\nvar ClickOutsideController = /*#__PURE__*/function (_ClickOutsideComposab) {\n _inherits(ClickOutsideController, _ClickOutsideComposab);\n\n var _super8 = _createSuper(ClickOutsideController);\n\n function ClickOutsideController(context) {\n var _this6;\n\n _classCallCheck(this, ClickOutsideController);\n\n _this6 = _super8.call(this, context);\n requestAnimationFrame(function () {\n var _useClickOutside = useClickOutside(_assertThisInitialized(_this6), _this6.options),\n _useClickOutside2 = _slicedToArray(_useClickOutside, 2),\n observe = _useClickOutside2[0],\n unobserve = _useClickOutside2[1];\n\n Object.assign(_assertThisInitialized(_this6), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this6;\n }\n\n return _createClass(ClickOutsideController);\n}(ClickOutsideComposableController);\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n\nfunction __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nvar defaultOptions$4 = {\n debug: false,\n logger: console,\n dispatchEvent: true,\n eventPrefix: true\n};\n\nvar StimulusUse = /*#__PURE__*/_createClass(function StimulusUse(controller) {\n var _this7 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, StimulusUse);\n\n var _a, _b, _c;\n\n this.log = function (functionName, args) {\n if (!_this7.debug) return;\n\n _this7.logger.groupCollapsed(\"%c\".concat(_this7.controller.identifier, \" %c#\").concat(functionName), 'color: #3B82F6', 'color: unset');\n\n _this7.logger.log(Object.assign({\n controllerId: _this7.controllerId\n }, args));\n\n _this7.logger.groupEnd();\n };\n\n this.dispatch = function (eventName) {\n var details = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (_this7.dispatchEvent) {\n var event = details.event,\n eventDetails = __rest(details, [\"event\"]);\n\n var customEvent = _this7.extendedEvent(eventName, event || null, eventDetails);\n\n _this7.targetElement.dispatchEvent(customEvent);\n\n _this7.log('dispatchEvent', Object.assign({\n eventName: customEvent.type\n }, eventDetails));\n }\n };\n\n this.call = function (methodName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = _this7.controller[methodName];\n\n if (typeof method == 'function') {\n return method.call(_this7.controller, args);\n }\n };\n\n this.extendedEvent = function (name, event, detail) {\n var _ref2 = event || {\n bubbles: true,\n cancelable: true,\n composed: true\n },\n bubbles = _ref2.bubbles,\n cancelable = _ref2.cancelable,\n composed = _ref2.composed;\n\n if (event) {\n Object.assign(detail, {\n originalEvent: event\n });\n }\n\n var customEvent = new CustomEvent(_this7.composeEventName(name), {\n bubbles: bubbles,\n cancelable: cancelable,\n composed: composed,\n detail: detail\n });\n return customEvent;\n };\n\n this.composeEventName = function (name) {\n var composedName = name;\n\n if (_this7.eventPrefix === true) {\n composedName = \"\".concat(_this7.controller.identifier, \":\").concat(name);\n } else if (typeof _this7.eventPrefix === 'string') {\n composedName = \"\".concat(_this7.eventPrefix, \":\").concat(name);\n }\n\n return composedName;\n };\n\n this.debug = (_b = (_a = options === null || options === void 0 ? void 0 : options.debug) !== null && _a !== void 0 ? _a : controller.application.stimulusUseDebug) !== null && _b !== void 0 ? _b : defaultOptions$4.debug;\n this.logger = (_c = options === null || options === void 0 ? void 0 : options.logger) !== null && _c !== void 0 ? _c : defaultOptions$4.logger;\n this.controller = controller;\n this.controllerId = controller.element.id || controller.element.dataset.id;\n this.targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n\n var _Object$assign4 = Object.assign({}, defaultOptions$4, options),\n dispatchEvent = _Object$assign4.dispatchEvent,\n eventPrefix = _Object$assign4.eventPrefix;\n\n Object.assign(this, {\n dispatchEvent: dispatchEvent,\n eventPrefix: eventPrefix\n });\n this.controllerInitialize = controller.initialize.bind(controller);\n this.controllerConnect = controller.connect.bind(controller);\n this.controllerDisconnect = controller.disconnect.bind(controller);\n});\n\nvar defaultOptions$3 = {\n eventPrefix: true,\n bubbles: true,\n cancelable: true\n};\n\nvar UseDispatch = /*#__PURE__*/function (_StimulusUse) {\n _inherits(UseDispatch, _StimulusUse);\n\n var _super9 = _createSuper(UseDispatch);\n\n function UseDispatch(controller) {\n var _this8;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseDispatch);\n\n var _a, _b, _c, _d;\n\n _this8 = _super9.call(this, controller, options);\n\n _this8.dispatch = function (eventName) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _assertThisInitialize = _assertThisInitialized(_this8),\n controller = _assertThisInitialize.controller,\n targetElement = _assertThisInitialize.targetElement,\n eventPrefix = _assertThisInitialize.eventPrefix,\n bubbles = _assertThisInitialize.bubbles,\n cancelable = _assertThisInitialize.cancelable,\n log = _assertThisInitialize.log;\n\n Object.assign(detail, {\n controller: controller\n });\n var eventNameWithPrefix = composeEventName(eventName, _this8.controller, eventPrefix);\n var event = new CustomEvent(eventNameWithPrefix, {\n detail: detail,\n bubbles: bubbles,\n cancelable: cancelable\n });\n targetElement.dispatchEvent(event);\n log('dispatch', {\n eventName: eventNameWithPrefix,\n detail: detail,\n bubbles: bubbles,\n cancelable: cancelable\n });\n return event;\n };\n\n _this8.targetElement = (_a = options.element) !== null && _a !== void 0 ? _a : controller.element;\n _this8.eventPrefix = (_b = options.eventPrefix) !== null && _b !== void 0 ? _b : defaultOptions$3.eventPrefix;\n _this8.bubbles = (_c = options.bubbles) !== null && _c !== void 0 ? _c : defaultOptions$3.bubbles;\n _this8.cancelable = (_d = options.cancelable) !== null && _d !== void 0 ? _d : defaultOptions$3.cancelable;\n\n _this8.enhanceController();\n\n return _this8;\n }\n\n _createClass(UseDispatch, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n Object.assign(this.controller, {\n dispatch: this.dispatch\n });\n }\n }]);\n\n return UseDispatch;\n}(StimulusUse);\n\nvar useDispatch = function useDispatch(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new UseDispatch(controller, options);\n};\n\nvar useApplication = function useApplication(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Object.defineProperty(controller, 'isPreview', {\n get: function get() {\n return document.documentElement.hasAttribute('data-turbolinks-preview') || document.documentElement.hasAttribute('data-turbo-preview');\n }\n });\n Object.defineProperty(controller, 'isConnected', {\n get: function get() {\n var _this9 = this;\n\n return !!Array.from(this.context.module.connectedContexts).find(function (c) {\n return c === _this9.context;\n });\n }\n });\n Object.defineProperty(controller, 'csrfToken', {\n get: function get() {\n return this.metaValue('csrf-token');\n }\n });\n useDispatch(controller, options);\n Object.assign(controller, {\n metaValue: function metaValue(name) {\n var element = document.head.querySelector(\"meta[name=\\\"\".concat(name, \"\\\"]\"));\n return element && element.getAttribute('content');\n }\n });\n};\n\nvar ApplicationController = /*#__PURE__*/function (_Controller5) {\n _inherits(ApplicationController, _Controller5);\n\n var _super10 = _createSuper(ApplicationController);\n\n function ApplicationController(context) {\n var _this10;\n\n _classCallCheck(this, ApplicationController);\n\n _this10 = _super10.call(this, context);\n _this10.isPreview = false;\n _this10.isConnected = false;\n _this10.csrfToken = '';\n useApplication(_assertThisInitialized(_this10), _this10.options);\n return _this10;\n }\n\n return _createClass(ApplicationController);\n}(Controller);\n\nvar defaultEvents = ['mousemove', 'mousedown', 'resize', 'keydown', 'touchstart', 'wheel'];\nvar oneMinute = 60e3;\nvar defaultOptions$2 = {\n ms: oneMinute,\n initialState: false,\n events: defaultEvents,\n dispatchEvent: true,\n eventPrefix: true\n};\n\nvar useIdle = function useIdle(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Object$assign5 = Object.assign({}, defaultOptions$2, options),\n ms = _Object$assign5.ms,\n initialState = _Object$assign5.initialState,\n events = _Object$assign5.events,\n dispatchEvent = _Object$assign5.dispatchEvent,\n eventPrefix = _Object$assign5.eventPrefix;\n\n var isIdle = initialState;\n var timeout = setTimeout(function () {\n isIdle = true;\n dispatchAway();\n }, ms);\n\n var dispatchAway = function dispatchAway(event) {\n var eventName = composeEventName('away', controller, eventPrefix);\n controller.isIdle = true;\n method(controller, 'away').call(controller, event);\n\n if (dispatchEvent) {\n var clickOutsideEvent = extendedEvent(eventName, event || null, {\n controller: controller\n });\n controller.element.dispatchEvent(clickOutsideEvent);\n }\n };\n\n var dispatchBack = function dispatchBack(event) {\n var eventName = composeEventName('back', controller, eventPrefix);\n controller.isIdle = false;\n method(controller, 'back').call(controller, event);\n\n if (dispatchEvent) {\n var clickOutsideEvent = extendedEvent(eventName, event || null, {\n controller: controller\n });\n controller.element.dispatchEvent(clickOutsideEvent);\n }\n };\n\n var onEvent = function onEvent(event) {\n if (isIdle) dispatchBack(event);\n isIdle = false;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n isIdle = true;\n dispatchAway(event);\n }, ms);\n };\n\n var onVisibility = function onVisibility(event) {\n if (!document.hidden) onEvent(event);\n };\n\n if (isIdle) {\n dispatchAway();\n } else {\n dispatchBack();\n }\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n\n var observe = function observe() {\n events.forEach(function (event) {\n window.addEventListener(event, onEvent);\n });\n document.addEventListener('visibilitychange', onVisibility);\n };\n\n var unobserve = function unobserve() {\n clearTimeout(timeout);\n events.forEach(function (event) {\n window.removeEventListener(event, onEvent);\n });\n document.removeEventListener('visibilitychange', onVisibility);\n };\n\n Object.assign(controller, {\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};\n\nvar IdleComposableController = /*#__PURE__*/function (_Controller6) {\n _inherits(IdleComposableController, _Controller6);\n\n var _super11 = _createSuper(IdleComposableController);\n\n function IdleComposableController() {\n var _this11;\n\n _classCallCheck(this, IdleComposableController);\n\n _this11 = _super11.apply(this, arguments);\n _this11.isIdle = false;\n return _this11;\n }\n\n return _createClass(IdleComposableController);\n}(Controller);\n\nvar IdleController = /*#__PURE__*/function (_IdleComposableContro) {\n _inherits(IdleController, _IdleComposableContro);\n\n var _super12 = _createSuper(IdleController);\n\n function IdleController(context) {\n var _this12;\n\n _classCallCheck(this, IdleController);\n\n _this12 = _super12.call(this, context);\n requestAnimationFrame(function () {\n var _useIdle = useIdle(_assertThisInitialized(_this12), _this12.options),\n _useIdle2 = _slicedToArray(_useIdle, 2),\n observe = _useIdle2[0],\n unobserve = _useIdle2[1];\n\n Object.assign(_assertThisInitialized(_this12), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this12;\n }\n\n return _createClass(IdleController);\n}(IdleComposableController);\n\nvar UseVisibility = /*#__PURE__*/function (_StimulusUse2) {\n _inherits(UseVisibility, _StimulusUse2);\n\n var _super13 = _createSuper(UseVisibility);\n\n function UseVisibility(controller) {\n var _this13;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseVisibility);\n\n _this13 = _super13.call(this, controller, options);\n\n _this13.observe = function () {\n _this13.controller.isVisible = !document.hidden;\n document.addEventListener('visibilitychange', _this13.handleVisibilityChange);\n\n _this13.handleVisibilityChange();\n };\n\n _this13.unobserve = function () {\n document.removeEventListener('visibilitychange', _this13.handleVisibilityChange);\n };\n\n _this13.becomesInvisible = function (event) {\n _this13.controller.isVisible = false;\n\n _this13.call('invisible', event);\n\n _this13.log('invisible', {\n isVisible: false\n });\n\n _this13.dispatch('invisible', {\n event: event,\n isVisible: false\n });\n };\n\n _this13.becomesVisible = function (event) {\n _this13.controller.isVisible = true;\n\n _this13.call('visible', event);\n\n _this13.log('visible', {\n isVisible: true\n });\n\n _this13.dispatch('visible', {\n event: event,\n isVisible: true\n });\n };\n\n _this13.handleVisibilityChange = function (event) {\n if (document.hidden) {\n _this13.becomesInvisible(event);\n } else {\n _this13.becomesVisible(event);\n }\n };\n\n _this13.controller = controller;\n\n _this13.enhanceController();\n\n _this13.observe();\n\n return _this13;\n }\n\n _createClass(UseVisibility, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this14 = this;\n\n var controllerDisconnect = this.controllerDisconnect;\n\n var disconnect = function disconnect() {\n _this14.unobserve();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseVisibility;\n}(StimulusUse);\n\nvar useVisibility = function useVisibility(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observer = new UseVisibility(controller, options);\n return [observer.observe, observer.unobserve];\n};\n\nvar VisibilityComposableController = /*#__PURE__*/function (_Controller7) {\n _inherits(VisibilityComposableController, _Controller7);\n\n var _super14 = _createSuper(VisibilityComposableController);\n\n function VisibilityComposableController() {\n var _this15;\n\n _classCallCheck(this, VisibilityComposableController);\n\n _this15 = _super14.apply(this, arguments);\n _this15.isVisible = false;\n return _this15;\n }\n\n return _createClass(VisibilityComposableController);\n}(Controller);\n\nvar VisibilityController = /*#__PURE__*/function (_VisibilityComposable) {\n _inherits(VisibilityController, _VisibilityComposable);\n\n var _super15 = _createSuper(VisibilityController);\n\n function VisibilityController(context) {\n var _this16;\n\n _classCallCheck(this, VisibilityController);\n\n _this16 = _super15.call(this, context);\n requestAnimationFrame(function () {\n var _useVisibility = useVisibility(_assertThisInitialized(_this16), _this16.options),\n _useVisibility2 = _slicedToArray(_useVisibility, 2),\n observe = _useVisibility2[0],\n unobserve = _useVisibility2[1];\n\n Object.assign(_assertThisInitialized(_this16), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this16;\n }\n\n return _createClass(VisibilityController);\n}(VisibilityComposableController);\n\nvar UseHover = /*#__PURE__*/function (_StimulusUse3) {\n _inherits(UseHover, _StimulusUse3);\n\n var _super16 = _createSuper(UseHover);\n\n function UseHover(controller) {\n var _this17;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseHover);\n\n _this17 = _super16.call(this, controller, options);\n\n _this17.observe = function () {\n _this17.targetElement.addEventListener('mouseenter', _this17.onEnter);\n\n _this17.targetElement.addEventListener('mouseleave', _this17.onLeave);\n };\n\n _this17.unobserve = function () {\n _this17.targetElement.removeEventListener('mouseenter', _this17.onEnter);\n\n _this17.targetElement.removeEventListener('mouseleave', _this17.onLeave);\n };\n\n _this17.onEnter = function (event) {\n _this17.call('mouseEnter', event);\n\n _this17.log('mouseEnter', {\n hover: true\n });\n\n _this17.dispatch('mouseEnter', {\n hover: false\n });\n };\n\n _this17.onLeave = function (event) {\n _this17.call('mouseLeave', event);\n\n _this17.log('mouseLeave', {\n hover: false\n });\n\n _this17.dispatch('mouseLeave', {\n hover: false\n });\n };\n\n _this17.controller = controller;\n\n _this17.enhanceController();\n\n _this17.observe();\n\n return _this17;\n }\n\n _createClass(UseHover, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this18 = this;\n\n var controllerDisconnect = this.controller.disconnect.bind(this.controller);\n\n var disconnect = function disconnect() {\n _this18.unobserve();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseHover;\n}(StimulusUse);\n\nvar useHover = function useHover(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observer = new UseHover(controller, options);\n return [observer.observe, observer.unobserve];\n};\n\nvar HoverComposableController = /*#__PURE__*/function (_Controller8) {\n _inherits(HoverComposableController, _Controller8);\n\n var _super17 = _createSuper(HoverComposableController);\n\n function HoverComposableController() {\n _classCallCheck(this, HoverComposableController);\n\n return _super17.apply(this, arguments);\n }\n\n return _createClass(HoverComposableController);\n}(Controller);\n\nvar HoverController = /*#__PURE__*/function (_HoverComposableContr) {\n _inherits(HoverController, _HoverComposableContr);\n\n var _super18 = _createSuper(HoverController);\n\n function HoverController(context) {\n var _this19;\n\n _classCallCheck(this, HoverController);\n\n _this19 = _super18.call(this, context);\n requestAnimationFrame(function () {\n var _useHover = useHover(_assertThisInitialized(_this19), _this19.options),\n _useHover2 = _slicedToArray(_useHover, 2),\n observe = _useHover2[0],\n unobserve = _useHover2[1];\n\n Object.assign(_assertThisInitialized(_this19), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this19;\n }\n\n return _createClass(HoverController);\n}(HoverComposableController);\n\nvar UseMutation = /*#__PURE__*/function (_StimulusUse4) {\n _inherits(UseMutation, _StimulusUse4);\n\n var _super19 = _createSuper(UseMutation);\n\n function UseMutation(controller) {\n var _this20;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseMutation);\n\n _this20 = _super19.call(this, controller, options);\n\n _this20.observe = function () {\n try {\n _this20.observer.observe(_this20.targetElement, _this20.options);\n } catch (error) {\n _this20.controller.application.handleError(error, 'At a minimum, one of childList, attributes, and/or characterData must be true', {});\n }\n };\n\n _this20.unobserve = function () {\n _this20.observer.disconnect();\n };\n\n _this20.mutation = function (entries) {\n _this20.call('mutate', entries);\n\n _this20.log('mutate', {\n entries: entries\n });\n\n _this20.dispatch('mutate', {\n entries: entries\n });\n };\n\n _this20.targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n _this20.controller = controller;\n _this20.options = options;\n _this20.observer = new MutationObserver(_this20.mutation);\n\n _this20.enhanceController();\n\n _this20.observe();\n\n return _this20;\n }\n\n _createClass(UseMutation, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this21 = this;\n\n var controllerDisconnect = this.controller.disconnect.bind(this.controller);\n\n var disconnect = function disconnect() {\n _this21.unobserve();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseMutation;\n}(StimulusUse);\n\nvar useMutation = function useMutation(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observer = new UseMutation(controller, options);\n return [observer.observe, observer.unobserve];\n};\n\nvar MutationComposableController = /*#__PURE__*/function (_Controller9) {\n _inherits(MutationComposableController, _Controller9);\n\n var _super20 = _createSuper(MutationComposableController);\n\n function MutationComposableController() {\n _classCallCheck(this, MutationComposableController);\n\n return _super20.apply(this, arguments);\n }\n\n return _createClass(MutationComposableController);\n}(Controller);\n\nvar MutationController = /*#__PURE__*/function (_MutationComposableCo) {\n _inherits(MutationController, _MutationComposableCo);\n\n var _super21 = _createSuper(MutationController);\n\n function MutationController(context) {\n var _this22;\n\n _classCallCheck(this, MutationController);\n\n _this22 = _super21.call(this, context);\n requestAnimationFrame(function () {\n var _useMutation = useMutation(_assertThisInitialized(_this22), _this22.options),\n _useMutation2 = _slicedToArray(_useMutation, 2),\n observe = _useMutation2[0],\n unobserve = _useMutation2[1];\n\n Object.assign(_assertThisInitialized(_this22), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this22;\n }\n\n return _createClass(MutationController);\n}(MutationComposableController);\n\nvar UseTargetMutation = /*#__PURE__*/function (_StimulusUse5) {\n _inherits(UseTargetMutation, _StimulusUse5);\n\n var _super22 = _createSuper(UseTargetMutation);\n\n function UseTargetMutation(controller) {\n var _this23;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseTargetMutation);\n\n _this23 = _super22.call(this, controller, options);\n\n _this23.observe = function () {\n _this23.observer.observe(_this23.targetElement, {\n subtree: true,\n characterData: true,\n childList: true,\n attributes: true,\n attributeOldValue: true,\n attributeFilter: [_this23.targetSelector, _this23.scopedTargetSelector]\n });\n };\n\n _this23.unobserve = function () {\n _this23.observer.disconnect();\n };\n\n _this23.mutation = function (entries) {\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n\n try {\n var _loop = function _loop() {\n var mutation = _step.value;\n\n switch (mutation.type) {\n case 'attributes':\n var newValue = mutation.target.getAttribute(mutation.attributeName);\n var oldValue = mutation.oldValue;\n\n if (mutation.attributeName === _this23.targetSelector || mutation.attributeName === _this23.scopedTargetSelector) {\n var oldTargets = _this23.targetsUsedByThisController(oldValue);\n\n var newTargets = _this23.targetsUsedByThisController(newValue);\n\n var removedTargets = oldTargets.filter(function (target) {\n return !newTargets.includes(target);\n });\n var addedTargets = newTargets.filter(function (target) {\n return !oldTargets.includes(target);\n });\n removedTargets.forEach(function (target) {\n return _this23.targetRemoved(_this23.stripIdentifierPrefix(target), mutation.target, 'attributeChange');\n });\n addedTargets.forEach(function (target) {\n return _this23.targetAdded(_this23.stripIdentifierPrefix(target), mutation.target, 'attributeChange');\n });\n }\n\n break;\n\n case 'characterData':\n var nodule = _this23.findTargetInAncestry(mutation.target);\n\n if (nodule == null) {\n return {\n v: void 0\n };\n } else {\n var supportedTargets = _this23.targetsUsedByThisControllerFromNode(nodule);\n\n supportedTargets.forEach(function (target) {\n _this23.targetChanged(_this23.stripIdentifierPrefix(target), nodule, 'domMutation');\n });\n }\n\n break;\n\n case 'childList':\n var addedNodes = mutation.addedNodes,\n removedNodes = mutation.removedNodes;\n addedNodes.forEach(function (node) {\n return _this23.processNodeDOMMutation(node, _this23.targetAdded);\n });\n removedNodes.forEach(function (node) {\n return _this23.processNodeDOMMutation(node, _this23.targetRemoved);\n });\n break;\n }\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n };\n\n _this23.controller = controller;\n _this23.options = options;\n _this23.targetElement = controller.element;\n _this23.identifier = controller.scope.identifier;\n _this23.identifierPrefix = \"\".concat(_this23.identifier, \".\");\n _this23.targetSelector = controller.scope.schema.targetAttribute;\n _this23.scopedTargetSelector = \"data-\".concat(_this23.identifier, \"-target\");\n _this23.targets = options.targets || controller.constructor.targets;\n _this23.prefixedTargets = _this23.targets.map(function (target) {\n return \"\".concat(_this23.identifierPrefix).concat(target);\n });\n _this23.observer = new MutationObserver(_this23.mutation);\n\n _this23.enhanceController();\n\n _this23.observe();\n\n return _this23;\n }\n\n _createClass(UseTargetMutation, [{\n key: \"processNodeDOMMutation\",\n value: function processNodeDOMMutation(node, initialChangeModeAssumption) {\n var _this24 = this;\n\n var nodule = node;\n var change = initialChangeModeAssumption;\n var supportedTargets = [];\n\n if (nodule.nodeName == '#text' || this.targetsUsedByThisControllerFromNode(nodule).length == 0) {\n change = this.targetChanged;\n nodule = this.findTargetInAncestry(node);\n } else {\n supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n }\n\n if (nodule == null) {\n return;\n } else if (supportedTargets.length == 0) {\n supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n }\n\n supportedTargets.forEach(function (target) {\n change.call(_this24, _this24.stripIdentifierPrefix(target), nodule, 'domMutation');\n });\n }\n }, {\n key: \"findTargetInAncestry\",\n value: function findTargetInAncestry(node) {\n var nodule = node;\n var supportedTargets = [];\n\n if (nodule.nodeName != '#text') {\n supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n }\n\n while (nodule.parentNode !== null && nodule.parentNode != this.targetElement && supportedTargets.length == 0) {\n nodule = nodule.parentNode;\n\n if (nodule.nodeName !== '#text') {\n var _supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n\n if (_supportedTargets.length > 0) {\n return nodule;\n }\n }\n }\n\n if (nodule.nodeName == '#text') {\n return null;\n }\n\n if (nodule.parentNode == null) {\n return null;\n }\n\n if (nodule.parentNode == this.targetElement) {\n if (this.targetsUsedByThisControllerFromNode(nodule).length > 0) {\n return nodule;\n }\n\n return null;\n }\n\n return null;\n }\n }, {\n key: \"targetAdded\",\n value: function targetAdded(name, node, trigger) {\n var targetCallback = \"\".concat(name, \"TargetAdded\");\n this.controller[targetCallback] && method(this.controller, targetCallback).call(this.controller, node);\n this.log('targetAdded', {\n target: name,\n node: node,\n trigger: trigger\n });\n }\n }, {\n key: \"targetRemoved\",\n value: function targetRemoved(name, node, trigger) {\n var targetCallback = \"\".concat(name, \"TargetRemoved\");\n this.controller[targetCallback] && method(this.controller, targetCallback).call(this.controller, node);\n this.log('targetRemoved', {\n target: name,\n node: node,\n trigger: trigger\n });\n }\n }, {\n key: \"targetChanged\",\n value: function targetChanged(name, node, trigger) {\n var targetCallback = \"\".concat(name, \"TargetChanged\");\n this.controller[targetCallback] && method(this.controller, targetCallback).call(this.controller, node);\n this.log('targetChanged', {\n target: name,\n node: node,\n trigger: trigger\n });\n }\n }, {\n key: \"targetsUsedByThisControllerFromNode\",\n value: function targetsUsedByThisControllerFromNode(node) {\n if (node.nodeName == '#text' || node.nodeName == '#comment') {\n return [];\n }\n\n var nodeElement = node;\n return this.targetsUsedByThisController(nodeElement.getAttribute(this.scopedTargetSelector) || nodeElement.getAttribute(this.targetSelector));\n }\n }, {\n key: \"targetsUsedByThisController\",\n value: function targetsUsedByThisController(targetStr) {\n targetStr = targetStr || '';\n var targetsToCheck = this.stripIdentifierPrefix(targetStr).split(' ');\n return this.targets.filter(function (n) {\n return targetsToCheck.indexOf(n) !== -1;\n });\n }\n }, {\n key: \"stripIdentifierPrefix\",\n value: function stripIdentifierPrefix(target) {\n return target.replace(new RegExp(this.identifierPrefix, 'g'), '');\n }\n }, {\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this25 = this;\n\n var controllerDisconnect = this.controller.disconnect.bind(this.controller);\n\n var disconnect = function disconnect() {\n _this25.unobserve();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseTargetMutation;\n}(StimulusUse);\n\nvar useTargetMutation = function useTargetMutation(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observer = new UseTargetMutation(controller, options);\n return [observer.observe, observer.unobserve];\n};\n\nvar TargetMutationComposableController = /*#__PURE__*/function (_Controller10) {\n _inherits(TargetMutationComposableController, _Controller10);\n\n var _super23 = _createSuper(TargetMutationComposableController);\n\n function TargetMutationComposableController() {\n _classCallCheck(this, TargetMutationComposableController);\n\n return _super23.apply(this, arguments);\n }\n\n return _createClass(TargetMutationComposableController);\n}(Controller);\n\nvar TargetMutationController = /*#__PURE__*/function (_TargetMutationCompos) {\n _inherits(TargetMutationController, _TargetMutationCompos);\n\n var _super24 = _createSuper(TargetMutationController);\n\n function TargetMutationController(context) {\n var _this26;\n\n _classCallCheck(this, TargetMutationController);\n\n _this26 = _super24.call(this, context);\n requestAnimationFrame(function () {\n var _useTargetMutation = useTargetMutation(_assertThisInitialized(_this26), _this26.options),\n _useTargetMutation2 = _slicedToArray(_useTargetMutation, 2),\n observe = _useTargetMutation2[0],\n unobserve = _useTargetMutation2[1];\n\n Object.assign(_assertThisInitialized(_this26), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this26;\n }\n\n return _createClass(TargetMutationController);\n}(TargetMutationComposableController);\n\nvar useWindowResize = function useWindowResize(controller) {\n var callback = function callback(event) {\n var _window = window,\n innerWidth = _window.innerWidth,\n innerHeight = _window.innerHeight;\n var payload = {\n height: innerHeight || Infinity,\n width: innerWidth || Infinity,\n event: event\n };\n method(controller, 'windowResize').call(controller, payload);\n };\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n\n var observe = function observe() {\n window.addEventListener('resize', callback);\n callback();\n };\n\n var unobserve = function unobserve() {\n window.removeEventListener('resize', callback);\n };\n\n Object.assign(controller, {\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};\n\nvar WindowResizeComposableController = /*#__PURE__*/function (_Controller11) {\n _inherits(WindowResizeComposableController, _Controller11);\n\n var _super25 = _createSuper(WindowResizeComposableController);\n\n function WindowResizeComposableController() {\n _classCallCheck(this, WindowResizeComposableController);\n\n return _super25.apply(this, arguments);\n }\n\n return _createClass(WindowResizeComposableController);\n}(Controller);\n\nvar WindowResizeController = /*#__PURE__*/function (_WindowResizeComposab) {\n _inherits(WindowResizeController, _WindowResizeComposab);\n\n var _super26 = _createSuper(WindowResizeController);\n\n function WindowResizeController(context) {\n var _this27;\n\n _classCallCheck(this, WindowResizeController);\n\n _this27 = _super26.call(this, context);\n requestAnimationFrame(function () {\n var _useWindowResize = useWindowResize(_assertThisInitialized(_this27)),\n _useWindowResize2 = _slicedToArray(_useWindowResize, 2),\n observe = _useWindowResize2[0],\n unobserve = _useWindowResize2[1];\n\n Object.assign(_assertThisInitialized(_this27), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this27;\n }\n\n return _createClass(WindowResizeController);\n}(WindowResizeComposableController);\n\nvar memoize = function memoize(controller, name, value) {\n Object.defineProperty(controller, name, {\n value: value\n });\n return value;\n};\n\nvar useMemo = function useMemo(controller) {\n var _a;\n\n (_a = controller.constructor.memos) === null || _a === void 0 ? void 0 : _a.forEach(function (getter) {\n memoize(controller, getter, controller[getter]);\n });\n};\n\nvar DebounceController = /*#__PURE__*/function (_Controller12) {\n _inherits(DebounceController, _Controller12);\n\n var _super27 = _createSuper(DebounceController);\n\n function DebounceController() {\n _classCallCheck(this, DebounceController);\n\n return _super27.apply(this, arguments);\n }\n\n return _createClass(DebounceController);\n}(Controller);\n\nDebounceController.debounces = [];\nvar defaultWait$1 = 200;\n\nvar debounce = function debounce(fn) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultWait$1;\n var timeoutId = null;\n return function () {\n var args = arguments;\n var context = this;\n\n var callback = function callback() {\n return fn.apply(context, args);\n };\n\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n timeoutId = setTimeout(callback, wait);\n };\n};\n\nvar useDebounce = function useDebounce(controller, options) {\n var _a;\n\n var constructor = controller.constructor;\n (_a = constructor.debounces) === null || _a === void 0 ? void 0 : _a.forEach(function (func) {\n if (typeof func === 'string') {\n controller[func] = debounce(controller[func], options === null || options === void 0 ? void 0 : options.wait);\n }\n\n if (_typeof(func) === 'object') {\n var name = func.name,\n wait = func.wait;\n if (!name) return;\n controller[name] = debounce(controller[name], wait || (options === null || options === void 0 ? void 0 : options.wait));\n }\n });\n};\n\nvar ThrottleController = /*#__PURE__*/function (_Controller13) {\n _inherits(ThrottleController, _Controller13);\n\n var _super28 = _createSuper(ThrottleController);\n\n function ThrottleController() {\n _classCallCheck(this, ThrottleController);\n\n return _super28.apply(this, arguments);\n }\n\n return _createClass(ThrottleController);\n}(Controller);\n\nThrottleController.throttles = [];\nvar defaultWait = 200;\n\nfunction throttle(func) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultWait;\n var inThrottle;\n return function () {\n var args = arguments;\n var context = this;\n\n if (!inThrottle) {\n inThrottle = true;\n func.apply(context, args);\n setTimeout(function () {\n return inThrottle = false;\n }, wait);\n }\n };\n}\n\nvar useThrottle = function useThrottle(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _a;\n\n var constructor = controller.constructor;\n (_a = constructor.throttles) === null || _a === void 0 ? void 0 : _a.forEach(function (func) {\n if (typeof func === 'string') {\n controller[func] = throttle(controller[func], options === null || options === void 0 ? void 0 : options.wait);\n }\n\n if (_typeof(func) === 'object') {\n var name = func.name,\n wait = func.wait;\n if (!name) return;\n controller[name] = throttle(controller[name], wait || (options === null || options === void 0 ? void 0 : options.wait));\n }\n });\n};\n\nvar defineMetaGetter = function defineMetaGetter(controller, metaName, suffix) {\n var getterName = suffix ? \"\".concat(camelize(metaName), \"Meta\") : camelize(metaName);\n Object.defineProperty(controller, getterName, {\n get: function get() {\n return typeCast(metaValue(metaName));\n }\n });\n};\n\nfunction metaValue(name) {\n var element = document.head.querySelector(\"meta[name=\\\"\".concat(name, \"\\\"]\"));\n return element && element.getAttribute('content');\n}\n\nfunction typeCast(value) {\n try {\n return JSON.parse(value);\n } catch (o_O) {\n return value;\n }\n}\n\nvar useMeta = function useMeta(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n suffix: true\n };\n var metaNames = controller.constructor.metaNames;\n var suffix = options.suffix;\n metaNames === null || metaNames === void 0 ? void 0 : metaNames.forEach(function (metaName) {\n defineMetaGetter(controller, metaName, suffix);\n });\n Object.defineProperty(controller, 'metas', {\n get: function get() {\n var result = {};\n metaNames === null || metaNames === void 0 ? void 0 : metaNames.forEach(function (metaName) {\n var value = typeCast(metaValue(metaName));\n\n if (value !== undefined && value !== null) {\n result[camelize(metaName)] = value;\n }\n });\n return result;\n }\n });\n};\n\nvar alpineNames = {\n enterFromClass: 'enter',\n enterActiveClass: 'enterStart',\n enterToClass: 'enterEnd',\n leaveFromClass: 'leave',\n leaveActiveClass: 'leaveStart',\n leaveToClass: 'leaveEnd'\n};\nvar defaultOptions$1 = {\n transitioned: false,\n hiddenClass: 'hidden',\n preserveOriginalClass: true,\n removeToClasses: true\n};\n\nvar useTransition = function useTransition(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _a, _b, _c;\n\n var targetName = controller.element.dataset.transitionTarget;\n var targetFromAttribute;\n\n if (targetName) {\n targetFromAttribute = controller[\"\".concat(targetName, \"Target\")];\n }\n\n var targetElement = (options === null || options === void 0 ? void 0 : options.element) || targetFromAttribute || controller.element;\n if (!(targetElement instanceof HTMLElement || targetElement instanceof SVGElement)) return;\n var dataset = targetElement.dataset;\n var leaveAfter = parseInt(dataset.leaveAfter || '') || options.leaveAfter || 0;\n\n var _Object$assign6 = Object.assign(defaultOptions$1, options),\n transitioned = _Object$assign6.transitioned,\n hiddenClass = _Object$assign6.hiddenClass,\n preserveOriginalClass = _Object$assign6.preserveOriginalClass,\n removeToClasses = _Object$assign6.removeToClasses;\n\n var controllerEnter = (_a = controller.enter) === null || _a === void 0 ? void 0 : _a.bind(controller);\n var controllerLeave = (_b = controller.leave) === null || _b === void 0 ? void 0 : _b.bind(controller);\n var controllerToggleTransition = (_c = controller.toggleTransition) === null || _c === void 0 ? void 0 : _c.bind(controller);\n\n function enter(_x) {\n return _enter.apply(this, arguments);\n }\n\n function _enter() {\n _enter = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {\n var enterFromClasses, enterActiveClasses, enterToClasses, leaveToClasses;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!controller.transitioned) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n controller.transitioned = true;\n controllerEnter && controllerEnter(event);\n enterFromClasses = getAttribute('enterFrom', options, dataset);\n enterActiveClasses = getAttribute('enterActive', options, dataset);\n enterToClasses = getAttribute('enterTo', options, dataset);\n leaveToClasses = getAttribute('leaveTo', options, dataset);\n\n if (!!hiddenClass) {\n targetElement.classList.remove(hiddenClass);\n }\n\n if (!removeToClasses) {\n removeClasses(targetElement, leaveToClasses);\n }\n\n _context.next = 12;\n return transition(targetElement, enterFromClasses, enterActiveClasses, enterToClasses, hiddenClass, preserveOriginalClass, removeToClasses);\n\n case 12:\n if (leaveAfter > 0) {\n setTimeout(function () {\n leave(event);\n }, leaveAfter);\n }\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _enter.apply(this, arguments);\n }\n\n function leave(_x2) {\n return _leave.apply(this, arguments);\n }\n\n function _leave() {\n _leave = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(event) {\n var leaveFromClasses, leaveActiveClasses, leaveToClasses, enterToClasses;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (controller.transitioned) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n controller.transitioned = false;\n controllerLeave && controllerLeave(event);\n leaveFromClasses = getAttribute('leaveFrom', options, dataset);\n leaveActiveClasses = getAttribute('leaveActive', options, dataset);\n leaveToClasses = getAttribute('leaveTo', options, dataset);\n enterToClasses = getAttribute('enterTo', options, dataset);\n\n if (!removeToClasses) {\n removeClasses(targetElement, enterToClasses);\n }\n\n _context2.next = 11;\n return transition(targetElement, leaveFromClasses, leaveActiveClasses, leaveToClasses, hiddenClass, preserveOriginalClass, removeToClasses);\n\n case 11:\n if (!!hiddenClass) {\n targetElement.classList.add(hiddenClass);\n }\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _leave.apply(this, arguments);\n }\n\n function toggleTransition(event) {\n controllerToggleTransition && controllerToggleTransition(event);\n\n if (controller.transitioned) {\n leave();\n } else {\n enter();\n }\n }\n\n function transition(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {\n return _transition.apply(this, arguments);\n }\n\n function _transition() {\n _transition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(element, initialClasses, activeClasses, endClasses, hiddenClass, preserveOriginalClass, removeEndClasses) {\n var stashedClasses;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n stashedClasses = [];\n\n if (preserveOriginalClass) {\n initialClasses.forEach(function (cls) {\n return element.classList.contains(cls) && cls !== hiddenClass && stashedClasses.push(cls);\n });\n activeClasses.forEach(function (cls) {\n return element.classList.contains(cls) && cls !== hiddenClass && stashedClasses.push(cls);\n });\n endClasses.forEach(function (cls) {\n return element.classList.contains(cls) && cls !== hiddenClass && stashedClasses.push(cls);\n });\n }\n\n addClasses(element, initialClasses);\n removeClasses(element, stashedClasses);\n addClasses(element, activeClasses);\n _context3.next = 7;\n return nextAnimationFrame();\n\n case 7:\n removeClasses(element, initialClasses);\n addClasses(element, endClasses);\n _context3.next = 11;\n return afterTransition(element);\n\n case 11:\n removeClasses(element, activeClasses);\n\n if (removeEndClasses) {\n removeClasses(element, endClasses);\n }\n\n addClasses(element, stashedClasses);\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _transition.apply(this, arguments);\n }\n\n function initialState() {\n controller.transitioned = transitioned;\n\n if (transitioned) {\n if (!!hiddenClass) {\n targetElement.classList.remove(hiddenClass);\n }\n\n enter();\n } else {\n if (!!hiddenClass) {\n targetElement.classList.add(hiddenClass);\n }\n\n leave();\n }\n }\n\n function addClasses(element, classes) {\n if (classes.length > 0) {\n var _element$classList;\n\n (_element$classList = element.classList).add.apply(_element$classList, _toConsumableArray(classes));\n }\n }\n\n function removeClasses(element, classes) {\n if (classes.length > 0) {\n var _element$classList2;\n\n (_element$classList2 = element.classList).remove.apply(_element$classList2, _toConsumableArray(classes));\n }\n }\n\n initialState();\n Object.assign(controller, {\n enter: enter,\n leave: leave,\n toggleTransition: toggleTransition\n });\n return [enter, leave, toggleTransition];\n};\n\nfunction getAttribute(name, options, dataset) {\n var datasetName = \"transition\".concat(name[0].toUpperCase()).concat(name.substr(1));\n var datasetAlpineName = alpineNames[name];\n var classes = options[name] || dataset[datasetName] || dataset[datasetAlpineName] || ' ';\n return isEmpty(classes) ? [] : classes.split(' ');\n}\n\nfunction afterTransition(_x10) {\n return _afterTransition.apply(this, arguments);\n}\n\nfunction _afterTransition() {\n _afterTransition = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(element) {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n var duration = Number(getComputedStyle(element).transitionDuration.split(',')[0].replace('s', '')) * 1000;\n setTimeout(function () {\n resolve(duration);\n }, duration);\n }));\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _afterTransition.apply(this, arguments);\n}\n\nfunction nextAnimationFrame() {\n return _nextAnimationFrame.apply(this, arguments);\n}\n\nfunction _nextAnimationFrame() {\n _nextAnimationFrame = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", new Promise(function (resolve) {\n requestAnimationFrame(function () {\n requestAnimationFrame(resolve);\n });\n }));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n return _nextAnimationFrame.apply(this, arguments);\n}\n\nfunction isEmpty(str) {\n return str.length === 0 || !str.trim();\n}\n\nvar TransitionComposableController = /*#__PURE__*/function (_Controller14) {\n _inherits(TransitionComposableController, _Controller14);\n\n var _super29 = _createSuper(TransitionComposableController);\n\n function TransitionComposableController() {\n var _this28;\n\n _classCallCheck(this, TransitionComposableController);\n\n _this28 = _super29.apply(this, arguments);\n _this28.transitioned = false;\n return _this28;\n }\n\n return _createClass(TransitionComposableController);\n}(Controller);\n\nvar TransitionController = /*#__PURE__*/function (_TransitionComposable) {\n _inherits(TransitionController, _TransitionComposable);\n\n var _super30 = _createSuper(TransitionController);\n\n function TransitionController(context) {\n var _this29;\n\n _classCallCheck(this, TransitionController);\n\n _this29 = _super30.call(this, context);\n requestAnimationFrame(function () {\n useTransition(_assertThisInitialized(_this29), _this29.options);\n });\n return _this29;\n }\n\n return _createClass(TransitionController);\n}(TransitionComposableController);\n\nvar UseHotkeys = /*#__PURE__*/function (_StimulusUse6) {\n _inherits(UseHotkeys, _StimulusUse6);\n\n var _super31 = _createSuper(UseHotkeys);\n\n function UseHotkeys(controller, hotkeysOptions) {\n var _this30;\n\n _classCallCheck(this, UseHotkeys);\n\n _this30 = _super31.call(this, controller, hotkeysOptions);\n\n _this30.bind = function () {\n var _loop2 = function _loop2() {\n var _ref3 = _Object$entries[_i2];\n _ref4 = _slicedToArray(_ref3, 2);\n var hotkey = _ref4[0];\n var definition = _ref4[1];\n var handler = definition.handler.bind(_this30.controller);\n hotkeys(hotkey, definition.options, function (e) {\n return handler(e, e);\n });\n };\n\n for (var _i2 = 0, _Object$entries = Object.entries(_this30.hotkeysOptions.hotkeys); _i2 < _Object$entries.length; _i2++) {\n var _ref4;\n\n _loop2();\n }\n };\n\n _this30.unbind = function () {\n for (var hotkey in _this30.hotkeysOptions.hotkeys) {\n hotkeys.unbind(hotkey);\n }\n };\n\n _this30.controller = controller;\n _this30.hotkeysOptions = hotkeysOptions;\n\n _this30.enhanceController();\n\n _this30.bind();\n\n return _this30;\n }\n\n _createClass(UseHotkeys, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this31 = this;\n\n if (this.hotkeysOptions.filter) {\n hotkeys.filter = this.hotkeysOptions.filter;\n }\n\n var controllerDisconnect = this.controller.disconnect.bind(this.controller);\n\n var disconnect = function disconnect() {\n _this31.unbind();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseHotkeys;\n}(StimulusUse);\n\nvar convertSimpleHotkeyDefinition = function convertSimpleHotkeyDefinition(definition) {\n return {\n handler: definition[0],\n options: {\n element: definition[1]\n }\n };\n};\n\nvar coerceOptions = function coerceOptions(options) {\n if (!options.hotkeys) {\n var _hotkeys = {};\n Object.entries(options).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n hotkey = _ref6[0],\n definition = _ref6[1];\n\n Object.defineProperty(_hotkeys, hotkey, {\n value: convertSimpleHotkeyDefinition(definition),\n writable: false,\n enumerable: true\n });\n });\n options = {\n hotkeys: _hotkeys\n };\n }\n\n return options;\n};\n\nvar useHotkeys = function useHotkeys(controller, options) {\n return new UseHotkeys(controller, coerceOptions(options));\n};\n\nvar defaultOptions = {\n mediaQueries: {},\n dispatchEvent: true,\n eventPrefix: true,\n debug: false\n};\n\nvar UseMatchMedia = /*#__PURE__*/function (_StimulusUse7) {\n _inherits(UseMatchMedia, _StimulusUse7);\n\n var _super32 = _createSuper(UseMatchMedia);\n\n function UseMatchMedia(controller) {\n var _this32;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseMatchMedia);\n\n var _a, _b, _c, _d;\n\n _this32 = _super32.call(this, controller, options);\n _this32.matches = [];\n\n _this32.callback = function (event) {\n var name = Object.keys(_this32.mediaQueries).find(function (name) {\n return _this32.mediaQueries[name] === event.media;\n });\n if (!name) return;\n var media = event.media,\n matches = event.matches;\n\n _this32.changed({\n name: name,\n media: media,\n matches: matches,\n event: event\n });\n };\n\n _this32.changed = function (payload) {\n var name = payload.name;\n\n if (payload.event) {\n _this32.call(camelize(\"\".concat(name, \"_changed\")), payload);\n\n _this32.dispatch(\"\".concat(name, \":changed\"), payload);\n\n _this32.log(\"media query \\\"\".concat(name, \"\\\" changed\"), payload);\n }\n\n if (payload.matches) {\n _this32.call(camelize(\"is_\".concat(name)), payload);\n\n _this32.dispatch(\"is:\".concat(name), payload);\n } else {\n _this32.call(camelize(\"not_\".concat(name)), payload);\n\n _this32.dispatch(\"not:\".concat(name), payload);\n }\n };\n\n _this32.observe = function () {\n Object.keys(_this32.mediaQueries).forEach(function (name) {\n var media = _this32.mediaQueries[name];\n var match = window.matchMedia(media);\n match.addListener(_this32.callback);\n\n _this32.matches.push(match);\n\n _this32.changed({\n name: name,\n media: media,\n matches: match.matches\n });\n });\n };\n\n _this32.unobserve = function () {\n _this32.matches.forEach(function (match) {\n return match.removeListener(_this32.callback);\n });\n };\n\n _this32.controller = controller;\n _this32.mediaQueries = (_a = options.mediaQueries) !== null && _a !== void 0 ? _a : defaultOptions.mediaQueries;\n _this32.dispatchEvent = (_b = options.dispatchEvent) !== null && _b !== void 0 ? _b : defaultOptions.dispatchEvent;\n _this32.eventPrefix = (_c = options.eventPrefix) !== null && _c !== void 0 ? _c : defaultOptions.eventPrefix;\n _this32.debug = (_d = options.debug) !== null && _d !== void 0 ? _d : defaultOptions.debug;\n\n if (!window.matchMedia) {\n console.error('window.matchMedia() is not available');\n return _possibleConstructorReturn(_this32);\n }\n\n _this32.enhanceController();\n\n _this32.observe();\n\n return _this32;\n }\n\n _createClass(UseMatchMedia, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this33 = this;\n\n var controllerDisconnect = this.controller.disconnect.bind(this.controller);\n\n var disconnect = function disconnect() {\n _this33.unobserve();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseMatchMedia;\n}(StimulusUse);\n\nvar useMatchMedia = function useMatchMedia(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observer = new UseMatchMedia(controller, options);\n return [observer.observe, observer.unobserve];\n};\n\nvar UseWindowFocus = /*#__PURE__*/function (_StimulusUse8) {\n _inherits(UseWindowFocus, _StimulusUse8);\n\n var _super33 = _createSuper(UseWindowFocus);\n\n function UseWindowFocus(controller) {\n var _this34;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, UseWindowFocus);\n\n _this34 = _super33.call(this, controller, options);\n\n _this34.observe = function () {\n if (document.hasFocus()) {\n _this34.becomesFocused();\n } else {\n console.log('i should be there');\n\n _this34.becomesUnfocused();\n }\n\n _this34.interval = setInterval(function () {\n _this34.handleWindowFocusChange();\n }, _this34.intervalDuration);\n };\n\n _this34.unobserve = function () {\n clearInterval(_this34.interval);\n };\n\n _this34.becomesUnfocused = function (event) {\n _this34.controller.hasFocus = false;\n\n _this34.call('unfocus', event);\n\n _this34.log('unfocus', {\n hasFocus: false\n });\n\n _this34.dispatch('unfocus', {\n event: event,\n hasFocus: false\n });\n };\n\n _this34.becomesFocused = function (event) {\n _this34.controller.hasFocus = true;\n\n _this34.call('focus', event);\n\n _this34.log('focus', {\n hasFocus: true\n });\n\n _this34.dispatch('focus', {\n event: event,\n hasFocus: true\n });\n };\n\n _this34.handleWindowFocusChange = function (event) {\n if (document.hasFocus() && !_this34.controller.hasFocus) {\n _this34.becomesFocused(event);\n } else if (!document.hasFocus() && _this34.controller.hasFocus) {\n _this34.becomesUnfocused(event);\n }\n };\n\n _this34.controller = controller;\n _this34.intervalDuration = options.interval || 200;\n\n _this34.enhanceController();\n\n _this34.observe();\n\n return _this34;\n }\n\n _createClass(UseWindowFocus, [{\n key: \"enhanceController\",\n value: function enhanceController() {\n var _this35 = this;\n\n var controllerDisconnect = this.controllerDisconnect;\n\n var disconnect = function disconnect() {\n _this35.unobserve();\n\n controllerDisconnect();\n };\n\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n }]);\n\n return UseWindowFocus;\n}(StimulusUse);\n\nvar useWindowFocus = function useWindowFocus(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observer = new UseWindowFocus(controller, options);\n return [observer.observe, observer.unobserve];\n};\n\nvar WindowFocusComposableController = /*#__PURE__*/function (_Controller15) {\n _inherits(WindowFocusComposableController, _Controller15);\n\n var _super34 = _createSuper(WindowFocusComposableController);\n\n function WindowFocusComposableController() {\n var _this36;\n\n _classCallCheck(this, WindowFocusComposableController);\n\n _this36 = _super34.apply(this, arguments);\n _this36.hasFocus = false;\n return _this36;\n }\n\n return _createClass(WindowFocusComposableController);\n}(Controller);\n\nvar WindowFocusController = /*#__PURE__*/function (_WindowFocusComposabl) {\n _inherits(WindowFocusController, _WindowFocusComposabl);\n\n var _super35 = _createSuper(WindowFocusController);\n\n function WindowFocusController(context) {\n var _this37;\n\n _classCallCheck(this, WindowFocusController);\n\n _this37 = _super35.call(this, context);\n requestAnimationFrame(function () {\n var _useWindowFocus = useWindowFocus(_assertThisInitialized(_this37), _this37.options),\n _useWindowFocus2 = _slicedToArray(_useWindowFocus, 2),\n observe = _useWindowFocus2[0],\n unobserve = _useWindowFocus2[1];\n\n Object.assign(_assertThisInitialized(_this37), {\n observe: observe,\n unobserve: unobserve\n });\n });\n return _this37;\n }\n\n return _createClass(WindowFocusController);\n}(WindowFocusComposableController);\n\nexport { ApplicationController, ClickOutsideController, HoverController, IdleController, IntersectionController, LazyLoadController, MutationController, ResizeController, TargetMutationController, TransitionController, UseHover, UseMutation, UseTargetMutation, UseVisibility, VisibilityController, WindowFocusController, WindowResizeController, useApplication, useClickOutside, useDebounce, useDispatch, useHotkeys, useHover, useIdle, useIntersection, useLazyLoad, useMatchMedia, useMemo, useMeta, useMutation, useResize, useTargetMutation, useThrottle, useTransition, useVisibility, useWindowFocus, useWindowResize };"],"sourceRoot":""}