{"version":3,"sources":["webpack:///scripts/core--b7f001ae7368094a1442.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/process/browser.js","webpack:///./project/client/src/core/components/audio-player/index.js","webpack:///./project/client/src/core/components/forms/input-file.js","webpack:///./project/client/src/core/components/index.js","webpack:///./project/client/src/core/components/interest-form/index.js","webpack:///./project/client/src/core/components/interest-form/interest-form.js","webpack:///./project/client/src/core/components/lazy-iframe/index.js","webpack:///./project/client/src/core/components/modal/index.js","webpack:///./project/client/src/core/components/site-header/navigation--obscurable.js","webpack:///./project/client/src/core/components/tabs/index.js","webpack:///./project/client/src/core/components/tabs/tabs-controller.js","webpack:///./project/client/src/core/components/video-banner/index.js","webpack:///./project/client/src/core/components/video-banner/video-banner.js","webpack:///./project/client/src/core/index.js","webpack:///./project/client/src/core/plugins/index.js","webpack:///./project/client/src/core/plugins/jquery__add-element-classes/index.js","webpack:///./project/client/src/core/plugins/jquery__collapsible/plugin--split.js","webpack:///./project/client/src/core/plugins/jquery__emit-on-dirty/index.js","webpack:///./project/client/src/core/plugins/jquery__enterkey-submit/index.js","webpack:///./project/client/src/core/plugins/jquery__focus-within/index.js","webpack:///./project/client/src/core/plugins/jquery__focus/index.js","webpack:///./project/client/src/core/plugins/jquery__inviewport/index.js","webpack:///./project/client/src/core/plugins/jquery__remove-element-classes/index.js","webpack:///./project/client/src/core/plugins/jquery__toggle-element-classes/index.js","webpack:///./project/client/src/core/plugins/jquery__trigger-event/index.js","webpack:///./project/client/src/core/plugins/lib/fn.js","webpack:///./project/client/src/core/plugins/lib/index.js","webpack:///./project/client/src/core/plugins/lib/objects.js","webpack:///./project/client/src/core/plugins/lib/selectors.js","webpack:///./project/client/src/core/plugins/lib/strings.js","webpack:///./project/client/src/core/utilities/extractOptions.js","webpack:///external \"jQuery\""],"names":["webpackJsonp","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js","module","exports","__webpack_require__","process","useColors","window","type","navigator","userAgent","toLowerCase","match","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","formatArgs","args","this","namespace","humanize","diff","c","color","splice","index","lastC","replace","log","_typeof","Function","prototype","apply","call","arguments","save","namespaces","storage","removeItem","debug","e","load","r","env","DEBUG","Symbol","iterator","obj","constructor","chrome","local","localStorage","colors","formatters","j","v","JSON","stringify","err","message","enable","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js","selectColor","i","hash","charCodeAt","Math","abs","length","createDebug","enabled","self","curr","Date","ms","prevTime","prev","Array","coerce","unshift","format","formatter","val","bind","destroy","init","instances","push","indexOf","names","skips","split","len","substr","instance","disable","name","test","Error","stack","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js","parse","str","String","exec","n","parseFloat","y","d","h","m","s","fmtShort","round","fmtLong","plural","floor","ceil","options","isNaN","long","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queue","concat","queueIndex","drainQueue","timeout","run","Item","array","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/audio-player/index.js","Object","defineProperty","value","PLUGIN_NAME","ELEMENT_SELECTOR","undefined","_jquery","_jquery2","__esModule","default","ready","each","element","then","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-file.js","$","$input","$label","next","labelVal","html","fileName","files","getAttribute","target","pop","find","addClass","removeClass","jQuery","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/interest-form/index.js","_interestForm","_interestForm2","querySelector","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/interest-form/interest-form.js","formElement","rootPathname","dataset","ajaxLoaderRootPathname","indicatorSelector","interestFormLoadingIndicatorSelector","errorEmptySelector","interestFormErrorEmptySelector","errorServerSelector","interestFormErrorServerSelector","interestCategorySelector","interestCategoryCountSelector","state","href","action","location","submitting","addEventListener","onSubmit","onValueChanged","_ref","formData","FormData","isValid","validateForm","displayEmptyError","preventDefault","getAll","shouldDisplay","errorElement","hidden","_ref2","categoryElement","closest","updateCountForCategory","checkedInputs","querySelectorAll","newCount","categoryCountElement","innerText","parentNode","_debug","_debug2","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/lazy-iframe/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/navigation--obscurable.js","_interopRequireDefault","_classCallCheck","Constructor","TypeError","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","_lib","_lib2","_selectors","ObscurableNavigationPlugin","$element","tolerancePx","components","obscuredItemContainer","selectTarget","obscuredItemContainerSelector","visibleItemContainer","visibleItemContainerSelector","obscuredItemContainerToggle","obscuredItemContainerToggleSelector","watch","_this","currentTestId","resize","fn","debounce","testTimeoutMs","unObscureItems","testItems","$testElement","width","outerWidth","rightEdgePosition","accumulatedWidth","result","actualContainerWidth","_this2","intersectingItemSelector","obscuredItemClasses","visibleItemClasses","append","detach","show","items","_this3","toggleWidth","innerWidth","$items","obscuredItems","filter","isItemObscured","is","moveItem","children","hide","DEFAULTS","reflowOnResize","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/tabs-controller.js","TabsController","tabs","selectors","tabsSelector","$target","closeOtherTabs","event","openingTab","tab","collapsibleOpen","onAvailable","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/video-banner/index.js","applyToElements","videoBannerElements","slice","forEach","assign","VideoBanner","_extractOptions2","_videoBanner","_videoBanner2","_extractOptions","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/video-banner/video-banner.js","_toConsumableArray","arr","isArray","arr2","from","_slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_i","done","doc","ownerDocument","defaultView","parentWindow","sources","sourceArray","map","media","src","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","remove","return","updateSource","refreshRate","func","timer","_len","_key","determinedSource","windowWidth","_e$media$split","_e$media$split2","trim","currentSource","setAttribute","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__add-element-classes/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/plugin--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__emit-on-dirty/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__enterkey-submit/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus-within/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__inviewport/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__remove-element-classes/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__toggle-element-classes/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js","wait","immediate","context","later","callNow","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js","_interopRequireWildcard","newObj","hasOwnProperty","plugin","pluginName","klass","shortHand","formattedPluginName","_strings","toCamelCase","dataName","$bus","subscribe","publish","data","trigger","$util","objects","strings","inViewport","elm","rect","getBoundingClientRect","viewHeight","max","clientHeight","innerHeight","bottom","top","option","$this","overrides","elementOptions","keys","reduce","path","extend","$utils","jquery","defaults","_fn","_objects","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/objects.js","elementAttrtibutesToObject","filterFn","transformFn","output","attrs","get","ZERO","attributes","attribute","Boolean","objectPath","delimiter","final","part","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js","selectorPattern","directives","join","selector","isClosestAncestoral","SELECTOR_PATTERNS","parent","isAllAncestoral","parents","isRetargeted","isAllDescendants","isGenerational","here","isSiblings","siblings","isSelfish","$newElement","newSelector","onChange","MutationObserver","WebKitMutationObserver","observer","observe","childList","subtree","OnAvailable","root","check","listnersSelectorsArray","listener","listnersSelectors","matchingElements","attributeName","substring","hasAttribute","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js","preserveCamelCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","toUpperCase","x","p1","tmpl","item","$tmpl","templateString","attr","text","mustache","template","invert","ctx","shift","render","inverted","childCode","depth","","code","z","close","raw","comment","isRaw","partial","Option","innerHTML","booleanify","lower","/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/extractOptions.js","getJSONValue","stringValue","error","camelCase","string","p2","getOptionData","prop","extractComponentOptions","cameledName","startsWith","/tool/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--10-0!/tool/node_modules/css-loader/index.js??ref--10-1!/tool/node_modules/postcss-loader/lib/index.js??ref--10-2!/tool/node_modules/sass-loader/lib/loader.js??ref--10-3!/tool/project/client/src/core/index.scss","/tool/project/client/src/core/vendor/index.js","external \"jQuery\"","multi /tool/project/client/src/core/index.js /tool/project/client/src/core/index.scss"],"mappings":"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","file":"scripts/core--b7f001ae7368094a1442.js","sourcesContent":["webpackJsonp([\"core\"],{\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js\");\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome && 'undefined' != typeof chrome.storage ? chrome.storage.local : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 ||\n // double check webkit in userAgent just in case we are in a worker\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function (v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '') + this.namespace + (useColors ? ' %c' : ' ') + args[0] + (useColors ? '%c ' : ' ') + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit');\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function (match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === (typeof console === 'undefined' ? 'undefined' : _typeof(console)) && console.log && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch (e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch (e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js\");\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0,\n i;\n\n for (i in namespace) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy() {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') || plural(ms, h, 'hour') || plural(ms, m, 'minute') || plural(ms, s, 'second') || ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/audio-player/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-audio-player]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'audioPlayer';\n\n(0, _jquery2.default)(document).ready(function () {\n (0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n var element = this;\n __webpack_require__.e/* import() */(\"component--audio-player\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/audio-player/audio-player.js\")).then(function () {\n (0, _jquery2.default)(element)[PLUGIN_NAME]();\n });\n });\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-file.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\r\n\tBy Osvaldas Valutis, www.osvaldas.info\r\n\tAvailable for use under the MIT License\r\n*/\n\n// 'use strict';\n\n// ;( function ( document, window, index )\n// {\n// \tvar inputs = document.querySelectorAll( '.field-input-file' );\n// \tArray.prototype.forEach.call( inputs, function( input )\n// \t{\n// \t\tvar label\t = input.nextElementSibling,\n// \t\t\tlabelVal = label.innerHTML;\n\n// \t\tinput.addEventListener( 'change', function( e )\n// \t\t{\n// \t\t\tvar fileName = '';\n// \t\t\tif( this.files && this.files.length > 1 )\n// \t\t\t\tfileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );\n// \t\t\telse\n// \t\t\t\tfileName = e.target.value.split( '\\\\' ).pop();\n\n// \t\t\tif( fileName )\n// \t\t\t\tlabel.querySelector( 'span' ).innerHTML = fileName;\n// \t\t\telse\n// \t\t\t\tlabel.innerHTML = labelVal;\n// \t\t});\n\n// \t\t// Firefox bug fix\n// \t\tinput.addEventListener( 'focus', function(){ input.classList.add( 'has-focus' ); });\n// \t\tinput.addEventListener( 'blur', function(){ input.classList.remove( 'has-focus' ); });\n// \t});\n// }( document, window, 0 ));\n\n\n\n\n;(function ($, window, document, undefined) {\n\t$('.field-input-file').each(function () {\n\t\tvar $input = $(this),\n\t\t $label = $input.next('label'),\n\t\t labelVal = $label.html();\n\n\t\t$input.on('change', function (e) {\n\t\t\tvar fileName = '';\n\n\t\t\tif (this.files && this.files.length > 1) fileName = (this.getAttribute('data-multiple-caption') || '').replace('{count}', this.files.length);else if (e.target.value) fileName = e.target.value.split('\\\\').pop();\n\n\t\t\tif (fileName) $label.find('span').html(fileName);else $label.html(labelVal);\n\t\t});\n\n\t\t// Firefox bug fix\n\t\t$input.on('focus', function () {\n\t\t\t$input.addClass('has-focus');\n\t\t}).on('blur', function () {\n\t\t\t$input.removeClass('has-focus');\n\t\t});\n\t});\n})(jQuery, window, document);\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-file.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/navigation--obscurable.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/audio-player/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/lazy-iframe/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/video-banner/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/interest-form/index.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/interest-form/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interestForm = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/interest-form/interest-form.js\");\n\nvar _interestForm2 = _interopRequireDefault(_interestForm);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = \"[data-interest-form]\";\nvar element = document.querySelector(ELEMENT_SELECTOR);\n\nif (element) {\n\t(0, _interestForm2.default)(element);\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/interest-form/interest-form.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)(\"interest-form\");\n\nfunction init(element) {\n\tlog(\"init\", element);\n\n\tvar options = {\n\t\tformElement: element,\n\t\trootPathname: element.dataset.ajaxLoaderRootPathname,\n\t\tindicatorSelector: element.dataset.interestFormLoadingIndicatorSelector,\n\t\terrorEmptySelector: element.dataset.interestFormErrorEmptySelector,\n\t\terrorServerSelector: element.dataset.interestFormErrorServerSelector,\n\t\tinterestCategorySelector: element.dataset.interestCategorySelector,\n\t\tinterestCategoryCountSelector: element.dataset.interestCategoryCountSelector\n\t};\n\n\tvar state = {\n\t\thref: element.action ? element.action : window.location.href,\n\t\tsubmitting: false\n\t};\n\n\telement.addEventListener(\"submit\", onSubmit.bind(null, { options: options, state: state }));\n\n\telement.addEventListener(\"change\", onValueChanged.bind(null, { options: options }));\n}\n\nfunction onSubmit(_ref, e) {\n\tvar options = _ref.options,\n\t state = _ref.state;\n\n\n\t// displayServerError(options, false);\n\n\tvar formElement = options.formElement;\n\n\tvar formData = new FormData(formElement);\n\n\tvar isValid = validateForm(formData);\n\tdisplayEmptyError(options, !isValid);\n\tif (!isValid) {\n\t\te.preventDefault();\n\t\treturn false;\n\t}\n\n\t// displayLoading(options, true);\n\n\t// postData(options, state, formData);\n}\n\nfunction validateForm(formData) {\n\tif (formData == null) {\n\t\t// valid because there was no form\n\t\treturn true;\n\t}\n\n\t// require at least one category\n\tvar categories = formData.getAll(\"category[]\");\n\tif (categories.length == 0) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nfunction displayEmptyError(options, shouldDisplay) {\n\tvar formElement = options.formElement,\n\t errorEmptySelector = options.errorEmptySelector;\n\n\tvar errorElement = formElement.querySelector(errorEmptySelector);\n\tif (!errorElement) {\n\t\treturn;\n\t}\n\terrorElement.hidden = !shouldDisplay;\n}\nfunction displayServerError(options, shouldDisplay) {\n\tvar formElement = options.formElement,\n\t errorServerSelector = options.errorServerSelector;\n\n\tvar errorElement = formElement.querySelector(errorServerSelector);\n\tif (!errorElement) {\n\t\treturn;\n\t}\n\terrorElement.hidden = !shouldDisplay;\n}\n\nfunction displayLoading(options, shouldDisplay) {\n\tvar formElement = options.formElement,\n\t indicatorSelector = options.indicatorSelector;\n\t// const { getIndicatorTemplate } = handlers;\n\n\tvar indicator = document.querySelector(indicatorSelector);\n\tif (!indicator) {\n\t\treturn;\n\t}\n\tindicator.hidden = !shouldDisplay;\n}\n\nfunction postData(options, state, formData) {\n\tvar href = state.href;\n\n\tstate.submitting = true;\n\n\tfetch(href, {\n\t\tmethod: 'POST',\n\t\tbody: formData\n\t}).then(function (response) {\n\t\tif (response.ok) {\n\t\t\treturn response.text();\n\t\t}\n\t\treturn Promise.reject(response);\n\t}).then(function (html) {\n\t\tstate.submitting = false;\n\t\tdisplayLoading(options, false);\n\t}).catch(function (error) {\n\t\tlog(\"error\", error);\n\t\t// TODO do something\n\t\tstate.submitting = false;\n\t\tdisplayLoading(options, false);\n\t\tdisplayServerError(options, true);\n\t});\n}\n\nfunction onValueChanged(_ref2, e) {\n\tvar options = _ref2.options;\n\tvar interestCategorySelector = options.interestCategorySelector;\n\n\n\tvar categoryElement = e.target.closest(interestCategorySelector);\n\n\tif (!categoryElement) {\n\t\treturn false;\n\t}\n\n\tupdateCountForCategory(options, categoryElement);\n}\n\nfunction updateCountForCategory(options, categoryElement) {\n\tvar interestCategoryCountSelector = options.interestCategoryCountSelector;\n\n\n\tvar checkedInputs = categoryElement.querySelectorAll('input:checked');\n\tvar newCount = checkedInputs ? checkedInputs.length : 0;\n\n\tvar categoryCountElement = categoryElement.querySelector(interestCategoryCountSelector);\n\tif (!categoryCountElement) {\n\t\treturn;\n\t}\n\tcategoryCountElement.innerText = newCount;\n\tcategoryCountElement.parentNode.hidden = newCount <= 0;\n}\n\nexports.default = init;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/lazy-iframe/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-lazy-iframe]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'lazyIframe';\n\n(0, _jquery2.default)(document).ready(function () {\n (0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n var element = this;\n __webpack_require__.e/* import() */(\"component--lazy-iframe\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/lazy-iframe/lazy-iframe.js\")).then(function () {\n (0, _jquery2.default)(element)[PLUGIN_NAME]();\n });\n });\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Modaal is not a spelling error!\n// It is the name of the 3rd party modal component we are using\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-modal]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'modal';\n\n(0, _jquery2.default)(document).ready(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\tvar element = this;\n\t\t__webpack_require__.e/* import() */(\"component--modal\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal.js\")).then(function () {\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/navigation--obscurable.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\r\n * Obscurable Navigation\r\n * @original-idea Kate York\r\n * @original-idea Oliver Boermans\r\n * @author Zenobius Jiricek\r\n *\r\n * @example\r\n * see ./header.scss\r\n */\n\n//\n// Utilities\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PLUGIN_NAME = \"NavigationObscurable\";\nvar ELEMENT_SELECTOR = \"[data-navigation-obscurable]\";\nvar log = (0, _debug2.default)('core/components/site-header/navigation--obscurable');\n\nvar ObscurableNavigationPlugin = function () {\n function ObscurableNavigationPlugin(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ObscurableNavigationPlugin);\n\n this.element = element;\n this.$element = (0, _jquery2.default)(element);\n this.options = options;\n this.options.tolerancePx = parseInt(this.options.tolerancePx);\n\n log('created', { element: element, options: this.options });\n this.components = {\n obscuredItemContainer: (0, _selectors.selectTarget)(this.options.obscuredItemContainerSelector, this.$element),\n visibleItemContainer: (0, _selectors.selectTarget)(this.options.visibleItemContainerSelector, this.$element),\n obscuredItemContainerToggle: (0, _selectors.selectTarget)(this.options.obscuredItemContainerToggleSelector, this.$element)\n };\n\n this.watch();\n }\n\n _createClass(ObscurableNavigationPlugin, [{\n key: 'watch',\n value: function watch() {\n var _this = this;\n\n log('watch');\n this.currentTestId = 0;\n (0, _jquery2.default)(window).resize(function () {\n _this.components.visibleItemContainer.addClass('testing');\n });\n (0, _jquery2.default)(window).resize(this.fn.debounce(this.test.bind(this), this.options.testTimeoutMs, true));\n (0, _jquery2.default)(window).resize(this.fn.debounce(this.test.bind(this), this.options.testTimeoutMs));\n setTimeout(this.test.bind(this), this.options.testTimeoutMs);\n }\n }, {\n key: 'test',\n value: function test() {\n log('test');\n this.unObscureItems();\n this.testItems();\n }\n }, {\n key: 'isItemObscured',\n value: function isItemObscured(element) {\n log('isItemObscured', element);\n var $testElement = (0, _jquery2.default)(element);\n var width = $testElement.outerWidth(true);\n var rightEdgePosition = width + this.options.tolerancePx + this.accumulatedWidth;\n var result = rightEdgePosition > this.actualContainerWidth;\n log('isItemObscured', rightEdgePosition, this.actualContainerWidth, result);\n this.accumulatedWidth += width;\n return result;\n }\n }, {\n key: 'unObscureItems',\n value: function unObscureItems() {\n var _this2 = this;\n\n log('unObscureItems');\n // Put everything back in main nav\n // to prepare for testing if they in fact fit.\n (0, _selectors.selectTarget)(this.options.intersectingItemSelector, this.components.obscuredItemContainer).removeClass(this.options.obscuredItemClasses).addClass(this.options.visibleItemClasses).each(function (index, element) {\n _this2.components.visibleItemContainer.append((0, _jquery2.default)(element).detach());\n });\n }\n }, {\n key: 'moveItem',\n value: function moveItem(element) {\n log('moveItem', element);\n var $element = (0, _jquery2.default)(element).detach();\n\n $element.addClass(this.options.obscuredItemClasses).removeClass(this.options.visibleItemClasses);\n\n this.components.obscuredItemContainer.append($element);\n\n $element.show();\n }\n }, {\n key: 'testItems',\n value: function testItems(items) {\n var _this3 = this;\n\n log('testItems');\n var toggleWidth = this.components.obscuredItemContainerToggle.innerWidth();\n this.components.obscuredItemContainerToggle.detach();\n\n // Move the items that don't fit back to mobile nav\n this.components.obscuredItemContainerToggle.show();\n var $items = (0, _selectors.selectTarget)(this.options.intersectingItemSelector, this.components.visibleItemContainer);\n log('testItems.items', $items);\n\n this.actualContainerWidth = this.components.visibleItemContainer.innerWidth();\n // build a list of items that don't fit\n this.accumulatedWidth = 0;\n var obscuredItems = $items.filter(function (index, element) {\n return _this3.isItemObscured(element);\n });\n log('testItems.obscuredItems', obscuredItems);\n\n // if at least one item doesn't fit\n if (!this.components.visibleItemContainer.is(':visible')) {\n $items.each(function (index, element) {\n return _this3.moveItem(element);\n });\n } else if (obscuredItems.length > 0) {\n // reduce width of container\n this.actualContainerWidth = this.actualContainerWidth - toggleWidth;\n log('testItems.atLeatOneObscured', this.actualContainerWidth);\n\n this.accumulatedWidth = 0;\n obscuredItems = $items\n // re-test visible items based on new container width\n .filter(function (index, element) {\n return _this3.isItemObscured(element);\n })\n // then move them\n .each(function (index, element) {\n return _this3.moveItem(element);\n });\n }\n\n if (obscuredItems.length > 0 || obscuredItems.length == $items.length) {\n this.components.visibleItemContainer.append(this.components.obscuredItemContainerToggle);\n }\n\n if (!this.components.obscuredItemContainer.children().length > 0) {\n this.components.obscuredItemContainerToggle.hide();\n }\n\n this.components.visibleItemContainer.removeClass('testing');\n }\n }]);\n\n return ObscurableNavigationPlugin;\n}();\n\nObscurableNavigationPlugin.DEFAULTS = {\n tolerancePx: 40,\n testTimeoutMs: 150,\n reflowOnResize: true,\n visibleItemClasses: 'navigation__item--unobscured',\n obscuredItemClasses: 'navigation__item--obscured',\n visibleItemContainerSelector: '(children) [data-navigation--visible-items]',\n intersectingItemSelector: '(children) [data-navigation--intersecting-item]',\n obscuredItemContainerSelector: '(children) [data-navigation--obscured-items]',\n obscuredItemContainerToggleSelector: '(children) [data-navigation--obscured-items-toggle]'\n};\n\n(0, _lib2.default)(PLUGIN_NAME, ObscurableNavigationPlugin);\n\n(0, _jquery2.default)(document).ready(function () {\n (0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/tabs-controller.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/tabs-controller.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ELEMENT_SELECTOR = '[data-tabs-controller]';\nvar PLUGIN_NAME = 'tabsController';\n\nvar log = (0, _debug2.default)('tabs-controller');\n\nvar TabsController = function () {\n\tfunction TabsController(element, options) {\n\t\t_classCallCheck(this, TabsController);\n\n\t\tlog('element', element);\n\t\tlog('options', options);\n\n\t\tthis.options = options;\n\t\tthis.element = element;\n\t\tthis.$element = (0, _jquery2.default)(element);\n\n\t\tthis.tabs = this.selectors.selectTarget(this.options.tabsSelector, this.$element);\n\n\t\tthis.watch();\n\n\t\tlog('ready', this, this.$target);\n\t}\n\n\t_createClass(TabsController, [{\n\t\tkey: 'watch',\n\t\tvalue: function watch() {\n\t\t\tlog('watching');\n\t\t\tthis.$element.on('closeothers', this.closeOtherTabs.bind(this));\n\t\t}\n\t}, {\n\t\tkey: 'closeOtherTabs',\n\t\tvalue: function closeOtherTabs(event) {\n\t\t\tvar openingTab = event.target;\n\n\t\t\tvar tabsToClose = this.tabs.filter(function (index, tab) {\n\t\t\t\treturn tab !== openingTab;\n\t\t\t});\n\n\t\t\ttabsToClose.each(function (index, tab) {\n\t\t\t\ttab.dataset.collapsibleOpen = false;\n\t\t\t});\n\t\t}\n\t}]);\n\n\treturn TabsController;\n}();\n\nTabsController.DEFAULTS = {};\n\n(0, _lib2.default)(PLUGIN_NAME, TabsController);\n\n// $(document).ready(() => {\n// \t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n// });\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, TabsController);\n\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/video-banner/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.applyToElements = applyToElements;\n\nvar _videoBanner = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/video-banner/video-banner.js\");\n\nvar _videoBanner2 = _interopRequireDefault(_videoBanner);\n\nvar _extractOptions = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/extractOptions.js\");\n\nvar _extractOptions2 = _interopRequireDefault(_extractOptions);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction applyToElements() {\n\n var videoBannerElements = document.querySelectorAll(\"[data-video-banner]\");\n\n var videoBannerElementsArray = Array.prototype.slice.call(videoBannerElements);\n\n videoBannerElementsArray.forEach(function (element) {\n var options = Object.assign({}, _videoBanner2.default.DEFAULTS, (0, _extractOptions2.default)(\"video-banner\", element));\n var instance = new _videoBanner2.default(element, options);\n element.instance = instance;\n });\n}\n\napplyToElements();\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/video-banner/video-banner.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar VideoBanner = function () {\n function VideoBanner(element, options) {\n _classCallCheck(this, VideoBanner);\n\n this.element = element;\n this.options = options;\n\n this.init();\n this.watch();\n }\n\n _createClass(VideoBanner, [{\n key: \"init\",\n value: function init() {\n\n var doc = this.element.ownerDocument;\n this.window = doc.defaultView || doc.parentWindow;\n\n //extract sources from tags\n var sources = this.element.querySelectorAll(\"source\");\n this.sourceArray = [].concat(_toConsumableArray(sources)).map(function (e) {\n return {\n \"media\": e.getAttribute(\"media\"),\n \"src\": e.getAttribute(\"src\")\n };\n });\n\n //remove tags\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = sources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var elem = _step.value;\n\n elem.remove();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this.updateSource();\n }\n }, {\n key: \"watch\",\n value: function watch() {\n\n var self = this;\n\n this.window.addEventListener(\"resize\", self.debounce(self.updateSource.bind(self), self.options.refreshRate));\n }\n }, {\n key: \"debounce\",\n value: function debounce(func) {\n var _this = this;\n\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;\n\n var timer = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timer);\n timer = setTimeout(function () {\n func.apply(_this, args);\n }, timeout);\n };\n }\n }, {\n key: \"updateSource\",\n value: function updateSource() {\n var _this2 = this;\n\n var determinedSource = void 0;\n\n this.sourceArray.forEach(function (e) {\n\n var windowWidth = _this2.window.innerWidth;\n\n if (e.media) {\n var _e$media$split = e.media.split(\":\"),\n _e$media$split2 = _slicedToArray(_e$media$split, 2),\n dir = _e$media$split2[0],\n width = _e$media$split2[1];\n\n dir = dir.trim().toLowerCase();\n width = parseInt(width.replace(/\\D/g, ''));\n\n if (dir === \"min-width\" && windowWidth > width || dir === \"max-width\" && windowWidth < width) {\n determinedSource = e.src;\n }\n } else if (determinedSource == null) {\n determinedSource = e.src;\n }\n });\n\n var currentSource = this.element.getAttribute(\"src\");\n if (determinedSource != currentSource) {\n this.element.setAttribute(\"src\", determinedSource);\n }\n }\n }]);\n\n return VideoBanner;\n}();\n\nexports.default = VideoBanner;\n\n\nVideoBanner.DEFAULTS = {\n refreshRate: 300\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/index.js\");\n\n__webpack_require__(\"/tool/project/client/src/core/vendor/index.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)('fusion-core');\n\n(0, _jquery2.default)(function () {\n\tlog('ready');\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__toggle-element-classes/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__remove-element-classes/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__add-element-classes/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus-within/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__inviewport/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/plugin--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__emit-on-dirty/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__enterkey-submit/index.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__add-element-classes/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-add-element-classes]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'AddElementClasses';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--add-element-classes\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__add-element-classes/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/plugin--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-collapsible]';\nvar PLUGIN_NAME = 'Collapsible';\n\n$(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--collapsible\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/collapsible.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t$(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__emit-on-dirty/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-emit-on-dirty]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'EmitOnDirty';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--emit-on-dirty\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__emit-on-dirty/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__enterkey-submit/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-enterkey-submit]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'enterkeySubmit';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--trigger-event\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__enterkey-submit/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus-within/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-focus-within]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'FocusWithin';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--focus-within\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus-within/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-focus-element]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'FocusElement';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--focus-element\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__inviewport/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.ELEMENT_SELECTOR = exports.PLUGIN_NAME = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PLUGIN_NAME = exports.PLUGIN_NAME = \"InViewport\";\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = \"[data-in-viewport]\";\n\nif (\"IntersectionObserver\" in window) {\n\t(0, _jquery2.default)(function () {\n\t\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t\t__webpack_require__.e/* import() */(\"plugin--in-viewport\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__inviewport/in-viewport.js\")).then(function (module) {\n\t\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t\t});\n\t\t});\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__remove-element-classes/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-remove-element-classes]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'RemoveElementClasses';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--remove-element-classes\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__remove-element-classes/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__toggle-element-classes/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-toggle-element-classes]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'ToggleElementClasses';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--toggle-element-classes\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__toggle-element-classes/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-trigger-event]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'triggerEvent';\n\n(0, _jquery2.default)(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--trigger-event\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/plugin.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nfunction debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /*\r\n jQuery plugin\r\n \r\n \r\n ```\r\n import debug from 'debug';\r\n import plugin from '@core/plugins/lib';\r\n \r\n const ELEMENT_SELECTOR = '[data-my-plugin]';\r\n const PLUGIN_NAME = 'MyPlugin';\r\n const MODULE_NAME = 'plugins/my-plugin';\r\n const log = debug(MODULE_NAME);\r\n \r\n class PluginKlass {\r\n constructor(element, options) {\r\n log('new instance', element, options);\r\n \r\n this.element = element;\r\n this.options = options;\r\n this.$element = $(element);\r\n \r\n log('ready', this.$element);\r\n \r\n this.init();\r\n }\r\n }\r\n \r\n PluginKlass.DEFAULTS = {\r\n someCamelCasedProperty: `${PLUGIN_NAME}:something`,\r\n };\r\n \r\n plugin(PLUGIN_NAME, PluginKlass);\r\n \r\n $(document).ready(() => {\r\n $(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n });\r\n ```\r\n \r\n Then using it in html:\r\n ```\r\n
\r\n ```\r\n \r\n Styelguide Core.Global.Javascript.JqueryPlugin\r\n */\n\n// import * as events from './events';\n\nexports.default = plugin;\nexports.jquery = jquery;\nexports.defaults = defaults;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _fn = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js\");\n\nvar fn = _interopRequireWildcard(_fn);\n\nvar _strings = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js\");\n\nvar strings = _interopRequireWildcard(_strings);\n\nvar _objects = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/objects.js\");\n\nvar objects = _interopRequireWildcard(_objects);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nvar selectors = _interopRequireWildcard(_selectors);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)('core/plugins/lib');\n\nfunction plugin(pluginName, klass) {\n var shortHand = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var formattedPluginName = (0, _strings.toCamelCase)(pluginName);\n var dataName = '__' + formattedPluginName;\n var old = _jquery2.default.fn[formattedPluginName];\n var ZERO = 0;\n\n klass.$bus = {\n subscribe: function subscribe(event, fn) {\n (0, _jquery2.default)(this).bind(event, fn);\n },\n publish: function publish(event, data) {\n (0, _jquery2.default)(this).trigger(event, [data]);\n }\n };\n\n klass.$util = {\n fn: fn,\n objects: objects,\n strings: strings,\n selectors: selectors\n };\n\n klass.prototype.selectors = selectors;\n klass.prototype.strings = strings;\n klass.prototype.objects = objects;\n klass.prototype.fn = fn;\n klass.prototype.inViewport = function (elm) {\n var rect = elm.getBoundingClientRect();\n var viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);\n return !(rect.bottom < 0 || rect.top - viewHeight >= 0);\n };\n\n _jquery2.default.fn[pluginName] = function PluginFactory(option) {\n return this.each(function PluginInstanceFactory() {\n var $this = (0, _jquery2.default)(this);\n var data = $this.data();\n var overrides = (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object' && option;\n var elementOptions = Object.keys(data).filter(function (key) {\n return (0, _strings.toCamelCase)(key).indexOf(formattedPluginName) >= ZERO;\n }).reduce(function (result, path) {\n var data = path && $this.data(path);\n var key = (0, _strings.toCamelCase)(path.replace(new RegExp(formattedPluginName + '-?'), ''));\n log(path, key, $this.data(path));\n\n if (key && data !== undefined) {\n result[key] = data;\n }\n return result;\n }, {});\n log(pluginName, { elementOptions: elementOptions });\n var instance = $this.data(dataName);\n var options = _jquery2.default.extend({}, klass.DEFAULTS, elementOptions, overrides);\n\n // store reference to instance\n if (!instance) {\n instance = new klass(this, options);\n instance.$utils = klass.$util;\n $this.data(dataName, instance);\n $this.addClass('u-' + pluginName);\n }\n\n // execute instance method\n if (typeof option === 'string') {\n instance[option]();\n }\n });\n };\n\n // - Short hand\n if (shortHand) {\n _jquery2.default[formattedPluginName] = function (options) {\n return (0, _jquery2.default)({})[formattedPluginName](options);\n };\n }\n\n // - No conflict\n // $.fn[formattedPluginName].noConflict = function noConflict () {\n // $.fn[formattedPluginName] = old;\n // };\n}\n\nfunction jquery(name) {\n return function decorate(target) {\n plugin(name, target);\n };\n}\n\nfunction defaults(options) {\n return function decorate(target) {\n target.DEFAULTS = options;\n };\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/objects.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.elementAttrtibutesToObject = elementAttrtibutesToObject;\nexports.objectPath = objectPath;\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _strings = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MODULE_NAME = 'app.core/lib/objects';\nvar log = (0, _debug2.default)(MODULE_NAME);\n\nvar ZERO = 0;\n\n/**\r\n * Convert an elements attributes to an object, optionally filtering based on some predicate.\r\n * @param {DOMElement} element [description]\r\n * @param {Function} filterFn filtering function. return false to omit attribute.\r\n * @param {Function} transformFn transform attribute name function. returns camelCase by default\r\n * @return {[type]} [description]\r\n */\nfunction elementAttrtibutesToObject(element) {\n var filterFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {\n return true;\n };\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (name) {\n return (0, _strings.toCamelCase)(name);\n };\n\n var output = {};\n var attrs = Array.from($(element).get(ZERO).attributes);\n\n if (!attrs) {\n return output;\n }\n\n log('converting element attributes to object', attrs);\n\n return attrs.reduce(function (result, attribute) {\n if (filterFn(attribute)) {\n var name = transformFn(attribute.name);\n var value = attribute.value;\n\n if (value === 'false' || value === 'true') {\n value = Boolean(value);\n }\n result[name] = attribute.value;\n }\n\n return result;\n }, output);\n}\n\n/**\r\n * Object.prop()\r\n *\r\n * Allows dot-notation access to object properties for both getting and setting.\r\n *\r\n * @param {Object} obj The object we're getting from or setting\r\n * @param {string} prop The dot-notated string defining the property location\r\n * @param {mixed} val For setting only; the value to set\r\n */\n\nfunction objectPath(obj, path, val) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { delimiter: '.' };\n\n var props = path.split(options.delimiter);\n var final = props.pop();\n var part = void 0;\n\n for (var index = 0; index < props.length; index++) {\n part = props[index];\n if (typeof obj[part] === 'undefined') {\n // If we're setting\n if (typeof val !== 'undefined' && index != props.length) {\n // If we're not at the end of the props, keep adding new empty objects\n obj[part] = {};\n } else {\n return undefined;\n }\n }\n obj = obj[part];\n }\n return typeof val !== \"undefined\" ? obj[final] = val : obj[final];\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.onAvailable = exports.SELECTOR_PATTERNS = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.selectorPattern = selectorPattern;\nexports.selectTarget = selectTarget;\nexports.onChange = onChange;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)('core/plugins/lib/selectors');\n\nfunction selectorPattern() {\n\tfor (var _len = arguments.length, directives = Array(_len), _key = 0; _key < _len; _key++) {\n\t\tdirectives[_key] = arguments[_key];\n\t}\n\n\treturn new RegExp('\\\\((' + directives.join('|') + ')(.*)\\\\)\\\\s?(.*)');\n}\n\nvar SELECTOR_PATTERNS = exports.SELECTOR_PATTERNS = {\n\n\t// .find\n\t\"children\": selectorPattern('children'),\n\n\t// .closest\n\t\"parent\": selectorPattern('parent'),\n\t\"from\": selectorPattern('from'),\n\t\"parents\": selectorPattern('parents'),\n\t\"siblings\": selectorPattern('siblings'),\n\t\"here\": selectorPattern('here'),\n\t\"self\": selectorPattern('self')\n};\n\nfunction selectTarget(selector, $element) {\n\tvar $target = void 0;\n\n\tvar isClosestAncestoral = selector.match(SELECTOR_PATTERNS.parent);\n\tvar isAllAncestoral = selector.match(SELECTOR_PATTERNS.parents);\n\tvar isRetargeted = selector.match(SELECTOR_PATTERNS.from);\n\tvar isAllDescendants = selector.match(SELECTOR_PATTERNS.children);\n\tvar isGenerational = selector.match(SELECTOR_PATTERNS.here);\n\tvar isSiblings = selector.match(SELECTOR_PATTERNS.siblings);\n\tvar isSelfish = selector.match(SELECTOR_PATTERNS.self);\n\n\t// special retargeting root\n\tif (isRetargeted) {\n\t\tlog('isRetargeted', isRetargeted[2], isRetargeted[3]);\n\t\tvar $newElement = selectTarget(isRetargeted[2], $element);\n\t\tvar newSelector = '(children) ' + isRetargeted[3];\n\t\tlog('isRetargeted.newElement', $newElement);\n\t\tlog('isRetargeted.newSelector', newSelector);\n\t\t$target = selectTarget(newSelector, $newElement);\n\t\tlog('isRetargeted.target', $target);\n\t}\n\n\t// target is all ancestors\n\telse if (isAllAncestoral) {\n\t\t\tlog('isAllAncestoral', isAllAncestoral);\n\t\t\t$target = $element.parents(isAllAncestoral[isAllAncestoral.length - 1]);\n\t\t}\n\t\t// target is closest ancestor\n\t\telse if (isClosestAncestoral) {\n\t\t\t\tlog('isClosestAncestoral', isClosestAncestoral);\n\t\t\t\t$target = $element.closest(isClosestAncestoral[isClosestAncestoral.length - 1]);\n\t\t\t}\n\t\t\t// target is somewhere under current parent\n\t\t\telse if (isGenerational) {\n\t\t\t\t\tlog('isGenerational', isGenerational);\n\t\t\t\t\t$target = $element.parent().find(isGenerational[isGenerational.length - 1]);\n\t\t\t\t}\n\t\t\t\t// target is only under self\n\t\t\t\telse if (isAllDescendants) {\n\t\t\t\t\t\tlog('isAllDescendants', isAllDescendants);\n\t\t\t\t\t\t$target = $element.find(isAllDescendants[isAllDescendants.length - 1]);\n\t\t\t\t\t}\n\t\t\t\t\t// target is somewhere in siblings only\n\t\t\t\t\telse if (isSiblings) {\n\t\t\t\t\t\t\tlog('isSiblings', isSiblings);\n\t\t\t\t\t\t\t$target = $element.siblings(isSiblings[isSiblings.length - 1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// target is source\n\t\t\t\t\t\telse if (!selector || isSelfish) {\n\t\t\t\t\t\t\t\tlog('isSelfish', isSelfish);\n\t\t\t\t\t\t\t\tvar selector = isSelfish[isSelfish.length - 1] || '*';\n\t\t\t\t\t\t\t\t$target = $element.filter(selector);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// target could be anywhere\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlog('global', selector);\n\t\t\t\t\t\t\t\t\t$target = (0, _jquery2.default)(selector);\n\t\t\t\t\t\t\t\t}\n\treturn $target;\n}\n\nvar OnAvailable = function () {\n\tfunction OnAvailable(root) {\n\t\t_classCallCheck(this, OnAvailable);\n\n\t\tthis.root = root || window.document.documentElement;\n\t\tthis.listeners = [];\n\t\tthis.observer;\n\t}\n\n\t_createClass(OnAvailable, [{\n\t\tkey: 'ready',\n\t\tvalue: function ready(selector, fn) {\n\t\t\t// Store the selector and callback to be monitored\n\t\t\tthis.listeners.push({\n\t\t\t\tselector: selector,\n\t\t\t\tfn: fn\n\t\t\t});\n\n\t\t\tif (!this.observer) {\n\t\t\t\t// Watch for changes in the document\n\t\t\t\tthis.observer = onChange(this.root, this.check.bind(this), {\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Check if the element is currently in the DOM\n\t\t\tthis.check();\n\t\t}\n\t}, {\n\t\tkey: 'check',\n\t\tvalue: function check() {\n\t\t\tvar _this = this;\n\n\t\t\tvar listnersSelectorsArray = [];\n\t\t\tArray.from(this.listeners).forEach(function (listener) {\n\t\t\t\tlistnersSelectorsArray.push(listener.selector);\n\t\t\t});\n\t\t\tvar listnersSelectors = listnersSelectorsArray.join(\",\");\n\t\t\tvar matchingElements = this.root.querySelectorAll(listnersSelectors);\n\t\t\t// Check the DOM for elements matching a stored selector\n\n\t\t\tArray.from(matchingElements).forEach(function (element) {\n\n\t\t\t\tArray.from(_this.listeners).forEach(function (listener) {\n\t\t\t\t\tvar attributeName = listener.selector.substring(1, listener.selector.length - 1);\n\t\t\t\t\tif (element.hasAttribute(attributeName) && !element[attributeName]) {\n\t\t\t\t\t\t// console.log(element, attributeName);\n\t\t\t\t\t\tlistener.fn.call(element, element);\n\t\t\t\t\t\telement[attributeName] = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// for (\n\t\t\t// \tvar i = 0, len = this.listeners.length, listener, elements;\n\t\t\t// \ti < len;\n\t\t\t// \ti++\n\t\t\t// ) {\n\t\t\t// \tlistener = this.listeners[i];\n\t\t\t// \tdebugger;\n\t\t\t// \t// Query for elements matching the specified selector\n\t\t\t// \telements = this.root.querySelectorAll(listener.selector);\n\t\t\t// \tfor (var j = 0, jLen = elements.length, element; j < jLen; j++) {\n\t\t\t// \t\telement = elements[j];\n\t\t\t// \t\t// Make sure the callback isn't invoked with the\n\t\t\t// \t\t// same element more than once\n\t\t\t// \t\tif (!element.ready) {\n\t\t\t// \t\t\telement.ready = true;\n\t\t\t// \t\t\t// Invoke the callback with the element\n\t\t\t// \t\t\tlistener.fn.call(element, element);\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// }\n\t\t}\n\t}]);\n\n\treturn OnAvailable;\n}();\n\nvar onAvailable = exports.onAvailable = new OnAvailable(window.document.documentElement);\n\nfunction onChange(element, fn, options) {\n\tvar MutationObserver = window.MutationObserver || window.WebKitMutationObserver;\n\tvar observer = new MutationObserver(fn);\n\tobserver.observe(element, options || {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n\treturn observer;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.toCamelCase = toCamelCase;\nexports.tmpl = tmpl;\nexports.$tmpl = $tmpl;\nexports.mustache = mustache;\nexports.booleanify = booleanify;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)('core/jquery_plugin/strings');\n\nfunction preserveCamelCase(str) {\n var isLastCharLower = false;\n var isLastCharUpper = false;\n var isLastLastCharUpper = false;\n\n for (var i = 0; i < str.length; i++) {\n var c = str[i];\n\n if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) {\n str = str.substr(0, i) + '-' + str.substr(i);\n isLastCharLower = false;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = true;\n i++;\n } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) {\n str = str.substr(0, i - 1) + '-' + str.substr(i - 1);\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = false;\n isLastCharLower = true;\n } else {\n isLastCharLower = c.toLowerCase() === c;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = c.toUpperCase() === c;\n }\n }\n\n return str;\n}\n\nfunction toCamelCase(str) {\n if (arguments.length > 1) {\n str = Array.from(arguments).map(function (x) {\n return x.trim();\n }).filter(function (x) {\n return x.length;\n }).join('-');\n } else {\n str = str.trim();\n }\n\n if (str.length === 0) {\n return '';\n }\n\n if (str.length === 1) {\n return str.toLowerCase();\n }\n\n if (/^[a-z0-9]+$/.test(str)) {\n return str;\n }\n\n var hasUpperCase = str !== str.toLowerCase();\n\n if (hasUpperCase) {\n str = preserveCamelCase(str);\n }\n\n return str.replace(/^[_.\\- ]+/, '').toLowerCase().replace(/[_.\\- ]+(\\w|$)/g, function (m, p1) {\n return p1.toUpperCase();\n });\n};\n\nfunction tmpl(str, context) {\n var result = str;\n\n if (result) {\n\n Object.keys(context).forEach(function (item) {\n result = result.replace('{{' + item + '}}', context[item]);\n });\n }\n\n return result;\n}\n\nfunction $tmpl(element, context) {\n var $target = (0, _jquery2.default)(element);\n var templateString = $target.attr('data-text-template');\n var result = tmpl(templateString, context);\n\n $target.text(result);\n}\n\n/**\r\n * https://github.com/aishikaty/tiny-mustache\r\n * https://mustache.github.io/\r\n * @param {String} template [description]\r\n * @param {[type]} self [description]\r\n * @param {[type]} parent [description]\r\n * @param {[type]} invert [description]\r\n * @return {[type]} [description]\r\n */\nfunction mustache(template, self, parent, invert) {\n var render = mustache;\n var output = \"\";\n var i;\n\n log('mustache', { template: template, self: self, parent: parent, invert: invert });\n\n function get(ctx, path) {\n path = path.pop ? path : path.split(\".\");\n ctx = ctx[path.shift()] || \"\";\n return 0 in path ? get(ctx, path) : ctx;\n }\n\n self = Array.isArray(self) ? self : self ? [self] : [];\n self = invert ? 0 in self ? [] : [1] : self;\n\n for (i = 0; i < self.length; i++) {\n var childCode = '';\n var depth = 0;\n var inverted;\n var ctx = _typeof(self[i]) == \"object\" ? self[i] : {};\n ctx = Object.assign({}, parent, ctx);\n ctx[\"\"] = { \"\": self[i] };\n\n template.replace(/([\\s\\S]*?)({{((\\/)|(\\^)|#)(.*?)}}|$)/g, function (match, code, y, z, close, invert, name) {\n\n if (!depth) {\n output += code.replace(/{{{(.*?)}}}|{{(!?)(&?)(>?)(.*?)}}/g, function (match, raw, comment, isRaw, partial, name) {\n return raw ? get(ctx, raw) : isRaw ? get(ctx, name) : partial ? render(get(ctx, name), ctx) : !comment ? new Option(get(ctx, name)).innerHTML : \"\";\n });\n inverted = invert;\n } else {\n childCode += depth && !close || depth > 1 ? match : code;\n }\n\n if (close) {\n if (! --depth) {\n name = get(ctx, name);\n if (/^f/.test(typeof name === 'undefined' ? 'undefined' : _typeof(name))) {\n output += name.call(ctx, childCode, function (template) {\n return render(template, ctx);\n });\n } else {\n output += render(childCode, name, ctx, inverted);\n }\n childCode = \"\";\n }\n } else {\n ++depth;\n }\n log('mustache.output.' + depth, { output: output });\n });\n }\n log('mustache.output', { output: output });\n return output;\n}\n\nfunction booleanify(value) {\n var lower = value.toLowerCase();\n if (lower === 'false' || lower === '0') {\n return false;\n }\n return new Boolean(value);\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/extractOptions.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nexports.default = function (name, element) {\n\treturn extractComponentOptions(name, getOptionData(element));\n};\n\n/*\r\n * Unlike other utility files, this is not adding functions to the utility scope\r\n * This is instead included by some components\r\n */\n\nfunction getJSONValue(stringValue) {\n\ttry {\n\t\treturn JSON.parse(stringValue);\n\t} catch (error) {\n\t\treturn stringValue;\n\t}\n}\n\nfunction camelCase(string) {\n\treturn string.replace(/^([A-Z])|[\\s-_](\\w)/g, function (match, p1, p2) {\n\t\tif (p2) {\n\t\t\treturn p2.toUpperCase();\n\t\t}\n\n\t\treturn p1.toLowerCase();\n\t});\n}\n\nfunction getOptionData(element) {\n\tvar dataset = element.dataset;\n\tvar data = {};\n\n\tfor (var prop in dataset) {\n\t\tif (dataset.hasOwnProperty(prop)) {\n\t\t\tdata[prop] = dataset[prop];\n\t\t}\n\t}\n\treturn data || {};\n}\n\nfunction extractComponentOptions(name, data) {\n\tvar options = {};\n\tvar cameledName = camelCase(name);\n\tfor (var prop in data) {\n\t\tif (prop.startsWith(cameledName) && prop !== cameledName) {\n\t\t\toptions[camelCase(prop.slice(cameledName.length))] = getJSONValue(data[prop]);\n\t\t}\n\t}\n\treturn options;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--10-0!/tool/node_modules/css-loader/index.js??ref--10-1!/tool/node_modules/postcss-loader/lib/index.js??ref--10-2!/tool/node_modules/sass-loader/lib/loader.js??ref--10-3!/tool/project/client/src/core/index.scss\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"/tool/project/client/src/core/vendor/index.js\":\n/***/ (function(module, exports) {\n\n// Note vendor js loaded with System in components directly\r\n\n\n/***/ }),\n\n/***/ \"external \\\"jQuery\\\"\":\n/***/ (function(module, exports) {\n\nmodule.exports = jQuery;\n\n/***/ }),\n\n/***/ \"multi /tool/project/client/src/core/index.js /tool/project/client/src/core/index.scss\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--7-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/index.js\");\nmodule.exports = __webpack_require__(\"/tool/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--10-0!/tool/node_modules/css-loader/index.js??ref--10-1!/tool/node_modules/postcss-loader/lib/index.js??ref--10-2!/tool/node_modules/sass-loader/lib/loader.js??ref--10-3!/tool/project/client/src/core/index.scss\");\n\n\n/***/ })\n\n},[\"multi /tool/project/client/src/core/index.js /tool/project/client/src/core/index.scss\"]);\n\n\n// WEBPACK FOOTER //\n// scripts/core--b7f001ae7368094a1442.js","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/debug/src/browser.js","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/debug/src/debug.js","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ms/index.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/process/browser.js","import $ from 'jquery';\r\n\r\nexport const ELEMENT_SELECTOR = '[data-audio-player]';\r\nexport const PLUGIN_NAME = 'audioPlayer';\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR).each(function () {\r\n\tconst element = this;\r\n\tSystem.import(/* webpackChunkName: \"component--audio-player\" */ './audio-player').then(() => {\r\n $(element)[PLUGIN_NAME]();\r\n });\r\n });\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/audio-player/index.js","/*\r\n\tBy Osvaldas Valutis, www.osvaldas.info\r\n\tAvailable for use under the MIT License\r\n*/\r\n\r\n// 'use strict';\r\n\r\n// ;( function ( document, window, index )\r\n// {\r\n// \tvar inputs = document.querySelectorAll( '.field-input-file' );\r\n// \tArray.prototype.forEach.call( inputs, function( input )\r\n// \t{\r\n// \t\tvar label\t = input.nextElementSibling,\r\n// \t\t\tlabelVal = label.innerHTML;\r\n\r\n// \t\tinput.addEventListener( 'change', function( e )\r\n// \t\t{\r\n// \t\t\tvar fileName = '';\r\n// \t\t\tif( this.files && this.files.length > 1 )\r\n// \t\t\t\tfileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );\r\n// \t\t\telse\r\n// \t\t\t\tfileName = e.target.value.split( '\\\\' ).pop();\r\n\r\n// \t\t\tif( fileName )\r\n// \t\t\t\tlabel.querySelector( 'span' ).innerHTML = fileName;\r\n// \t\t\telse\r\n// \t\t\t\tlabel.innerHTML = labelVal;\r\n// \t\t});\r\n\r\n// \t\t// Firefox bug fix\r\n// \t\tinput.addEventListener( 'focus', function(){ input.classList.add( 'has-focus' ); });\r\n// \t\tinput.addEventListener( 'blur', function(){ input.classList.remove( 'has-focus' ); });\r\n// \t});\r\n// }( document, window, 0 ));\r\n\r\n\r\n'use strict';\r\n\r\n;( function( $, window, document, undefined )\r\n{\r\n\t$( '.field-input-file' ).each( function()\r\n\t{\r\n\t\tvar $input\t = $( this ),\r\n\t\t\t$label\t = $input.next( 'label' ),\r\n\t\t\tlabelVal = $label.html();\r\n\r\n\t\t$input.on( 'change', function( e )\r\n\t\t{\r\n\t\t\tvar fileName = '';\r\n\r\n\t\t\tif( this.files && this.files.length > 1 )\r\n\t\t\t\tfileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );\r\n\t\t\telse if( e.target.value )\r\n\t\t\t\tfileName = e.target.value.split( '\\\\' ).pop();\r\n\r\n\t\t\tif( fileName )\r\n\t\t\t\t$label.find( 'span' ).html( fileName );\r\n\t\t\telse\r\n\t\t\t\t$label.html( labelVal );\r\n\t\t});\r\n\r\n\t\t// Firefox bug fix\r\n\t\t$input\r\n\t\t.on( 'focus', function(){ $input.addClass( 'has-focus' ); })\r\n\t\t.on( 'blur', function(){ $input.removeClass( 'has-focus' ); });\r\n\t});\r\n})( jQuery, window, document );\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/input-file.js","/*\r\nJS Components\r\n*/\r\n\r\nimport \"./forms/input-file\";\r\nimport \"./site-header/navigation--obscurable.js\";\r\nimport './audio-player/index';\r\nimport './lazy-iframe/index';\r\nimport './modal/index';\r\nimport './tabs/index';\r\nimport './video-banner/index';\r\nimport './interest-form/index';\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/index.js","import interestForm from \"./interest-form\";\r\n\r\nconst ELEMENT_SELECTOR = \"[data-interest-form]\";\r\nconst element = document.querySelector(ELEMENT_SELECTOR);\r\n\r\nif (element) {\r\n\tinterestForm(element);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/interest-form/index.js","import debug from \"debug\";\r\nconst log = debug(\"interest-form\");\r\n\r\nfunction init(element) {\r\n\tlog(\"init\", element);\r\n\r\n\tconst options = {\r\n\t\tformElement: element,\r\n\t\trootPathname: element.dataset.ajaxLoaderRootPathname,\r\n\t\tindicatorSelector: element.dataset.interestFormLoadingIndicatorSelector,\r\n\t\terrorEmptySelector: element.dataset.interestFormErrorEmptySelector,\r\n\t\terrorServerSelector: element.dataset.interestFormErrorServerSelector,\r\n\t\tinterestCategorySelector: element.dataset.interestCategorySelector,\r\n\t\tinterestCategoryCountSelector: element.dataset.interestCategoryCountSelector,\r\n\t};\r\n\r\n\tconst state = {\r\n\t\thref: element.action? element.action : window.location.href,\r\n\t\tsubmitting: false\r\n\t};\r\n\r\n\telement.addEventListener(\r\n\t\t\"submit\",\r\n\t\tonSubmit.bind(null, { options, state })\r\n\t);\r\n\r\n\telement.addEventListener(\r\n\t\t\"change\",\r\n\t\tonValueChanged.bind(null, { options })\r\n\t);\r\n\r\n}\r\n\r\nfunction onSubmit({ options, state }, e) {\r\n\r\n\t// displayServerError(options, false);\r\n\r\n\tconst { formElement } = options;\r\n\tconst formData = new FormData(formElement);\r\n\r\n\tconst isValid = validateForm(formData);\r\n\tdisplayEmptyError(options, !isValid);\r\n\tif(!isValid) {\r\n\t\te.preventDefault();\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// displayLoading(options, true);\r\n\r\n\t// postData(options, state, formData);\r\n}\r\n\r\nfunction validateForm(formData) {\r\n\tif(formData == null) {\r\n\t\t// valid because there was no form\r\n\t\treturn true;\r\n\t}\r\n\r\n\t// require at least one category\r\n\tvar categories = formData.getAll(\"category[]\");\r\n\tif(categories.length == 0) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n\r\nfunction displayEmptyError(options, shouldDisplay) {\r\n\tconst { formElement, errorEmptySelector } = options;\r\n\tconst errorElement = formElement.querySelector(errorEmptySelector);\r\n\tif(!errorElement) {\r\n\t\treturn;\r\n\t}\r\n\terrorElement.hidden = !shouldDisplay;\r\n}\r\nfunction displayServerError(options, shouldDisplay) {\r\n\tconst { formElement, errorServerSelector } = options;\r\n\tconst errorElement = formElement.querySelector(errorServerSelector);\r\n\tif(!errorElement) {\r\n\t\treturn;\r\n\t}\r\n\terrorElement.hidden = !shouldDisplay;\r\n}\r\n\r\nfunction displayLoading(options, shouldDisplay) {\r\n\tconst { formElement, indicatorSelector } = options;\r\n\t// const { getIndicatorTemplate } = handlers;\r\n\tconst indicator = document.querySelector(indicatorSelector);\r\n\tif(!indicator) {\r\n\t\treturn;\r\n\t}\r\n\tindicator.hidden = !shouldDisplay;\r\n}\r\n\r\nfunction postData(options, state, formData) {\r\n\tconst { href } = state;\r\n\tstate.submitting = true;\r\n\r\n\tfetch(href, {\r\n\t\tmethod: 'POST',\r\n\t\tbody: formData\r\n\t}).then((response) => {\r\n\t\tif (response.ok) {\r\n\t\t\treturn response.text();\r\n\t\t}\r\n\t\treturn Promise.reject(response);\r\n\t})\r\n\t.then((html) => {\r\n\t\tstate.submitting = false;\r\n\t\tdisplayLoading(options, false);\r\n\t})\r\n\t.catch((error) => {\r\n\t\tlog(\"error\", error);\r\n\t\t// TODO do something\r\n\t\tstate.submitting = false;\r\n\t\tdisplayLoading(options, false);\r\n\t\tdisplayServerError(options, true);\r\n\t});\r\n}\r\n\r\nfunction onValueChanged({options}, e) {\r\n\tconst { interestCategorySelector } = options;\r\n\r\n\tconst categoryElement = e.target.closest(interestCategorySelector);\r\n\r\n\tif(!categoryElement) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tupdateCountForCategory(options, categoryElement);\r\n}\r\n\r\nfunction updateCountForCategory(options, categoryElement) {\r\n\tconst { interestCategoryCountSelector } = options;\r\n\r\n\tconst checkedInputs = categoryElement.querySelectorAll('input:checked');\r\n\tconst newCount = checkedInputs? checkedInputs.length : 0;\r\n\r\n\tconst categoryCountElement = categoryElement.querySelector(interestCategoryCountSelector);\r\n\tif(!categoryCountElement) {\r\n\t\treturn;\r\n\t}\r\n\tcategoryCountElement.innerText = newCount;\r\n\tcategoryCountElement.parentNode.hidden = newCount <= 0;\r\n}\r\n\r\nexport default init;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/interest-form/interest-form.js","import $ from 'jquery';\r\n\r\nexport const ELEMENT_SELECTOR = '[data-lazy-iframe]';\r\nexport const PLUGIN_NAME = 'lazyIframe';\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR).each(function () {\r\n\tconst element = this;\r\n\tSystem.import(/* webpackChunkName: \"component--lazy-iframe\" */ './lazy-iframe').then(() => {\r\n $(element)[PLUGIN_NAME]();\r\n });\r\n });\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/lazy-iframe/index.js","import $ from 'jquery';\r\n\r\n// Modaal is not a spelling error!\r\n// It is the name of the 3rd party modal component we are using\r\nexport const ELEMENT_SELECTOR = '[data-modal]';\r\nexport const PLUGIN_NAME = 'modal';\r\n\r\n$(document).ready(() => {\r\n\t$(ELEMENT_SELECTOR).each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"component--modal\" */ './modal'\r\n\t\t).then(() => {\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/index.js","/**\r\n * Obscurable Navigation\r\n * @original-idea Kate York\r\n * @original-idea Oliver Boermans\r\n * @author Zenobius Jiricek\r\n *\r\n * @example\r\n * see ./header.scss\r\n */\r\n\r\n\r\n//\r\n// Utilities\r\nimport $ from 'jquery';\r\n\r\nimport debug from 'debug';\r\nimport plugin from '@core/plugins/lib';\r\nimport { selectTarget } from '@core/plugins/lib/selectors';\r\n\r\nconst PLUGIN_NAME = \"NavigationObscurable\";\r\nconst ELEMENT_SELECTOR = \"[data-navigation-obscurable]\";\r\nconst log = debug('core/components/site-header/navigation--obscurable');\r\n\r\n\r\nclass ObscurableNavigationPlugin {\r\n\r\n constructor(element, options = {}) {\r\n\r\n this.element = element;\r\n this.$element = $(element);\r\n this.options = options;\r\n this.options.tolerancePx = parseInt(this.options.tolerancePx);\r\n\r\n log('created', {element, options: this.options});\r\n this.components = {\r\n obscuredItemContainer: selectTarget(this.options.obscuredItemContainerSelector, this.$element),\r\n visibleItemContainer: selectTarget(this.options.visibleItemContainerSelector, this.$element),\r\n obscuredItemContainerToggle: selectTarget(this.options.obscuredItemContainerToggleSelector, this.$element)\r\n };\r\n\r\n this.watch();\r\n\r\n }\r\n\r\n watch () {\r\n log('watch');\r\n this.currentTestId = 0;\r\n $(window).resize(() => {\r\n this.components.visibleItemContainer.addClass('testing');\r\n });\r\n $(window).resize(this.fn.debounce(this.test.bind(this), this.options.testTimeoutMs, true));\r\n $(window).resize(this.fn.debounce(this.test.bind(this), this.options.testTimeoutMs));\r\n setTimeout(this.test.bind(this), this.options.testTimeoutMs);\r\n }\r\n\r\n test () {\r\n log('test');\r\n this.unObscureItems();\r\n this.testItems();\r\n }\r\n\r\n isItemObscured (element) {\r\n log('isItemObscured', element);\r\n const $testElement = $(element);\r\n const width = $testElement.outerWidth(true);\r\n const rightEdgePosition = width + this.options.tolerancePx + this.accumulatedWidth;\r\n const result = rightEdgePosition > this.actualContainerWidth;\r\n log('isItemObscured', rightEdgePosition, this.actualContainerWidth, result);\r\n this.accumulatedWidth += width;\r\n return result;\r\n }\r\n\r\n unObscureItems() {\r\n log('unObscureItems');\r\n // Put everything back in main nav\r\n // to prepare for testing if they in fact fit.\r\n selectTarget(this.options.intersectingItemSelector, this.components.obscuredItemContainer)\r\n .removeClass(this.options.obscuredItemClasses)\r\n .addClass(this.options.visibleItemClasses)\r\n .each((index, element) => {\r\n this.components.visibleItemContainer.append($(element).detach());\r\n });\r\n }\r\n\r\n moveItem (element) {\r\n log('moveItem', element);\r\n const $element = $(element).detach();\r\n\r\n $element\r\n .addClass(this.options.obscuredItemClasses)\r\n .removeClass(this.options.visibleItemClasses);\r\n\r\n this.components.obscuredItemContainer\r\n .append($element);\r\n\r\n $element.show();\r\n }\r\n\r\n testItems (items) {\r\n log('testItems');\r\n const toggleWidth = this.components.obscuredItemContainerToggle.innerWidth();\r\n this.components.obscuredItemContainerToggle.detach();\r\n\r\n // Move the items that don't fit back to mobile nav\r\n this.components.obscuredItemContainerToggle.show();\r\n const $items = selectTarget(this.options.intersectingItemSelector, this.components.visibleItemContainer);\r\n log('testItems.items', $items);\r\n\r\n this.actualContainerWidth = this.components.visibleItemContainer.innerWidth();\r\n // build a list of items that don't fit\r\n this.accumulatedWidth = 0;\r\n let obscuredItems = $items.filter((index, element) => this.isItemObscured(element));\r\n log('testItems.obscuredItems', obscuredItems);\r\n\r\n // if at least one item doesn't fit\r\n if (!this.components.visibleItemContainer.is(':visible')) {\r\n $items.each((index, element) => this.moveItem(element));\r\n }\r\n\r\n else if (obscuredItems.length > 0) {\r\n // reduce width of container\r\n this.actualContainerWidth = this.actualContainerWidth - toggleWidth;\r\n log('testItems.atLeatOneObscured', this.actualContainerWidth);\r\n\r\n this.accumulatedWidth = 0;\r\n obscuredItems = $items\r\n // re-test visible items based on new container width\r\n .filter((index, element) => this.isItemObscured(element))\r\n // then move them\r\n .each((index, element) => this.moveItem(element));\r\n\r\n }\r\n\r\n if (obscuredItems.length > 0 || obscuredItems.length == $items.length ) {\r\n this.components.visibleItemContainer\r\n .append(this.components.obscuredItemContainerToggle);\r\n }\r\n\r\n if (!this.components.obscuredItemContainer.children().length > 0) {\r\n this.components.obscuredItemContainerToggle.hide();\r\n }\r\n\r\n this.components.visibleItemContainer.removeClass('testing');\r\n }\r\n\r\n}\r\n\r\n\r\nObscurableNavigationPlugin.DEFAULTS = {\r\n tolerancePx: 40,\r\n testTimeoutMs: 150,\r\n reflowOnResize: true,\r\n visibleItemClasses: 'navigation__item--unobscured',\r\n obscuredItemClasses: 'navigation__item--obscured',\r\n visibleItemContainerSelector: '(children) [data-navigation--visible-items]',\r\n intersectingItemSelector: '(children) [data-navigation--intersecting-item]',\r\n obscuredItemContainerSelector: '(children) [data-navigation--obscured-items]',\r\n obscuredItemContainerToggleSelector: '(children) [data-navigation--obscured-items-toggle]',\r\n};\r\n\r\nplugin(PLUGIN_NAME, ObscurableNavigationPlugin);\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/site-header/navigation--obscurable.js","import './tabs-controller';\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/tabs/index.js","import $ from 'jquery';\r\nimport debug from 'debug';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-tabs-controller]';\r\nconst PLUGIN_NAME = 'tabsController';\r\n\r\nconst log = debug('tabs-controller');\r\n\r\nclass TabsController {\r\n\tconstructor(element, options) {\r\n\t\tlog('element', element);\r\n\t\tlog('options', options);\r\n\r\n\t\tthis.options = options;\r\n\t\tthis.element = element;\r\n\t\tthis.$element = $(element);\r\n\r\n\t\tthis.tabs = this.selectors.selectTarget(\r\n\t\t\tthis.options.tabsSelector,\r\n\t\t\tthis.$element\r\n\t\t);\r\n\r\n\t\tthis.watch();\r\n\r\n\t\tlog('ready', this, this.$target);\r\n\t}\r\n\r\n\twatch() {\r\n\t\tlog('watching');\r\n\t\tthis.$element.on('closeothers', this.closeOtherTabs.bind(this));\r\n\t}\r\n\r\n\tcloseOtherTabs(event){\r\n\t\tconst openingTab = event.target;\r\n\r\n\t\tconst tabsToClose = this.tabs.filter(function(index, tab) {\r\n\t\t\treturn tab !== openingTab;\r\n\t\t});\r\n\r\n\t\ttabsToClose.each((index, tab) => {\r\n\t\t\ttab.dataset.collapsibleOpen = false;\r\n\t\t});\r\n\r\n\t}\r\n}\r\n\r\nTabsController.DEFAULTS = {};\r\n\r\nplugin(PLUGIN_NAME, TabsController);\r\n\r\n// $(document).ready(() => {\r\n// \t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n// });\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tplugin(PLUGIN_NAME, TabsController);\r\n\t\t$(element)[PLUGIN_NAME]();\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/tabs/tabs-controller.js","\r\nimport VideoBanner from \"./video-banner\";\r\nimport extractOptions from \"../../utilities/extractOptions\";\r\n\r\nexport function applyToElements() {\r\n\r\n const videoBannerElements = document.querySelectorAll(\"[data-video-banner]\");\r\n\r\n const videoBannerElementsArray = Array.prototype.slice.call(videoBannerElements);\r\n\r\n videoBannerElementsArray.forEach(function(element) {\r\n const options = Object.assign(\r\n {},\r\n VideoBanner.DEFAULTS,\r\n extractOptions(\"video-banner\", element)\r\n );\r\n const instance = new VideoBanner(element, options);\r\n element.instance = instance;\r\n });\r\n\r\n} \r\n\r\napplyToElements();\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/video-banner/index.js","\r\nexport default class VideoBanner {\r\n\r\n constructor(element, options) {\r\n\r\n this.element = element;\r\n this.options = options;\r\n\r\n this.init();\r\n this.watch();\r\n }\r\n\r\n init() {\r\n\r\n let doc = this.element.ownerDocument;\r\n this.window = doc.defaultView || doc.parentWindow;\r\n\r\n //extract sources from tags\r\n let sources = this.element.querySelectorAll(\"source\");\r\n this.sourceArray = [...sources].map((e) => {\r\n return {\r\n \"media\": e.getAttribute(\"media\"),\r\n \"src\": e.getAttribute(\"src\")\r\n };\r\n });\r\n\r\n //remove tags\r\n for (const elem of sources) {\r\n elem.remove();\r\n }\r\n\r\n this.updateSource();\r\n\r\n }\r\n\r\n watch() {\r\n\r\n let self = this;\r\n\r\n this.window.addEventListener(\"resize\",\r\n self.debounce(self.updateSource.bind(self), self.options.refreshRate)\r\n );\r\n\r\n }\r\n\r\n debounce(func, timeout = 300) {\r\n let timer;\r\n return (...args) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => { func.apply(this, args); }, timeout);\r\n };\r\n }\r\n\r\n updateSource() {\r\n\r\n let determinedSource;\r\n\r\n this.sourceArray.forEach((e) => {\r\n\r\n let windowWidth = this.window.innerWidth;\r\n\r\n if (e.media) {\r\n let [dir, width] = e.media.split(\":\");\r\n dir = dir.trim().toLowerCase();\r\n width = parseInt(width.replace(/\\D/g, ''));\r\n\r\n if (\r\n (dir === \"min-width\" && windowWidth > width) ||\r\n (dir === \"max-width\" && windowWidth < width)\r\n ) {\r\n determinedSource = e.src;\r\n }\r\n\r\n } else if (determinedSource == null) {\r\n determinedSource = e.src;\r\n }\r\n });\r\n\r\n let currentSource = this.element.getAttribute(\"src\");\r\n if (determinedSource != currentSource) {\r\n this.element.setAttribute(\"src\", determinedSource);\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\nVideoBanner.DEFAULTS = {\r\n refreshRate: 300\r\n};\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/video-banner/video-banner.js","import $ from 'jquery';\r\nimport debug from \"debug\";\r\n\r\nimport \"./plugins\";\r\nimport \"./components\";\r\nimport \"./vendor\";\r\n\r\nconst log = debug('fusion-core');\r\n\r\n$(()=>{\r\n\tlog('ready');\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/index.js","/*\r\nJquery Plugins\r\n\r\nThese jquery plugins aim to be used on several levels:\r\n\r\n1. firstly with data attributes in your html\r\n2. secondly as html instance methods once instantiated\r\n3. thirdly via event bus\r\n\r\nSee `Core.Global.Javascript.JqueryPlugin`\r\n\r\n```\r\nTodo\r\n\r\n[.*]--emit-before=\"\"\r\n[.*]--emit-after=\"\"\r\n[.*]--emit-success=\"\"\r\n[.*]--emit-error=\"\"\r\n\r\ndata-navigate\r\ndata-navigate--on=\"click\"\r\ndata-navigate--if=\"\"\r\ndata-navigate--url=\"/some/thing\"\r\n\r\n```\r\n\r\nStyleguide Global.Javascript\r\n*/\r\n\r\n\r\nimport \"./jquery__toggle-element-classes\";\r\nimport \"./jquery__remove-element-classes\";\r\nimport \"./jquery__add-element-classes\";\r\n// import \"./jquery__element-transitions\";\r\n// import \"./jquery__anchor-element\";\r\nimport \"./jquery__focus-within\";\r\nimport \"./jquery__inviewport\";\r\n\r\nimport \"./jquery__collapsible/plugin--split\";\r\nimport \"./jquery__focus\";\r\nimport \"./jquery__emit-on-dirty\";\r\nimport \"./jquery__trigger-event\";\r\nimport \"./jquery__enterkey-submit\";\r\n// import \"./jquery__broadcast-events\";\r\n// import \"./jquery__analytics-trigger\";\r\n// import \"./jquery__execute-method\";\r\n// import \"./jquery__responsive-tables\";\r\n// import \"./jquery__responsive-video\";\r\n\r\n\r\n// import \"./jquery__transport-elements\";\r\n// import \"./jquery__mediaquery-sensor\";\r\n// import \"./jquery__ajax-queue\";\r\n// import \"./jquery__manifest-asset\";\r\n// import \"./jquery__sticky\";\r\n// import \"./jquery__truncate-text\";\r\n// import \"./jquery__prevent-default\";\r\n// import \"./jquery__stop-propagation\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/index.js","\r\nimport $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\n\r\nexport const ELEMENT_SELECTOR = '[data-add-element-classes]';\r\nexport const PLUGIN_NAME = 'AddElementClasses';\r\n\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--add-element-classes\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__add-element-classes/index.js","import plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-collapsible]';\r\nconst PLUGIN_NAME = 'Collapsible';\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--collapsible\" */ \"./collapsible.js\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__collapsible/plugin--split.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\n\r\nexport const ELEMENT_SELECTOR = '[data-emit-on-dirty]';\r\nexport const PLUGIN_NAME = 'EmitOnDirty';\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--emit-on-dirty\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__emit-on-dirty/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nexport const ELEMENT_SELECTOR = '[data-enterkey-submit]';\r\nexport const PLUGIN_NAME = 'enterkeySubmit';\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--trigger-event\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__enterkey-submit/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\n\r\nexport const ELEMENT_SELECTOR = '[data-focus-within]';\r\nexport const PLUGIN_NAME = 'FocusWithin';\r\n\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--focus-within\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__focus-within/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\n\r\nexport const ELEMENT_SELECTOR = '[data-focus-element]';\r\nexport const PLUGIN_NAME = 'FocusElement';\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--focus-element\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__focus/index.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nexport const PLUGIN_NAME = \"InViewport\";\r\nexport const ELEMENT_SELECTOR = \"[data-in-viewport]\";\r\n\r\nif (\"IntersectionObserver\" in window) {\r\n\t$(() => {\r\n\t\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\t\tSystem.import(\r\n\t\t\t\t/* webpackChunkName: \"plugin--in-viewport\" */ \"./in-viewport.js\"\r\n\t\t\t).then((module) => {\r\n\t\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__inviewport/index.js","\r\nimport $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\n\r\nexport const ELEMENT_SELECTOR = '[data-remove-element-classes]';\r\nexport const PLUGIN_NAME = 'RemoveElementClasses';\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--remove-element-classes\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__remove-element-classes/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\n\r\nexport const ELEMENT_SELECTOR = '[data-toggle-element-classes]';\r\nexport const PLUGIN_NAME = 'ToggleElementClasses';\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--toggle-element-classes\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__toggle-element-classes/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nexport const ELEMENT_SELECTOR = '[data-trigger-event]';\r\nexport const PLUGIN_NAME = 'triggerEvent';\r\n\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--trigger-event\" */ './plugin.js'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__trigger-event/index.js","// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\nexport function debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this, args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/fn.js","/*\r\njQuery plugin\r\n\r\n\r\n```\r\nimport debug from 'debug';\r\nimport plugin from '@core/plugins/lib';\r\n\r\nconst ELEMENT_SELECTOR = '[data-my-plugin]';\r\nconst PLUGIN_NAME = 'MyPlugin';\r\nconst MODULE_NAME = 'plugins/my-plugin';\r\nconst log = debug(MODULE_NAME);\r\n\r\nclass PluginKlass {\r\n constructor(element, options) {\r\n log('new instance', element, options);\r\n\r\n this.element = element;\r\n this.options = options;\r\n this.$element = $(element);\r\n\r\n log('ready', this.$element);\r\n\r\n this.init();\r\n }\r\n}\r\n\r\nPluginKlass.DEFAULTS = {\r\n someCamelCasedProperty: `${PLUGIN_NAME}:something`,\r\n};\r\n\r\nplugin(PLUGIN_NAME, PluginKlass);\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n```\r\n\r\nThen using it in html:\r\n```\r\n
\r\n```\r\n\r\nStyelguide Core.Global.Javascript.JqueryPlugin\r\n*/\r\nimport $ from 'jquery';\r\nimport debug from 'debug';\r\n\r\nimport * as fn from './fn';\r\nimport * as strings from './strings';\r\nimport * as objects from './objects';\r\nimport * as selectors from './selectors';\r\n// import * as events from './events';\r\n\r\nimport {toCamelCase} from './strings';\r\nimport { selectTarget } from './selectors';\r\n\r\nconst log = debug('core/plugins/lib');\r\n\r\nexport default function plugin(pluginName, klass, shortHand = false) {\r\n const formattedPluginName = toCamelCase(pluginName);\r\n const dataName = `__${formattedPluginName}`;\r\n const old = $.fn[formattedPluginName];\r\n const ZERO = 0;\r\n\r\n klass.$bus = {\r\n subscribe: function(event, fn) {\r\n $(this).bind(event, fn);\r\n },\r\n publish: function(event, data) {\r\n $(this).trigger(event, [data]);\r\n }\r\n };\r\n\r\n klass.$util = {\r\n fn,\r\n objects,\r\n strings,\r\n selectors,\r\n };\r\n\r\n klass.prototype.selectors = selectors;\r\n klass.prototype.strings = strings;\r\n klass.prototype.objects = objects;\r\n klass.prototype.fn = fn;\r\n klass.prototype.inViewport = function (elm) {\r\n var rect = elm.getBoundingClientRect();\r\n var viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);\r\n return !(rect.bottom < 0 || rect.top - viewHeight >= 0);\r\n };\r\n\r\n $.fn[pluginName] = function PluginFactory (option) {\r\n return this.each(function PluginInstanceFactory () {\r\n const $this = $(this);\r\n const data = $this.data();\r\n const overrides = typeof option === 'object' && option;\r\n const elementOptions = Object\r\n .keys(data)\r\n .filter((key) => {\r\n return toCamelCase(key).indexOf(formattedPluginName) >= ZERO;\r\n })\r\n .reduce((result, path) => {\r\n const data = path && $this.data(path);\r\n const key = toCamelCase(path.replace(new RegExp(`${formattedPluginName}-?`), ''));\r\n log(path, key, $this.data(path));\r\n\r\n if (key && data !== undefined) {\r\n result[key] = data;\r\n }\r\n return result;\r\n }, {});\r\n log(pluginName, { elementOptions});\r\n let instance = $this.data(dataName);\r\n const options = $.extend({}, klass.DEFAULTS, elementOptions, overrides);\r\n\r\n // store reference to instance\r\n if (!instance) {\r\n instance = new klass(this, options);\r\n instance.$utils = klass.$util;\r\n $this.data(dataName, instance);\r\n $this.addClass(`u-${pluginName}`);\r\n }\r\n\r\n // execute instance method\r\n if (typeof option === 'string') {\r\n instance[option]();\r\n }\r\n });\r\n };\r\n\r\n // - Short hand\r\n if (shortHand) {\r\n $[formattedPluginName] = (options) => $({})[formattedPluginName](options);\r\n }\r\n\r\n // - No conflict\r\n // $.fn[formattedPluginName].noConflict = function noConflict () {\r\n // $.fn[formattedPluginName] = old;\r\n // };\r\n}\r\n\r\nexport function jquery (name) {\r\n return function decorate (target) {\r\n plugin(name, target);\r\n };\r\n}\r\n\r\nexport function defaults (options) {\r\n return function decorate (target) {\r\n target.DEFAULTS = options;\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/index.js","import debug from 'debug';\r\nimport { toCamelCase } from './strings';\r\nconst MODULE_NAME = 'app.core/lib/objects';\r\nconst log = debug(MODULE_NAME);\r\n\r\n\r\nconst ZERO = 0;\r\n\r\n/**\r\n * Convert an elements attributes to an object, optionally filtering based on some predicate.\r\n * @param {DOMElement} element [description]\r\n * @param {Function} filterFn filtering function. return false to omit attribute.\r\n * @param {Function} transformFn transform attribute name function. returns camelCase by default\r\n * @return {[type]} [description]\r\n */\r\nexport function elementAttrtibutesToObject(element, filterFn = () => true, transformFn = (name) => toCamelCase(name)) {\r\n const output = {};\r\n const attrs = Array.from($(element).get(ZERO).attributes);\r\n\r\n if (!attrs) {\r\n return output;\r\n }\r\n\r\n log(`converting element attributes to object`, attrs);\r\n\r\n return attrs.reduce((result, attribute) => {\r\n if (filterFn(attribute)) {\r\n const name = transformFn(attribute.name);\r\n let value = attribute.value;\r\n\r\n if (value === 'false' || value === 'true') {\r\n value = Boolean(value);\r\n }\r\n result[name] = attribute.value;\r\n }\r\n\r\n return result;\r\n }, output);\r\n\r\n}\r\n\r\n\r\n/**\r\n * Object.prop()\r\n *\r\n * Allows dot-notation access to object properties for both getting and setting.\r\n *\r\n * @param {Object} obj The object we're getting from or setting\r\n * @param {string} prop The dot-notated string defining the property location\r\n * @param {mixed} val For setting only; the value to set\r\n */\r\n\r\nexport function objectPath (obj, path, val, options = {delimiter: '.'}) {\r\n const props = path.split(options.delimiter);\r\n const final = props.pop();\r\n let part;\r\n\r\n for (var index = 0; index < props.length; index++) {\r\n part = props[index];\r\n if (typeof obj[part] === 'undefined') {\r\n // If we're setting\r\n if (typeof val !== 'undefined' && index != props.length) {\r\n // If we're not at the end of the props, keep adding new empty objects\r\n obj[part] = {};\r\n }\r\n else {\r\n return undefined;\r\n }\r\n }\r\n obj = obj[part];\r\n }\r\n return typeof val !== \"undefined\" ? (obj[final] = val) : obj[final];\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/objects.js","import $ from 'jquery';\r\nimport debug from 'debug';\r\nconst log = debug('core/plugins/lib/selectors');\r\n\r\nexport function selectorPattern(...directives) {\r\n\treturn new RegExp(`\\\\((${directives.join('|')})(.*)\\\\)\\\\s?(.*)`);\r\n}\r\n\r\nexport const SELECTOR_PATTERNS = {\r\n\r\n\t// .find\r\n\t\"children\": selectorPattern('children'),\r\n\r\n\t// .closest\r\n\t\"parent\": selectorPattern('parent'),\r\n\t\"from\": selectorPattern('from'),\r\n\t\"parents\": selectorPattern('parents'),\r\n\t\"siblings\": selectorPattern('siblings'),\r\n\t\"here\": selectorPattern('here'),\r\n\t\"self\": selectorPattern('self'),\r\n};\r\n\r\nexport function selectTarget(selector, $element) {\r\n\tlet $target;\r\n\r\n\tconst isClosestAncestoral = selector.match(SELECTOR_PATTERNS.parent);\r\n\tconst isAllAncestoral = selector.match(SELECTOR_PATTERNS.parents);\r\n\tconst isRetargeted = selector.match(SELECTOR_PATTERNS.from);\r\n\tconst isAllDescendants = selector.match(SELECTOR_PATTERNS.children);\r\n\tconst isGenerational = selector.match(SELECTOR_PATTERNS.here);\r\n\tconst isSiblings = selector.match(SELECTOR_PATTERNS.siblings);\r\n\tconst isSelfish = selector.match(SELECTOR_PATTERNS.self);\r\n\r\n\t// special retargeting root\r\n\tif (isRetargeted) {\r\n\t\tlog('isRetargeted', isRetargeted[2], isRetargeted[3]);\r\n\t\tconst $newElement = selectTarget(isRetargeted[2], $element);\r\n\t\tconst newSelector = `(children) ${isRetargeted[3]}`;\r\n\t\tlog('isRetargeted.newElement', $newElement);\r\n\t\tlog('isRetargeted.newSelector', newSelector);\r\n\t\t$target = selectTarget(newSelector, $newElement);\r\n\t\tlog('isRetargeted.target', $target);\r\n\t}\r\n\r\n\t// target is all ancestors\r\n\telse if (isAllAncestoral) {\r\n\t\tlog('isAllAncestoral', isAllAncestoral);\r\n\t\t$target = $element.parents(isAllAncestoral[isAllAncestoral.length - 1]);\r\n\t}\r\n\t// target is closest ancestor\r\n\telse if (isClosestAncestoral) {\r\n\t\tlog('isClosestAncestoral', isClosestAncestoral);\r\n\t\t$target = $element.closest(isClosestAncestoral[isClosestAncestoral.length - 1]);\r\n\t}\r\n\t// target is somewhere under current parent\r\n\telse if (isGenerational) {\r\n\t\tlog('isGenerational', isGenerational);\r\n\t\t$target = $element.parent().find(isGenerational[isGenerational.length - 1]);\r\n\t}\r\n\t// target is only under self\r\n\telse if (isAllDescendants) {\r\n\t\tlog('isAllDescendants', isAllDescendants);\r\n\t\t$target = $element.find(isAllDescendants[isAllDescendants.length - 1]);\r\n\t}\r\n\t// target is somewhere in siblings only\r\n\telse if (isSiblings) {\r\n\t\tlog('isSiblings', isSiblings);\r\n\t\t$target = $element.siblings(isSiblings[isSiblings.length - 1]);\r\n\t}\r\n\t// target is source\r\n\telse if (!selector || isSelfish) {\r\n\t\tlog('isSelfish', isSelfish);\r\n\t\tvar selector = isSelfish[isSelfish.length - 1] || '*';\r\n\t\t$target = $element.filter(selector);\r\n\t}\r\n\t// target could be anywhere\r\n\telse {\r\n\t\tlog('global', selector);\r\n\t\t$target = $(selector);\r\n\t}\r\n\treturn $target;\r\n}\r\n\r\nclass OnAvailable {\r\n\tconstructor(root) {\r\n\t\tthis.root = root || window.document.documentElement;\r\n\t\tthis.listeners = [];\r\n\t\tthis.observer;\r\n\t}\r\n\r\n\tready(selector, fn) {\r\n\t\t// Store the selector and callback to be monitored\r\n\t\tthis.listeners.push({\r\n\t\t\tselector: selector,\r\n\t\t\tfn: fn,\r\n\t\t});\r\n\r\n\t\tif (!this.observer) {\r\n\t\t\t// Watch for changes in the document\r\n\t\t\tthis.observer = onChange(this.root, this.check.bind(this), {\r\n\t\t\t\tchildList: true,\r\n\t\t\t\tsubtree: true,\r\n\t\t\t});\r\n\t\t}\r\n\t\t// Check if the element is currently in the DOM\r\n\t\tthis.check();\r\n\t}\r\n\r\n\tcheck() {\r\n\r\n\t\tconst listnersSelectorsArray = [];\r\n\t\tArray.from(this.listeners).forEach((listener) => {\r\n\t\t\tlistnersSelectorsArray.push(listener.selector);\r\n\t\t});\r\n\t\tconst listnersSelectors = listnersSelectorsArray.join(\",\");\r\n\t\tvar matchingElements = this.root.querySelectorAll(listnersSelectors);\r\n\t\t// Check the DOM for elements matching a stored selector\r\n\r\n\t\tArray.from(matchingElements).forEach((element) => {\r\n\r\n\t\t\tArray.from(this.listeners).forEach((listener) => {\r\n\t\t\t\tvar attributeName = listener.selector.substring(1, listener.selector.length - 1);\r\n\t\t\t\tif (element.hasAttribute(attributeName) && !element[attributeName]) {\r\n\t\t\t\t\t// console.log(element, attributeName);\r\n\t\t\t\t\tlistener.fn.call(element, element);\r\n\t\t\t\t\telement[attributeName] = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// for (\r\n\t\t// \tvar i = 0, len = this.listeners.length, listener, elements;\r\n\t\t// \ti < len;\r\n\t\t// \ti++\r\n\t\t// ) {\r\n\t\t// \tlistener = this.listeners[i];\r\n\t\t// \tdebugger;\r\n\t\t// \t// Query for elements matching the specified selector\r\n\t\t// \telements = this.root.querySelectorAll(listener.selector);\r\n\t\t// \tfor (var j = 0, jLen = elements.length, element; j < jLen; j++) {\r\n\t\t// \t\telement = elements[j];\r\n\t\t// \t\t// Make sure the callback isn't invoked with the\r\n\t\t// \t\t// same element more than once\r\n\t\t// \t\tif (!element.ready) {\r\n\t\t// \t\t\telement.ready = true;\r\n\t\t// \t\t\t// Invoke the callback with the element\r\n\t\t// \t\t\tlistener.fn.call(element, element);\r\n\t\t// \t\t}\r\n\t\t// \t}\r\n\t\t// }\r\n\t}\r\n}\r\n\r\nexport var onAvailable = new OnAvailable(window.document.documentElement);\r\n\r\nexport function onChange(element, fn, options) {\r\n\tvar MutationObserver =\r\n\t\twindow.MutationObserver || window.WebKitMutationObserver;\r\n\tvar observer = new MutationObserver(fn);\r\n\tobserver.observe(\r\n\t\telement,\r\n\t\toptions || {\r\n\t\t\tattributes: true,\r\n\t\t\tchildList: true,\r\n\t\t\tsubtree: true,\r\n\t\t}\r\n\t);\r\n\treturn observer;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/selectors.js","import $ from 'jquery';\r\nimport debug from 'debug';\r\n\r\nconst log = debug('core/jquery_plugin/strings');\r\n\r\nfunction preserveCamelCase(str) {\r\n let isLastCharLower = false;\r\n let isLastCharUpper = false;\r\n let isLastLastCharUpper = false;\r\n\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str[i];\r\n\r\n if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) {\r\n str = str.substr(0, i) + '-' + str.substr(i);\r\n isLastCharLower = false;\r\n isLastLastCharUpper = isLastCharUpper;\r\n isLastCharUpper = true;\r\n i++;\r\n } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) {\r\n str = str.substr(0, i - 1) + '-' + str.substr(i - 1);\r\n isLastLastCharUpper = isLastCharUpper;\r\n isLastCharUpper = false;\r\n isLastCharLower = true;\r\n } else {\r\n isLastCharLower = c.toLowerCase() === c;\r\n isLastLastCharUpper = isLastCharUpper;\r\n isLastCharUpper = c.toUpperCase() === c;\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\nexport function toCamelCase (str) {\r\n if (arguments.length > 1) {\r\n str = Array.from(arguments)\r\n .map(x => x.trim())\r\n .filter(x => x.length)\r\n .join('-');\r\n } else {\r\n str = str.trim();\r\n }\r\n\r\n if (str.length === 0) {\r\n return '';\r\n }\r\n\r\n if (str.length === 1) {\r\n return str.toLowerCase();\r\n }\r\n\r\n if (/^[a-z0-9]+$/.test(str)) {\r\n return str;\r\n }\r\n\r\n const hasUpperCase = str !== str.toLowerCase();\r\n\r\n if (hasUpperCase) {\r\n str = preserveCamelCase(str);\r\n }\r\n\r\n return str\r\n .replace(/^[_.\\- ]+/, '')\r\n .toLowerCase()\r\n .replace(/[_.\\- ]+(\\w|$)/g, (m, p1) => p1.toUpperCase());\r\n};\r\n\r\n\r\nexport function tmpl(str, context) {\r\n let result = str;\r\n\r\n if (result) {\r\n\r\n Object.keys(context)\r\n .forEach((item) => {\r\n result = result.replace(`{{${item}}}`, context[item]);\r\n });\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function $tmpl(element, context) {\r\n const $target = $(element);\r\n const templateString = $target.attr('data-text-template');\r\n const result = tmpl(templateString, context);\r\n\r\n $target.text(result);\r\n}\r\n\r\n/**\r\n * https://github.com/aishikaty/tiny-mustache\r\n * https://mustache.github.io/\r\n * @param {String} template [description]\r\n * @param {[type]} self [description]\r\n * @param {[type]} parent [description]\r\n * @param {[type]} invert [description]\r\n * @return {[type]} [description]\r\n */\r\nexport function mustache(template, self, parent, invert) {\r\n var render = mustache;\r\n var output = \"\";\r\n var i;\r\n\r\n log('mustache', {template, self, parent, invert});\r\n\r\n function get(ctx, path) {\r\n path = path.pop ? path : path.split(\".\");\r\n ctx = ctx[path.shift()] || \"\";\r\n return (0 in path) ? get(ctx, path) : ctx;\r\n }\r\n\r\n self = Array.isArray(self) ? self : (self ? [self] : []);\r\n self = invert ? (0 in self) ? [] : [1] : self;\r\n\r\n for (i = 0; i < self.length; i++) {\r\n var childCode = '';\r\n var depth = 0;\r\n var inverted;\r\n var ctx = (typeof self[i] == \"object\") ? self[i] : {};\r\n ctx = Object.assign({}, parent, ctx);\r\n ctx[\"\"] = { \"\": self[i] };\r\n\r\n template.replace(/([\\s\\S]*?)({{((\\/)|(\\^)|#)(.*?)}}|$)/g,\r\n function (match, code, y, z, close, invert, name) {\r\n\r\n if (!depth) {\r\n output += code.replace(/{{{(.*?)}}}|{{(!?)(&?)(>?)(.*?)}}/g,\r\n function (match, raw, comment, isRaw, partial, name) {\r\n return raw ? get(ctx, raw)\r\n : isRaw ? get(ctx, name)\r\n : partial ? render(get(ctx, name), ctx)\r\n : !comment ? new Option(get(ctx, name)).innerHTML\r\n : \"\";\r\n }\r\n );\r\n inverted = invert;\r\n\r\n } else {\r\n childCode += depth && !close || depth > 1 ? match : code;\r\n }\r\n\r\n if (close) {\r\n if (!--depth) {\r\n name = get(ctx, name);\r\n if (/^f/.test(typeof name)) {\r\n output += name.call(ctx, childCode, function (template) {\r\n return render(template, ctx);\r\n });\r\n } else {\r\n output += render(childCode, name, ctx, inverted);\r\n }\r\n childCode = \"\";\r\n }\r\n\r\n } else {\r\n ++depth;\r\n }\r\n log(`mustache.output.${depth}`, {output});\r\n }\r\n );\r\n }\r\n log('mustache.output', {output});\r\n return output;\r\n}\r\n\r\nexport function booleanify(value) {\r\n const lower = value.toLowerCase();\r\n if (lower === 'false' || lower === '0') {\r\n return false;\r\n }\r\n return new Boolean(value);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/strings.js","/*\r\n * Unlike other utility files, this is not adding functions to the utility scope\r\n * This is instead included by some components\r\n */\r\n\r\nfunction getJSONValue(stringValue) {\r\n\ttry {\r\n\t\treturn JSON.parse(stringValue);\r\n\t} catch (error) {\r\n\t\treturn stringValue;\r\n\t}\r\n}\r\n\r\nfunction camelCase(string) {\r\n return string.replace(/^([A-Z])|[\\s-_](\\w)/g, function(match, p1, p2) {\r\n if (p2) {\r\n return p2.toUpperCase();\r\n }\r\n\r\n return p1.toLowerCase();\r\n });\r\n}\r\n\r\nfunction getOptionData(element) {\r\n\tconst dataset = element.dataset;\r\n\tconst data = {};\r\n\r\n\tfor (const prop in dataset) {\r\n\t\tif (dataset.hasOwnProperty(prop)) {\r\n\t\t\tdata[prop] = dataset[prop];\r\n\t\t}\r\n\t}\r\n\treturn data || {};\r\n}\r\n\r\nfunction extractComponentOptions(name, data) {\r\n\tconst options = {};\r\n\tconst cameledName = camelCase(name);\r\n\tfor (const prop in data) {\r\n\t\tif (prop.startsWith(cameledName) && prop !== cameledName) {\r\n\t\t\toptions[camelCase(prop.slice(cameledName.length))] =\r\n\t\t\t\tgetJSONValue(data[prop]);\r\n\t\t}\r\n\t}\r\n\treturn options;\r\n}\r\n\r\nexport default function(name, element) {\r\n\treturn extractComponentOptions(name, getOptionData(element));\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/utilities/extractOptions.js","module.exports = jQuery;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"jQuery\"\n// module id = external \"jQuery\"\n// module chunks = core site__ale001 azure__ale001 vendor"],"sourceRoot":""}