{"version":3,"file":"jss.main.d1384c78.js","mappings":"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AAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,C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","sources":["webpack://my-vehicles/./node_modules/jss/dist/jss.esm.js","webpack://my-vehicles/./node_modules/rc-motion/es/util/motion.js","webpack://my-vehicles/./node_modules/rc-motion/es/interface.js","webpack://my-vehicles/./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://my-vehicles/./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://my-vehicles/./node_modules/rc-motion/es/DomWrapper.js","webpack://my-vehicles/./node_modules/rc-motion/es/CSSMotion.js","webpack://my-vehicles/./node_modules/rc-motion/es/hooks/useStatus.js","webpack://my-vehicles/./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://my-vehicles/./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://my-vehicles/./node_modules/rc-motion/es/util/diff.js","webpack://my-vehicles/./node_modules/rc-motion/es/CSSMotionList.js","webpack://my-vehicles/./node_modules/rc-motion/es/index.js","webpack://my-vehicles/./node_modules/react-dropzone/dist/es/utils/index.js","webpack://my-vehicles/./node_modules/react-dropzone/dist/es/index.js","webpack://my-vehicles/./node_modules/react-sortable-hoc/dist/react-sortable-hoc.esm.js","webpack://my-vehicles/./node_modules/@wry/caches/lib/strong.js","webpack://my-vehicles/./node_modules/@wry/caches/lib/weak.js","webpack://my-vehicles/./node_modules/@wry/context/lib/slot.js","webpack://my-vehicles/./node_modules/@wry/context/lib/index.js","webpack://my-vehicles/./node_modules/@wry/equality/lib/index.js","webpack://my-vehicles/./node_modules/@wry/trie/lib/index.js","webpack://my-vehicles/./node_modules/libphonenumber-js/metadata.min.json.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/isObject.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/constants.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/ParseError.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/metadata.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/isPossible.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/format.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/isValid.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/parse.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack://my-vehicles/./node_modules/libphonenumber-js/es6/parsePhoneNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","webpack://my-vehicles/./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js"],"sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n if (options.format === false) {\n indent = -Infinity;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = (function (str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n});\n\nvar BaseStyleRule =\n/*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = name in this.style; // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\nvar StyleRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(key, style, options);\n }\n};\n\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule =\n/*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n\n return ConditionalRule;\n}();\nvar keyRegExp = /@container|@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\n\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule =\n/*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule =\n/*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule =\n/*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule =\n/*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\n\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\n\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList =\n/*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */\n ;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n\n if (oldRule) {\n this.remove(oldRule);\n }\n\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */\n ;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry =\n/*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access all instances in one place.\n */\n\nvar SheetsRegistry =\n/*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar sheets = new SheetsRegistry();\n\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\n\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\n\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n\n return generateId;\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n/**\n * Remove a style property.\n */\n\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer =\n/*#__PURE__*/\nfunction () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss =\n/*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.10.0\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n\n var rule = createRule(name, style, ruleOptions);\n\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\nvar SheetsManager =\n/*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\nvar index = createJss();\n\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };\n","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useNextFrame from './useNextFrame';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n } // Auto inject ref if child node not have `ref` props\n\n\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _motionChildren = motionChildren,\n originNodeRef = _motionChildren.ref;\n\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null); // =========================== Dom Node ===========================\n\n function getDomElement() {\n return getElement();\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var currentActive = activeRef.current;\n var canEnd;\n\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []); // Trigger `onVisibleChanged`\n\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys); // Check prev keys to insert or keep\n\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n } // If not hit, it means key is removed\n\n\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n }); // Add rest to the list\n\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n\n\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n }); // Update `STATUS_ADD` to `STATUS_KEEP`\n\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from './CSSMotion';\nimport { supportTransition } from './util/motion';\nimport { STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED, diffKeys, parseKeys } from './util/diff';\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\n\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n\n var _super = _createSuper(CSSMotionList);\n\n function CSSMotionList() {\n var _this;\n\n _classCallCheck(this, CSSMotionList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n keyEntities: []\n };\n\n _this.removeKey = function (removeKey) {\n var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n\n _this.setState({\n keyEntities: nextKeyEntities\n });\n\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n };\n\n return _this;\n }\n\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var keyEntities = this.state.keyEntities;\n\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n\n if (!changedVisible) {\n var restKeysCount = _this2.removeKey(eventProps.key);\n\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\n }\n }\n }), children);\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n }); // Remove if already mark as removed\n\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n\n return true;\n })\n };\n } // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n\n }]);\n\n return CSSMotionList;\n }(React.Component);\n\n CSSMotionList.defaultProps = {\n component: 'div'\n };\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from './CSSMotion';\nimport CSSMotionList from './CSSMotionList';\nexport { CSSMotionList };\nexport default CSSMotion;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from \"attr-accept\"; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(\", \")) : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(messageSuffix)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string|string[]} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: true,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n display: \"none\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createRef, createElement, Component, createContext } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport invariant from 'invariant';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport PropTypes from 'prop-types';\n\nvar Manager = function () {\n function Manager() {\n _classCallCheck(this, Manager);\n\n _defineProperty(this, \"refs\", {});\n }\n\n _createClass(Manager, [{\n key: \"add\",\n value: function add(collection, ref) {\n if (!this.refs[collection]) {\n this.refs[collection] = [];\n }\n\n this.refs[collection].push(ref);\n }\n }, {\n key: \"remove\",\n value: function remove(collection, ref) {\n var index = this.getIndex(collection, ref);\n\n if (index !== -1) {\n this.refs[collection].splice(index, 1);\n }\n }\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.active;\n }\n }, {\n key: \"getActive\",\n value: function getActive() {\n var _this = this;\n\n return this.refs[this.active.collection].find(function (_ref) {\n var node = _ref.node;\n return node.sortableInfo.index == _this.active.index;\n });\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(collection, ref) {\n return this.refs[collection].indexOf(ref);\n }\n }, {\n key: \"getOrderedRefs\",\n value: function getOrderedRefs() {\n var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.active.collection;\n return this.refs[collection].sort(sortByIndex);\n }\n }]);\n\n return Manager;\n}();\n\nfunction sortByIndex(_ref2, _ref3) {\n var index1 = _ref2.node.sortableInfo.index;\n var index2 = _ref3.node.sortableInfo.index;\n return index1 - index2;\n}\n\nfunction arrayMove(array, from, to) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof console !== 'undefined') {\n console.warn(\"Deprecation warning: arrayMove will no longer be exported by 'react-sortable-hoc' in the next major release. Please install the `array-move` package locally instead. https://www.npmjs.com/package/array-move\");\n }\n }\n\n array = array.slice();\n array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);\n return array;\n}\nfunction omit(obj, keysToOmit) {\n return Object.keys(obj).reduce(function (acc, key) {\n if (keysToOmit.indexOf(key) === -1) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\nvar events = {\n end: ['touchend', 'touchcancel', 'mouseup'],\n move: ['touchmove', 'mousemove'],\n start: ['touchstart', 'mousedown']\n};\nvar vendorPrefix = function () {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return '';\n }\n\n var styles = window.getComputedStyle(document.documentElement, '') || ['-moz-hidden-iframe'];\n var pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || styles.OLink === '' && ['', 'o'])[1];\n\n switch (pre) {\n case 'ms':\n return 'ms';\n\n default:\n return pre && pre.length ? pre[0].toUpperCase() + pre.substr(1) : '';\n }\n}();\nfunction setInlineStyles(node, styles) {\n Object.keys(styles).forEach(function (key) {\n node.style[key] = styles[key];\n });\n}\nfunction setTranslate3d(node, translate) {\n node.style[\"\".concat(vendorPrefix, \"Transform\")] = translate == null ? '' : \"translate3d(\".concat(translate.x, \"px,\").concat(translate.y, \"px,0)\");\n}\nfunction setTransitionDuration(node, duration) {\n node.style[\"\".concat(vendorPrefix, \"TransitionDuration\")] = duration == null ? '' : \"\".concat(duration, \"ms\");\n}\nfunction closest(el, fn) {\n while (el) {\n if (fn(el)) {\n return el;\n }\n\n el = el.parentNode;\n }\n\n return null;\n}\nfunction limit(min, max, value) {\n return Math.max(min, Math.min(value, max));\n}\n\nfunction getPixelValue(stringValue) {\n if (stringValue.substr(-2) === 'px') {\n return parseFloat(stringValue);\n }\n\n return 0;\n}\n\nfunction getElementMargin(element) {\n var style = window.getComputedStyle(element);\n return {\n bottom: getPixelValue(style.marginBottom),\n left: getPixelValue(style.marginLeft),\n right: getPixelValue(style.marginRight),\n top: getPixelValue(style.marginTop)\n };\n}\nfunction provideDisplayName(prefix, Component$$1) {\n var componentName = Component$$1.displayName || Component$$1.name;\n return componentName ? \"\".concat(prefix, \"(\").concat(componentName, \")\") : prefix;\n}\nfunction getScrollAdjustedBoundingClientRect(node, scrollDelta) {\n var boundingClientRect = node.getBoundingClientRect();\n return {\n top: boundingClientRect.top + scrollDelta.top,\n left: boundingClientRect.left + scrollDelta.left\n };\n}\nfunction getPosition(event) {\n if (event.touches && event.touches.length) {\n return {\n x: event.touches[0].pageX,\n y: event.touches[0].pageY\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n return {\n x: event.changedTouches[0].pageX,\n y: event.changedTouches[0].pageY\n };\n } else {\n return {\n x: event.pageX,\n y: event.pageY\n };\n }\n}\nfunction isTouchEvent(event) {\n return event.touches && event.touches.length || event.changedTouches && event.changedTouches.length;\n}\nfunction getEdgeOffset(node, parent) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n left: 0,\n top: 0\n };\n\n if (!node) {\n return undefined;\n }\n\n var nodeOffset = {\n left: offset.left + node.offsetLeft,\n top: offset.top + node.offsetTop\n };\n\n if (node.parentNode === parent) {\n return nodeOffset;\n }\n\n return getEdgeOffset(node.parentNode, parent, nodeOffset);\n}\nfunction getTargetIndex(newIndex, prevIndex, oldIndex) {\n if (newIndex < oldIndex && newIndex > prevIndex) {\n return newIndex - 1;\n } else if (newIndex > oldIndex && newIndex < prevIndex) {\n return newIndex + 1;\n } else {\n return newIndex;\n }\n}\nfunction getLockPixelOffset(_ref) {\n var lockOffset = _ref.lockOffset,\n width = _ref.width,\n height = _ref.height;\n var offsetX = lockOffset;\n var offsetY = lockOffset;\n var unit = 'px';\n\n if (typeof lockOffset === 'string') {\n var match = /^[+-]?\\d*(?:\\.\\d*)?(px|%)$/.exec(lockOffset);\n invariant(match !== null, 'lockOffset value should be a number or a string of a ' + 'number followed by \"px\" or \"%\". Given %s', lockOffset);\n offsetX = parseFloat(lockOffset);\n offsetY = parseFloat(lockOffset);\n unit = match[1];\n }\n\n invariant(isFinite(offsetX) && isFinite(offsetY), 'lockOffset value should be a finite. Given %s', lockOffset);\n\n if (unit === '%') {\n offsetX = offsetX * width / 100;\n offsetY = offsetY * height / 100;\n }\n\n return {\n x: offsetX,\n y: offsetY\n };\n}\nfunction getLockPixelOffsets(_ref2) {\n var height = _ref2.height,\n width = _ref2.width,\n lockOffset = _ref2.lockOffset;\n var offsets = Array.isArray(lockOffset) ? lockOffset : [lockOffset, lockOffset];\n invariant(offsets.length === 2, 'lockOffset prop of SortableContainer should be a single ' + 'value or an array of exactly two values. Given %s', lockOffset);\n\n var _offsets = _slicedToArray(offsets, 2),\n minLockOffset = _offsets[0],\n maxLockOffset = _offsets[1];\n\n return [getLockPixelOffset({\n height: height,\n lockOffset: minLockOffset,\n width: width\n }), getLockPixelOffset({\n height: height,\n lockOffset: maxLockOffset,\n width: width\n })];\n}\n\nfunction isScrollable(el) {\n var computedStyle = window.getComputedStyle(el);\n var overflowRegex = /(auto|scroll)/;\n var properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.find(function (property) {\n return overflowRegex.test(computedStyle[property]);\n });\n}\n\nfunction getScrollingParent(el) {\n if (!(el instanceof HTMLElement)) {\n return null;\n } else if (isScrollable(el)) {\n return el;\n } else {\n return getScrollingParent(el.parentNode);\n }\n}\nfunction getContainerGridGap(element) {\n var style = window.getComputedStyle(element);\n\n if (style.display === 'grid') {\n return {\n x: getPixelValue(style.gridColumnGap),\n y: getPixelValue(style.gridRowGap)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar KEYCODE = {\n TAB: 9,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n};\nvar NodeType = {\n Anchor: 'A',\n Button: 'BUTTON',\n Canvas: 'CANVAS',\n Input: 'INPUT',\n Option: 'OPTION',\n Textarea: 'TEXTAREA',\n Select: 'SELECT'\n};\nfunction cloneNode(node) {\n var selector = 'input, textarea, select, canvas, [contenteditable]';\n var fields = node.querySelectorAll(selector);\n var clonedNode = node.cloneNode(true);\n\n var clonedFields = _toConsumableArray(clonedNode.querySelectorAll(selector));\n\n clonedFields.forEach(function (field, i) {\n if (field.type !== 'file') {\n field.value = fields[i].value;\n }\n\n if (field.type === 'radio' && field.name) {\n field.name = \"__sortableClone__\".concat(field.name);\n }\n\n if (field.tagName === NodeType.Canvas && fields[i].width > 0 && fields[i].height > 0) {\n var destCtx = field.getContext('2d');\n destCtx.drawImage(fields[i], 0, 0);\n }\n });\n return clonedNode;\n}\n\nfunction sortableHandle(WrappedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n withRef: false\n };\n return _temp = _class = function (_React$Component) {\n _inherits(WithSortableHandle, _React$Component);\n\n function WithSortableHandle() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, WithSortableHandle);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithSortableHandle)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"wrappedInstance\", createRef());\n\n return _this;\n }\n\n _createClass(WithSortableHandle, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var node = findDOMNode(this);\n node.sortableHandle = true;\n }\n }, {\n key: \"getWrappedInstance\",\n value: function getWrappedInstance() {\n invariant(config.withRef, 'To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableHandle() call');\n return this.wrappedInstance.current;\n }\n }, {\n key: \"render\",\n value: function render() {\n var ref = config.withRef ? this.wrappedInstance : null;\n return createElement(WrappedComponent, _extends({\n ref: ref\n }, this.props));\n }\n }]);\n\n return WithSortableHandle;\n }(Component), _defineProperty(_class, \"displayName\", provideDisplayName('sortableHandle', WrappedComponent)), _temp;\n}\nfunction isSortableHandle(node) {\n return node.sortableHandle != null;\n}\n\nvar AutoScroller = function () {\n function AutoScroller(container, onScrollCallback) {\n _classCallCheck(this, AutoScroller);\n\n this.container = container;\n this.onScrollCallback = onScrollCallback;\n }\n\n _createClass(AutoScroller, [{\n key: \"clear\",\n value: function clear() {\n if (this.interval == null) {\n return;\n }\n\n clearInterval(this.interval);\n this.interval = null;\n }\n }, {\n key: \"update\",\n value: function update(_ref) {\n var _this = this;\n\n var translate = _ref.translate,\n minTranslate = _ref.minTranslate,\n maxTranslate = _ref.maxTranslate,\n width = _ref.width,\n height = _ref.height;\n var direction = {\n x: 0,\n y: 0\n };\n var speed = {\n x: 1,\n y: 1\n };\n var acceleration = {\n x: 10,\n y: 10\n };\n var _this$container = this.container,\n scrollTop = _this$container.scrollTop,\n scrollLeft = _this$container.scrollLeft,\n scrollHeight = _this$container.scrollHeight,\n scrollWidth = _this$container.scrollWidth,\n clientHeight = _this$container.clientHeight,\n clientWidth = _this$container.clientWidth;\n var isTop = scrollTop === 0;\n var isBottom = scrollHeight - scrollTop - clientHeight === 0;\n var isLeft = scrollLeft === 0;\n var isRight = scrollWidth - scrollLeft - clientWidth === 0;\n\n if (translate.y >= maxTranslate.y - height / 2 && !isBottom) {\n direction.y = 1;\n speed.y = acceleration.y * Math.abs((maxTranslate.y - height / 2 - translate.y) / height);\n } else if (translate.x >= maxTranslate.x - width / 2 && !isRight) {\n direction.x = 1;\n speed.x = acceleration.x * Math.abs((maxTranslate.x - width / 2 - translate.x) / width);\n } else if (translate.y <= minTranslate.y + height / 2 && !isTop) {\n direction.y = -1;\n speed.y = acceleration.y * Math.abs((translate.y - height / 2 - minTranslate.y) / height);\n } else if (translate.x <= minTranslate.x + width / 2 && !isLeft) {\n direction.x = -1;\n speed.x = acceleration.x * Math.abs((translate.x - width / 2 - minTranslate.x) / width);\n }\n\n if (this.interval) {\n this.clear();\n this.isAutoScrolling = false;\n }\n\n if (direction.x !== 0 || direction.y !== 0) {\n this.interval = setInterval(function () {\n _this.isAutoScrolling = true;\n var offset = {\n left: speed.x * direction.x,\n top: speed.y * direction.y\n };\n _this.container.scrollTop += offset.top;\n _this.container.scrollLeft += offset.left;\n\n _this.onScrollCallback(offset);\n }, 5);\n }\n }\n }]);\n\n return AutoScroller;\n}();\n\nfunction defaultGetHelperDimensions(_ref) {\n var node = _ref.node;\n return {\n height: node.offsetHeight,\n width: node.offsetWidth\n };\n}\n\nfunction defaultShouldCancelStart(event) {\n var interactiveElements = [NodeType.Input, NodeType.Textarea, NodeType.Select, NodeType.Option, NodeType.Button];\n\n if (interactiveElements.indexOf(event.target.tagName) !== -1) {\n return true;\n }\n\n if (closest(event.target, function (el) {\n return el.contentEditable === 'true';\n })) {\n return true;\n }\n\n return false;\n}\n\nvar propTypes = {\n axis: PropTypes.oneOf(['x', 'y', 'xy']),\n contentWindow: PropTypes.any,\n disableAutoscroll: PropTypes.bool,\n distance: PropTypes.number,\n getContainer: PropTypes.func,\n getHelperDimensions: PropTypes.func,\n helperClass: PropTypes.string,\n helperContainer: PropTypes.oneOfType([PropTypes.func, typeof HTMLElement === 'undefined' ? PropTypes.any : PropTypes.instanceOf(HTMLElement)]),\n hideSortableGhost: PropTypes.bool,\n keyboardSortingTransitionDuration: PropTypes.number,\n lockAxis: PropTypes.string,\n lockOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))]),\n lockToContainerEdges: PropTypes.bool,\n onSortEnd: PropTypes.func,\n onSortMove: PropTypes.func,\n onSortOver: PropTypes.func,\n onSortStart: PropTypes.func,\n pressDelay: PropTypes.number,\n pressThreshold: PropTypes.number,\n keyCodes: PropTypes.shape({\n lift: PropTypes.arrayOf(PropTypes.number),\n drop: PropTypes.arrayOf(PropTypes.number),\n cancel: PropTypes.arrayOf(PropTypes.number),\n up: PropTypes.arrayOf(PropTypes.number),\n down: PropTypes.arrayOf(PropTypes.number)\n }),\n shouldCancelStart: PropTypes.func,\n transitionDuration: PropTypes.number,\n updateBeforeSortStart: PropTypes.func,\n useDragHandle: PropTypes.bool,\n useWindowAsScrollContainer: PropTypes.bool\n};\nvar defaultKeyCodes = {\n lift: [KEYCODE.SPACE],\n drop: [KEYCODE.SPACE],\n cancel: [KEYCODE.ESC],\n up: [KEYCODE.UP, KEYCODE.LEFT],\n down: [KEYCODE.DOWN, KEYCODE.RIGHT]\n};\nvar defaultProps = {\n axis: 'y',\n disableAutoscroll: false,\n distance: 0,\n getHelperDimensions: defaultGetHelperDimensions,\n hideSortableGhost: true,\n lockOffset: '50%',\n lockToContainerEdges: false,\n pressDelay: 0,\n pressThreshold: 5,\n keyCodes: defaultKeyCodes,\n shouldCancelStart: defaultShouldCancelStart,\n transitionDuration: 300,\n useWindowAsScrollContainer: false\n};\nvar omittedProps = Object.keys(propTypes);\nfunction validateProps(props) {\n invariant(!(props.distance && props.pressDelay), 'Attempted to set both `pressDelay` and `distance` on SortableContainer, you may only use one or the other, not both at the same time.');\n}\n\nfunction _finallyRethrows(body, finalizer) {\n try {\n var result = body();\n } catch (e) {\n return finalizer(true, e);\n }\n\n if (result && result.then) {\n return result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n }\n\n return finalizer(false, value);\n}\nvar SortableContext = createContext({\n manager: {}\n});\nfunction sortableContainer(WrappedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n withRef: false\n };\n return _temp = _class = function (_React$Component) {\n _inherits(WithSortableContainer, _React$Component);\n\n function WithSortableContainer(props) {\n var _this;\n\n _classCallCheck(this, WithSortableContainer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(WithSortableContainer).call(this, props));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleStart\", function (event) {\n var _this$props = _this.props,\n distance = _this$props.distance,\n shouldCancelStart = _this$props.shouldCancelStart;\n\n if (event.button === 2 || shouldCancelStart(event)) {\n return;\n }\n\n _this.touched = true;\n _this.position = getPosition(event);\n var node = closest(event.target, function (el) {\n return el.sortableInfo != null;\n });\n\n if (node && node.sortableInfo && _this.nodeIsChild(node) && !_this.state.sorting) {\n var useDragHandle = _this.props.useDragHandle;\n var _node$sortableInfo = node.sortableInfo,\n index = _node$sortableInfo.index,\n collection = _node$sortableInfo.collection,\n disabled = _node$sortableInfo.disabled;\n\n if (disabled) {\n return;\n }\n\n if (useDragHandle && !closest(event.target, isSortableHandle)) {\n return;\n }\n\n _this.manager.active = {\n collection: collection,\n index: index\n };\n\n if (!isTouchEvent(event) && event.target.tagName === NodeType.Anchor) {\n event.preventDefault();\n }\n\n if (!distance) {\n if (_this.props.pressDelay === 0) {\n _this.handlePress(event);\n } else {\n _this.pressTimer = setTimeout(function () {\n return _this.handlePress(event);\n }, _this.props.pressDelay);\n }\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"nodeIsChild\", function (node) {\n return node.sortableInfo.manager === _this.manager;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleMove\", function (event) {\n var _this$props2 = _this.props,\n distance = _this$props2.distance,\n pressThreshold = _this$props2.pressThreshold;\n\n if (!_this.state.sorting && _this.touched && !_this._awaitingUpdateBeforeSortStart) {\n var position = getPosition(event);\n var delta = {\n x: _this.position.x - position.x,\n y: _this.position.y - position.y\n };\n var combinedDelta = Math.abs(delta.x) + Math.abs(delta.y);\n _this.delta = delta;\n\n if (!distance && (!pressThreshold || combinedDelta >= pressThreshold)) {\n clearTimeout(_this.cancelTimer);\n _this.cancelTimer = setTimeout(_this.cancel, 0);\n } else if (distance && combinedDelta >= distance && _this.manager.isActive()) {\n _this.handlePress(event);\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleEnd\", function () {\n _this.touched = false;\n\n _this.cancel();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"cancel\", function () {\n var distance = _this.props.distance;\n var sorting = _this.state.sorting;\n\n if (!sorting) {\n if (!distance) {\n clearTimeout(_this.pressTimer);\n }\n\n _this.manager.active = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handlePress\", function (event) {\n try {\n var active = _this.manager.getActive();\n\n var _temp6 = function () {\n if (active) {\n var _temp7 = function _temp7() {\n var index = _node.sortableInfo.index;\n var margin = getElementMargin(_node);\n var gridGap = getContainerGridGap(_this.container);\n\n var containerBoundingRect = _this.scrollContainer.getBoundingClientRect();\n\n var dimensions = _getHelperDimensions({\n index: index,\n node: _node,\n collection: _collection\n });\n\n _this.node = _node;\n _this.margin = margin;\n _this.gridGap = gridGap;\n _this.width = dimensions.width;\n _this.height = dimensions.height;\n _this.marginOffset = {\n x: _this.margin.left + _this.margin.right + _this.gridGap.x,\n y: Math.max(_this.margin.top, _this.margin.bottom, _this.gridGap.y)\n };\n _this.boundingClientRect = _node.getBoundingClientRect();\n _this.containerBoundingRect = containerBoundingRect;\n _this.index = index;\n _this.newIndex = index;\n _this.axis = {\n x: _axis.indexOf('x') >= 0,\n y: _axis.indexOf('y') >= 0\n };\n _this.offsetEdge = getEdgeOffset(_node, _this.container);\n\n if (_isKeySorting) {\n _this.initialOffset = getPosition(_objectSpread({}, event, {\n pageX: _this.boundingClientRect.left,\n pageY: _this.boundingClientRect.top\n }));\n } else {\n _this.initialOffset = getPosition(event);\n }\n\n _this.initialScroll = {\n left: _this.scrollContainer.scrollLeft,\n top: _this.scrollContainer.scrollTop\n };\n _this.initialWindowScroll = {\n left: window.pageXOffset,\n top: window.pageYOffset\n };\n _this.helper = _this.helperContainer.appendChild(cloneNode(_node));\n setInlineStyles(_this.helper, {\n boxSizing: 'border-box',\n height: \"\".concat(_this.height, \"px\"),\n left: \"\".concat(_this.boundingClientRect.left - margin.left, \"px\"),\n pointerEvents: 'none',\n position: 'fixed',\n top: \"\".concat(_this.boundingClientRect.top - margin.top, \"px\"),\n width: \"\".concat(_this.width, \"px\")\n });\n\n if (_isKeySorting) {\n _this.helper.focus();\n }\n\n if (_hideSortableGhost) {\n _this.sortableGhost = _node;\n setInlineStyles(_node, {\n opacity: 0,\n visibility: 'hidden'\n });\n }\n\n _this.minTranslate = {};\n _this.maxTranslate = {};\n\n if (_isKeySorting) {\n var _ref = _useWindowAsScrollContainer ? {\n top: 0,\n left: 0,\n width: _this.contentWindow.innerWidth,\n height: _this.contentWindow.innerHeight\n } : _this.containerBoundingRect,\n containerTop = _ref.top,\n containerLeft = _ref.left,\n containerWidth = _ref.width,\n containerHeight = _ref.height;\n\n var containerBottom = containerTop + containerHeight;\n var containerRight = containerLeft + containerWidth;\n\n if (_this.axis.x) {\n _this.minTranslate.x = containerLeft - _this.boundingClientRect.left;\n _this.maxTranslate.x = containerRight - (_this.boundingClientRect.left + _this.width);\n }\n\n if (_this.axis.y) {\n _this.minTranslate.y = containerTop - _this.boundingClientRect.top;\n _this.maxTranslate.y = containerBottom - (_this.boundingClientRect.top + _this.height);\n }\n } else {\n if (_this.axis.x) {\n _this.minTranslate.x = (_useWindowAsScrollContainer ? 0 : containerBoundingRect.left) - _this.boundingClientRect.left - _this.width / 2;\n _this.maxTranslate.x = (_useWindowAsScrollContainer ? _this.contentWindow.innerWidth : containerBoundingRect.left + containerBoundingRect.width) - _this.boundingClientRect.left - _this.width / 2;\n }\n\n if (_this.axis.y) {\n _this.minTranslate.y = (_useWindowAsScrollContainer ? 0 : containerBoundingRect.top) - _this.boundingClientRect.top - _this.height / 2;\n _this.maxTranslate.y = (_useWindowAsScrollContainer ? _this.contentWindow.innerHeight : containerBoundingRect.top + containerBoundingRect.height) - _this.boundingClientRect.top - _this.height / 2;\n }\n }\n\n if (_helperClass) {\n _helperClass.split(' ').forEach(function (className) {\n return _this.helper.classList.add(className);\n });\n }\n\n _this.listenerNode = event.touches ? event.target : _this.contentWindow;\n\n if (_isKeySorting) {\n _this.listenerNode.addEventListener('wheel', _this.handleKeyEnd, true);\n\n _this.listenerNode.addEventListener('mousedown', _this.handleKeyEnd, true);\n\n _this.listenerNode.addEventListener('keydown', _this.handleKeyDown);\n } else {\n events.move.forEach(function (eventName) {\n return _this.listenerNode.addEventListener(eventName, _this.handleSortMove, false);\n });\n events.end.forEach(function (eventName) {\n return _this.listenerNode.addEventListener(eventName, _this.handleSortEnd, false);\n });\n }\n\n _this.setState({\n sorting: true,\n sortingIndex: index\n });\n\n if (_onSortStart) {\n _onSortStart({\n node: _node,\n index: index,\n collection: _collection,\n isKeySorting: _isKeySorting,\n nodes: _this.manager.getOrderedRefs(),\n helper: _this.helper\n }, event);\n }\n\n if (_isKeySorting) {\n _this.keyMove(0);\n }\n };\n\n var _this$props3 = _this.props,\n _axis = _this$props3.axis,\n _getHelperDimensions = _this$props3.getHelperDimensions,\n _helperClass = _this$props3.helperClass,\n _hideSortableGhost = _this$props3.hideSortableGhost,\n updateBeforeSortStart = _this$props3.updateBeforeSortStart,\n _onSortStart = _this$props3.onSortStart,\n _useWindowAsScrollContainer = _this$props3.useWindowAsScrollContainer;\n var _node = active.node,\n _collection = active.collection;\n var _isKeySorting = _this.manager.isKeySorting;\n\n var _temp8 = function () {\n if (typeof updateBeforeSortStart === 'function') {\n _this._awaitingUpdateBeforeSortStart = true;\n\n var _temp9 = _finallyRethrows(function () {\n var index = _node.sortableInfo.index;\n return Promise.resolve(updateBeforeSortStart({\n collection: _collection,\n index: index,\n node: _node,\n isKeySorting: _isKeySorting\n }, event)).then(function () {});\n }, function (_wasThrown, _result) {\n _this._awaitingUpdateBeforeSortStart = false;\n if (_wasThrown) throw _result;\n return _result;\n });\n\n if (_temp9 && _temp9.then) return _temp9.then(function () {});\n }\n }();\n\n return _temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8);\n }\n }();\n\n return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);\n } catch (e) {\n return Promise.reject(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleSortMove\", function (event) {\n var onSortMove = _this.props.onSortMove;\n\n if (typeof event.preventDefault === 'function' && event.cancelable) {\n event.preventDefault();\n }\n\n _this.updateHelperPosition(event);\n\n _this.animateNodes();\n\n _this.autoscroll();\n\n if (onSortMove) {\n onSortMove(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleSortEnd\", function (event) {\n var _this$props4 = _this.props,\n hideSortableGhost = _this$props4.hideSortableGhost,\n onSortEnd = _this$props4.onSortEnd;\n var _this$manager = _this.manager,\n collection = _this$manager.active.collection,\n isKeySorting = _this$manager.isKeySorting;\n\n var nodes = _this.manager.getOrderedRefs();\n\n if (_this.listenerNode) {\n if (isKeySorting) {\n _this.listenerNode.removeEventListener('wheel', _this.handleKeyEnd, true);\n\n _this.listenerNode.removeEventListener('mousedown', _this.handleKeyEnd, true);\n\n _this.listenerNode.removeEventListener('keydown', _this.handleKeyDown);\n } else {\n events.move.forEach(function (eventName) {\n return _this.listenerNode.removeEventListener(eventName, _this.handleSortMove);\n });\n events.end.forEach(function (eventName) {\n return _this.listenerNode.removeEventListener(eventName, _this.handleSortEnd);\n });\n }\n }\n\n _this.helper.parentNode.removeChild(_this.helper);\n\n if (hideSortableGhost && _this.sortableGhost) {\n setInlineStyles(_this.sortableGhost, {\n opacity: '',\n visibility: ''\n });\n }\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n var _node2 = nodes[i];\n var el = _node2.node;\n _node2.edgeOffset = null;\n _node2.boundingClientRect = null;\n setTranslate3d(el, null);\n setTransitionDuration(el, null);\n _node2.translate = null;\n }\n\n _this.autoScroller.clear();\n\n _this.manager.active = null;\n _this.manager.isKeySorting = false;\n\n _this.setState({\n sorting: false,\n sortingIndex: null\n });\n\n if (typeof onSortEnd === 'function') {\n onSortEnd({\n collection: collection,\n newIndex: _this.newIndex,\n oldIndex: _this.index,\n isKeySorting: isKeySorting,\n nodes: nodes\n }, event);\n }\n\n _this.touched = false;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"autoscroll\", function () {\n var disableAutoscroll = _this.props.disableAutoscroll;\n var isKeySorting = _this.manager.isKeySorting;\n\n if (disableAutoscroll) {\n _this.autoScroller.clear();\n\n return;\n }\n\n if (isKeySorting) {\n var translate = _objectSpread({}, _this.translate);\n\n var scrollX = 0;\n var scrollY = 0;\n\n if (_this.axis.x) {\n translate.x = Math.min(_this.maxTranslate.x, Math.max(_this.minTranslate.x, _this.translate.x));\n scrollX = _this.translate.x - translate.x;\n }\n\n if (_this.axis.y) {\n translate.y = Math.min(_this.maxTranslate.y, Math.max(_this.minTranslate.y, _this.translate.y));\n scrollY = _this.translate.y - translate.y;\n }\n\n _this.translate = translate;\n setTranslate3d(_this.helper, _this.translate);\n _this.scrollContainer.scrollLeft += scrollX;\n _this.scrollContainer.scrollTop += scrollY;\n return;\n }\n\n _this.autoScroller.update({\n height: _this.height,\n maxTranslate: _this.maxTranslate,\n minTranslate: _this.minTranslate,\n translate: _this.translate,\n width: _this.width\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onAutoScroll\", function (offset) {\n _this.translate.x += offset.left;\n _this.translate.y += offset.top;\n\n _this.animateNodes();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleKeyDown\", function (event) {\n var keyCode = event.keyCode;\n var _this$props5 = _this.props,\n shouldCancelStart = _this$props5.shouldCancelStart,\n _this$props5$keyCodes = _this$props5.keyCodes,\n customKeyCodes = _this$props5$keyCodes === void 0 ? {} : _this$props5$keyCodes;\n\n var keyCodes = _objectSpread({}, defaultKeyCodes, customKeyCodes);\n\n if (_this.manager.active && !_this.manager.isKeySorting || !_this.manager.active && (!keyCodes.lift.includes(keyCode) || shouldCancelStart(event) || !_this.isValidSortingTarget(event))) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n if (keyCodes.lift.includes(keyCode) && !_this.manager.active) {\n _this.keyLift(event);\n } else if (keyCodes.drop.includes(keyCode) && _this.manager.active) {\n _this.keyDrop(event);\n } else if (keyCodes.cancel.includes(keyCode)) {\n _this.newIndex = _this.manager.active.index;\n\n _this.keyDrop(event);\n } else if (keyCodes.up.includes(keyCode)) {\n _this.keyMove(-1);\n } else if (keyCodes.down.includes(keyCode)) {\n _this.keyMove(1);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"keyLift\", function (event) {\n var target = event.target;\n var node = closest(target, function (el) {\n return el.sortableInfo != null;\n });\n var _node$sortableInfo2 = node.sortableInfo,\n index = _node$sortableInfo2.index,\n collection = _node$sortableInfo2.collection;\n _this.initialFocusedNode = target;\n _this.manager.isKeySorting = true;\n _this.manager.active = {\n index: index,\n collection: collection\n };\n\n _this.handlePress(event);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"keyMove\", function (shift) {\n var nodes = _this.manager.getOrderedRefs();\n\n var lastIndex = nodes[nodes.length - 1].node.sortableInfo.index;\n var newIndex = _this.newIndex + shift;\n var prevIndex = _this.newIndex;\n\n if (newIndex < 0 || newIndex > lastIndex) {\n return;\n }\n\n _this.prevIndex = prevIndex;\n _this.newIndex = newIndex;\n var targetIndex = getTargetIndex(_this.newIndex, _this.prevIndex, _this.index);\n var target = nodes.find(function (_ref2) {\n var node = _ref2.node;\n return node.sortableInfo.index === targetIndex;\n });\n var targetNode = target.node;\n var scrollDelta = _this.containerScrollDelta;\n var targetBoundingClientRect = target.boundingClientRect || getScrollAdjustedBoundingClientRect(targetNode, scrollDelta);\n var targetTranslate = target.translate || {\n x: 0,\n y: 0\n };\n var targetPosition = {\n top: targetBoundingClientRect.top + targetTranslate.y - scrollDelta.top,\n left: targetBoundingClientRect.left + targetTranslate.x - scrollDelta.left\n };\n var shouldAdjustForSize = prevIndex < newIndex;\n var sizeAdjustment = {\n x: shouldAdjustForSize && _this.axis.x ? targetNode.offsetWidth - _this.width : 0,\n y: shouldAdjustForSize && _this.axis.y ? targetNode.offsetHeight - _this.height : 0\n };\n\n _this.handleSortMove({\n pageX: targetPosition.left + sizeAdjustment.x,\n pageY: targetPosition.top + sizeAdjustment.y,\n ignoreTransition: shift === 0\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"keyDrop\", function (event) {\n _this.handleSortEnd(event);\n\n if (_this.initialFocusedNode) {\n _this.initialFocusedNode.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"handleKeyEnd\", function (event) {\n if (_this.manager.active) {\n _this.keyDrop(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isValidSortingTarget\", function (event) {\n var useDragHandle = _this.props.useDragHandle;\n var target = event.target;\n var node = closest(target, function (el) {\n return el.sortableInfo != null;\n });\n return node && node.sortableInfo && !node.sortableInfo.disabled && (useDragHandle ? isSortableHandle(target) : target.sortableInfo);\n });\n\n var manager = new Manager();\n validateProps(props);\n _this.manager = manager;\n _this.wrappedInstance = createRef();\n _this.sortableContextValue = {\n manager: manager\n };\n _this.events = {\n end: _this.handleEnd,\n move: _this.handleMove,\n start: _this.handleStart\n };\n return _this;\n }\n\n _createClass(WithSortableContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var useWindowAsScrollContainer = this.props.useWindowAsScrollContainer;\n var container = this.getContainer();\n Promise.resolve(container).then(function (containerNode) {\n _this2.container = containerNode;\n _this2.document = _this2.container.ownerDocument || document;\n var contentWindow = _this2.props.contentWindow || _this2.document.defaultView || window;\n _this2.contentWindow = typeof contentWindow === 'function' ? contentWindow() : contentWindow;\n _this2.scrollContainer = useWindowAsScrollContainer ? _this2.document.scrollingElement || _this2.document.documentElement : getScrollingParent(_this2.container) || _this2.container;\n _this2.autoScroller = new AutoScroller(_this2.scrollContainer, _this2.onAutoScroll);\n Object.keys(_this2.events).forEach(function (key) {\n return events[key].forEach(function (eventName) {\n return _this2.container.addEventListener(eventName, _this2.events[key], false);\n });\n });\n\n _this2.container.addEventListener('keydown', _this2.handleKeyDown);\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n\n if (this.helper && this.helper.parentNode) {\n this.helper.parentNode.removeChild(this.helper);\n }\n\n if (!this.container) {\n return;\n }\n\n Object.keys(this.events).forEach(function (key) {\n return events[key].forEach(function (eventName) {\n return _this3.container.removeEventListener(eventName, _this3.events[key]);\n });\n });\n this.container.removeEventListener('keydown', this.handleKeyDown);\n }\n }, {\n key: \"updateHelperPosition\",\n value: function updateHelperPosition(event) {\n var _this$props6 = this.props,\n lockAxis = _this$props6.lockAxis,\n lockOffset = _this$props6.lockOffset,\n lockToContainerEdges = _this$props6.lockToContainerEdges,\n transitionDuration = _this$props6.transitionDuration,\n _this$props6$keyboard = _this$props6.keyboardSortingTransitionDuration,\n keyboardSortingTransitionDuration = _this$props6$keyboard === void 0 ? transitionDuration : _this$props6$keyboard;\n var isKeySorting = this.manager.isKeySorting;\n var ignoreTransition = event.ignoreTransition;\n var offset = getPosition(event);\n var translate = {\n x: offset.x - this.initialOffset.x,\n y: offset.y - this.initialOffset.y\n };\n translate.y -= window.pageYOffset - this.initialWindowScroll.top;\n translate.x -= window.pageXOffset - this.initialWindowScroll.left;\n this.translate = translate;\n\n if (lockToContainerEdges) {\n var _getLockPixelOffsets = getLockPixelOffsets({\n height: this.height,\n lockOffset: lockOffset,\n width: this.width\n }),\n _getLockPixelOffsets2 = _slicedToArray(_getLockPixelOffsets, 2),\n minLockOffset = _getLockPixelOffsets2[0],\n maxLockOffset = _getLockPixelOffsets2[1];\n\n var minOffset = {\n x: this.width / 2 - minLockOffset.x,\n y: this.height / 2 - minLockOffset.y\n };\n var maxOffset = {\n x: this.width / 2 - maxLockOffset.x,\n y: this.height / 2 - maxLockOffset.y\n };\n translate.x = limit(this.minTranslate.x + minOffset.x, this.maxTranslate.x - maxOffset.x, translate.x);\n translate.y = limit(this.minTranslate.y + minOffset.y, this.maxTranslate.y - maxOffset.y, translate.y);\n }\n\n if (lockAxis === 'x') {\n translate.y = 0;\n } else if (lockAxis === 'y') {\n translate.x = 0;\n }\n\n if (isKeySorting && keyboardSortingTransitionDuration && !ignoreTransition) {\n setTransitionDuration(this.helper, keyboardSortingTransitionDuration);\n }\n\n setTranslate3d(this.helper, translate);\n }\n }, {\n key: \"animateNodes\",\n value: function animateNodes() {\n var _this$props7 = this.props,\n transitionDuration = _this$props7.transitionDuration,\n hideSortableGhost = _this$props7.hideSortableGhost,\n onSortOver = _this$props7.onSortOver;\n var containerScrollDelta = this.containerScrollDelta,\n windowScrollDelta = this.windowScrollDelta;\n var nodes = this.manager.getOrderedRefs();\n var sortingOffset = {\n left: this.offsetEdge.left + this.translate.x + containerScrollDelta.left,\n top: this.offsetEdge.top + this.translate.y + containerScrollDelta.top\n };\n var isKeySorting = this.manager.isKeySorting;\n var prevIndex = this.newIndex;\n this.newIndex = null;\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n var _node3 = nodes[i].node;\n var index = _node3.sortableInfo.index;\n var width = _node3.offsetWidth;\n var height = _node3.offsetHeight;\n var offset = {\n height: this.height > height ? height / 2 : this.height / 2,\n width: this.width > width ? width / 2 : this.width / 2\n };\n var mustShiftBackward = isKeySorting && index > this.index && index <= prevIndex;\n var mustShiftForward = isKeySorting && index < this.index && index >= prevIndex;\n var translate = {\n x: 0,\n y: 0\n };\n var edgeOffset = nodes[i].edgeOffset;\n\n if (!edgeOffset) {\n edgeOffset = getEdgeOffset(_node3, this.container);\n nodes[i].edgeOffset = edgeOffset;\n\n if (isKeySorting) {\n nodes[i].boundingClientRect = getScrollAdjustedBoundingClientRect(_node3, containerScrollDelta);\n }\n }\n\n var nextNode = i < nodes.length - 1 && nodes[i + 1];\n var prevNode = i > 0 && nodes[i - 1];\n\n if (nextNode && !nextNode.edgeOffset) {\n nextNode.edgeOffset = getEdgeOffset(nextNode.node, this.container);\n\n if (isKeySorting) {\n nextNode.boundingClientRect = getScrollAdjustedBoundingClientRect(nextNode.node, containerScrollDelta);\n }\n }\n\n if (index === this.index) {\n if (hideSortableGhost) {\n this.sortableGhost = _node3;\n setInlineStyles(_node3, {\n opacity: 0,\n visibility: 'hidden'\n });\n }\n\n continue;\n }\n\n if (transitionDuration) {\n setTransitionDuration(_node3, transitionDuration);\n }\n\n if (this.axis.x) {\n if (this.axis.y) {\n if (mustShiftForward || index < this.index && (sortingOffset.left + windowScrollDelta.left - offset.width <= edgeOffset.left && sortingOffset.top + windowScrollDelta.top <= edgeOffset.top + offset.height || sortingOffset.top + windowScrollDelta.top + offset.height <= edgeOffset.top)) {\n translate.x = this.width + this.marginOffset.x;\n\n if (edgeOffset.left + translate.x > this.containerBoundingRect.width - offset.width) {\n if (nextNode) {\n translate.x = nextNode.edgeOffset.left - edgeOffset.left;\n translate.y = nextNode.edgeOffset.top - edgeOffset.top;\n }\n }\n\n if (this.newIndex === null) {\n this.newIndex = index;\n }\n } else if (mustShiftBackward || index > this.index && (sortingOffset.left + windowScrollDelta.left + offset.width >= edgeOffset.left && sortingOffset.top + windowScrollDelta.top + offset.height >= edgeOffset.top || sortingOffset.top + windowScrollDelta.top + offset.height >= edgeOffset.top + height)) {\n translate.x = -(this.width + this.marginOffset.x);\n\n if (edgeOffset.left + translate.x < this.containerBoundingRect.left + offset.width) {\n if (prevNode) {\n translate.x = prevNode.edgeOffset.left - edgeOffset.left;\n translate.y = prevNode.edgeOffset.top - edgeOffset.top;\n }\n }\n\n this.newIndex = index;\n }\n } else {\n if (mustShiftBackward || index > this.index && sortingOffset.left + windowScrollDelta.left + offset.width >= edgeOffset.left) {\n translate.x = -(this.width + this.marginOffset.x);\n this.newIndex = index;\n } else if (mustShiftForward || index < this.index && sortingOffset.left + windowScrollDelta.left <= edgeOffset.left + offset.width) {\n translate.x = this.width + this.marginOffset.x;\n\n if (this.newIndex == null) {\n this.newIndex = index;\n }\n }\n }\n } else if (this.axis.y) {\n if (mustShiftBackward || index > this.index && sortingOffset.top + windowScrollDelta.top + offset.height >= edgeOffset.top) {\n translate.y = -(this.height + this.marginOffset.y);\n this.newIndex = index;\n } else if (mustShiftForward || index < this.index && sortingOffset.top + windowScrollDelta.top <= edgeOffset.top + offset.height) {\n translate.y = this.height + this.marginOffset.y;\n\n if (this.newIndex == null) {\n this.newIndex = index;\n }\n }\n }\n\n setTranslate3d(_node3, translate);\n nodes[i].translate = translate;\n }\n\n if (this.newIndex == null) {\n this.newIndex = this.index;\n }\n\n if (isKeySorting) {\n this.newIndex = prevIndex;\n }\n\n var oldIndex = isKeySorting ? this.prevIndex : prevIndex;\n\n if (onSortOver && this.newIndex !== oldIndex) {\n onSortOver({\n collection: this.manager.active.collection,\n index: this.index,\n newIndex: this.newIndex,\n oldIndex: oldIndex,\n isKeySorting: isKeySorting,\n nodes: nodes,\n helper: this.helper\n });\n }\n }\n }, {\n key: \"getWrappedInstance\",\n value: function getWrappedInstance() {\n invariant(config.withRef, 'To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableContainer() call');\n return this.wrappedInstance.current;\n }\n }, {\n key: \"getContainer\",\n value: function getContainer() {\n var getContainer = this.props.getContainer;\n\n if (typeof getContainer !== 'function') {\n return findDOMNode(this);\n }\n\n return getContainer(config.withRef ? this.getWrappedInstance() : undefined);\n }\n }, {\n key: \"render\",\n value: function render() {\n var ref = config.withRef ? this.wrappedInstance : null;\n return createElement(SortableContext.Provider, {\n value: this.sortableContextValue\n }, createElement(WrappedComponent, _extends({\n ref: ref\n }, omit(this.props, omittedProps))));\n }\n }, {\n key: \"helperContainer\",\n get: function get() {\n var helperContainer = this.props.helperContainer;\n\n if (typeof helperContainer === 'function') {\n return helperContainer();\n }\n\n return this.props.helperContainer || this.document.body;\n }\n }, {\n key: \"containerScrollDelta\",\n get: function get() {\n var useWindowAsScrollContainer = this.props.useWindowAsScrollContainer;\n\n if (useWindowAsScrollContainer) {\n return {\n left: 0,\n top: 0\n };\n }\n\n return {\n left: this.scrollContainer.scrollLeft - this.initialScroll.left,\n top: this.scrollContainer.scrollTop - this.initialScroll.top\n };\n }\n }, {\n key: \"windowScrollDelta\",\n get: function get() {\n return {\n left: this.contentWindow.pageXOffset - this.initialWindowScroll.left,\n top: this.contentWindow.pageYOffset - this.initialWindowScroll.top\n };\n }\n }]);\n\n return WithSortableContainer;\n }(Component), _defineProperty(_class, \"displayName\", provideDisplayName('sortableList', WrappedComponent)), _defineProperty(_class, \"defaultProps\", defaultProps), _defineProperty(_class, \"propTypes\", propTypes), _temp;\n}\n\nvar propTypes$1 = {\n index: PropTypes.number.isRequired,\n collection: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n disabled: PropTypes.bool\n};\nvar omittedProps$1 = Object.keys(propTypes$1);\nfunction sortableElement(WrappedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n withRef: false\n };\n return _temp = _class = function (_React$Component) {\n _inherits(WithSortableElement, _React$Component);\n\n function WithSortableElement() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, WithSortableElement);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithSortableElement)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"wrappedInstance\", createRef());\n\n return _this;\n }\n\n _createClass(WithSortableElement, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.register();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.node) {\n if (prevProps.index !== this.props.index) {\n this.node.sortableInfo.index = this.props.index;\n }\n\n if (prevProps.disabled !== this.props.disabled) {\n this.node.sortableInfo.disabled = this.props.disabled;\n }\n }\n\n if (prevProps.collection !== this.props.collection) {\n this.unregister(prevProps.collection);\n this.register();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unregister();\n }\n }, {\n key: \"register\",\n value: function register() {\n var _this$props = this.props,\n collection = _this$props.collection,\n disabled = _this$props.disabled,\n index = _this$props.index;\n var node = findDOMNode(this);\n node.sortableInfo = {\n collection: collection,\n disabled: disabled,\n index: index,\n manager: this.context.manager\n };\n this.node = node;\n this.ref = {\n node: node\n };\n this.context.manager.add(collection, this.ref);\n }\n }, {\n key: \"unregister\",\n value: function unregister() {\n var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.collection;\n this.context.manager.remove(collection, this.ref);\n }\n }, {\n key: \"getWrappedInstance\",\n value: function getWrappedInstance() {\n invariant(config.withRef, 'To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableElement() call');\n return this.wrappedInstance.current;\n }\n }, {\n key: \"render\",\n value: function render() {\n var ref = config.withRef ? this.wrappedInstance : null;\n return createElement(WrappedComponent, _extends({\n ref: ref\n }, omit(this.props, omittedProps$1)));\n }\n }]);\n\n return WithSortableElement;\n }(Component), _defineProperty(_class, \"displayName\", provideDisplayName('sortableElement', WrappedComponent)), _defineProperty(_class, \"contextType\", SortableContext), _defineProperty(_class, \"propTypes\", propTypes$1), _defineProperty(_class, \"defaultProps\", {\n collection: 0\n }), _temp;\n}\n\nexport { sortableContainer as SortableContainer, sortableContainer, sortableElement as SortableElement, sortableElement, sortableHandle as SortableHandle, sortableHandle, arrayMove };\n","function defaultDispose() { }\nexport class StrongCache {\n constructor(max = Infinity, dispose = defaultDispose) {\n this.max = max;\n this.dispose = dispose;\n this.map = new Map();\n this.newest = null;\n this.oldest = null;\n }\n has(key) {\n return this.map.has(key);\n }\n get(key) {\n const node = this.getNode(key);\n return node && node.value;\n }\n get size() {\n return this.map.size;\n }\n getNode(key) {\n const node = this.map.get(key);\n if (node && node !== this.newest) {\n const { older, newer } = node;\n if (newer) {\n newer.older = older;\n }\n if (older) {\n older.newer = newer;\n }\n node.older = this.newest;\n node.older.newer = node;\n node.newer = null;\n this.newest = node;\n if (node === this.oldest) {\n this.oldest = newer;\n }\n }\n return node;\n }\n set(key, value) {\n let node = this.getNode(key);\n if (node) {\n return node.value = value;\n }\n node = {\n key,\n value,\n newer: null,\n older: this.newest\n };\n if (this.newest) {\n this.newest.newer = node;\n }\n this.newest = node;\n this.oldest = this.oldest || node;\n this.map.set(key, node);\n return node.value;\n }\n clean() {\n while (this.oldest && this.map.size > this.max) {\n this.delete(this.oldest.key);\n }\n }\n delete(key) {\n const node = this.map.get(key);\n if (node) {\n if (node === this.newest) {\n this.newest = node.older;\n }\n if (node === this.oldest) {\n this.oldest = node.newer;\n }\n if (node.newer) {\n node.newer.older = node.older;\n }\n if (node.older) {\n node.older.newer = node.newer;\n }\n this.map.delete(key);\n this.dispose(node.value, key);\n return true;\n }\n return false;\n }\n}\n//# sourceMappingURL=strong.js.map","function noop() { }\nconst defaultDispose = noop;\nconst _WeakRef = typeof WeakRef !== \"undefined\"\n ? WeakRef\n : function (value) {\n return { deref: () => value };\n };\nconst _WeakMap = typeof WeakMap !== \"undefined\" ? WeakMap : Map;\nconst _FinalizationRegistry = typeof FinalizationRegistry !== \"undefined\"\n ? FinalizationRegistry\n : function () {\n return {\n register: noop,\n unregister: noop,\n };\n };\nconst finalizationBatchSize = 10024;\nexport class WeakCache {\n constructor(max = Infinity, dispose = defaultDispose) {\n this.max = max;\n this.dispose = dispose;\n this.map = new _WeakMap();\n this.newest = null;\n this.oldest = null;\n this.unfinalizedNodes = new Set();\n this.finalizationScheduled = false;\n this.size = 0;\n this.finalize = () => {\n const iterator = this.unfinalizedNodes.values();\n for (let i = 0; i < finalizationBatchSize; i++) {\n const node = iterator.next().value;\n if (!node)\n break;\n this.unfinalizedNodes.delete(node);\n const key = node.key;\n delete node.key;\n node.keyRef = new _WeakRef(key);\n this.registry.register(key, node, node);\n }\n if (this.unfinalizedNodes.size > 0) {\n queueMicrotask(this.finalize);\n }\n else {\n this.finalizationScheduled = false;\n }\n };\n this.registry = new _FinalizationRegistry(this.deleteNode.bind(this));\n }\n has(key) {\n return this.map.has(key);\n }\n get(key) {\n const node = this.getNode(key);\n return node && node.value;\n }\n getNode(key) {\n const node = this.map.get(key);\n if (node && node !== this.newest) {\n const { older, newer } = node;\n if (newer) {\n newer.older = older;\n }\n if (older) {\n older.newer = newer;\n }\n node.older = this.newest;\n node.older.newer = node;\n node.newer = null;\n this.newest = node;\n if (node === this.oldest) {\n this.oldest = newer;\n }\n }\n return node;\n }\n set(key, value) {\n let node = this.getNode(key);\n if (node) {\n return (node.value = value);\n }\n node = {\n key,\n value,\n newer: null,\n older: this.newest,\n };\n if (this.newest) {\n this.newest.newer = node;\n }\n this.newest = node;\n this.oldest = this.oldest || node;\n this.scheduleFinalization(node);\n this.map.set(key, node);\n this.size++;\n return node.value;\n }\n clean() {\n while (this.oldest && this.size > this.max) {\n this.deleteNode(this.oldest);\n }\n }\n deleteNode(node) {\n if (node === this.newest) {\n this.newest = node.older;\n }\n if (node === this.oldest) {\n this.oldest = node.newer;\n }\n if (node.newer) {\n node.newer.older = node.older;\n }\n if (node.older) {\n node.older.newer = node.newer;\n }\n this.size--;\n const key = node.key || (node.keyRef && node.keyRef.deref());\n this.dispose(node.value, key);\n if (!node.keyRef) {\n this.unfinalizedNodes.delete(node);\n }\n else {\n this.registry.unregister(node);\n }\n if (key)\n this.map.delete(key);\n }\n delete(key) {\n const node = this.map.get(key);\n if (node) {\n this.deleteNode(node);\n return true;\n }\n return false;\n }\n scheduleFinalization(node) {\n this.unfinalizedNodes.add(node);\n if (!this.finalizationScheduled) {\n this.finalizationScheduled = true;\n queueMicrotask(this.finalize);\n }\n }\n}\n//# sourceMappingURL=weak.js.map","// This currentContext variable will only be used if the makeSlotClass\n// function is called, which happens only if this is the first copy of the\n// @wry/context package to be imported.\nlet currentContext = null;\n// This unique internal object is used to denote the absence of a value\n// for a given Slot, and is never exposed to outside code.\nconst MISSING_VALUE = {};\nlet idCounter = 1;\n// Although we can't do anything about the cost of duplicated code from\n// accidentally bundling multiple copies of the @wry/context package, we can\n// avoid creating the Slot class more than once using makeSlotClass.\nconst makeSlotClass = () => class Slot {\n constructor() {\n // If you have a Slot object, you can find out its slot.id, but you cannot\n // guess the slot.id of a Slot you don't have access to, thanks to the\n // randomized suffix.\n this.id = [\n \"slot\",\n idCounter++,\n Date.now(),\n Math.random().toString(36).slice(2),\n ].join(\":\");\n }\n hasValue() {\n for (let context = currentContext; context; context = context.parent) {\n // We use the Slot object iself as a key to its value, which means the\n // value cannot be obtained without a reference to the Slot object.\n if (this.id in context.slots) {\n const value = context.slots[this.id];\n if (value === MISSING_VALUE)\n break;\n if (context !== currentContext) {\n // Cache the value in currentContext.slots so the next lookup will\n // be faster. This caching is safe because the tree of contexts and\n // the values of the slots are logically immutable.\n currentContext.slots[this.id] = value;\n }\n return true;\n }\n }\n if (currentContext) {\n // If a value was not found for this Slot, it's never going to be found\n // no matter how many times we look it up, so we might as well cache\n // the absence of the value, too.\n currentContext.slots[this.id] = MISSING_VALUE;\n }\n return false;\n }\n getValue() {\n if (this.hasValue()) {\n return currentContext.slots[this.id];\n }\n }\n withValue(value, callback, \n // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n const slots = {\n __proto__: null,\n [this.id]: value,\n };\n const parent = currentContext;\n currentContext = { parent, slots };\n try {\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg, args);\n }\n finally {\n currentContext = parent;\n }\n }\n // Capture the current context and wrap a callback function so that it\n // reestablishes the captured context when called.\n static bind(callback) {\n const context = currentContext;\n return function () {\n const saved = currentContext;\n try {\n currentContext = context;\n return callback.apply(this, arguments);\n }\n finally {\n currentContext = saved;\n }\n };\n }\n // Immediately run a callback function without any captured context.\n static noContext(callback, \n // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n if (currentContext) {\n const saved = currentContext;\n try {\n currentContext = null;\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg, args);\n }\n finally {\n currentContext = saved;\n }\n }\n else {\n return callback.apply(thisArg, args);\n }\n }\n};\nfunction maybe(fn) {\n try {\n return fn();\n }\n catch (ignored) { }\n}\n// We store a single global implementation of the Slot class as a permanent\n// non-enumerable property of the globalThis object. This obfuscation does\n// nothing to prevent access to the Slot class, but at least it ensures the\n// implementation (i.e. currentContext) cannot be tampered with, and all copies\n// of the @wry/context package (hopefully just one) will share the same Slot\n// implementation. Since the first copy of the @wry/context package to be\n// imported wins, this technique imposes a steep cost for any future breaking\n// changes to the Slot class.\nconst globalKey = \"@wry/context:Slot\";\nconst host = \n// Prefer globalThis when available.\n// https://github.com/benjamn/wryware/issues/347\nmaybe(() => globalThis) ||\n // Fall back to global, which works in Node.js and may be converted by some\n // bundlers to the appropriate identifier (window, self, ...) depending on the\n // bundling target. https://github.com/endojs/endo/issues/576#issuecomment-1178515224\n maybe(() => global) ||\n // Otherwise, use a dummy host that's local to this module. We used to fall\n // back to using the Array constructor as a namespace, but that was flagged in\n // https://github.com/benjamn/wryware/issues/347, and can be avoided.\n Object.create(null);\n// Whichever globalHost we're using, make TypeScript happy about the additional\n// globalKey property.\nconst globalHost = host;\nexport const Slot = globalHost[globalKey] ||\n // Earlier versions of this package stored the globalKey property on the Array\n // constructor, so we check there as well, to prevent Slot class duplication.\n Array[globalKey] ||\n (function (Slot) {\n try {\n Object.defineProperty(globalHost, globalKey, {\n value: Slot,\n enumerable: false,\n writable: false,\n // When it was possible for globalHost to be the Array constructor (a\n // legacy Slot dedup strategy), it was important for the property to be\n // configurable:true so it could be deleted. That does not seem to be as\n // important when globalHost is the global object, but I don't want to\n // cause similar problems again, and configurable:true seems safest.\n // https://github.com/endojs/endo/issues/576#issuecomment-1178274008\n configurable: true\n });\n }\n finally {\n return Slot;\n }\n })(makeSlotClass());\n//# sourceMappingURL=slot.js.map","import { Slot } from \"./slot.js\";\nexport { Slot };\nexport const { bind, noContext } = Slot;\n// Like global.setTimeout, except the callback runs with captured context.\nexport { setTimeoutWithContext as setTimeout };\nfunction setTimeoutWithContext(callback, delay) {\n return setTimeout(bind(callback), delay);\n}\n// Turn any generator function into an async function (using yield instead\n// of await), with context automatically preserved across yields.\nexport function asyncFromGen(genFn) {\n return function () {\n const gen = genFn.apply(this, arguments);\n const boundNext = bind(gen.next);\n const boundThrow = bind(gen.throw);\n return new Promise((resolve, reject) => {\n function invoke(method, argument) {\n try {\n var result = method.call(gen, argument);\n }\n catch (error) {\n return reject(error);\n }\n const next = result.done ? resolve : invokeNext;\n if (isPromiseLike(result.value)) {\n result.value.then(next, result.done ? reject : invokeThrow);\n }\n else {\n next(result.value);\n }\n }\n const invokeNext = (value) => invoke(boundNext, value);\n const invokeThrow = (error) => invoke(boundThrow, error);\n invokeNext();\n });\n };\n}\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\n// If you use the fibers npm package to implement coroutines in Node.js,\n// you should call this function at least once to ensure context management\n// remains coherent across any yields.\nconst wrappedFibers = [];\nexport function wrapYieldingFiberMethods(Fiber) {\n // There can be only one implementation of Fiber per process, so this array\n // should never grow longer than one element.\n if (wrappedFibers.indexOf(Fiber) < 0) {\n const wrap = (obj, method) => {\n const fn = obj[method];\n obj[method] = function () {\n return noContext(fn, arguments, this);\n };\n };\n // These methods can yield, according to\n // https://github.com/laverdet/node-fibers/blob/ddebed9b8ae3883e57f822e2108e6943e5c8d2a8/fibers.js#L97-L100\n wrap(Fiber, \"yield\");\n wrap(Fiber.prototype, \"run\");\n wrap(Fiber.prototype, \"throwInto\");\n wrappedFibers.push(Fiber);\n }\n return Fiber;\n}\n//# sourceMappingURL=index.js.map","const { toString, hasOwnProperty } = Object.prototype;\nconst fnToStr = Function.prototype.toString;\nconst previousComparisons = new Map();\n/**\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\n */\nexport function equal(a, b) {\n try {\n return check(a, b);\n }\n finally {\n previousComparisons.clear();\n }\n}\n// Allow default imports as well.\nexport default equal;\nfunction check(a, b) {\n // If the two values are strictly equal, our job is easy.\n if (a === b) {\n return true;\n }\n // Object.prototype.toString returns a representation of the runtime type of\n // the given value that is considerably more precise than typeof.\n const aTag = toString.call(a);\n const bTag = toString.call(b);\n // If the runtime types of a and b are different, they could maybe be equal\n // under some interpretation of equality, but for simplicity and performance\n // we just return false instead.\n if (aTag !== bTag) {\n return false;\n }\n switch (aTag) {\n case '[object Array]':\n // Arrays are a lot like other objects, but we can cheaply compare their\n // lengths as a short-cut before comparing their elements.\n if (a.length !== b.length)\n return false;\n // Fall through to object case...\n case '[object Object]': {\n if (previouslyCompared(a, b))\n return true;\n const aKeys = definedKeys(a);\n const bKeys = definedKeys(b);\n // If `a` and `b` have a different number of enumerable keys, they\n // must be different.\n const keyCount = aKeys.length;\n if (keyCount !== bKeys.length)\n return false;\n // Now make sure they have the same keys.\n for (let k = 0; k < keyCount; ++k) {\n if (!hasOwnProperty.call(b, aKeys[k])) {\n return false;\n }\n }\n // Finally, check deep equality of all child properties.\n for (let k = 0; k < keyCount; ++k) {\n const key = aKeys[k];\n if (!check(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n case '[object Error]':\n return a.name === b.name && a.message === b.message;\n case '[object Number]':\n // Handle NaN, which is !== itself.\n if (a !== a)\n return b !== b;\n // Fall through to shared +a === +b case...\n case '[object Boolean]':\n case '[object Date]':\n return +a === +b;\n case '[object RegExp]':\n case '[object String]':\n return a == `${b}`;\n case '[object Map]':\n case '[object Set]': {\n if (a.size !== b.size)\n return false;\n if (previouslyCompared(a, b))\n return true;\n const aIterator = a.entries();\n const isMap = aTag === '[object Map]';\n while (true) {\n const info = aIterator.next();\n if (info.done)\n break;\n // If a instanceof Set, aValue === aKey.\n const [aKey, aValue] = info.value;\n // So this works the same way for both Set and Map.\n if (!b.has(aKey)) {\n return false;\n }\n // However, we care about deep equality of values only when dealing\n // with Map structures.\n if (isMap && !check(aValue, b.get(aKey))) {\n return false;\n }\n }\n return true;\n }\n case '[object Uint16Array]':\n case '[object Uint8Array]': // Buffer, in Node.js.\n case '[object Uint32Array]':\n case '[object Int32Array]':\n case '[object Int8Array]':\n case '[object Int16Array]':\n case '[object ArrayBuffer]':\n // DataView doesn't need these conversions, but the equality check is\n // otherwise the same.\n a = new Uint8Array(a);\n b = new Uint8Array(b);\n // Fall through...\n case '[object DataView]': {\n let len = a.byteLength;\n if (len === b.byteLength) {\n while (len-- && a[len] === b[len]) {\n // Keep looping as long as the bytes are equal.\n }\n }\n return len === -1;\n }\n case '[object AsyncFunction]':\n case '[object GeneratorFunction]':\n case '[object AsyncGeneratorFunction]':\n case '[object Function]': {\n const aCode = fnToStr.call(a);\n if (aCode !== fnToStr.call(b)) {\n return false;\n }\n // We consider non-native functions equal if they have the same code\n // (native functions require === because their code is censored).\n // Note that this behavior is not entirely sound, since !== function\n // objects with the same code can behave differently depending on\n // their closure scope. However, any function can behave differently\n // depending on the values of its input arguments (including this)\n // and its calling context (including its closure scope), even\n // though the function object is === to itself; and it is entirely\n // possible for functions that are not === to behave exactly the\n // same under all conceivable circumstances. Because none of these\n // factors are statically decidable in JavaScript, JS function\n // equality is not well-defined. This ambiguity allows us to\n // consider the best possible heuristic among various imperfect\n // options, and equating non-native functions that have the same\n // code has enormous practical benefits, such as when comparing\n // functions that are repeatedly passed as fresh function\n // expressions within objects that are otherwise deeply equal. Since\n // any function created from the same syntactic expression (in the\n // same code location) will always stringify to the same code\n // according to fnToStr.call, we can reasonably expect these\n // repeatedly passed function expressions to have the same code, and\n // thus behave \"the same\" (with all the caveats mentioned above),\n // even though the runtime function objects are !== to one another.\n return !endsWith(aCode, nativeCodeSuffix);\n }\n }\n // Otherwise the values are not equal.\n return false;\n}\nfunction definedKeys(obj) {\n // Remember that the second argument to Array.prototype.filter will be\n // used as `this` within the callback function.\n return Object.keys(obj).filter(isDefinedKey, obj);\n}\nfunction isDefinedKey(key) {\n return this[key] !== void 0;\n}\nconst nativeCodeSuffix = \"{ [native code] }\";\nfunction endsWith(full, suffix) {\n const fromIndex = full.length - suffix.length;\n return fromIndex >= 0 &&\n full.indexOf(suffix, fromIndex) === fromIndex;\n}\nfunction previouslyCompared(a, b) {\n // Though cyclic references can make an object graph appear infinite from the\n // perspective of a depth-first traversal, the graph still contains a finite\n // number of distinct object references. We use the previousComparisons cache\n // to avoid comparing the same pair of object references more than once, which\n // guarantees termination (even if we end up comparing every object in one\n // graph to every object in the other graph, which is extremely unlikely),\n // while still allowing weird isomorphic structures (like rings with different\n // lengths) a chance to pass the equality test.\n let bSet = previousComparisons.get(a);\n if (bSet) {\n // Return true here because we can be sure false will be returned somewhere\n // else if the objects are not equivalent.\n if (bSet.has(b))\n return true;\n }\n else {\n previousComparisons.set(a, bSet = new Set);\n }\n bSet.add(b);\n return false;\n}\n//# sourceMappingURL=index.js.map","// A [trie](https://en.wikipedia.org/wiki/Trie) data structure that holds\n// object keys weakly, yet can also hold non-object keys, unlike the\n// native `WeakMap`.\n// If no makeData function is supplied, the looked-up data will be an empty,\n// null-prototype Object.\nconst defaultMakeData = () => Object.create(null);\n// Useful for processing arguments objects as well as arrays.\nconst { forEach, slice } = Array.prototype;\nconst { hasOwnProperty } = Object.prototype;\nexport class Trie {\n constructor(weakness = true, makeData = defaultMakeData) {\n this.weakness = weakness;\n this.makeData = makeData;\n }\n lookup() {\n return this.lookupArray(arguments);\n }\n lookupArray(array) {\n let node = this;\n forEach.call(array, key => node = node.getChildTrie(key));\n return hasOwnProperty.call(node, \"data\")\n ? node.data\n : node.data = this.makeData(slice.call(array));\n }\n peek() {\n return this.peekArray(arguments);\n }\n peekArray(array) {\n let node = this;\n for (let i = 0, len = array.length; node && i < len; ++i) {\n const map = node.mapFor(array[i], false);\n node = map && map.get(array[i]);\n }\n return node && node.data;\n }\n remove() {\n return this.removeArray(arguments);\n }\n removeArray(array) {\n let data;\n if (array.length) {\n const head = array[0];\n const map = this.mapFor(head, false);\n const child = map && map.get(head);\n if (child) {\n data = child.removeArray(slice.call(array, 1));\n if (!child.data && !child.weak && !(child.strong && child.strong.size)) {\n map.delete(head);\n }\n }\n }\n else {\n data = this.data;\n delete this.data;\n }\n return data;\n }\n getChildTrie(key) {\n const map = this.mapFor(key, true);\n let child = map.get(key);\n if (!child)\n map.set(key, child = new Trie(this.weakness, this.makeData));\n return child;\n }\n mapFor(key, create) {\n return this.weakness && isObjRef(key)\n ? this.weak || (create ? this.weak = new WeakMap : void 0)\n : this.strong || (create ? this.strong = new Map : void 0);\n }\n}\nfunction isObjRef(value) {\n switch (typeof value) {\n case \"object\":\n if (value === null)\n break;\n // Fall through to return true...\n case \"function\":\n return true;\n }\n return false;\n}\n//# sourceMappingURL=index.js.map","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"10(?:10|9[56])|2[0-57-9](?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:1[3-79]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0-35])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-3]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[0467]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"2[0-24-9]\\\\d{8}|[78]\\\\d{10,13}|[7-9]\\\\d{9}|[1-9]\\\\d{7}|[124-7]\\\\d{6}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-6]|7(?:0[0-689]|[1-79])|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"[6-9]\\\\d{6}|[1-6]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:3052(?:0[0-8]|[1-9]\\\\d)|5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"305209\\\\d{4}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"00\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"]]]],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isObject from './helpers/isObject.js'; // Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\n\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n}\n//# sourceMappingURL=normalizeArguments.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n} // This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n // `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\n // Any 3rd-party code that used to `import` and call this function before that\n // won't be passing any `emitEvent` argument.\n //\n // The addition of the `emitEvent` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (typeof emitEvent === 'function') {\n emitEvent('end');\n }\n\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returns an empty object — `{}` —\n // that means that the phone number is malformed,\n // so it can't possibly be valid.\n\n if (!input.country && !input.countryCallingCode) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains ``s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n var matchingCountries = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If the `defaultCountry` is among the `matchingCountries` then return it.\n if (defaultCountry) {\n if (country === defaultCountry) {\n return country;\n }\n\n matchingCountries.push(country);\n } else {\n return country;\n }\n }\n } // Return the first (\"main\") one of the `matchingCountries`.\n\n\n if (matchingCountries.length > 0) {\n return matchingCountries[0];\n }\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\nimport { VALID_DIGITS // PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g'); // In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\n\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\n\nexport default function extractPhoneContext(numberToExtractFrom) {\n var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_); // If no phone-context parameter is present\n\n if (indexOfPhoneContext < 0) {\n return null;\n }\n\n var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length; // If phone-context parameter is empty\n\n if (phoneContextStart >= numberToExtractFrom.length) {\n return '';\n }\n\n var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart); // If phone-context is not the last parameter\n\n if (phoneContextEnd >= 0) {\n return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n } else {\n return numberToExtractFrom.substring(phoneContextStart);\n }\n}\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\n\nexport function isPhoneContextValid(phoneContext) {\n if (phoneContext === null) {\n return true;\n }\n\n if (phoneContext.length === 0) {\n return false;\n } // Does phone-context value match pattern of global-number-digits or domainname.\n\n\n return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\n\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n var phoneNumberString;\n\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = ''; // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n } // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n\n\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber; // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n\n /* istanbul ignore else */\n\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n } // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n\n\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n } // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parsePhoneNumberWithError from './parsePhoneNumberWithError_.js';\nimport ParseError from './ParseError.js';\nimport { isSupportedCountry } from './metadata.js';\nexport default function parsePhoneNumber(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumberWithError(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","import normalizeArguments from './normalizeArguments.js';\nimport parsePhoneNumber_ from './parsePhoneNumber_.js';\nexport default function parsePhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumber_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { default as _parsePhoneNumber } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn withMetadataArgument(_parsePhoneNumber, arguments)\r\n}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}"],"names":["plainObjectConstrurctor","constructor","cloneStyle","style","Array","isArray","map","newStyle","name","createRule","decl","options","jss","declCopy","plugins","onCreateRule","join","value","by","result","i","length","toCssValue","cssValue","getWhitespaceSymbols","format","linebreak","space","indentStr","str","indent","index","toCss","selector","_options$indent","fallbacks","_getWhitespaceSymbols","fallback","prop","_prop","_value","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","escape","replace","BaseStyleRule","key","this","type","isProcessed","sheet","Renderer","renderer","prototype","undefined","force","newValue","process","onChangeValue","isEmpty","isDefined","remove","renderable","removeProperty","setProperty","attached","StyleRule","_BaseStyleRule","_this","call","scoped","generateId","selectorText","id","_proto2","applyTo","json","toJSON","toString","opts","link","set","setSelector","replaceRule","get","pluginStyleRule","parent","defaultToStringOptions","children","atRegExp","ConditionalRule","styles","atMatch","match","at","query","rules","RuleList","add","_proto","getRule","indexOf","rule","addRule","onProcessRule","newRule","keyRegExp","pluginConditionalRule","test","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","val","keyframes","replaceRef","refKeyframe","pluginKeyframesRule","onProcessStyle","KeyframeRule","apply","arguments","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","raw","counter","classes","ruleOptions","_this$options","register","splice","oldRule","oldIndex","nameOrSelector","unregister","slice","forEach","update","data","updateOne","_this$options2","onUpdate","nextValue","_nextValue","_prevValue","css","StyleSheet","deployed","attach","deploy","detach","queue","push","insertRule","deleteRule","addRules","added","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","use","newPlugin","concat","reduce","plugin","sheets","SheetsRegistry","reset","_temp","_ref","globalThis$1","globalThis","window","Math","self","Function","ns","moduleId","createGenerateId","ruleCounter","jssId","prefix","classNamePrefix","String","minify","memoize","fn","getPropertyValue","cssRule","attributeStyleMap","err","indexOfImportantFlag","cssValueWithoutImportantFlag","substr","delete","getHead","document","querySelector","getNonce","node","getAttribute","_insertRule","container","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","el","media","meta","element","createElement","textContent","setAttribute","nonce","parentNode","insertionPoint","nextNode","findHigherSheet","findHighestSheet","nextSibling","comment","text","head","childNodes","nodeType","nodeValue","trim","findCommentNode","findPrevNode","insertBefore","insertionPointElement","appendChild","insertStyle","Boolean","removeChild","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","version","setup","createStyleSheet","removeStyleSheet","_len","_key","createJss","hasCSSTOMSupport","getDynamicStyles","to","extracted","makePrefixMap","styleProp","eventName","prefixes","toLowerCase","domSupport","win","vendorPrefixes","animationend","transitionend","animation","transition","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","Object","keys","len","hasOwnProperty","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","toUpperCase","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","canUseDom","useLayoutEffect","useEffect","STEP_QUEUE","SkipStep","isActive","step","_React$Component","DomWrapper","_super","props","config","transitionSupport","isSupportTransition","motionName","CSSMotion","ref","_props$visible","visible","_props$removeOnLeave","removeOnLeave","forceRender","leavedClassName","eventProps","supportMotion","nodeRef","useRef","wrapperNodeRef","_useStatus","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","_useState","useState","_useState2","asyncVisible","setAsyncVisible","_useState3","_useState4","status","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","getDomElement","activeRef","onInternalMotionEnd","event","deadline","target","canEnd","currentActive","current","_useDomMotionEvents","callback","cacheElementRef","callbackRef","removeMotionEvents","removeEventListener","addEventListener","useDomMotionEvents","patchMotionEvents","eventHandlers","_ref2","_ref3","_ref4","_useStepQueue","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","raf","cancel","nextFrame","delay","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","nextStep","info","doNext","Promise","resolve","then","useStepQueue","newStep","onPrepare","_eventHandlers$step","clearTimeout","setTimeout","_useStepQueue2","startStep","active","nextStatus","isMounted","firstMountChangeRef","mergedStyle","useStatus","HTMLElement","findDOMNode","e","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","mergedProps","_classNames","statusSuffix","className","display","displayName","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","_excluded","_excluded2","MOTION_PROP_NAMES","CSSMotionList","args","state","keyEntities","removeKey","nextKeyEntities","entity","setState","filter","_this2","_this$props","component","_onVisibleChanged","onAllRemoved","restProps","Component","motionProps","changedVisible","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","obj","matchKey","diffKeys","prevEntity","find","_ref5","defaultProps","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","_unsupportedIterableToArray","TypeError","_nonIterableSpread","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","arr2","getInvalidTypeRejectionErr","accept","messageSuffix","code","message","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","file","isAcceptable","fileMatchSize","size","isPropagationStopped","cancelBubble","isEvtWithFiles","dataTransfer","some","types","files","onDocumentDragOver","preventDefault","composeEventHandlers","fns","_len2","_key2","isMIMEType","v","isExt","_excluded3","_excluded4","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","Dropzone","forwardRef","_useDropzone","_defaultProps$props","disabled","getFilesFromEvent","multiple","maxFiles","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","onFileDialogCancel","onFileDialogOpen","useFsAccessApi","autoFocus","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","onError","validator","acceptAttr","useMemo","entries","a","_ref6","_ref7","mimeType","ext","acceptPropAsAcceptAttr","pickerTypes","description","ok","console","warn","every","agg","pickerOptionsFromAccept","onFileDialogOpenCb","noop","onFileDialogCancelCb","rootRef","inputRef","_useReducer2","useReducer","reducer","initialState","dispatch","isFocused","isFileDialogActive","fsAccessApiWorksRef","isSecureContext","onWindowFocus","dragTargetsRef","onDocumentDrop","contains","focus","onErrCb","useCallback","error","onDragEnterCb","persist","stopPropagation","fileCount","isDragAccept","accepted","sizeMatch","customErrors","allFilesAccepted","isDragReject","isDragActive","catch","onDragOverCb","hasFiles","dropEffect","_unused","onDragLeaveCb","targets","targetIdx","setFiles","acceptedFiles","fileRejections","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","errors","onDropCb","openFileDialog","showOpenFilePicker","handles","DOMException","ABORT_ERR","SECURITY_ERR","isSecurityError","click","Error","onKeyDownCb","isEqualNode","keyCode","onFocusCb","onBlurCb","onClickCb","userAgent","navigator","isIe","isEdge","isIeOrEdge","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref2$refKey","refKey","role","onKeyDown","onFocus","onBlur","onClick","rest","tabIndex","onInputElementClick","getInputProps","_ref3$refKey","onChange","open","useDropzone","useImperativeHandle","Fragment","Infinity","propTypes","action","Manager","collection","refs","getIndex","sortableInfo","sort","sortByIndex","omit","keysToOmit","acc","events","end","move","start","vendorPrefix","getComputedStyle","documentElement","pre","OLink","setInlineStyles","setTranslate3d","translate","x","y","setTransitionDuration","duration","closest","limit","min","max","getPixelValue","stringValue","parseFloat","provideDisplayName","Component$$1","componentName","getScrollAdjustedBoundingClientRect","scrollDelta","boundingClientRect","getBoundingClientRect","top","left","getPosition","touches","pageX","pageY","changedTouches","getEdgeOffset","offset","nodeOffset","offsetLeft","offsetTop","getLockPixelOffset","lockOffset","width","height","offsetX","offsetY","unit","exec","isFinite","getScrollingParent","computedStyle","overflowRegex","property","isScrollable","NodeType","Anchor","Button","Canvas","Input","Option","Textarea","Select","isSortableHandle","sortableHandle","AutoScroller","onScrollCallback","interval","clearInterval","minTranslate","maxTranslate","direction","speed","_this$container","scrollTop","scrollLeft","scrollHeight","scrollWidth","isTop","isBottom","clientHeight","isLeft","isRight","clientWidth","abs","clear","isAutoScrolling","setInterval","axis","contentWindow","disableAutoscroll","distance","getContainer","getHelperDimensions","helperClass","helperContainer","hideSortableGhost","keyboardSortingTransitionDuration","lockAxis","lockToContainerEdges","onSortEnd","onSortMove","onSortOver","onSortStart","pressDelay","pressThreshold","keyCodes","lift","drop","up","down","shouldCancelStart","transitionDuration","updateBeforeSortStart","useDragHandle","useWindowAsScrollContainer","defaultKeyCodes","offsetHeight","offsetWidth","tagName","contentEditable","omittedProps","SortableContext","createContext","manager","sortableContainer","WrappedComponent","_class","withRef","WithSortableContainer","button","touched","position","nodeIsChild","sorting","_node$sortableInfo","isTouchEvent","handlePress","pressTimer","_this$props2","_awaitingUpdateBeforeSortStart","delta","combinedDelta","cancelTimer","getActive","_temp6","_temp7","fields","clonedNode","_node","margin","bottom","marginBottom","marginLeft","right","marginRight","marginTop","gridGap","gridColumnGap","gridRowGap","getContainerGridGap","containerBoundingRect","scrollContainer","dimensions","_getHelperDimensions","_collection","marginOffset","newIndex","_axis","offsetEdge","initialOffset","_isKeySorting","initialScroll","initialWindowScroll","pageXOffset","pageYOffset","helper","querySelectorAll","cloneNode","field","getContext","drawImage","boxSizing","pointerEvents","_hideSortableGhost","sortableGhost","opacity","visibility","_useWindowAsScrollContainer","innerWidth","innerHeight","containerTop","containerLeft","containerWidth","containerBottom","containerRight","_helperClass","split","classList","listenerNode","handleKeyEnd","handleKeyDown","handleSortMove","handleSortEnd","sortingIndex","_onSortStart","isKeySorting","nodes","getOrderedRefs","keyMove","_this$props3","_temp8","_temp9","body","finalizer","bind","_finallyRethrows","_wasThrown","_result","reject","cancelable","updateHelperPosition","animateNodes","autoscroll","_this$props4","_this$manager","_node2","edgeOffset","autoScroller","scrollX","scrollY","_this$props5","_this$props5$keyCodes","customKeyCodes","includes","isValidSortingTarget","keyLift","keyDrop","_node$sortableInfo2","initialFocusedNode","shift","lastIndex","prevIndex","targetIndex","getTargetIndex","targetNode","containerScrollDelta","targetBoundingClientRect","targetTranslate","targetPosition","shouldAdjustForSize","sizeAdjustment","ignoreTransition","validateProps","wrappedInstance","createRef","sortableContextValue","handleEnd","handleMove","handleStart","containerNode","ownerDocument","defaultView","scrollingElement","onAutoScroll","_this3","_this$props6","_this$props6$keyboard","_getLockPixelOffsets","offsets","_offsets","minLockOffset","maxLockOffset","getLockPixelOffsets","_getLockPixelOffsets2","minOffset","maxOffset","_this$props7","windowScrollDelta","sortingOffset","_node3","mustShiftBackward","mustShiftForward","prevNode","getWrappedInstance","Provider","propTypes$1","isRequired","omittedProps$1","sortableElement","WithSortableElement","_getPrototypeOf2","prevProps","context","defaultDispose","StrongCache","dispose","Map","newest","oldest","has","getNode","older","newer","clean","_WeakRef","WeakRef","deref","_WeakMap","WeakMap","_FinalizationRegistry","FinalizationRegistry","WeakCache","unfinalizedNodes","Set","finalizationScheduled","finalize","values","keyRef","queueMicrotask","deleteNode","scheduleFinalization","currentContext","MISSING_VALUE","idCounter","maybe","ignored","globalKey","globalHost","global","create","Slot","Date","now","random","hasValue","slots","getValue","withValue","thisArg","__proto__","saved","noContext","fnToStr","previousComparisons","equal","b","check","aTag","previouslyCompared","aKeys","definedKeys","bKeys","keyCount","k","aIterator","isMap","aKey","aValue","Uint8Array","byteLength","aCode","full","suffix","fromIndex","endsWith","nativeCodeSuffix","isDefinedKey","bSet","defaultMakeData","Trie","weakness","makeData","lookup","lookupArray","array","getChildTrie","peek","peekArray","mapFor","removeArray","child","weak","strong","isObjRef","objectConstructor","isObject","normalizeArguments","metadata","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","defaultCountry","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","VALID_PUNCTUATION","_typeof","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","instance","sham","Proxy","valueOf","p","setPrototypeOf","getPrototypeOf","ParseError","_Error","subClass","superClass","_inherits","Constructor","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_classCallCheck","pa","pb","na","Number","nb","isNaN","descriptor","protoProps","staticProps","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","countries","typeOf","validateMetadata","setVersion","_","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","_type2","getType","Type","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","v4","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","possibleSeparatorsNumberExtLabelNoComma","rfcExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","RegExp","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseIncompletePhoneNumber","string","_step","_iterator","allowArrayLike","it","character","prevParsedCharacters","emitEvent","parsePhoneNumberCharacter","parseDigit","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","input","phone","isNumberTypeEqualTo","pattern","FIRST_GROUP_PATTERN","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","formattedNumber","extension","formatNationalNumber","number","carrierCode","formatAs","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","search","chooseFormatForNumber","useInternationalFormat","withNationalPrefix","internationalFormat","applyInternationalSeparatorStyle","formatNationalNumberUsingFormat","addExtension","PhoneNumber","countryOrCountryCallingCode","_getCountryAndCountry","metadataJson","isCountryCode","getCountryAndCountryCallingCode","getMetadata","possibleCountries","_metadata","couldNationalNumberBelongToCountry","isNonGeographicCallingCode","phoneNumber","formatRFC3966","fromCountry","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatNumber","CAPTURING_DIGIT_PATTERN","extractNationalNumber","_extractNationalNumbe","prefixPattern","prefixMatch","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumberFromPossiblyIncompleteNumber","nationalNumberBefore","nationalNumberAfter","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","getCountryByCallingCode","nationalPhoneNumber","matchingCountries","getCountryByNationalNumber","PLUS_SIGN","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","_parseInput","extract","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","substring","extractPhoneContext","isPhoneContextValid","charAt","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","throwOnError","startsAt","_extractFormattedPhoneNumber","isViablePhoneNumberStart","withExtensionStripped","numberWithoutExtension","matches","extractExtension","parseInput","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","_extractCountryCallin","isNumberWithIddPrefix","numberWithoutIDD","IDDPrefixPattern","matchedGroups","stripIddPrefix","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","shorterNumber","countryCallingCodeSource","_countryCallingCode","extractCountryCallingCode","exactCountry","parsePhoneNumber","hasSelectedNumberingPlan","__countryCallingCodeSource","valid","extended","possible","_normalizeArguments","isSupportedCountry","parsePhoneNumberWithError","func","_arguments","withMetadataArgument"],"sourceRoot":""}