{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/src/js/polyfill.js","webpack:///./node_modules/feature-detect-es6/index.js","webpack:///./node_modules/array-back/lib/array-back.js","webpack:///./node_modules/typical/lib/typical.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","detect","fetch","eval","err","polyfillScript","document","getElementById","all","console","log","babelPolyfillScript","createElement","src","body","insertBefore","fetchScript","arrayify","evaluates","statement","class","arrowFunction","let","const","newArrayFeatures","Array","find","findIndex","from","of","entries","keys","copyWithin","fill","newObjectFeatures","assign","setPrototypeOf","getOwnPropertySymbols","is","collections","Map","WeakMap","Set","WeakSet","generators","promises","Promise","templateStrings","symbols","for","destructuring","spread","defaultParamValues","asyncFunctions","arguments","every","testName","method","Error","input","undefined","isArrayLike","slice","isArray","isObject","isDefined","isFunction","isNumber","isNaN","parseFloat","isFinite","isString","isBoolean","isPlainObject","constructor","length","isClass","test","Function","toString","isPrimitive","isPromise","isThenable","then","isIterable","iterator"],"mappings":"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","file":"polyfill.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/* eslint-disable no-console, no-eval */\nimport detect from 'feature-detect-es6';\n\ndetect.fetch = () => {\n try {\n eval('fetch');\n return true;\n } catch (err) {\n return false;\n }\n};\n\nconst polyfillScript = document.getElementById('polyfill-script');\n\nif (!detect.all('class', 'spread', 'destructuring', 'let', 'const', 'arrowFunction', 'generators', 'defaultParamValues', 'templateStrings', 'collections', 'newArrayFeatures', 'promises', 'fetch')) {\n console.log('No es2017, using es5 and polyfills. We recommend using a modern browser such as the latest versions of Firefox, Opera, Chrome, Edge, or Safari.');\n const babelPolyfillScript = document.createElement('script');\n babelPolyfillScript.src = '/assets/dist/js/babel-polyfill.min.js';\n document.body.insertBefore(babelPolyfillScript, polyfillScript);\n const fetchScript = document.createElement('script');\n fetchScript.src = 'https://cdnjs.cloudflare.com/ajax/libs/fetch/2.0.3/fetch.min.js';\n document.body.insertBefore(fetchScript, polyfillScript);\n}\n/* eslint-enable no-console, no-eval */\n","'use strict'\nvar arrayify = require('array-back')\n\n/**\n * Detect which ES6 (ES2015 and above) features are available.\n *\n * @module feature-detect-es6\n * @typicalname detect\n * @example\n * var detect = require('feature-detect-es6')\n *\n * if (detect.all('class', 'spread', 'let', 'arrowFunction')){\n * // safe to run ES6 code natively..\n * } else {\n * // run your transpiled ES5..\n * }\n */\n\n/**\n * Returns true if the `class` statement is available.\n *\n * @returns {boolean}\n */\nexports.class = function () {\n return evaluates('class Something {}')\n}\n\n/**\n * Returns true if the arrow functions available.\n *\n * @returns {boolean}\n */\nexports.arrowFunction = function () {\n return evaluates('var f = x => 1')\n}\n\n/**\n * Returns true if the `let` statement is available.\n *\n * @returns {boolean}\n */\nexports.let = function () {\n return evaluates('let a = 1')\n}\n\n/**\n * Returns true if the `const` statement is available.\n *\n * @returns {boolean}\n */\nexports.const = function () {\n return evaluates('const a = 1')\n}\n\n/**\n * Returns true if the [new Array features](http://exploringjs.com/es6/ch_arrays.html) are available (exluding `Array.prototype.values` which has zero support anywhere).\n *\n * @returns {boolean}\n */\nexports.newArrayFeatures = function () {\n return typeof Array.prototype.find !== 'undefined' &&\n typeof Array.prototype.findIndex !== 'undefined' &&\n typeof Array.from !== 'undefined' &&\n typeof Array.of !== 'undefined' &&\n typeof Array.prototype.entries !== 'undefined' &&\n typeof Array.prototype.keys !== 'undefined' &&\n typeof Array.prototype.copyWithin !== 'undefined' &&\n typeof Array.prototype.fill !== 'undefined'\n}\n\n/**\n * Returns true if the new functions of Object are available.\n *\n * @returns {boolean}\n */\nexports.newObjectFeatures = function () {\n return typeof Object.assign !== 'undefined' &&\n typeof Object.setPrototypeOf !== 'undefined' &&\n typeof Object.getOwnPropertySymbols !== 'undefined' &&\n typeof Object.is !== 'undefined'\n}\n\n/**\n * Returns true if `Map`, `WeakMap`, `Set` and `WeakSet` are available.\n *\n * @returns {boolean}\n */\nexports.collections = function () {\n return typeof Map !== 'undefined' &&\n typeof WeakMap !== 'undefined' &&\n typeof Set !== 'undefined' &&\n typeof WeakSet !== 'undefined'\n}\n\n/**\n * Returns true if generators are available.\n *\n * @returns {boolean}\n */\nexports.generators = function () {\n return evaluates('function* test() {}')\n}\n\n/**\n * Returns true if `Promise` is available.\n *\n * @returns {boolean}\n */\nexports.promises = function () {\n return typeof Promise !== 'undefined'\n}\n\n/**\n * Returns true if template strings are available.\n *\n * @returns {boolean}\n */\nexports.templateStrings = function () {\n return evaluates('var a = `a`')\n}\n\n/**\n * Returns true if `Symbol` is available.\n *\n * @returns {boolean}\n */\nexports.symbols = function () {\n return typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n}\n\n/**\n * Returns true if destructuring is available.\n *\n * @returns {boolean}\n */\nexports.destructuring = function () {\n return evaluates(\"var { first: f, last: l } = { first: 'Jane', last: 'Doe' }\")\n}\n\n/**\n * Returns true if the spread operator (`...`) is available.\n *\n * @returns {boolean}\n */\nexports.spread = function () {\n return evaluates('Math.max(...[ 5, 10 ])')\n}\n\n/**\n * Returns true if default parameter values are available.\n *\n * @returns {boolean}\n */\nexports.defaultParamValues = function () {\n return evaluates('function test (one = 1) {}')\n}\n\n/**\n * Returns true if async functions are available.\n *\n * @returns {boolean}\n */\nexports.asyncFunctions = function () {\n return evaluates('async function test () {}')\n}\n\nfunction evaluates (statement) {\n try {\n eval(statement)\n return true\n } catch (err) {\n return false\n }\n}\n\n/**\n * Returns true if *all* specified features are detected.\n *\n * @returns {boolean}\n * @param [...feature] {string} - the features to detect.\n * @example\n * var result = detect.all('class', 'spread', 'let', 'arrowFunction')\n */\nexports.all = function () {\n return arrayify(arguments).every(function (testName) {\n var method = exports[testName]\n if (method && typeof method === 'function') {\n return method()\n } else {\n throw new Error('no detection available by this name: ' + testName)\n }\n })\n}\n","'use strict'\nvar t = require('typical')\n\n/**\n * @module array-back\n * @example\n * var arrayify = require(\"array-back\")\n */\nmodule.exports = arrayify\n\n/**\n * Takes any input and guarantees an array back.\n *\n * - converts array-like objects (e.g. `arguments`) to a real array\n * - converts `undefined` to an empty array\n * - converts any another other, singular value (including `null`) into an array containing that value\n * - ignores input which is already an array\n *\n * @param {*} - the input value to convert to an array\n * @returns {Array}\n * @alias module:array-back\n * @example\n * > a.arrayify(undefined)\n * []\n *\n * > a.arrayify(null)\n * [ null ]\n *\n * > a.arrayify(0)\n * [ 0 ]\n *\n * > a.arrayify([ 1, 2 ])\n * [ 1, 2 ]\n *\n * > function f(){ return a.arrayify(arguments); }\n * > f(1,2,3)\n * [ 1, 2, 3 ]\n */\nfunction arrayify (input) {\n if (input === undefined) {\n return []\n } else if (t.isArrayLike(input)) {\n return Array.prototype.slice.call(input)\n } else {\n return Array.isArray(input) ? input : [ input ]\n }\n}\n","'use strict'\n\n/**\n * For type-checking Javascript values.\n * @module typical\n * @typicalname t\n * @example\n * const t = require('typical')\n */\nexports.isNumber = isNumber\nexports.isString = isString\nexports.isBoolean = isBoolean\nexports.isPlainObject = isPlainObject\nexports.isArrayLike = isArrayLike\nexports.isObject = isObject\nexports.isDefined = isDefined\nexports.isFunction = isFunction\nexports.isClass = isClass\nexports.isPrimitive = isPrimitive\nexports.isPromise = isPromise\nexports.isIterable = isIterable\n\n/**\n * Returns true if input is a number\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n * @example\n * > t.isNumber(0)\n * true\n * > t.isNumber(1)\n * true\n * > t.isNumber(1.1)\n * true\n * > t.isNumber(0xff)\n * true\n * > t.isNumber(0644)\n * true\n * > t.isNumber(6.2e5)\n * true\n * > t.isNumber(NaN)\n * false\n * > t.isNumber(Infinity)\n * false\n */\nfunction isNumber (n) {\n return !isNaN(parseFloat(n)) && isFinite(n)\n}\n\n/**\n * A plain object is a simple object literal, it is not an instance of a class. Returns true if the input `typeof` is `object` and directly decends from `Object`.\n *\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n * @example\n * > t.isPlainObject({ clive: 'hater' })\n * true\n * > t.isPlainObject(new Date())\n * false\n * > t.isPlainObject([ 0, 1 ])\n * false\n * > t.isPlainObject(1)\n * false\n * > t.isPlainObject(/test/)\n * false\n */\nfunction isPlainObject (input) {\n return input !== null && typeof input === 'object' && input.constructor === Object\n}\n\n/**\n * An array-like value has all the properties of an array, but is not an array instance. Examples in the `arguments` object. Returns true if the input value is an object, not null and has a `length` property with a numeric value.\n *\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n * @example\n * function sum(x, y){\n * console.log(t.isArrayLike(arguments))\n * // prints `true`\n * }\n */\nfunction isArrayLike (input) {\n return isObject(input) && typeof input.length === 'number'\n}\n\n/**\n * returns true if the typeof input is `'object'`, but not null!\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isObject (input) {\n return typeof input === 'object' && input !== null\n}\n\n/**\n * Returns true if the input value is defined\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isDefined (input) {\n return typeof input !== 'undefined'\n}\n\n/**\n * Returns true if the input value is a string\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isString (input) {\n return typeof input === 'string'\n}\n\n/**\n * Returns true if the input value is a boolean\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isBoolean (input) {\n return typeof input === 'boolean'\n}\n\n/**\n * Returns true if the input value is a function\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isFunction (input) {\n return typeof input === 'function'\n}\n\n/**\n * Returns true if the input value is an es2015 `class`.\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isClass (input) {\n if (isFunction(input)) {\n return /^class /.test(Function.prototype.toString.call(input))\n } else {\n return false\n }\n}\n\n/**\n * Returns true if the input is a string, number, symbol, boolean, null or undefined value.\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isPrimitive (input) {\n if (input === null) return true\n switch (typeof input) {\n case \"string\":\n case \"number\":\n case \"symbol\":\n case \"undefined\":\n case \"boolean\":\n return true\n default:\n return false\n }\n}\n\n/**\n * Returns true if the input is a Promise.\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isPromise (input) {\n if (input) {\n var isPromise = isDefined(Promise) && input instanceof Promise\n var isThenable = input.then && typeof input.then === 'function'\n return isPromise || isThenable ? true : false\n } else {\n return false\n }\n}\n\n/**\n * Returns true if the input is an iterable (`Map`, `Set`, `Array` etc.).\n * @param {*} - the input to test\n * @returns {boolean}\n * @static\n */\nfunction isIterable (input) {\n if (input === null || !isDefined(input)) {\n return false\n } else {\n return typeof input[Symbol.iterator] === 'function'\n }\n}\n"],"sourceRoot":""}