@shaaditech/react-cc-validator
Version:
Credit/Debit card number validation library with input formatting
393 lines (313 loc) • 771 kB
JavaScript
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./example/src/index.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./example/src/index.js":
/*!******************************!*\
!*** ./example/src/index.js ***!
\******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar _CardNumberValidator = __webpack_require__(/*! ../../src/CardNumberValidator */ \"./src/CardNumberValidator.js\");\n\nvar _CardNumberValidator2 = _interopRequireDefault(_CardNumberValidator);\n\nvar _styles = __webpack_require__(/*! ./styles */ \"./example/src/styles.js\");\n\nvar _styles2 = _interopRequireDefault(_styles);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar validCardTypes = ['visa', 'maestro', 'master-card', 'unionpay'];\n\nvar App = function App() {\n return _react2.default.createElement(\n 'div',\n { style: _styles2.default.wrapper },\n _react2.default.createElement(\n 'h2',\n { style: _styles2.default.heading },\n 'Credit/Debit card number validation'\n ),\n _react2.default.createElement(\n _CardNumberValidator2.default,\n {\n validCardTypes: validCardTypes },\n function (_ref) {\n var isValid = _ref.isValid,\n cardType = _ref.cardType,\n getInputProps = _ref.getInputProps;\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement('input', _extends({\n type: 'text'\n }, getInputProps(), {\n style: _styles2.default.input\n })),\n _react2.default.createElement(\n 'div',\n { style: _styles2.default.cardType },\n isValid ? cardType : ''\n ),\n isValid || _react2.default.createElement(\n 'div',\n { style: _styles2.default.errorMessage },\n 'Card number is invalid'\n )\n );\n }\n )\n );\n};\n\n(0, _reactDom.render)(_react2.default.createElement(App, null), document.getElementById('root'));\n\n//# sourceURL=webpack:///./example/src/index.js?");
/***/ }),
/***/ "./example/src/styles.js":
/*!*******************************!*\
!*** ./example/src/styles.js ***!
\*******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n wrapper: {\n textAlign: 'center',\n margin: '2em auto',\n fontFamily: 'Roboto, sans-serif'\n },\n errorMessage: {\n color: '#e74c3c'\n },\n input: {\n outline: 'none',\n border: '1px solid #ccc',\n padding: '10px 20px',\n borderRadius: '3px',\n width: '300px',\n fontSize: '1.1em',\n color: '#555',\n textAlign: 'center'\n },\n cardType: {},\n heading: {\n color: '#555',\n margin: '0',\n padding: '1em 0 .5em'\n }\n};\n\n//# sourceURL=webpack:///./example/src/styles.js?");
/***/ }),
/***/ "./node_modules/@shaaditech/cc-number-formatter/build/card-formatter.js":
/*!******************************************************************************!*\
!*** ./node_modules/@shaaditech/cc-number-formatter/build/card-formatter.js ***!
\******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("(function (global, factory) {\n true ? factory(exports) :\n undefined;\n}(this, (function (exports) { 'use strict';\n\n var DEFAULT_FORMAT_REGEX = /(\\d{1,4})/g;\n\n var FULL_WIDTH_CHARS = '0123456789';\n var HALF_WIDTH_CHARS = '0123456789';\n\n var CARD_TYPES = [{\n type: 'maestro',\n pattern: /^(5(018|0[23]|[68])|6(39|7))/,\n formatRegex: DEFAULT_FORMAT_REGEX,\n validLengths: [12, 13, 14, 15, 16, 17, 18, 19]\n }, {\n type: 'visa',\n pattern: /^4/,\n formatRegex: DEFAULT_FORMAT_REGEX,\n validLengths: [13, 16]\n }, {\n type: 'amex',\n pattern: /^3[47]/,\n formatRegex: /(\\d{1,4})(\\d{1,6})?(\\d{1,5})?/,\n validLengths: [15]\n }, {\n type: 'dinersclub',\n pattern: /^3[0689]/,\n formatRegex: /(\\d{1,4})(\\d{1,6})?(\\d{1,4})?/,\n validLengths: [14]\n }, {\n type: 'unionpay',\n pattern: /^(62|88)/,\n formatRegex: DEFAULT_FORMAT_REGEX,\n validLengths: [16, 17, 18, 19]\n }, {\n type: 'unknown',\n pattern: /.*/,\n formatRegex: DEFAULT_FORMAT_REGEX,\n validLengths: [16]\n }];\n\n var Container = function Container(x) {\n return {\n map: function map(f) {\n return Container(f(x));\n },\n fold: function fold(f) {\n return f(x);\n }\n };\n };\n\n // export const Maybe = x => ({\n // map: f => Maybe(isEmpty(x)? x: f(x)),\n // fold: f => isEmpty(x)? x: f(x),\n // });\n\n var Either = function Either(x) {\n return !!x ? Either.Right(x) : Either.Left(x);\n };\n\n Either.Left = function (x) {\n return {\n // map: _ => Either.Left(x),\n fold: function fold(f, _) {\n return f(x);\n }\n };\n };\n\n Either.Right = function (x) {\n return {\n // map: f => Either.Right(f(x)),\n fold: function fold(_, f) {\n return f(x);\n }\n };\n };\n\n var _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\n function _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\n function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n var merge = function merge() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (carry, obj) {\n Object.keys(obj).forEach(function (key) {\n return carry[key] = obj[key];\n });\n return carry;\n }, {});\n };\n\n var FW_TO_HW_MAP = FULL_WIDTH_CHARS.split('').reduce(function (carry, char, index) {\n return merge(carry, _defineProperty({}, char, HALF_WIDTH_CHARS[index] || ''));\n }, {});\n\n var compact = function compact(arr) {\n return arr.filter(Boolean);\n };\n var join = function join(glue) {\n return function (arr) {\n return arr.join(glue);\n };\n };\n var split = function split(seperator) {\n return function (str) {\n return str.split(seperator);\n };\n };\n var head = function head(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n head = _ref2[0];\n\n return head;\n };\n var tail = function tail(_ref3) {\n var _ref4 = _toArray(_ref3),\n _ = _ref4[0],\n tail = _ref4.slice(1);\n\n return tail;\n };\n var max = function max(arr) {\n return Math.max.apply(Math, _toConsumableArray(arr));\n };\n\n var sliceString = function sliceString(str) {\n return function (max) {\n return str.slice(0, max);\n };\n };\n var getHalfWidthChar = function getHalfWidthChar(char) {\n return FW_TO_HW_MAP[char] || char;\n };\n var removeNonDigitCharacters = function removeNonDigitCharacters(num) {\n return num.replace(/\\D/g, '');\n };\n\n var getRegexMatches = function getRegexMatches(formatRegex) {\n return function (cardNum) {\n return Either(formatRegex.global).fold(function () {\n return Container(cardNum).map(function (num) {\n return formatRegex.exec(num) || [];\n }).map(tail).fold(compact);\n }, function () {\n return cardNum.match(formatRegex) || [];\n });\n };\n };\n\n var replaceFullWidthChars = function replaceFullWidthChars(str) {\n return Container(str || '').map(split('')).map(function (str) {\n return str.map(getHalfWidthChar);\n }).fold(join(''));\n };\n\n var sliceCardNumber = function sliceCardNumber(validLengths) {\n return function (cardNum) {\n return Container(validLengths).map(max).fold(sliceString(cardNum));\n };\n };\n\n var splitCardNumberIntoGroups = function splitCardNumberIntoGroups(cardNumber) {\n var _getCardType = getCardType(cardNumber),\n validLengths = _getCardType.validLengths,\n formatRegex = _getCardType.formatRegex;\n\n return Container(cardNumber).map(sliceCardNumber(validLengths)).fold(getRegexMatches(formatRegex));\n };\n\n var sanitizeCardNumber = function sanitizeCardNumber(cardNumber) {\n return Container(cardNumber).map(replaceFullWidthChars).fold(removeNonDigitCharacters);\n };\n\n var getCardType = function getCardType(cardNumber) {\n return Container(cardNumber).map(sanitizeCardNumber).map(function (num) {\n return CARD_TYPES.filter(function (card) {\n return card.pattern.test(num);\n });\n }).fold(head);\n };\n\n var formatCardNumber = function formatCardNumber(cardNumber) {\n return Container(cardNumber).map(sanitizeCardNumber).map(splitCardNumberIntoGroups).fold(join(' '));\n };\n\n exports.sanitizeCardNumber = sanitizeCardNumber;\n exports.getCardType = getCardType;\n exports.formatCardNumber = formatCardNumber;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n//# sourceURL=webpack:///./node_modules/@shaaditech/cc-number-formatter/build/card-formatter.js?");
/***/ }),
/***/ "./node_modules/card-validator/index.js":
/*!**********************************************!*\
!*** ./node_modules/card-validator/index.js ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nmodule.exports = {\n number: __webpack_require__(/*! ./src/card-number */ \"./node_modules/card-validator/src/card-number.js\"),\n expirationDate: __webpack_require__(/*! ./src/expiration-date */ \"./node_modules/card-validator/src/expiration-date.js\"),\n expirationMonth: __webpack_require__(/*! ./src/expiration-month */ \"./node_modules/card-validator/src/expiration-month.js\"),\n expirationYear: __webpack_require__(/*! ./src/expiration-year */ \"./node_modules/card-validator/src/expiration-year.js\"),\n cvv: __webpack_require__(/*! ./src/cvv */ \"./node_modules/card-validator/src/cvv.js\"),\n postalCode: __webpack_require__(/*! ./src/postal-code */ \"./node_modules/card-validator/src/postal-code.js\"),\n creditCardType: __webpack_require__(/*! credit-card-type */ \"./node_modules/credit-card-type/index.js\")\n};\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/index.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/card-number.js":
/*!********************************************************!*\
!*** ./node_modules/card-validator/src/card-number.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar luhn10 = __webpack_require__(/*! ./luhn-10 */ \"./node_modules/card-validator/src/luhn-10.js\");\nvar getCardTypes = __webpack_require__(/*! credit-card-type */ \"./node_modules/credit-card-type/index.js\");\n\nfunction verification(card, isPotentiallyValid, isValid) {\n return {card: card, isPotentiallyValid: isPotentiallyValid, isValid: isValid};\n}\n\nfunction cardNumber(value) {\n var potentialTypes, cardType, isPotentiallyValid, isValid, i, maxLength;\n\n if (typeof value === 'number') {\n value = String(value);\n }\n\n if (typeof value !== 'string') { return verification(null, false, false); }\n\n value = value.replace(/\\-|\\s/g, '');\n\n if (!/^\\d*$/.test(value)) { return verification(null, false, false); }\n\n potentialTypes = getCardTypes(value);\n\n if (potentialTypes.length === 0) {\n return verification(null, false, false);\n } else if (potentialTypes.length !== 1) {\n return verification(null, true, false);\n }\n\n cardType = potentialTypes[0];\n\n if (cardType.type === 'unionpay') { // UnionPay is not Luhn 10 compliant\n isValid = true;\n } else {\n isValid = luhn10(value);\n }\n\n maxLength = Math.max.apply(null, cardType.lengths);\n\n for (i = 0; i < cardType.lengths.length; i++) {\n if (cardType.lengths[i] === value.length) {\n isPotentiallyValid = value.length !== maxLength || isValid;\n return verification(cardType, isPotentiallyValid, isValid);\n }\n }\n\n return verification(cardType, value.length < maxLength, false);\n}\n\nmodule.exports = cardNumber;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/card-number.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/cvv.js":
/*!************************************************!*\
!*** ./node_modules/card-validator/src/cvv.js ***!
\************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar DEFAULT_LENGTH = 3;\n\nfunction includes(array, thing) {\n var i = 0;\n\n for (; i < array.length; i++) {\n if (thing === array[i]) { return true; }\n }\n\n return false;\n}\n\nfunction max(array) {\n var maximum = DEFAULT_LENGTH;\n var i = 0;\n\n for (; i < array.length; i++) {\n maximum = array[i] > maximum ? array[i] : maximum;\n }\n\n return maximum;\n}\n\nfunction verification(isValid, isPotentiallyValid) {\n return {isValid: isValid, isPotentiallyValid: isPotentiallyValid};\n}\n\nfunction cvv(value, maxLength) {\n maxLength = maxLength || DEFAULT_LENGTH;\n maxLength = maxLength instanceof Array ? maxLength : [maxLength];\n\n if (typeof value !== 'string') { return verification(false, false); }\n if (!/^\\d*$/.test(value)) { return verification(false, false); }\n if (includes(maxLength, value.length)) { return verification(true, true); }\n if (value.length < Math.min.apply(null, maxLength)) { return verification(false, true); }\n if (value.length > max(maxLength)) { return verification(false, false); }\n\n return verification(true, true);\n}\n\nmodule.exports = cvv;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/cvv.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/expiration-date.js":
/*!************************************************************!*\
!*** ./node_modules/card-validator/src/expiration-date.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar parseDate = __webpack_require__(/*! ./parse-date */ \"./node_modules/card-validator/src/parse-date.js\");\nvar expirationMonth = __webpack_require__(/*! ./expiration-month */ \"./node_modules/card-validator/src/expiration-month.js\");\nvar expirationYear = __webpack_require__(/*! ./expiration-year */ \"./node_modules/card-validator/src/expiration-year.js\");\n\nfunction verification(isValid, isPotentiallyValid, month, year) {\n return {\n isValid: isValid,\n isPotentiallyValid: isPotentiallyValid,\n month: month,\n year: year\n };\n}\n\nfunction expirationDate(value, maxElapsedYear) {\n var date, monthValid, yearValid, isValidForThisYear;\n\n if (typeof value === 'string') {\n value = value.replace(/^(\\d\\d) (\\d\\d(\\d\\d)?)$/, '$1/$2');\n date = parseDate(value);\n } else if (value !== null && typeof value === 'object') {\n date = {\n month: String(value.month),\n year: String(value.year)\n };\n } else {\n return verification(false, false, null, null);\n }\n\n monthValid = expirationMonth(date.month);\n yearValid = expirationYear(date.year, maxElapsedYear);\n\n if (monthValid.isValid) {\n if (yearValid.isCurrentYear) {\n isValidForThisYear = monthValid.isValidForThisYear;\n return verification(isValidForThisYear, isValidForThisYear, date.month, date.year);\n }\n\n if (yearValid.isValid) {\n return verification(true, true, date.month, date.year);\n }\n }\n\n if (monthValid.isPotentiallyValid && yearValid.isPotentiallyValid) {\n return verification(false, true, null, null);\n }\n\n return verification(false, false, null, null);\n}\n\nmodule.exports = expirationDate;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/expiration-date.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/expiration-month.js":
/*!*************************************************************!*\
!*** ./node_modules/card-validator/src/expiration-month.js ***!
\*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nfunction verification(isValid, isPotentiallyValid, isValidForThisYear) {\n return {\n isValid: isValid,\n isPotentiallyValid: isPotentiallyValid,\n isValidForThisYear: isValidForThisYear || false\n };\n}\n\nfunction expirationMonth(value) {\n var month, result;\n var currentMonth = new Date().getMonth() + 1;\n\n if (typeof value !== 'string') {\n return verification(false, false);\n }\n if (value.replace(/\\s/g, '') === '' || value === '0') {\n return verification(false, true);\n }\n if (!/^\\d*$/.test(value)) {\n return verification(false, false);\n }\n\n month = parseInt(value, 10);\n\n if (isNaN(value)) {\n return verification(false, false);\n }\n\n result = month > 0 && month < 13;\n\n return verification(result, result, result && month >= currentMonth);\n}\n\nmodule.exports = expirationMonth;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/expiration-month.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/expiration-year.js":
/*!************************************************************!*\
!*** ./node_modules/card-validator/src/expiration-year.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar DEFAULT_VALID_NUMBER_OF_YEARS_IN_THE_FUTURE = 19;\n\nfunction verification(isValid, isPotentiallyValid, isCurrentYear) {\n return {\n isValid: isValid,\n isPotentiallyValid: isPotentiallyValid,\n isCurrentYear: isCurrentYear || false\n };\n}\n\nfunction expirationYear(value, maxElapsedYear) {\n var currentFirstTwo, currentYear, firstTwo, len, twoDigitYear, valid, isCurrentYear;\n\n maxElapsedYear = maxElapsedYear || DEFAULT_VALID_NUMBER_OF_YEARS_IN_THE_FUTURE;\n\n if (typeof value !== 'string') {\n return verification(false, false);\n }\n if (value.replace(/\\s/g, '') === '') {\n return verification(false, true);\n }\n if (!/^\\d*$/.test(value)) {\n return verification(false, false);\n }\n\n len = value.length;\n\n if (len < 2) {\n return verification(false, true);\n }\n\n currentYear = new Date().getFullYear();\n\n if (len === 3) {\n // 20x === 20x\n firstTwo = value.slice(0, 2);\n currentFirstTwo = String(currentYear).slice(0, 2);\n return verification(false, firstTwo === currentFirstTwo);\n }\n\n if (len > 4) {\n return verification(false, false);\n }\n\n value = parseInt(value, 10);\n twoDigitYear = Number(String(currentYear).substr(2, 2));\n\n if (len === 2) {\n isCurrentYear = twoDigitYear === value;\n valid = value >= twoDigitYear && value <= twoDigitYear + maxElapsedYear;\n } else if (len === 4) {\n isCurrentYear = currentYear === value;\n valid = value >= currentYear && value <= currentYear + maxElapsedYear;\n }\n\n return verification(valid, valid, isCurrentYear);\n}\n\nmodule.exports = expirationYear;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/expiration-year.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/lib/is-array.js":
/*!*********************************************************!*\
!*** ./node_modules/card-validator/src/lib/is-array.js ***!
\*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// Polyfill taken from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray#Polyfill>.\n\nmodule.exports = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/lib/is-array.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/luhn-10.js":
/*!****************************************************!*\
!*** ./node_modules/card-validator/src/luhn-10.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/*\n * Luhn algorithm implementation in JavaScript\n * Copyright (c) 2009 Nicholas C. Zakas\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\nfunction luhn10(identifier) {\n var sum = 0;\n var alt = false;\n var i = identifier.length - 1;\n var num;\n\n while (i >= 0) {\n num = parseInt(identifier.charAt(i), 10);\n\n if (alt) {\n num *= 2;\n if (num > 9) {\n num = (num % 10) + 1; // eslint-disable-line no-extra-parens\n }\n }\n\n alt = !alt;\n\n sum += num;\n\n i--;\n }\n\n return sum % 10 === 0;\n}\n\nmodule.exports = luhn10;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/luhn-10.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/parse-date.js":
/*!*******************************************************!*\
!*** ./node_modules/card-validator/src/parse-date.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar expirationYear = __webpack_require__(/*! ./expiration-year */ \"./node_modules/card-validator/src/expiration-year.js\");\nvar isArray = __webpack_require__(/*! ./lib/is-array */ \"./node_modules/card-validator/src/lib/is-array.js\");\n\nfunction parseDate(value) {\n var month, len, year, yearValid;\n\n if (/\\//.test(value)) {\n value = value.split(/\\s*\\/\\s*/g);\n } else if (/\\s/.test(value)) {\n value = value.split(/ +/g);\n }\n\n if (isArray(value)) {\n return {\n month: value[0],\n year: value.slice(1).join()\n };\n }\n\n len = value[0] === '0' || value.length > 5 ? 2 : 1;\n\n if (value[0] === '1') {\n year = value.substr(1);\n yearValid = expirationYear(year);\n if (!yearValid.isPotentiallyValid) {\n len = 2;\n }\n }\n\n month = value.substr(0, len);\n\n return {\n month: month,\n year: value.substr(month.length)\n };\n}\n\nmodule.exports = parseDate;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/parse-date.js?");
/***/ }),
/***/ "./node_modules/card-validator/src/postal-code.js":
/*!********************************************************!*\
!*** ./node_modules/card-validator/src/postal-code.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar DEFAULT_MIN_POSTAL_CODE_LENGTH = 3;\n\nfunction verification(isValid, isPotentiallyValid) {\n return {isValid: isValid, isPotentiallyValid: isPotentiallyValid};\n}\n\nfunction postalCode(value, options) {\n var minLength;\n\n options = options || {};\n\n minLength = options.minLength || DEFAULT_MIN_POSTAL_CODE_LENGTH;\n\n if (typeof value !== 'string') {\n return verification(false, false);\n } else if (value.length < minLength) {\n return verification(false, true);\n }\n\n return verification(true, true);\n}\n\nmodule.exports = postalCode;\n\n\n//# sourceURL=webpack:///./node_modules/card-validator/src/postal-code.js?");
/***/ }),
/***/ "./node_modules/credit-card-type/index.js":
/*!************************************************!*\
!*** ./node_modules/credit-card-type/index.js ***!
\************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar testOrder;\nvar types = {};\nvar customCards = {};\nvar VISA = 'visa';\nvar MASTERCARD = 'master-card'; // TODO: rename to mastercard in major version bunmp\nvar AMERICAN_EXPRESS = 'american-express';\nvar DINERS_CLUB = 'diners-club';\nvar DISCOVER = 'discover';\nvar JCB = 'jcb';\nvar UNIONPAY = 'unionpay';\nvar MAESTRO = 'maestro';\nvar MIR = 'mir';\nvar CVV = 'CVV';\nvar CID = 'CID';\nvar CVC = 'CVC';\nvar CVN = 'CVN';\nvar CVP2 = 'CVP2';\nvar ORIGINAL_TEST_ORDER = [\n VISA,\n MASTERCARD,\n AMERICAN_EXPRESS,\n DINERS_CLUB,\n DISCOVER,\n JCB,\n UNIONPAY,\n MAESTRO,\n MIR\n];\n\nfunction clone(originalObject) {\n var dupe;\n\n if (!originalObject) { return null; }\n\n dupe = JSON.parse(JSON.stringify(originalObject));\n delete dupe.prefixPattern;\n delete dupe.exactPattern;\n\n return dupe;\n}\n\ntestOrder = clone(ORIGINAL_TEST_ORDER);\n\ntypes[VISA] = {\n niceType: 'Visa',\n type: VISA,\n prefixPattern: /^4$/,\n exactPattern: /^4\\d*$/,\n gaps: [4, 8, 12],\n lengths: [16, 18, 19],\n code: {\n name: CVV,\n size: 3\n }\n};\n\ntypes[MASTERCARD] = {\n niceType: 'Mastercard',\n type: MASTERCARD,\n prefixPattern: /^(5|5[1-5]|2|22|222|222[1-9]|2[3-6]|27|27[0-2]|2720)$/,\n exactPattern: /^(5[1-5]|222[1-9]|22[3-9]|2[3-6]|27[0-1]|2720)\\d*$/,\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: CVC,\n size: 3\n }\n};\n\ntypes[AMERICAN_EXPRESS] = {\n niceType: 'American Express',\n type: AMERICAN_EXPRESS,\n prefixPattern: /^(3|34|37)$/,\n exactPattern: /^3[47]\\d*$/,\n isAmex: true,\n gaps: [4, 10],\n lengths: [15],\n code: {\n name: CID,\n size: 4\n }\n};\n\ntypes[DINERS_CLUB] = {\n niceType: 'Diners Club',\n type: DINERS_CLUB,\n prefixPattern: /^(3|3[0689]|30[0-5])$/,\n exactPattern: /^3(0[0-5]|[689])\\d*$/,\n gaps: [4, 10],\n lengths: [14, 16, 19],\n code: {\n name: CVV,\n size: 3\n }\n};\n\ntypes[DISCOVER] = {\n niceType: 'Discover',\n type: DISCOVER,\n prefixPattern: /^(6|60|601|6011|65|64|64[4-9])$/,\n exactPattern: /^(6011|65|64[4-9])\\d*$/,\n gaps: [4, 8, 12],\n lengths: [16, 19],\n code: {\n name: CID,\n size: 3\n }\n};\n\ntypes[JCB] = {\n niceType: 'JCB',\n type: JCB,\n prefixPattern: /^(2|21|213|2131|1|18|180|1800|3|35)$/,\n exactPattern: /^(2131|1800|35)\\d*$/,\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: CVV,\n size: 3\n }\n};\n\ntypes[UNIONPAY] = {\n niceType: 'UnionPay',\n type: UNIONPAY,\n prefixPattern: /^((6|62|62\\d|(621(?!83|88|98|99))|622(?!06)|627[02,06,07]|628(?!0|1)|629[1,2])|622018)$/,\n exactPattern: /^(((620|(621(?!83|88|98|99))|622(?!06|018)|62[3-6]|627[02,06,07]|628(?!0|1)|629[1,2]))\\d*|622018\\d{12})$/,\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: CVN,\n size: 3\n }\n};\n\ntypes[MAESTRO] = {\n niceType: 'Maestro',\n type: MAESTRO,\n prefixPattern: /^(5|5[06-9]|6\\d*)$/,\n exactPattern: /^(5[06-9]|6[37])\\d*$/,\n gaps: [4, 8, 12],\n lengths: [12, 13, 14, 15, 16, 17, 18, 19],\n code: {\n name: CVC,\n size: 3\n }\n};\n\ntypes[MIR] = {\n niceType: 'Mir',\n type: MIR,\n prefixPattern: /^(2|22|220|220[0-4])$/,\n exactPattern: /^(220[0-4])\\d*$/,\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: CVP2,\n size: 3\n }\n};\n\nfunction findType(type) {\n return customCards[type] || types[type];\n}\n\nfunction creditCardType(cardNumber) {\n var type, value, i;\n var prefixResults = [];\n var exactResults = [];\n\n if (!(typeof cardNumber === 'string' || cardNumber instanceof String)) {\n return [];\n }\n\n for (i = 0; i < testOrder.length; i++) {\n type = testOrder[i];\n value = findType(type);\n\n if (cardNumber.length === 0) {\n prefixResults.push(clone(value));\n continue;\n }\n\n if (value.exactPattern.test(cardNumber)) {\n exactResults.push(clone(value));\n } else if (value.prefixPattern.test(cardNumber)) {\n prefixResults.push(clone(value));\n }\n }\n\n return exactResults.length ? exactResults : prefixResults;\n}\n\ncreditCardType.getTypeInfo = function (type) {\n return clone(findType(type));\n};\n\nfunction getCardPosition(name, ignoreErrorForNotExisting) {\n var position = testOrder.indexOf(name);\n\n if (!ignoreErrorForNotExisting && position === -1) {\n throw new Error('\"' + name + '\" is not a supported card type.');\n }\n\n return position;\n}\n\ncreditCardType.removeCard = function (name) {\n var position = getCardPosition(name);\n\n testOrder.splice(position, 1);\n};\n\ncreditCardType.addCard = function (config) {\n var existingCardPosition = getCardPosition(config.type, true);\n\n customCards[config.type] = config;\n\n if (existingCardPosition === -1) {\n testOrder.push(config.type);\n }\n};\n\ncreditCardType.changeOrder = function (name, position) {\n var currentPosition = getCardPosition(name);\n\n testOrder.splice(currentPosition, 1);\n testOrder.splice(position, 0, name);\n};\n\ncreditCardType.resetModifications = function () {\n testOrder = clone(ORIGINAL_TEST_ORDER);\n customCards = {};\n};\n\ncreditCardType.types = {\n VISA: VISA,\n MASTERCARD: MASTERCARD,\n AMERICAN_EXPRESS: AMERICAN_EXPRESS,\n DINERS_CLUB: DINERS_CLUB,\n DISCOVER: DISCOVER,\n JCB: JCB,\n UNIONPAY: UNIONPAY,\n MAESTRO: MAESTRO,\n MIR: MIR\n};\n\nmodule.exports = creditCardType;\n\n\n//# sourceURL=webpack:///./node_modules/credit-card-type/index.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/ExecutionEnvironment.js":
/*!*******************************************************!*\
!*** ./node_modules/fbjs/lib/ExecutionEnvironment.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/camelize.js":
/*!*******************************************!*\
!*** ./node_modules/fbjs/lib/camelize.js ***!
\*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/camelize.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/camelizeStyleName.js":
/*!****************************************************!*\
!*** ./node_modules/fbjs/lib/camelizeStyleName.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\n\nvar camelize = __webpack_require__(/*! ./camelize */ \"./node_modules/fbjs/lib/camelize.js\");\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/camelizeStyleName.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/containsNode.js":
/*!***********************************************!*\
!*** ./node_modules/fbjs/lib/containsNode.js ***!
\***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = __webpack_require__(/*! ./isTextNode */ \"./node_modules/fbjs/lib/isTextNode.js\");\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/containsNode.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/emptyFunction.js":
/*!************************************************!*\
!*** ./node_modules/fbjs/lib/emptyFunction.js ***!
\************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/emptyFunction.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/emptyObject.js":
/*!**********************************************!*\
!*** ./node_modules/fbjs/lib/emptyObject.js ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyObject = {};\n\nif (true) {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/emptyObject.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/getActiveElement.js":
/*!***************************************************!*\
!*** ./node_modules/fbjs/lib/getActiveElement.js ***!
\***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/getActiveElement.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/hyphenate.js":
/*!********************************************!*\
!*** ./node_modules/fbjs/lib/hyphenate.js ***!
\********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/hyphenate.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/hyphenateStyleName.js":
/*!*****************************************************!*\
!*** ./node_modules/fbjs/lib/hyphenateStyleName.js ***!
\*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n\n\nvar hyphenate = __webpack_require__(/*! ./hyphenate */ \"./node_modules/fbjs/lib/hyphenate.js\");\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/hyphenateStyleName.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/invariant.js":
/*!********************************************!*\
!*** ./node_modules/fbjs/lib/invariant.js ***!
\********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (true) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/invariant.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/isNode.js":
/*!*****************************************!*\
!*** ./node_modules/fbjs/lib/isNode.js ***!
\*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/isNode.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/isTextNode.js":
/*!*********************************************!*\
!*** ./node_modules/fbjs/lib/isTextNode.js ***!
\*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = __webpack_require__(/*! ./isNode */ \"./node_modules/fbjs/lib/isNode.js\");\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/isTextNode.js?");
/***/ }),
/***/ "./node_modules/fbjs/lib/shallowEqual.js":
/*!***********************************************!*\
!*** ./node_modules/fbjs/lib/shallowEqual.js ***!
\***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in th