{"version":3,"sources":["webpack:///./src/modules/validator/index.ts","webpack:///./src/modules/validator/messages.ts","webpack:///./node_modules/validator/lib/util/assertString.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/validator/lib/isEmail.js","webpack:///./node_modules/validator/lib/util/merge.js","webpack:///./node_modules/validator/lib/equals.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/validator/lib/isByteLength.js","webpack:///./node_modules/validator/lib/isFQDN.js","webpack:///./node_modules/validator/lib/isIP.js"],"names":["clearMessages","form","Array","from","querySelectorAll","forEach","messageElement","textContent","isPhone","string","test","validateInput","input","hasAttribute","value","trim","length","classList","contains","isEmail","checked","filter","option","selected","innerText","getAttribute","fieldName","field","document","querySelector","equals","regExp","RegExp","DEFAULT_OPTIONS","inputSelector","messages","ru","EMPTY_FIELD","INVALIDATED_EMAIL","INVALIDATED_PHONE","INVALIDATED_EQUALS","en","onValidationSuccess","onValidationError","onValidationComplete","options","inputs","Object","freeze","validate","isFormValid","lang","documentElement","getLang","isValid","parentElement","remove","add","clearFormMessages","_typeof","obj","Symbol","iterator","constructor","prototype","defineProperty","exports","default","String","invalidType","hasOwnProperty","name","concat","TypeError","module","anObject","that","this","result","global","ignoreCase","multiline","dotAll","unicode","sticky","str","_assertString","_merge","default_email_options","require_display_name","allow_display_name","display_email","match","splitNameAddress","display_name","_display_email","arr","i","isArray","_arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","toString","call","slice","_unsupportedIterableToArray","_nonIterableRest","_slicedToArray","endsWith","substr","trim_quotes","display_name_without_quotes","split","validateDisplayName","ignore_max_length","parts","domain","pop","user","join","lower_domain","toLowerCase","domain_specific_validation","username","_isByteLength","replace","min","max","_user_parts","gmailUserPart","_isFQDN","require_tld","allow_ip_domain","_isIP","startsWith","noBracketdomain","allow_utf8_local_part","quotedEmailUserUtf8","quotedEmailUser","pattern","emailUserUtf8Part","emailUserPart","user_parts","_i2","_interopRequireDefault","__esModule","len","arr2","arguments","defaults","key","comparison","DESCRIPTORS","isForced","inheritIfRequired","f","getOwnPropertyNames","isRegExp","getFlags","stickyHelpers","redefine","fails","setInternalState","set","setSpecies","MATCH","wellKnownSymbol","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","flags","thisIsRegExp","patternIsRegExp","flagsAreUndefined","source","indexOf","proxy","configurable","get","it","keys","index","isObject","setPrototypeOf","$this","dummy","Wrapper","NewTarget","NewTargetPrototype","classof","RE","s","re","lastIndex","exec","BROKEN_CARET","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","p","rf","unsafe","$","$trim","target","proto","forced","forcedStringTrimMethod","requireObjectCoercible","whitespace","ltrim","rtrim","createMethod","TYPE","start","end","whitespaces","METHOD_NAME","encodeURI","default_fqdn_options","allow_trailing_dot","substring","tld","part","allow_underscores","isIP","version","ipv4Maybe","sort","a","b","addressAndZone","includes","blocks","foundOmissionBlock","foundIPv4TransitionBlock","expectedNumberOfBlocks","shift","ipv6Block"],"mappings":"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","file":"js/modern/validator.fcc5f4f1.js","sourcesContent":["import isEmail from 'validator/lib/isEmail';\nimport equals from 'validator/lib/equals';\nimport messages from './messages';\n\nexport { isEmail, equals };\n\nfunction getLang() {\n switch (true) {\n case /en/.test(document.documentElement.lang):\n return 'en';\n default:\n return 'ru';\n }\n}\n\nexport function clearMessages(form: Element) {\n const messageElements = Array.from(form.querySelectorAll('.app-message'));\n messageElements.forEach((messageElement) => {\n messageElement.textContent = '';\n });\n}\n\nexport function isPhone(string: string): boolean {\n return /^((8|\\+7)[- ]?)?(\\(?\\d{3}\\)?[- ]?)?[\\d\\- ]{5,10}$/i.test(string);\n}\n\nexport function validateInput(input: HTMLInputElement): boolean {\n // Валидация заполненности поля\n if (input.hasAttribute('required') && input.value.trim().length === 0) {\n return false;\n }\n\n // Валидация электронной почты\n if (input.classList.contains('js-validate--email')) {\n return input.hasAttribute('required') || input.value.trim().length > 0 ? isEmail(input.value) : true;\n }\n\n // Валидация телефона\n if (input.classList.contains('js-validate--phone')) {\n return input.hasAttribute('required') || input.value.trim().length > 0 ? isPhone(input.value) : true;\n }\n\n // Валидация чекбокса\n if (input.classList.contains('js-validate--checkbox')) {\n return input.checked;\n }\n\n // Валидация селекта\n if (input.classList.contains('js-validate--select')) {\n const options = Array.from(input.querySelectorAll('option'));\n const selectedOptions = options.filter(\n (option) =>\n option.selected &&\n !option.hasAttribute('placeholder') &&\n option.innerText !== input.getAttribute('placeholder'),\n );\n return !!selectedOptions.length;\n }\n\n // Валидация равенства двух строк\n if (input.classList.contains('js-validate--equivalent')) {\n if (!input.hasAttribute('data-equivalent-name')) {\n return false;\n }\n const fieldName = input.getAttribute('data-equivalent-name');\n const field = document.querySelector(`[name=\"${fieldName}\"]`) as HTMLInputElement | null;\n return field ? equals(input.value, field.value) : false;\n }\n\n // Кастомная валидация через регулярное выражение\n if (input.classList.contains('js-validate--custom')) {\n const regExp = input.getAttribute('data-custom-validation') || '.*';\n return new RegExp(regExp, 'i').test(input.value);\n }\n\n // Default\n return true;\n}\n\nconst DEFAULT_OPTIONS = {\n inputSelector: '[name]:not([type=\"submit\"]):not([type=\"reset\"]):not([type=\"hidden\"])',\n messages,\n onValidationSuccess: () => {},\n onValidationError: () => {},\n onValidationComplete: () => {},\n};\n\nexport default (form: HTMLFormElement, options = DEFAULT_OPTIONS) => {\n const inputs = Array.from(form.querySelectorAll(options.inputSelector)) as HTMLInputElement[];\n\n function validate() {\n let isFormValid = true;\n const lang = getLang();\n clearMessages(form);\n\n inputs.forEach((input) => {\n const isValid = validateInput(input);\n const messageElement =\n input.parentElement && input.parentElement.querySelector('.app-message')\n ? input.parentElement.querySelector('.app-message')\n : null;\n if (isValid) {\n input.classList.remove('is-error');\n } else {\n isFormValid = false;\n input.classList.add('is-error');\n\n if (messageElement) {\n messageElement.textContent = '';\n\n switch (true) {\n case input.value.trim().length === 0 && input.hasAttribute('required'):\n messageElement.textContent = options.messages[lang].EMPTY_FIELD;\n break;\n case input.classList.contains('js-validate--email'):\n messageElement.textContent = options.messages[lang].INVALIDATED_EMAIL;\n break;\n case input.classList.contains('js-validate--phone'):\n messageElement.textContent = options.messages[lang].INVALIDATED_PHONE;\n break;\n case input.classList.contains('js-validate--equivalent'):\n messageElement.textContent = options.messages[lang].INVALIDATED_EQUALS;\n break;\n case input.classList.contains('js-validate--custom') &&\n input.hasAttribute('data-custom-validation-error-message'):\n messageElement.textContent = input.getAttribute('data-custom-validation-error-message');\n break;\n default:\n break;\n }\n }\n }\n });\n\n if (isFormValid) {\n options.onValidationSuccess();\n } else {\n options.onValidationError();\n }\n options.onValidationComplete();\n return isFormValid;\n }\n\n function clearFormMessages() {\n clearMessages(form);\n }\n\n return Object.freeze({\n validate,\n clearFormMessages,\n form,\n inputSelector: options.inputSelector,\n inputs,\n });\n};\n","export default {\n ru: {\n EMPTY_FIELD: 'Поле обязательно к заполнению',\n INVALIDATED_EMAIL: 'Введите корректный адрес эл. почты',\n INVALIDATED_PHONE: 'Введите корректный номер телефона',\n INVALIDATED_EQUALS: 'Значение полей должно совпадать',\n },\n en: {\n EMPTY_FIELD: 'This field must not be empty',\n INVALIDATED_EMAIL: 'Enter a valid email address',\n INVALIDATED_PHONE: 'Enter a valid phone number',\n INVALIDATED_EQUALS: 'Values must be equal',\n },\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = assertString;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n\n if (!isString) {\n var invalidType;\n\n if (input === null) {\n invalidType = 'null';\n } else {\n invalidType = _typeof(input);\n\n if (invalidType === 'object' && input.constructor && input.constructor.hasOwnProperty('name')) {\n invalidType = input.constructor.name;\n } else {\n invalidType = \"a \".concat(invalidType);\n }\n }\n\n throw new TypeError(\"Expected string but received \".concat(invalidType, \".\"));\n }\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isEmail;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\n\nvar _isByteLength = _interopRequireDefault(require(\"./isByteLength\"));\n\nvar _isFQDN = _interopRequireDefault(require(\"./isFQDN\"));\n\nvar _isIP = _interopRequireDefault(require(\"./isIP\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar default_email_options = {\n allow_display_name: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true\n};\n/* eslint-disable max-len */\n\n/* eslint-disable no-control-regex */\n\nvar splitNameAddress = /^([^\\x00-\\x1F\\x7F-\\x9F\\cX]+)<(.+)>$/i;\nvar emailUserPart = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]+$/i;\nvar gmailUserPart = /^[a-z\\d]+$/;\nvar quotedEmailUser = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))*$/i;\nvar emailUserUtf8Part = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+$/i;\nvar quotedEmailUserUtf8 = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*$/i;\nvar defaultMaxEmailLength = 254;\n/* eslint-enable max-len */\n\n/* eslint-enable no-control-regex */\n\n/**\n * Validate display name according to the RFC2822: https://tools.ietf.org/html/rfc2822#appendix-A.1.2\n * @param {String} display_name\n */\n\nfunction validateDisplayName(display_name) {\n var trim_quotes = display_name.match(/^\"(.+)\"$/i);\n var display_name_without_quotes = trim_quotes ? trim_quotes[1] : display_name; // display name with only spaces is not valid\n\n if (!display_name_without_quotes.trim()) {\n return false;\n } // check whether display name contains illegal character\n\n\n var contains_illegal = /[\\.\";<>]/.test(display_name_without_quotes);\n\n if (contains_illegal) {\n // if contains illegal characters,\n // must to be enclosed in double-quotes, otherwise it's not a valid display name\n if (!trim_quotes) {\n return false;\n } // the quotes in display name must start with character symbol \\\n\n\n var all_start_with_back_slash = display_name_without_quotes.split('\"').length === display_name_without_quotes.split('\\\\\"').length;\n\n if (!all_start_with_back_slash) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isEmail(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_email_options);\n\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(splitNameAddress);\n\n if (display_email) {\n var display_name;\n\n var _display_email = _slicedToArray(display_email, 3);\n\n display_name = _display_email[1];\n str = _display_email[2];\n\n // sometimes need to trim the last space to get the display name\n // because there may be a space between display name and email address\n // eg. myname \n // the display name is `myname` instead of `myname `, so need to trim the last space\n if (display_name.endsWith(' ')) {\n display_name = display_name.substr(0, display_name.length - 1);\n }\n\n if (!validateDisplayName(display_name)) {\n return false;\n }\n } else if (options.require_display_name) {\n return false;\n }\n }\n\n if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {\n return false;\n }\n\n var parts = str.split('@');\n var domain = parts.pop();\n var user = parts.join('@');\n var lower_domain = domain.toLowerCase();\n\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase(); // Removing sub-address from username before gmail validation\n\n var username = user.split('+')[0]; // Dots are not included in gmail length restriction\n\n if (!(0, _isByteLength.default)(username.replace('.', ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n\n var _user_parts = username.split('.');\n\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n\n if (!(0, _isByteLength.default)(user, {\n max: 64\n }) || !(0, _isByteLength.default)(domain, {\n max: 254\n })) {\n return false;\n }\n\n if (!(0, _isFQDN.default)(domain, {\n require_tld: options.require_tld\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n\n if (!(0, _isIP.default)(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n\n var noBracketdomain = domain.substr(1, domain.length - 2);\n\n if (noBracketdomain.length === 0 || !(0, _isIP.default)(noBracketdomain)) {\n return false;\n }\n }\n }\n\n if (user[0] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n\n for (var _i2 = 0; _i2 < user_parts.length; _i2++) {\n if (!pattern.test(user_parts[_i2])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = merge;\n\nfunction merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n\n return obj;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = equals;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction equals(str, comparison) {\n (0, _assertString.default)(str);\n return str === comparison;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isByteLength;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable prefer-rest-params */\nfunction isByteLength(str, options) {\n (0, _assertString.default)(str);\n var min;\n var max;\n\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isFQDN;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false\n};\n\nfunction isFQDN(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_fqdn_options);\n /* Remove the optional trailing dot before checking validity */\n\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n\n var parts = str.split('.');\n\n for (var i = 0; i < parts.length; i++) {\n if (parts[i].length > 63) {\n return false;\n }\n }\n\n if (options.require_tld) {\n var tld = parts.pop();\n\n if (!parts.length || !/^([a-z\\u00a1-\\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n } // disallow spaces && special characers\n\n\n if (/[\\s\\u2002-\\u200B\\u202F\\u205F\\u3000\\uFEFF\\uDB40\\uDC20\\u00A9\\uFFFD]/.test(tld)) {\n return false;\n }\n }\n\n for (var part, _i = 0; _i < parts.length; _i++) {\n part = parts[_i];\n\n if (options.allow_underscores) {\n part = part.replace(/_/g, '');\n }\n\n if (!/^[a-z\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n } // disallow full-width chars\n\n\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n }\n\n if (part[0] === '-' || part[part.length - 1] === '-') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isIP;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n11.3. Examples\n\n The following addresses\n\n fe80::1234 (on the 1st link of the node)\n ff02::5678 (on the 5th link of the node)\n ff08::9abc (on the 10th organization of the node)\n\n would be represented as follows:\n\n fe80::1234%1\n ff02::5678%5\n ff08::9abc%10\n\n (Here we assume a natural translation from a zone index to the\n part, where the Nth zone of any scope is translated into\n \"N\".)\n\n If we use interface names as , those addresses could also be\n represented as follows:\n\n fe80::1234%ne0\n ff02::5678%pvc1.3\n ff08::9abc%interface10\n\n where the interface \"ne0\" belongs to the 1st link, \"pvc1.3\" belongs\n to the 5th link, and \"interface10\" belongs to the 10th organization.\n * * */\nvar ipv4Maybe = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;\nvar ipv6Block = /^[0-9A-F]{1,4}$/i;\n\nfunction isIP(str) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (0, _assertString.default)(str);\n version = String(version);\n\n if (!version) {\n return isIP(str, 4) || isIP(str, 6);\n } else if (version === '4') {\n if (!ipv4Maybe.test(str)) {\n return false;\n }\n\n var parts = str.split('.').sort(function (a, b) {\n return a - b;\n });\n return parts[3] <= 255;\n } else if (version === '6') {\n var addressAndZone = [str]; // ipv6 addresses could have scoped architecture\n // according to https://tools.ietf.org/html/rfc4007#section-11\n\n if (str.includes('%')) {\n addressAndZone = str.split('%');\n\n if (addressAndZone.length !== 2) {\n // it must be just two parts\n return false;\n }\n\n if (!addressAndZone[0].includes(':')) {\n // the first part must be the address\n return false;\n }\n\n if (addressAndZone[1] === '') {\n // the second part must not be empty\n return false;\n }\n }\n\n var blocks = addressAndZone[0].split(':');\n var foundOmissionBlock = false; // marker to indicate ::\n // At least some OS accept the last 32 bits of an IPv6 address\n // (i.e. 2 of the blocks) in IPv4 notation, and RFC 3493 says\n // that '::ffff:a.b.c.d' is valid for IPv4-mapped IPv6 addresses,\n // and '::a.b.c.d' is deprecated, but also valid.\n\n var foundIPv4TransitionBlock = isIP(blocks[blocks.length - 1], 4);\n var expectedNumberOfBlocks = foundIPv4TransitionBlock ? 7 : 8;\n\n if (blocks.length > expectedNumberOfBlocks) {\n return false;\n } // initial or final ::\n\n\n if (str === '::') {\n return true;\n } else if (str.substr(0, 2) === '::') {\n blocks.shift();\n blocks.shift();\n foundOmissionBlock = true;\n } else if (str.substr(str.length - 2) === '::') {\n blocks.pop();\n blocks.pop();\n foundOmissionBlock = true;\n }\n\n for (var i = 0; i < blocks.length; ++i) {\n // test for a :: which can not be at the string start/end\n // since those cases have been handled above\n if (blocks[i] === '' && i > 0 && i < blocks.length - 1) {\n if (foundOmissionBlock) {\n return false; // multiple :: in address\n }\n\n foundOmissionBlock = true;\n } else if (foundIPv4TransitionBlock && i === blocks.length - 1) {// it has been checked before that the last\n // block is a valid IPv4 address\n } else if (!ipv6Block.test(blocks[i])) {\n return false;\n }\n }\n\n if (foundOmissionBlock) {\n return blocks.length >= 1;\n }\n\n return blocks.length === expectedNumberOfBlocks;\n }\n\n return false;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;"],"sourceRoot":""}