{"version":3,"sources":["webpack://libphonenumber/webpack/universalModuleDefinition","webpack://libphonenumber/webpack/bootstrap","webpack://libphonenumber/./metadata.min.json.js","webpack://libphonenumber/../source/constants.js","webpack://libphonenumber/../source/util.js","webpack://libphonenumber/../source/ParseError.js","webpack://libphonenumber/../../source/tools/semver-compare.js","webpack://libphonenumber/../source/metadata.js","webpack://libphonenumber/../source/extension.js","webpack://libphonenumber/../source/isViablePhoneNumber.js","webpack://libphonenumber/../source/parseDigits.js","webpack://libphonenumber/../source/parseIncompletePhoneNumber.js","webpack://libphonenumber/../source/getNumberType_.js","webpack://libphonenumber/../source/isPossibleNumber_.js","webpack://libphonenumber/../source/IDD.js","webpack://libphonenumber/../source/RFC3966.js","webpack://libphonenumber/../source/validate_.js","webpack://libphonenumber/../source/format_.js","webpack://libphonenumber/../source/PhoneNumber.js","webpack://libphonenumber/../source/parse_.js","webpack://libphonenumber/../source/parsePhoneNumber_.js","webpack://libphonenumber/../source/parsePhoneNumber.js","webpack://libphonenumber/../source/parsePhoneNumberFromString_.js","webpack://libphonenumber/../source/parse.js","webpack://libphonenumber/../source/format.js","webpack://libphonenumber/../source/getNumberType.js","webpack://libphonenumber/../source/validate.js","webpack://libphonenumber/../source/isValidNumberForRegion.js","webpack://libphonenumber/../source/isValidNumberForRegion_.js","webpack://libphonenumber/../../source/findNumbers/util.js","webpack://libphonenumber/../../source/findNumbers/parsePreCandidate.js","webpack://libphonenumber/../../source/findNumbers/isValidPreCandidate.js","webpack://libphonenumber/../../source/findNumbers/utf-8.js","webpack://libphonenumber/../../source/findNumbers/isValidCandidate.js","webpack://libphonenumber/../source/findPhoneNumbers_.js","webpack://libphonenumber/../source/findPhoneNumbers.js","webpack://libphonenumber/../../source/findNumbers/LRUCache.js","webpack://libphonenumber/../../source/findNumbers/RegExpCache.js","webpack://libphonenumber/../../source/findNumbers/Leniency.js","webpack://libphonenumber/../source/PhoneNumberMatcher.js","webpack://libphonenumber/../source/findNumbers.js","webpack://libphonenumber/../source/findNumbers_.js","webpack://libphonenumber/../source/searchNumbers.js","webpack://libphonenumber/../source/findPhoneNumbersInText.js","webpack://libphonenumber/../source/AsYouType.js","webpack://libphonenumber/./index.es6.js","webpack://libphonenumber/../source/parsePhoneNumberFromString.js","webpack://libphonenumber/../source/getExampleNumber.js","webpack://libphonenumber/../source/isPossibleNumber.js","webpack://libphonenumber/../source/searchPhoneNumbersInText.js","webpack://libphonenumber/../source/formatIncompletePhoneNumber.js","webpack://libphonenumber/../source/getCountries.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","metadata_min_json","version","country_calling_codes","1","7","20","27","30","31","32","33","34","36","39","40","41","43","44","45","46","47","48","49","51","52","53","54","55","56","57","58","60","61","62","63","64","65","66","81","82","84","86","90","91","92","93","94","95","98","211","212","213","216","218","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","260","261","262","263","264","265","266","267","268","269","290","291","297","298","299","350","351","352","353","354","355","356","357","358","359","370","371","372","373","374","375","376","377","378","380","381","382","383","385","386","387","389","420","421","423","500","501","502","503","504","505","506","507","508","509","590","591","592","593","594","595","596","597","598","599","670","672","673","674","675","676","677","678","679","680","681","682","683","685","686","687","688","689","690","691","692","850","852","853","855","856","880","886","960","961","962","963","964","965","966","967","968","970","971","972","973","974","975","976","977","992","993","994","995","996","998","countries","AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","nonGeographic","800","808","870","878","881","882","883","888","979","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","VALID_PUNCTUATION","concat","matchesEntirely","text","regular_expression","RegExp","test","ParseError","code","ParseError_classCallCheck","this","constructor","message","stack","Error","cmp","a","b","pa","pb","na","Number","nb","isNaN","metadata_V3","metadata_V4","metadata_DEFAULT_EXT_PREFIX","metadata_Metadata","Metadata","metadata","metadata_classCallCheck","metadata_is_object","is_object","metadata_type_of","metadata_validateMetadata","validateMetadata","metadata_setVersion","setVersion","keys","filter","_","countryCode","v1","v2","v3","nonGeographical","country","undefined","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","metadata_NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","type","_type","ext","country_phone_code_to_countries","NumberingPlan","globalMetadataObject","_this","_getFormats","getDefaultCountryMetadataForRegion","map","metadata_Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","length","metadata_getType","_type2","metadata_Type","Format","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","metadata_FIRST_GROUP_ONLY_PREFIX_PATTERN","FIRST_GROUP_ONLY_PREFIX_PATTERN","Type","metadata_typeof","metadata_getCountryCallingCode","countryCallingCode","metadata_isSupportedCountry","v4","extension_RFC3966_EXTN_PREFIX","extension_CAPTURING_EXTN_DIGITS","extension_create_extension_pattern","purpose","single_extension_characters","RFC3966_EXTN_PREFIX","extension_EXTN_PATTERNS_FOR_PARSING","extension_EXTN_PATTERNS_FOR_MATCHING","extension_EXTN_PATTERN","isViablePhoneNumber_VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber_isViablePhoneNumber","number","VALID_PHONE_NUMBER_PATTERN","DIGITS","0","2","3","4","5","6","8","9","0","1","2","3","4","5","6","7","8","9","٠","١","٢","٣","٤","٥","٦","٧","٨","٩","۰","۱","۲","۳","۴","۵","۶","۷","۸","۹","parseDigit","character","parseDigits","string","result","_iterator","_isArray","Array","isArray","_i","Symbol","iterator","_ref","next","done","digit","parseIncompletePhoneNumber_parseIncompletePhoneNumber","parseIncompletePhoneNumber_parsePhoneNumberCharacter","parsePhoneNumberCharacter","getNumberType_NON_FIXED_LINE_PHONE_TYPES","getNumberType_getNumberType","input","options","nationalNumber","phone","getNumberType_is_of_type","_NON_FIXED_LINE_PHONE","pattern","getNumberType_checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","slice","element","sort","mergeArrays","actual_length","minimum_length","isPossibleNumber_isPossiblePhoneNumber","isPossibleNumber_isPossibleNumber","isInternational","IDD_CAPTURING_DIGIT_PATTERN","IDD_SINGLE_IDD_PREFIX","RFC3966_parseRFC3966","_part$split2","RFC3966_slicedToArray","part","RFC3966_formatRFC3966","_ref2","validate_isValidNumber","getNumberType","format_DEFAULT_OPTIONS","formatExtension","formattedNumber","extension","format_formatNumber","format_objectSpread","format_addExtension","format_formatNationalNumber","fromCountry","countryMetadata","SINGLE_IDD_PREFIX","IDD_getIDDPrefix","humanReadable","formattedForSameCountryCallingCode","toCountryCallingCode","toCountryMetadata","fromCountryMetadata","format_formatIDDSameCountryCallingCodeNumber","format_FIRST_GROUP_PATTERN","format_formatNationalNumberUsingFormat","useInternationalSeparator","useNationalPrefixFormattingRule","internationalFormat","format_applyInternationalSeparatorStyle","formatAs","availableFormats","nationalNnumber","lastLeadingDigitsPattern","format_chooseFormatForNumber","local","trim","PhoneNumber_USE_NON_GEOGRAPHIC_COUNTRY_CODE","PhoneNumber_PhoneNumber","PhoneNumber","PhoneNumber_classCallCheck","TypeError","_metadata","PhoneNumber_isCountryCode","phoneNumber","PhoneNumber_objectSpread","parse_MAX_INPUT_STRING_LENGTH","parse_PHONE_NUMBER_START_PATTERN","parse_AFTER_PHONE_NUMBER_END_PATTERN","parse_USE_NON_GEOGRAPHIC_COUNTRY_CODE","parse_parse","defaultCountry","_parseInput","parse_extractFormattedPhoneNumber","with_extension_stripped","start","number_without_extension","matches","extension_extractExtension","parse_parseInput","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","_extractCountryCallin","parse_extractCountryCallingCode","_parseNationalNumber","carrierCode","_stripNationalPrefixA","parse_stripNationalPrefixAndCarrierCode","potentialNationalNumber","potentialCarrierCode","parse_parseNationalNumber","exactCountry","parse_findCountryCode","parse_parsePhoneNumber","hasSelectedNumberingPlan","valid","extended","possible","national_number","parse_result","startsAt","replace","nationalSignificantNumber","prefixPattern","prefixMatch","capturedGroupsCount","nationalPhoneNumber","possibleCountries","es6_parse_findCountryCode","numberWithoutIDD","IDDPrefixPattern","matchedGroups","IDD_stripIDDPrefix","parsePhoneNumber_parsePhoneNumber","parsePhoneNumber_objectSpread","parsePhoneNumber_normalizeArguments","args","_Array$prototype$slic2","parsePhoneNumber_slicedToArray","arg_1","arg_2","arg_3","arg_4","parsePhoneNumber_isObject","es6_parsePhoneNumber_objectSpread","parsePhoneNumber_typeof","parsePhoneNumberFromString_parsePhoneNumberFromString","parsePhoneNumberFromString_objectSpread","error","parse_parseNumber","_normalizeArguments","arguments","es6_format_formatNumber","format_slicedToArray","arg_5","format_is_object","format_normalizeArguments","format_typeof","es6_getNumberType_getNumberType","getNumberType_normalizeArguments","getNumberType_slicedToArray","getNumberType_typeof","getNumberType_is_object","es6_validate_isValidNumber","es6_isValidNumberForRegion_isValidNumberForRegion","isValidNumberForRegion_isValidNumberForRegion","limit","lower","upper","trimAfterFirstMatch","regexp","index","parsePreCandidate_SECOND_NUMBER_START_PATTERN","parsePreCandidate_parsePreCandidate","candidate","SLASH_SEPARATED_DATES","TIME_STAMPS","TIME_STAMPS_SUFFIX_LEADING","isValidPreCandidate","offset","followingText","_pZ","pZ","PZ","pNd","_pL","pL","pL_regexp","pSc","pSc_regexp","pMn","pMn_regexp","latinLetterRegexp","isLatinLetter","letter","isInvalidPunctuationSymbol","isValidCandidate_NON_PARENS","isValidCandidate_LEAD_CLASS","isValidCandidate_LEAD_CLASS_LEADING","isValidCandidate_BRACKET_PAIR_LIMIT","isValidCandidate_MATCHING_BRACKETS_ENTIRE","isValidCandidate_PUB_PAGES","isValidCandidate_isValidCandidate","leniency","MATCHING_BRACKETS_ENTIRE","PUB_PAGES","LEAD_CLASS_LEADING","previousChar","lastCharIndex","nextChar","findPhoneNumbers_VALID_PHONE_NUMBER","findPhoneNumbers_WHITESPACE_IN_THE_BEGINNING_PATTERN","findPhoneNumbers_PUNCTUATION_IN_THE_END_PATTERN","findPhoneNumbers_PhoneNumberSearch","PhoneNumberSearch","findPhoneNumbers_classCallCheck","findPhoneNumbers_defineProperty","key","exec","parseCandidate","find","state","last_match","hasNext","es6_findPhoneNumbers_findPhoneNumbers","search","phones","findPhoneNumbers_findPhoneNumbers","es6_findPhoneNumbers_searchPhoneNumbers","_normalizeArguments2","findPhoneNumbers_searchPhoneNumbers","Node","prev","LRUCache_classCallCheck","LRUCache","size","head","tail","cache","ensureLimit","node","remove","put","console","RegExpCache_RegExpCache","RegExpCache","RegExpCache_classCallCheck","regExp","Leniency","POSSIBLE","VALID","Leniency_containsOnlyValidXChars","toString","STRICT_GROUPING","regExpCache","candidateString","Leniency_containsMoreThanOneSlashInNationalNumber","Leniency_isNationalPrefixPresentIfRequired","Leniency_checkNumberGroupingIsValid","Leniency_allNumberGroupsRemainGrouped","EXACT_GROUPING","Leniency_allNumberGroupsAreExactlyPresent","charAtIndex","charAtNextIndex","util","MatchType","NSN_MATCH","phoneNumberRegion","getCountryCode","formatRule","getNationalPrefixOptionalWhenFormatting","PhoneNumberUtil","getNationalPrefixFormattingRule","rawInputCopy","getRawInput","firstSlashInBodyIndex","secondSlashInBodyIndex","CountryCodeSource","FROM_NUMBER_WITHOUT_PLUS_SIGN","String","checkGroups","normalizedCandidate","normalizeDigits","formattedNumberGroups","Leniency_getNationalNumberGroups","alternateFormats","MetadataManager","numberFormats","alternateFormat","leadingDigitsRegExp","formattingPattern","rfc3966Format","formatNumber","endIndex","startIndex","candidateGroups","NON_DIGITS_PATTERN","candidateNumberGroupIndex","substring","formattedNumberGroupIndex","fromIndex","FROM_DEFAULT_COUNTRY","region","Character","getExtension","PhoneNumberMatcher_INNER_MATCHES","PhoneNumberMatcher_leadLimit","PhoneNumberMatcher_punctuationLimit","PhoneNumberMatcher_digitBlockLimit","PhoneNumberMatcher_blockLimit","PhoneNumberMatcher_punctuation","PhoneNumberMatcher_digitSequence","PhoneNumberMatcher_PATTERN","PhoneNumberMatcher_UNWANTED_END_CHAR_PATTERN","PhoneNumberMatcher_MAX_SAFE_INTEGER","Math","PhoneNumberMatcher_PhoneNumberMatcher","PhoneNumberMatcher","PhoneNumberMatcher_classCallCheck","PhoneNumberMatcher_defineProperty","PhoneNumberMatcher_objectSpread","maxTries","PATTERN","match","parseAndVerify","extractInnerMatch","endsAt","_INNER_MATCHES","isFirstMatch","possibleInnerMatch","group","_group","_match","lastMatch","es6_findNumbers_findNumbers","matcher","results","findNumbers_findNumbers","searchNumbers_searchNumbers","findPhoneNumbersInText_getArguments","findPhoneNumbersInText_objectSpread","findPhoneNumbersInText_is_object","findPhoneNumbersInText_typeof","AsYouType_LONGEST_DUMMY_PHONE_NUMBER","AsYouType_repeat","AsYouType_DIGIT_PLACEHOLDER_MATCHER","AsYouType_NATIONAL_PREFIX_SEPARATORS_PATTERN","AsYouType_CREATE_CHARACTER_CLASS_PATTERN","AsYouType_CREATE_STANDALONE_DIGIT_PATTERN","AsYouType_ELIGIBLE_FORMAT_PATTERN","AsYouType_VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN","AsYouType_USE_NON_GEOGRAPHIC_COUNTRY_CODE","AsYouType_AsYouType","AsYouType","optionsOrDefaultCountry","AsYouType_classCallCheck","AsYouType_typeof","isNonGeographicCallingCode","reset","formattedOutput","international","digits","nationalNumberDigits","setCountry","resetFormat","initializePhoneNumberFormatsForCountry","matchingFormats","chosenFormat","template","populatedNationalNumberTemplate","populatedNationalNumberTemplatePosition","formattedDigits","extractFormattedDigits","VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN","getFullNumber","inputDigits","getNonFormattedNationalNumber","extractedNumber","extractFormattedPhoneNumber","startInternationalNumber","nextDigits","isCountryCallingCodeAmbiguous","determineTheCountry","extractCountryCallingCode","previousNationalPrefix","extractNationalPrefix","matchFormats","formatNationalNumberWithNextDigits","attemptToFormatCompletePhoneNumber","previouslyChosenFormat","newlyChosenFormat","chooseFormat","formatNextNationalNumberDigits","reformatNationalNumber","createFormattingTemplate","ELIGIBLE_FORMAT_PATTERN","leadingDigitsPatternIndex","nationalPrefixIsMandatoryWhenFormattingInNationalFormat","leadingDigitsPatternsCount","leadingDigitsPattern","indexOf","NATIONAL_PREFIX_SEPARATORS_PATTERN","_iterator2","_isArray2","_i2","formattedNationalNumber","formattedNationalNumberWithNationalPrefix","getSeparatorAfterNationalPrefix","chooseCountryByCountryCallingCode","isPossibleNumber","getTemplateForNumberFormatPattern","DIGIT_PLACEHOLDER","LONGEST_DUMMY_PHONE_NUMBER","strictPattern","nationalNumberDummyDigits","includesNationalPrefix","numberFormat","getFormatFormat","numberFormatWithNationalPrefix","repeat","_iterator3","_isArray3","_i3","_ref3","AsYouType_cutAndStripNonPairedParens","getNonFormattedTemplate","cutBeforeIndex","dangling_braces","cleared_string","_i4","_dangling_braces","AsYouType_stripNonPairedParens","times","index_es6_parsePhoneNumber","parameters","push","apply","index_es6_parsePhoneNumberFromString","index_es6_parseNumber","index_es6_parse","index_es6_formatNumber","index_es6_format","index_es6_getNumberType","index_es6_getExampleNumber","examples","index_es6_isPossibleNumber","index_es6_isValidNumber","index_es6_isValidNumberForRegion","index_es6_findPhoneNumbers","index_es6_searchPhoneNumbers","index_es6_PhoneNumberSearch","index_es6_findNumbers","index_es6_searchNumbers","index_es6_findPhoneNumbersInText","index_es6_searchPhoneNumbersInText","index_es6_PhoneNumberMatcher","index_es6_AsYouType","index_es6_isSupportedCountry","index_es6_getExtPrefix","index_es6_parseRFC3966","index_es6_formatRFC3966","index_es6_formatIncompletePhoneNumber","index_es6_getCountries","getCountries","index_es6_getCountryCallingCode","index_es6_getPhoneCode","index_es6_getPhoneCodeCustom","__webpack_exports__","create"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,IACA,mBAAAG,eAAAC,IACAD,OAAA,oBAAAH,GACA,iBAAAC,QACAA,QAAA,eAAAD,IAEAD,EAAA,eAAAC,IARA,CASCK,OAAA,WACD,mBCTA,IAAAC,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAP,QAGA,IAAAC,EAAAI,EAAAE,IACAC,EAAAD,EACAE,GAAA,EACAT,YAUA,OANAU,EAAAH,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAQ,GAAA,EAGAR,EAAAD,QA2CA,OAtCAM,EAAAM,EAAAF,EAGAJ,EAAAO,EAAAR,EAGAC,EAAAQ,EAAA,SAAAd,EAAAe,EAAAC,GACAV,EAAAW,EAAAjB,EAAAe,IACAG,OAAAC,eAAAnB,EAAAe,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAV,EAAAiB,EAAA,SAAAvB,GACAkB,OAAAC,eAAAnB,EAAA,cAAiDwB,OAAA,KAIjDlB,EAAAmB,EAAA,SAAAxB,GACA,IAAAe,EAAAf,KAAAyB,WACA,WAA2B,OAAAzB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAK,EAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAU,EAAAC,GAAsD,OAAAV,OAAAW,UAAAC,eAAAnB,KAAAgB,EAAAC,IAGtDtB,EAAAyB,EAAA,GAIAzB,IAAA0B,EAAA,yCChEA,IAAAC,GAAgBC,QAAU,SAASC,uBAAyBC,GAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAMC,GAAK,KAAK,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,KAAK,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,KAAK,KAAK,KAAK,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,KAAK,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,KAAK,KAAK,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,IAAM,MAAMC,KAAO,MAAMC,KAAO,KAAK,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,KAAK,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,KAAK,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,KAAK,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,KAAK,KAAK,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,KAAK,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,MAAMC,KAAO,OAAOC,WAAaC,IAAM,MAAM,KAAK,6BAA6B,EAAE,IAAIC,IAAM,MAAM,KAAK,kCAAkC,EAAE,EAAE,KAAK,mBAAmB,SAAS,aAAa,mBAAmB,SAAS,OAAO,2BAA2B,YAAY,QAAQC,IAAM,MAAM,KAAK,0DAA0D,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,qBAAqB,SAAS,UAAU,wBAAwB,YAAY,oBAAoB,QAAQ,wBAAwB,YAAY,WAAW,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,KAAK,KAAK,eAAe,KAAK,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,oBAAoB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,0DAA0D,EAAE,EAAE,EAAE,KAAK,qBAAqB,SAAS,QAAQ,QAAQ,wBAAwB,YAAY,UAAU,QAAQ,2BAA2B,YAAY,iBAAiB,QAAQ,mBAAmB,SAAS,WAAW,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,iCAAiC,KAAK,2BAA2B,YAAY,SAAS,SAAS,mBAAmB,SAAS,WAAW,UAAU,mBAAmB,SAAS,QAAQ,UAAU,mBAAmB,SAAS,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,cAAc,KAAK,2BAA2B,YAAY,WAAWC,IAAM,KAAK,KAAK,kCAAkC,GAAG,MAAM,2BAA2B,YAAY,uFAAuF,kNAAkN,kSAAkS,+WAA+W,MAAM,IAAI,2BAA2B,YAAY,KAAK,MAAM,IAAI,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,QAAQ,MAAM,IAAI,gCAAgC,eAAe,yBAAyB,4FAA4F,wNAAwN,4SAA4S,wXAAwX,MAAM,EAAE,gBAAgB,gCAAgC,eAAe,MAAM,MAAM,EAAE,gBAAgB,gCAAgC,eAAe,KAAK,MAAM,EAAE,gBAAgB,IAAI,EAAE,0jBAA0jB,OAAOC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,KAAK,KAAK,oKAAoK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,mBAAmB,SAAS,iBAAiB,QAAQ,mBAAmB,SAAS,OAAO,QAAQ,qBAAqB,SAAS,UAAU,QAAQ,sBAAsB,SAAS,uDAAuD,QAAQ,qBAAqB,SAAS,kBAAkB,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,KAAKC,IAAM,KAAK,sDAAsD,6EAA6E,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,MAAM,QAAQ,6BAA6B,YAAY,MAAM,QAAQ,2BAA2B,YAAY,WAAW,QAAQ,wBAAwB,YAAY,UAAU,UAAU,2BAA2B,YAAY,kBAAkB,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,iLAAiL,KAAK,+FAA+F,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,0DAA0D,KAAK,yCAAyC,EAAE,EAAE,MAAM,QAAQC,IAAM,MAAM,KAAK,+BAA+B,KAAK,mBAAmB,SAAS,aAAaC,IAAM,MAAM,sDAAsD,6FAA6F,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAMC,IAAM,MAAM,KAAK,yCAAyC,KAAK,mCAAmC,eAAe,MAAM,QAAQ,mCAAmC,eAAe,WAAW,WAAW,kCAAkC,UAAU,mCAAmC,eAAe,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,sCAAsC,EAAE,KAAK,2BAA2B,YAAY,gBAAgB,QAAQ,2BAA2B,YAAY,eAAe,QAAQ,mCAAmC,eAAe,KAAK,QAAQ,KAAKC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,oFAAoF,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,kBAAkB,QAAQ,qBAAqB,SAAS,qLAAqL,QAAQ,qBAAqB,SAAS,UAAU,QAAQ,kBAAkB,SAAS,KAAK,QAAQ,KAAKC,IAAM,KAAK,KAAK,uBAAuB,EAAE,KAAK,2BAA2B,YAAY,aAAa,QAAQ,gCAAgC,eAAe,eAAe,QAAQ,mCAAmC,eAAe,UAAU,QAAQ,mCAAmC,eAAe,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,iBAAiB,KAAK,mCAAmC,eAAe,cAAcC,IAAM,MAAM,KAAK,sCAAsC,EAAE,EAAE,EAAE,KAAK,6BAA6B,eAAe,KAAK,QAAQ,mBAAmB,SAAS,mBAAmB,QAAQ,0BAA0B,YAAY,KAAK,QAAQ,6BAA6B,YAAY,uCAAuC,QAAQ,2BAA2B,YAAY,aAAa,QAAQ,2BAA2B,YAAY,aAAa,QAAQ,6BAA6B,YAAY,cAAc,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,iBAAiB,KAAK,mBAAmB,SAAS,qBAAqBC,IAAM,MAAM,KAAK,yBAAyB,KAAK,mCAAmC,eAAe,aAAaC,IAAM,MAAM,KAAK,gBAAgB,KAAK,mCAAmC,eAAe,aAAaC,IAAM,MAAM,KAAK,2BAA2B,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,iCAAiC,yCAAyC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,mBAAmBC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,iBAAiB,KAAK,mBAAmB,SAAS,cAAcC,IAAM,MAAM,cAAc,gCAAgC,EAAE,KAAK,gBAAgB,SAAS,gBAAgB,WAAW,MAAM,UAAU,2BAA2B,YAAY,OAAO,IAAI,EAAE,YAAYC,IAAM,MAAM,KAAK,wBAAwB,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAASC,IAAM,KAAK,yCAAyC,4FAA4F,EAAE,EAAE,GAAG,MAAM,mBAAmB,SAAS,oBAAoB,wBAAwB,6BAA6B,YAAY,iBAAiB,QAAQ,2BAA2B,YAAY,8DAA8D,SAAS,2BAA2B,YAAY,sBAAsB,SAAS,IAAI,EAAE,uDAAuD,MAAMC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,0BAA0B,EAAE,KAAK,wBAAwB,YAAY,mBAAmB,mCAAmC,eAAe,cAAcC,IAAM,MAAM,KAAK,iCAAiC,EAAE,KAAK,mBAAmB,SAAS,QAAQ,mBAAmB,SAAS,WAAW,2BAA2B,YAAY,QAAQC,IAAM,MAAM,MAAM,oIAAoI,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,mBAAmB,SAAS,OAAO,SAAS,6BAA6B,YAAY,OAAO,SAAS,2BAA2B,YAAY,oDAAoD,yFAAyF,UAAU,mCAAmC,eAAe,2BAA2B,UAAU,mCAAmC,eAAe,SAAS,UAAU,6BAA6B,YAAY,QAAQ,SAAS,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQC,IAAM,MAAM,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,SAAS,WAAW,gCAAgC,eAAe,QAAQC,IAAM,IAAI,MAAM,yBAAyB,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,6KAA6K,KAAK,yCAAyC,mBAAmB,mDAAmD,EAAE,EAAE,GAAG,oBAAoBC,IAAM,KAAK,sDAAsD,sEAAsE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,MAAM,EAAE,IAAI,6HAA6H,KAAK,+FAA+F,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,KAAK,EAAE,EAAE,EAAE,GAAG,0DAA0D,KAAK,yCAAyC,EAAE,EAAE,MAAM,QAAQC,IAAM,MAAM,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,YAAY,MAAM,QAAQ,mBAAmB,SAAS,SAAS,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,6BAA6B,KAAK,mCAAmC,eAAe,YAAYC,IAAM,MAAM,KAAK,+BAA+B,KAAK,mCAAmC,eAAe,SAAS,wBAAwB,YAAY,OAAO,2BAA2B,YAAY,WAAWC,IAAM,KAAK,KAAK,wBAAwB,KAAK,2BAA2B,YAAY,aAAa,QAAQ,mCAAmC,eAAe,aAAa,QAAQ,2CAA2C,kBAAkB,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,gBAAgB,KAAK,mCAAmC,eAAe,aAAaC,IAAM,MAAM,KAAK,iBAAiB,KAAK,mBAAmB,SAAS,cAAcC,IAAM,KAAK,yDAAyD,sCAAsC,EAAE,GAAG,MAAM,mBAAmB,SAAS,MAAM,SAAS,2BAA2B,YAAY,QAAQ,wBAAwB,YAAY,SAAS,SAAS,wBAAwB,YAAY,YAAY,2BAA2B,YAAY,oDAAoD,SAAS,6BAA6B,YAAY,UAAU,2BAA2B,YAAY,OAAO,mCAAmC,eAAe,SAASC,IAAM,MAAM,KAAK,2BAA2B,EAAE,KAAK,mCAAmC,eAAe,QAAQ,wCAAwC,kBAAkB,WAAWC,IAAM,KAAK,uCAAuC,uHAAuH,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,qBAAqB,SAAS,uBAAuB,+BAA+B,iCAAiC,QAAQ,qBAAqB,SAAS,+QAA+Q,4SAA4S,qUAAqU,wUAAwU,QAAQ,2BAA2B,YAAY,eAAe,2BAA2B,YAAY,2BAA2B,2BAA2B,8DAA8D,MAAM,IAAI,2BAA2B,YAAY,iMAAiM,MAAM,IAAI,qBAAqB,SAAS,OAAO,2BAA2B,YAAY,MAAM,MAAM,IAAI,2BAA2B,YAAY,WAAW,MAAM,IAAI,2BAA2B,YAAY,YAAY,mCAAmC,eAAe,QAAQ,MAAM,IAAI,IAAI,EAAE,sCAAsC,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,KAAK,4BAA4B,kCAAkC,EAAE,GAAG,MAAM,gBAAgB,SAAS,oBAAoB,SAAS,mBAAmB,SAAS,OAAO,wBAAwB,YAAY,KAAK,MAAM,EAAE,aAAa,IAAI,EAAE,4BAA4BC,IAAM,MAAM,KAAK,kCAAkC,EAAE,MAAM,mBAAmB,SAAS,mBAAmB,2BAA2B,YAAY,UAAU,EAAE,EAAE,uCAAuCC,IAAM,KAAK,MAAM,iDAAiD,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,eAAe,UAAU,kBAAkB,SAAS,KAAK,UAAU,gBAAgB,SAAS,KAAK,QAAQ,mBAAmB,SAAS,KAAK,QAAQ,KAAKC,IAAM,MAAM,IAAI,8BAA8B,KAAK,2BAA2B,YAAY,cAAcC,IAAM,MAAM,KAAK,oCAAoC,EAAE,KAAK,mBAAmB,SAAS,YAAY,wBAAwB,YAAY,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQC,IAAM,KAAK,sDAAsD,sEAAsE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,MAAM,EAAE,IAAI,qIAAqI,KAAK,+FAA+F,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,KAAK,EAAE,EAAE,EAAE,GAAG,0DAA0D,KAAK,yCAAyC,EAAE,EAAE,MAAM,QAAQC,IAAM,MAAM,KAAK,4BAA4B,KAAK,mBAAmB,SAAS,cAAcC,IAAM,MAAM,KAAK,sCAAsC,KAAK,2BAA2B,YAAY,oBAAoB,mCAAmC,eAAe,OAAO,mCAAmC,eAAe,QAAQC,IAAM,KAAK,KAAK,kLAAkL,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,sBAAsB,SAAS,kBAAkB,QAAQ,sBAAsB,SAAS,sGAAsG,gHAAgH,QAAQ,sBAAsB,SAAS,uGAAuG,4bAA4b,QAAQ,mBAAmB,SAAS,OAAO,QAAQ,sBAAsB,SAAS,KAAK,QAAQ,sBAAsB,SAAS,OAAO,QAAQ,2BAA2B,YAAY,eAAe,QAAQ,qBAAqB,SAAS,SAAS,QAAQ,sBAAsB,SAAS,KAAK,QAAQ,mBAAmB,SAAS,MAAM,OAAO,SAAS,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,mBAAmB,SAAS,UAAU,QAAQ,mBAAmB,SAAS,YAAY,QAAQ,mBAAmB,SAAS,YAAY,QAAQ,mBAAmB,SAAS,MAAM,QAAQ,6BAA6B,YAAY,iBAAiB,QAAQ,2BAA2B,YAAY,WAAW,QAAQ,2BAA2B,YAAY,MAAM,QAAQ,KAAKC,IAAM,MAAM,KAAK,qBAAqB,KAAK,mCAAmC,eAAe,WAAWC,IAAM,KAAK,KAAK,eAAe,KAAK,mCAAmC,eAAe,YAAYC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,IAAI,MAAM,4BAA4B,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAWC,IAAM,MAAM,KAAK,gCAAgC,EAAE,KAAK,mCAAmC,eAAe,SAAS,QAAQ,mCAAmC,eAAe,KAAK,QAAQ,mCAAmC,eAAe,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,qCAAqC,EAAE,EAAE,GAAG,MAAM,wBAAwB,YAAY,SAAS,QAAQ,EAAE,aAAa,2BAA2B,YAAY,KAAK,QAAQ,6BAA6B,YAAY,OAAO,KAAKC,IAAM,MAAM,KAAK,kDAAkD,EAAE,EAAE,MAAM,mBAAmB,SAAS,gDAAgD,+EAA+E,qBAAqB,SAAS,qBAAqB,6BAA6B,2BAA2B,YAAY,OAAO,2BAA2B,YAAY,SAASC,IAAM,KAAK,KAAK,0CAA0C,EAAE,EAAE,MAAM,kBAAkB,SAAS,QAAQ,QAAQ,qBAAqB,SAAS,gCAAgC,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,eAAe,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAWC,IAAM,MAAM,KAAK,eAAe,KAAK,wBAAwB,YAAY,SAAS,QAAQ,KAAKC,IAAM,KAAK,KAAK,yBAAyB,KAAK,2BAA2B,YAAY,YAAY,mCAAmC,eAAe,YAAYC,IAAM,MAAM,KAAK,0BAA0B,KAAK,2BAA2B,YAAY,UAAU,QAAQ,KAAKC,IAAM,MAAM,sDAAsD,4EAA4E,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,kBAAkB,SAAS,mCAAmC,QAAQ,qBAAqB,SAAS,yBAAyB,QAAQ,qBAAqB,SAAS,iBAAiB,QAAQ,sBAAsB,SAAS,KAAK,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAMC,IAAM,MAAM,YAAY,sCAAsC,EAAE,MAAM,mBAAmB,SAAS,gBAAgB,2BAA2B,YAAY,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,eAAe,IAAIC,IAAM,MAAM,KAAK,cAAc,KAAK,mBAAmB,SAAS,WAAWC,IAAM,MAAM,KAAK,yBAAyB,KAAK,WAAW,MAAM,WAAW,EAAE,EAAE,uBAAuBC,IAAM,KAAK,KAAK,eAAe,KAAK,mCAAmC,eAAe,KAAK,SAAS,wCAAwC,kBAAkB,UAAU,QAAQ,KAAKC,IAAM,MAAM,KAAK,qCAAqC,EAAE,KAAK,gCAAgC,eAAe,SAAS,QAAQ,mCAAmC,eAAe,WAAW,QAAQ,mCAAmC,eAAe,OAAO,EAAE,EAAE,uCAAuC,MAAMC,IAAM,KAAK,KAAK,sCAAsC,EAAE,EAAE,MAAM,mBAAmB,SAAS,MAAM,OAAO,QAAQ,SAAS,WAAW,QAAQ,2BAA2B,YAAY,MAAM,OAAO,QAAQ,UAAU,QAAQ,mBAAmB,SAAS,OAAO,QAAQ,qBAAqB,SAAS,yBAAyB,qCAAqC,oDAAoD,QAAQ,qBAAqB,SAAS,0BAA0B,QAAQ,2BAA2B,YAAY,sBAAsB,kCAAkC,QAAQ,mBAAmB,SAAS,KAAK,QAAQ,2BAA2B,YAAY,UAAU,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,23CAA23C,EAAE,MAAM,6NAA6N,MAAM,mCAAmC,+DAA+D,EAAE,MAAM,YAAY,KAAK,GAAG,wBAAwB,MAAM,mEAAmE,MAAM,YAAY,MAAM,EAAE,MAAMC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,8BAA8B,KAAK,2BAA2B,YAAY,MAAM,QAAQ,mCAAmC,eAAe,MAAM,QAAQ,mCAAmC,eAAe,UAAU,mCAAmC,eAAe,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,wBAAwB,KAAK,mCAAmC,eAAe,SAAS,QAAQ,KAAKC,IAAM,KAAK,KAAK,mDAAmD,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,SAAS,EAAE,IAAI,oBAAoB,MAAM,qCAAqC,MAAM,mCAAmC,8DAA8D,EAAE,MAAM,YAAY,KAAK,GAAG,wBAAwB,MAAM,mEAAmE,MAAM,YAAY,OAAOC,IAAM,MAAM,KAAK,6BAA6B,EAAE,KAAK,mBAAmB,SAAS,KAAK,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,eAAe,KAAK,mBAAmB,SAAS,QAAQC,IAAM,MAAM,KAAK,2BAA2B,KAAK,2BAA2B,YAAY,iBAAiBC,IAAM,MAAM,KAAK,eAAe,KAAK,mBAAmB,SAAS,YAAYC,IAAM,MAAM,KAAK,4BAA4B,EAAE,KAAK,mCAAmC,eAAe,OAAO,mCAAmC,eAAe,WAAWC,IAAM,MAAM,KAAK,2BAA2B,KAAK,mCAAmC,eAAe,SAAS,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,+FAA+F,yCAAyC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,mBAAmBC,IAAM,MAAM,KAAK,qCAAqC,KAAK,2BAA2B,YAAY,WAAW,mBAAmB,SAAS,WAAWC,IAAM,KAAK,KAAK,wCAAwC,MAAM,2BAA2B,YAAY,UAAU,mBAAmB,SAAS,gEAAgE,2BAA2B,YAAY,aAAaC,IAAM,MAAM,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,SAAS,WAAW,2BAA2B,YAAY,QAAQC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,SAAS,QAAQ,2BAA2B,YAAY,WAAWC,IAAM,MAAM,MAAM,gDAAgD,KAAK,mBAAmB,SAAS,eAAeC,IAAM,MAAM,0BAA0B,iFAAiF,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,MAAM,UAAU,mBAAmB,SAAS,oCAAoC,2BAA2B,YAAY,OAAO,mCAAmC,eAAe,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,SAAS,cAAcC,IAAM,MAAM,KAAK,kEAAkE,EAAE,EAAE,EAAE,KAAK,6BAA6B,YAAY,SAAS,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,wBAAwB,YAAY,KAAK,QAAQ,6BAA6B,YAAY,QAAQ,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,6BAA6B,YAAY,SAAS,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,iBAAiB,KAAK,2BAA2B,YAAY,cAAcC,IAAM,KAAK,KAAK,4BAA4B,EAAE,KAAK,wBAAwB,YAAY,KAAK,YAAY,2BAA2B,YAAY,wDAAwD,YAAY,6BAA6B,YAAY,YAAY,UAAU,MAAMC,IAAM,KAAK,UAAU,qEAAqE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,wBAAwB,YAAY,QAAQ,qBAAqB,SAAS,gBAAgB,UAAU,qBAAqB,SAAS,OAAO,QAAQ,qBAAqB,SAAS,UAAU,UAAU,6BAA6B,YAAY,aAAa,QAAQ,qBAAqB,SAAS,KAAK,QAAQ,2BAA2B,YAAY,OAAO,QAAQ,gCAAgC,eAAe,MAAM,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,uDAAuD,EAAE,EAAE,EAAE,MAAM,mBAAmB,SAAS,kCAAkC,UAAU,mBAAmB,SAAS,SAAS,UAAU,0BAA0B,YAAY,KAAK,UAAU,6BAA6B,YAAY,wBAAwB,UAAU,2BAA2B,YAAY,MAAM,QAAQ,2BAA2B,YAAY,MAAM,UAAU,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,OAAO,2BAA2B,YAAY,KAAK,UAAU,gCAAgC,eAAe,KAAK,QAAQ,KAAKC,IAAM,MAAM,gBAAgB,iDAAiD,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,mBAAmB,SAAS,SAAS,2BAA2B,YAAY,SAAS,wBAAwB,YAAY,WAAW,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,QAAQ,mBAAmB,SAAS,SAAS,gCAAgC,eAAe,YAAY,qCAAqC,eAAe,QAAQ,KAAKC,IAAM,KAAK,KAAK,qCAAqC,IAAI,EAAE,IAAI,EAAE,mBAAmB,SAAS,EAAE,wBAAwBC,IAAM,KAAK,KAAK,2CAA2C,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,WAAW,MAAM,8BAA8B,4CAA4C,8CAA8C,EAAE,IAAI,qBAAqB,SAAS,MAAM,QAAQ,EAAE,IAAI,2BAA2B,YAAY,OAAO,EAAE,IAAI,2BAA2B,YAAY,qCAAqC,2DAA2D,4FAA4F,MAAM,IAAI,2BAA2B,YAAY,sYAAsY,meAAme,ykBAAykB,MAAM,IAAI,2BAA2B,YAAY,iKAAiK,wSAAwS,mWAAmW,MAAM,IAAI,mBAAmB,SAAS,SAAS,MAAM,IAAI,6BAA6B,YAAY,eAAe,iBAAiB,EAAE,IAAI,mCAAmC,eAAe,MAAM,EAAE,IAAI,KAAKC,IAAM,MAAM,KAAK,WAAW,KAAK,mBAAmB,SAAS,QAAQC,IAAM,MAAM,KAAK,qCAAqC,EAAE,EAAE,MAAM,wBAAwB,YAAY,KAAK,QAAQ,6BAA6B,YAAY,SAAS,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,KAAK,KAAK,yCAAyC,EAAE,EAAE,EAAE,EAAE,MAAM,aAAa,MAAM,MAAM,QAAQ,qBAAqB,SAAS,4EAA4E,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,4BAA4B,yBAAyB,EAAE,KAAK,mBAAmB,SAAS,WAAW,2BAA2B,YAAY,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,KAAK,KAAK,gFAAgF,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,qBAAqB,SAAS,WAAW,qBAAqB,SAAS,wCAAwC,qDAAqD,qBAAqB,SAAS,oCAAoC,mBAAmB,SAAS,SAAS,6BAA6B,YAAY,aAAa,6BAA6B,YAAY,kBAAkB,6BAA6B,YAAY,sBAAsB,2BAA2B,YAAY,WAAW,2BAA2B,YAAY,OAAO,6BAA6B,YAAY,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,gbAAgb,6BAA6B,EAAE,MAAM,yBAAyB,EAAE,KAAK,oGAAoG,EAAE,EAAE,EAAE,MAAM,uBAAuB,EAAE,KAAK,EAAE,EAAE,GAAG,YAAY,MAAM,+BAA+B,EAAE,MAAMC,IAAM,KAAK,KAAK,qCAAqC,IAAI,EAAE,IAAI,EAAE,sBAAsB,SAAS,EAAE,IAAI,uBAAuB,0DAA0D,iCAAiC,0GAA0G,gBAAgB,GAAG,kHAAkH,oEAAoE,cAAcC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAWC,IAAM,MAAM,KAAK,+CAA+C,EAAE,KAAK,wBAAwB,YAAY,aAAa,UAAU,qBAAqB,SAAS,QAAQ,QAAQ,mBAAmB,SAAS,MAAM,QAAQ,wBAAwB,YAAY,KAAK,QAAQ,KAAKC,IAAM,KAAK,MAAM,2DAA2D,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,2BAA2B,YAAY,iBAAiB,QAAQ,wBAAwB,YAAY,6FAA6F,8KAA8K,sMAAsM,QAAQ,2BAA2B,YAAY,MAAM,QAAQ,wBAAwB,YAAY,wBAAwB,2CAA2C,QAAQ,2BAA2B,YAAY,2VAA2V,+lBAA+lB,2qBAA2qB,4sBAA4sB,QAAQ,2BAA2B,YAAY,6DAA6D,gFAAgF,QAAQ,2BAA2B,YAAY,OAAO,QAAQ,2BAA2B,YAAY,aAAa,QAAQ,KAAKC,IAAM,MAAM,MAAM,4DAA4D,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,UAAU,QAAQ,mBAAmB,SAAS,QAAQ,QAAQ,6BAA6B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,mCAAmC,EAAE,MAAM,mBAAmB,SAAS,uBAAuB,QAAQ,2BAA2B,YAAY,eAAe,QAAQ,kCAAkC,eAAe,KAAK,QAAQ,KAAKC,IAAM,MAAM,WAAW,yBAAyB,EAAE,EAAE,MAAM,6BAA6B,YAAY,SAAS,QAAQ,2BAA2B,YAAY,OAAO,KAAKC,IAAM,MAAM,KAAK,oDAAoD,EAAE,GAAG,EAAE,KAAKC,IAAM,MAAM,KAAK,gBAAgB,KAAK,2BAA2B,YAAY,aAAaC,IAAM,IAAI,MAAM,4BAA4B,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,QAAQ,8BAA8B,EAAE,MAAM,2BAA2B,YAAY,KAAK,QAAQ,wBAAwB,YAAY,KAAK,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,KAAK,sDAAsD,4GAA4G,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,qBAAqB,SAAS,gCAAgC,QAAQ,mBAAmB,SAAS,OAAO,0BAA0B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,6BAA6B,YAAY,iBAAiB,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,IAAI,EAAE,6BAA6BC,IAAM,MAAM,KAAK,6BAA6B,EAAE,KAAK,qBAAqB,SAAS,mCAAmC,mBAAmB,SAAS,WAAWC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,IAAI,MAAM,iCAAiC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQC,IAAM,MAAM,KAAK,4CAA4C,EAAE,EAAE,MAAM,2BAA2B,YAAY,qBAAqB,QAAQ,mCAAmC,eAAe,KAAK,QAAQ,mCAAmC,eAAe,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,4BAA4B,EAAE,KAAK,wBAAwB,YAAY,iDAAiD,QAAQ,2BAA2B,YAAY,WAAW,KAAKC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,qCAAqC,EAAE,KAAK,2BAA2B,YAAY,aAAa,2BAA2B,YAAY,QAAQ,2BAA2B,YAAY,OAAO,IAAI,EAAE,YAAYC,IAAM,KAAK,KAAK,4BAA4B,KAAK,2BAA2B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,WAAW,QAAQ,KAAKC,IAAM,MAAM,KAAK,wCAAwC,EAAE,EAAE,KAAK,wBAAwB,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,UAAU,QAAQ,KAAKC,IAAM,MAAM,KAAK,6BAA6B,KAAK,mBAAmB,SAAS,aAAaC,IAAM,MAAM,KAAK,gCAAgC,KAAK,wBAAwB,YAAY,YAAY,SAAS,IAAI,2BAA2B,YAAY,SAAS,OAAO,IAAI,mBAAmB,SAAS,uBAAuB,SAAS,IAAI,mBAAmB,SAAS,SAAS,SAAS,IAAI,IAAI,EAAE,QAAQC,IAAM,MAAM,KAAK,0EAA0E,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,mBAAmB,SAAS,sEAAsE,2BAA2B,YAAY,sEAAsE,2BAA2B,YAAY,eAAe,qCAAqC,eAAe,wBAAwB,2BAA2B,YAAY,oBAAoB,mCAAmC,eAAe,QAAQ,2BAA2B,YAAY,OAAO,6CAA6C,kBAAkB,wBAAwB,qCAAqC,eAAe,qDAAqD,EAAE,EAAE,qDAAqDC,IAAM,MAAM,KAAK,yBAAyB,KAAK,2BAA2B,YAAY,kBAAkBC,IAAM,MAAM,KAAK,eAAe,KAAK,mBAAmB,SAAS,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,eAAe,KAAK,mBAAmB,SAAS,aAAa,kBAAkB,QAAQ,mCAAmC,eAAe,SAAS,QAAQ,mBAAmB,SAAS,6BAA6B,0CAA0C,QAAQ,mBAAmB,SAAS,KAAK,QAAQ,mBAAmB,SAAS,SAAS,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,sKAAsK,sEAAsE,aAAa,YAAY,EAAE,EAAE,EAAE,GAAG,4BAA4BC,IAAM,MAAM,KAAK,kCAAkC,EAAE,KAAK,2BAA2B,YAAY,KAAK,QAAQ,mCAAmC,eAAe,UAAU,wCAAwC,kBAAkB,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,8BAA8B,KAAK,mBAAmB,SAAS,QAAQ,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,UAAU,QAAQ,KAAKC,IAAM,MAAM,KAAK,qCAAqC,EAAE,KAAK,6BAA6B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,2BAA2B,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,sDAAsD,yCAAyC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,mBAAmBC,IAAM,MAAM,KAAK,cAAc,KAAK,mCAAmC,eAAe,QAAQ,QAAQ,IAAI,EAAE,oBAAoB,QAAQC,IAAM,MAAM,MAAM,mCAAmC,KAAK,mBAAmB,SAAS,WAAW,KAAKC,IAAM,MAAM,KAAK,iBAAiB,KAAK,wBAAwB,YAAY,KAAK,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,gCAAgC,eAAe,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,gBAAgB,KAAK,mCAAmC,eAAe,aAAaC,IAAM,KAAK,KAAK,qEAAqE,EAAE,EAAE,EAAE,EAAE,MAAM,wBAAwB,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,6DAA6D,QAAQ,0BAA0B,YAAY,QAAQ,QAAQ,6BAA6B,YAAY,iBAAiB,QAAQ,0BAA0B,YAAY,+BAA+B,QAAQ,wBAAwB,YAAY,KAAK,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,gCAAgC,eAAe,MAAM,QAAQ,wBAAwB,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,MAAM,6BAA6B,EAAE,EAAE,MAAM,2BAA2B,YAAY,SAAS,QAAQ,mBAAmB,SAAS,YAAY,qBAAqB,SAAS,cAAc,QAAQ,qBAAqB,SAAS,sCAAsC,4CAA4C,QAAQ,qBAAqB,SAAS,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,wBAAwB,KAAK,mBAAmB,SAAS,YAAYC,IAAM,IAAI,MAAM,+BAA+B,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,6BAA6B,KAAK,mCAAmC,eAAe,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,6BAA6B,KAAK,mCAAmC,eAAe,aAAaC,IAAM,IAAI,MAAM,wCAAwC,IAAI,EAAE,IAAI,EAAE,eAAe,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,yCAAyC,KAAK,mBAAmB,SAAS,eAAeC,IAAM,MAAM,uBAAuB,0BAA0B,EAAE,KAAK,mBAAmB,SAAS,mBAAmB,mBAAmB,SAAS,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAOC,IAAM,MAAM,YAAY,4CAA4C,EAAE,MAAM,mBAAmB,SAAS,oBAAoB,2BAA2B,YAAY,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,+CAA+C,EAAE,KAAK,wBAAwB,YAAY,UAAU,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,mCAAmC,eAAe,UAAU,QAAQ,KAAKC,IAAM,KAAK,QAAQ,0DAA0D,GAAG,MAAM,2BAA2B,YAAY,eAAe,EAAE,IAAI,2BAA2B,YAAY,SAAS,EAAE,IAAI,gCAAgC,YAAY,oBAAoB,EAAE,IAAI,gCAAgC,YAAY,KAAK,EAAE,IAAI,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,KAAK,KAAK,kCAAkC,EAAE,EAAE,MAAM,wBAAwB,YAAY,UAAU,QAAQ,6BAA6B,YAAY,mCAAmC,QAAQ,wBAAwB,YAAY,KAAK,QAAQ,gCAAgC,eAAe,aAAa,2BAA2B,YAAY,MAAM,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,oBAAoB,EAAE,KAAK,6BAA6B,YAAY,cAAc,2BAA2B,YAAY,QAAQC,IAAM,MAAM,KAAK,gBAAgB,EAAE,KAAK,2BAA2B,YAAY,MAAM,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,MAAM,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,kBAAkB,KAAK,2BAA2B,YAAY,eAAeC,IAAM,MAAM,KAAK,gBAAgB,KAAK,2BAA2B,YAAY,QAAQ,mCAAmC,eAAe,kBAAkBC,IAAM,MAAM,KAAK,cAAc,KAAK,mBAAmB,SAAS,OAAO,gBAAgB,SAAS,OAAO,EAAE,EAAE,mBAAmB,OAAOC,IAAM,MAAM,MAAM,uDAAuD,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,2BAA2B,YAAY,MAAM,QAAQ,0BAA0B,YAAY,0BAA0B,QAAQ,6BAA6B,YAAY,gBAAgB,QAAQ,6BAA6B,YAAY,SAAS,QAAQ,6BAA6B,YAAY,QAAQ,QAAQ,6BAA6B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,+BAA+B,KAAK,mBAAmB,SAAS,cAAcC,IAAM,KAAK,KAAK,wEAAwE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,SAAS,QAAQ,mBAAmB,SAAS,MAAM,QAAQ,gBAAgB,SAAS,KAAK,QAAQ,2BAA2B,YAAY,2CAA2C,QAAQ,2BAA2B,YAAY,YAAY,QAAQ,KAAKC,IAAM,KAAK,KAAK,2BAA2B,EAAE,KAAK,2BAA2B,YAAY,iBAAiB,mCAAmC,eAAe,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,mBAAmBC,IAAM,MAAM,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,SAAS,UAAU,QAAQ,mBAAmB,SAAS,6BAA6B,QAAQ,mBAAmB,SAAS,OAAO,KAAKC,IAAM,MAAM,KAAK,2BAA2B,KAAK,mBAAmB,SAAS,YAAYC,IAAM,MAAM,KAAK,yBAAyB,EAAE,KAAK,mBAAmB,SAAS,QAAQC,IAAM,KAAK,aAAa,2EAA2E,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,MAAM,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,wBAAwB,YAAY,6BAA6B,QAAQ,6BAA6B,YAAY,sBAAsB,QAAQ,6BAA6B,YAAY,UAAU,QAAQ,6BAA6B,YAAY,6BAA6B,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,0CAA0C,EAAE,EAAE,KAAK,qBAAqB,SAAS,UAAU,mBAAmB,SAAS,OAAO,mBAAmB,SAAS,WAAWC,IAAM,MAAM,KAAK,2BAA2B,EAAE,KAAK,mBAAmB,SAAS,cAAc,mBAAmB,SAAS,QAAQC,IAAM,KAAK,uBAAuB,yBAAyB,EAAE,KAAK,mBAAmB,SAAS,MAAM,UAAU,gBAAgB,SAAS,KAAK,UAAU,mBAAmB,SAAS,SAAS,UAAU,2BAA2B,YAAY,OAAO,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,WAAWC,IAAM,MAAM,KAAK,sBAAsB,EAAE,KAAK,2BAA2B,YAAY,QAAQ,mCAAmC,eAAe,WAAWC,IAAM,MAAM,cAAc,oDAAoD,EAAE,KAAK,mBAAmB,SAAS,kBAAkB,mBAAmB,SAAS,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,KAAK,KAAK,8DAA8D,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,gBAAgB,SAAS,KAAK,UAAU,wBAAwB,YAAY,KAAK,UAAU,qBAAqB,SAAS,qEAAqE,uHAAuH,UAAU,mBAAmB,SAAS,wBAAwB,iCAAiC,UAAU,wBAAwB,YAAY,KAAK,UAAU,2BAA2B,YAAY,gBAAgB,UAAU,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,OAAO,qCAAqC,eAAe,OAAO,KAAKC,IAAM,KAAK,KAAK,oKAAoK,EAAE,EAAE,GAAG,GAAG,MAAM,2BAA2B,YAAY,SAAS,QAAQ,mBAAmB,SAAS,OAAO,qBAAqB,SAAS,8DAA8D,UAAU,qBAAqB,SAAS,kJAAkJ,uKAAuK,UAAU,mBAAmB,SAAS,MAAM,UAAU,mBAAmB,SAAS,KAAK,QAAQ,mCAAmC,eAAe,qDAAqD,UAAU,mCAAmC,eAAe,UAAU,UAAU,KAAKC,IAAM,KAAK,KAAK,uCAAuC,EAAE,EAAE,EAAE,KAAK,WAAW,MAAM,QAAQ,mBAAmB,SAAS,WAAW,2BAA2B,YAAY,iFAAiF,qFAAqF,6BAA6B,YAAY,QAAQ,2BAA2B,YAAY,0CAA0C,mCAAmC,eAAe,0BAA0BC,IAAM,MAAM,KAAK,cAAc,KAAK,2BAA2B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,IAAI,MAAM,6BAA6B,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAWC,IAAM,MAAM,KAAK,kCAAkC,EAAE,EAAE,MAAM,wBAAwB,YAAY,UAAU,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,OAAO,KAAKC,IAAM,MAAM,KAAK,0BAA0B,KAAK,2BAA2B,YAAY,WAAW,2BAA2B,YAAY,cAAcC,IAAM,MAAM,SAAS,sCAAsC,KAAK,mBAAmB,SAAS,YAAYC,IAAM,MAAM,KAAK,6CAA6C,EAAE,EAAE,EAAE,KAAK,qBAAqB,SAAS,UAAU,QAAQ,mBAAmB,SAAS,yCAAyC,UAAU,qBAAqB,SAAS,6CAA6C,UAAU,6BAA6B,YAAY,yCAAyC,UAAU,2BAA2B,YAAY,QAAQ,mBAAmB,SAAS,KAAK,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,qCAAqC,EAAE,KAAK,mBAAmB,SAAS,cAAc,mBAAmB,SAAS,YAAYC,IAAM,MAAM,KAAK,mCAAmC,KAAK,mCAAmC,eAAe,UAAU,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkBC,IAAM,KAAK,KAAK,uCAAuC,EAAE,KAAK,mBAAmB,SAAS,SAAS,cAAc,QAAQ,mBAAmB,SAAS,UAAU,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,2BAA2B,YAAY,WAAW,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAASC,IAAM,MAAM,KAAK,yGAAyG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,qBAAqB,SAAS,wBAAwB,QAAQ,sBAAsB,SAAS,UAAU,QAAQ,KAAKC,IAAM,IAAI,MAAM,iBAAiB,MAAM,mCAAmC,eAAe,qBAAqB,6CAA6C,iEAAiE,SAAS,IAAI,gCAAgC,eAAe,sBAAsB,2EAA2E,8LAA8L,SAAS,IAAI,2BAA2B,YAAY,KAAK,SAAS,IAAI,mCAAmC,eAAe,UAAU,SAAS,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,QAAQC,IAAM,MAAM,KAAK,kCAAkC,EAAE,KAAK,mCAAmC,eAAe,OAAO,2BAA2B,YAAY,OAAO,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,gCAAgC,EAAE,MAAM,mBAAmB,SAAS,OAAO,2BAA2B,YAAY,KAAK,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,6BAA6B,YAAY,MAAM,QAAQ,2BAA2B,YAAY,OAAO,KAAKC,IAAM,MAAM,QAAQ,+BAA+B,EAAE,KAAK,mBAAmB,SAAS,iCAAiCC,IAAM,MAAM,aAAa,oCAAoC,KAAK,wBAAwB,YAAY,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,cAAc,KAAK,2BAA2B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,KAAK,KAAK,2EAA2E,EAAE,EAAE,EAAE,EAAE,MAAM,6BAA6B,YAAY,MAAM,MAAM,EAAE,aAAa,mBAAmB,SAAS,iBAAiB,MAAM,EAAE,UAAU,2BAA2B,YAAY,0CAA0C,MAAM,EAAE,aAAa,kCAAkC,eAAe,KAAK,MAAM,EAAE,gBAAgB,6BAA6B,YAAY,wHAAwH,MAAM,EAAE,aAAa,6BAA6B,YAAY,iBAAiB,MAAM,EAAE,aAAa,qCAAqC,eAAe,qDAAqD,MAAM,EAAE,gBAAgB,mCAAmC,eAAe,QAAQ,MAAM,EAAE,gBAAgB,gCAAgC,eAAe,KAAK,MAAM,EAAE,gBAAgB,mCAAmC,eAAe,iFAAiF,MAAM,EAAE,gBAAgB,mCAAmC,eAAe,KAAK,MAAM,EAAE,gBAAgB,2CAA2C,kBAAkB,QAAQ,MAAM,EAAE,mBAAmB,KAAKC,IAAM,KAAK,YAAY,gDAAgD,EAAE,GAAG,MAAM,mBAAmB,SAAS,kBAAkB,2BAA2B,YAAY,OAAO,2BAA2B,YAAY,OAAO,2BAA2B,YAAY,QAAQC,IAAM,MAAM,KAAK,wBAAwB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAASC,IAAM,MAAM,uBAAuB,oCAAoC,EAAE,EAAE,EAAE,KAAK,qBAAqB,SAAS,WAAW,QAAQ,mBAAmB,SAAS,QAAQ,QAAQ,2BAA2B,YAAY,yBAAyB,QAAQ,gCAAgC,eAAe,UAAU,UAAU,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,KAAK,KAAK,kCAAkC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,0CAA0C,EAAE,EAAE,KAAK,0BAA0B,YAAY,MAAM,QAAQ,6BAA6B,YAAY,cAAc,mBAAmB,QAAQ,gCAAgC,eAAe,KAAK,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,mCAAmC,eAAe,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,0BAA0B,KAAK,mBAAmB,SAAS,WAAW,UAAU,KAAKC,IAAM,MAAM,KAAK,2BAA2B,EAAE,MAAM,mCAAmC,eAAe,WAAW,mBAAmB,SAAS,OAAO,EAAE,EAAE,gBAAgB,UAAUC,IAAM,MAAM,KAAK,+BAA+B,KAAK,mCAAmC,eAAe,OAAO,mCAAmC,eAAe,YAAYC,IAAM,MAAM,KAAK,kEAAkE,EAAE,EAAE,EAAE,KAAK,mBAAmB,SAAS,YAAY,WAAW,MAAM,WAAW,gBAAgB,SAAS,mCAAmC,gBAAgB,SAAS,aAAa,2BAA2B,YAAY,yBAAyB,qBAAqB,SAAS,+BAA+B,KAAKC,IAAM,MAAM,KAAK,8BAA8B,EAAE,KAAK,2BAA2B,YAAY,QAAQ,mBAAmB,SAAS,WAAW,mBAAmB,SAAS,YAAYC,IAAM,MAAM,KAAK,cAAc,KAAK,2BAA2B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,qBAAqB,KAAK,mBAAmB,SAAS,WAAWC,IAAM,MAAM,KAAK,uCAAuC,EAAE,EAAE,MAAM,mBAAmB,SAAS,UAAU,mBAAmB,SAAS,WAAW,2BAA2B,YAAY,WAAWC,IAAM,IAAI,MAAM,uCAAuC,IAAI,EAAE,IAAI,EAAE,eAAe,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,4BAA4B,EAAE,KAAK,6BAA6B,YAAY,SAAS,MAAM,IAAI,2BAA2B,YAAY,KAAK,MAAM,IAAI,KAAKC,IAAM,MAAM,KAAK,qCAAqC,EAAE,KAAK,mBAAmB,SAAS,YAAY,mBAAmB,SAAS,QAAQC,IAAM,MAAM,KAAK,WAAW,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,qBAAqB,QAAQ,EAAE,OAAOC,IAAM,MAAM,QAAQ,2BAA2B,KAAK,mCAAmC,eAAe,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAMC,IAAM,MAAM,KAAK,eAAe,KAAK,mCAAmC,eAAe,YAAYC,IAAM,KAAK,UAAU,uCAAuC,EAAE,EAAE,MAAM,wBAAwB,YAAY,KAAK,QAAQ,6BAA6B,YAAY,YAAY,QAAQ,2BAA2B,YAAY,OAAO,KAAKC,IAAM,MAAM,MAAM,iCAAiC,KAAK,wBAAwB,YAAY,MAAM,QAAQ,EAAE,IAAI,2BAA2B,YAAY,gBAAgB,EAAE,IAAI,wBAAwB,YAAY,KAAK,EAAE,IAAI,2BAA2B,YAAY,eAAe,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQC,IAAM,MAAM,KAAK,kBAAkB,EAAE,EAAE,EAAE,IAAIC,IAAM,MAAM,KAAK,qCAAqC,EAAE,KAAK,mBAAmB,SAAS,gBAAgB,mBAAmB,SAAS,QAAQC,IAAM,MAAM,MAAM,eAAe,KAAK,mCAAmC,eAAe,MAAM,WAAW,gCAAgC,eAAe,SAAS,WAAW,mBAAmB,SAAS,KAAK,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQC,IAAM,MAAM,KAAK,kBAAkB,KAAK,2BAA2B,YAAY,eAAeC,IAAM,MAAM,KAAK,0CAA0C,EAAE,KAAK,mBAAmB,SAAS,qCAAqC,mBAAmB,SAAS,OAAO,mBAAmB,SAAS,YAAYC,IAAM,KAAK,KAAK,kDAAkD,EAAE,GAAG,MAAM,2BAA2B,YAAY,kBAAkB,MAAM,IAAI,mCAAmC,eAAe,iBAAiB,kBAAkB,oBAAoB,MAAM,IAAI,mCAAmC,eAAe,oBAAoB,QAAQ,IAAI,2BAA2B,YAAY,MAAM,MAAM,IAAI,KAAKC,IAAM,IAAI,MAAM,4BAA4B,IAAI,EAAE,IAAI,EAAE,sBAAsB,QAAQ,EAAE,OAAOC,IAAM,MAAM,KAAK,0BAA0B,EAAE,EAAE,IAAIC,IAAM,MAAM,mBAAmB,gDAAgD,EAAE,EAAE,EAAE,GAAG,MAAM,wBAAwB,YAAY,OAAO,QAAQ,6BAA6B,YAAY,UAAU,QAAQ,0BAA0B,YAAY,wCAAwC,gDAAgD,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,6BAA6B,YAAY,KAAK,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKC,IAAM,MAAM,UAAU,6BAA6B,KAAK,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,YAAY,8DAA8D,mFAAmF,QAAQ,2BAA2B,YAAY,8EAA8E,wFAAwF,QAAQ,mBAAmB,SAAS,SAAS,QAAQ,6BAA6B,YAAY,QAAQ,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAOC,IAAM,MAAM,UAAU,sCAAsC,KAAK,mBAAmB,SAAS,MAAM,QAAQ,QAAQ,mBAAmB,SAAS,2BAA2B,QAAQ,mBAAmB,SAAS,QAAQ,QAAQ,KAAKC,IAAM,IAAI,MAAM,eAAe,MAAM,2BAA2B,cAAc,SAAS,EAAE,EAAE,aAAa,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,olBAAolB,KAAK,yCAAyC,mBAAmB,2CAA2C,GAAG,oBAAoBC,IAAM,MAAM,mBAAmB,oCAAoC,EAAE,KAAK,mBAAmB,SAAS,QAAQ,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,mBAAmB,SAAS,UAAU,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,UAAUC,IAAM,MAAM,MAAM,eAAe,KAAK,mCAAmC,eAAe,SAAS,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQC,IAAM,KAAK,KAAK,gFAAgF,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAASC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,KAAK,KAAK,qCAAqC,MAAM,mBAAmB,SAAS,WAAW,QAAQ,KAAKC,IAAM,IAAI,MAAM,gCAAgC,IAAI,EAAE,IAAI,EAAE,qBAAqB,QAAQ,EAAE,OAAOC,IAAM,IAAI,MAAM,+BAA+B,IAAI,EAAE,IAAI,EAAE,mBAAmB,QAAQ,EAAE,OAAOC,IAAM,KAAK,KAAK,oDAAoD,EAAE,EAAE,EAAE,MAAM,mBAAmB,SAAS,MAAM,MAAM,IAAI,qBAAqB,SAAS,KAAK,EAAE,IAAI,mCAAmC,eAAe,QAAQ,MAAM,IAAI,2BAA2B,YAAY,UAAU,MAAM,IAAI,2BAA2B,YAAY,SAAS,MAAM,IAAI,2BAA2B,YAAY,KAAK,MAAM,IAAI,KAAKC,IAAM,MAAM,KAAK,gDAAgD,EAAE,KAAK,mBAAmB,SAAS,YAAYC,IAAM,MAAM,KAAK,8BAA8B,KAAK,2BAA2B,YAAY,YAAYC,IAAM,MAAM,IAAI,6CAA6C,EAAE,EAAE,EAAE,MAAM,WAAW,MAAM,WAAW,qBAAqB,SAAS,OAAO,mBAAmB,SAAS,QAAQC,IAAM,MAAM,KAAK,yCAAyC,EAAE,KAAK,mBAAmB,SAAS,QAAQ,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,2BAA2B,YAAY,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,gCAAgC,EAAE,EAAE,KAAK,0BAA0B,YAAY,kBAAkB,QAAQ,2BAA2B,YAAY,KAAK,QAAQ,KAAKC,IAAM,MAAM,KAAK,6BAA6B,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,UAAUC,IAAM,KAAK,KAAK,yBAAyB,EAAE,EAAE,EAAE,EAAE,KAAK,qBAAqB,SAAS,UAAU,QAAQ,6BAA6B,YAAY,UAAU,QAAQ,2BAA2B,YAAY,OAAO,QAAQ,2BAA2B,YAAY,SAAS,QAAQ,KAAKC,IAAM,MAAM,KAAK,yCAAyC,KAAK,2BAA2B,YAAY,QAAQ,QAAQ,mBAAmB,SAAS,QAAQ,QAAQ,KAAKC,IAAM,MAAM,KAAK,yHAAyH,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,SAAS,0FAA0F,QAAQ,0BAA0B,YAAY,QAAQ,QAAQ,mBAAmB,SAAS,MAAM,QAAQ,mBAAmB,SAAS,6CAA6C,8EAA8E,UAAU,2BAA2B,YAAY,KAAK,QAAQ,6BAA6B,YAAY,+CAA+C,iDAAiD,QAAQ,mBAAmB,SAAS,KAAK,QAAQ,qBAAqB,SAAS,6IAA6I,QAAQ,6BAA6B,YAAY,mBAAmB,QAAQ,qBAAqB,SAAS,aAAa,YAAY,QAAQ,MAAMC,eAAiBC,KAAO,MAAM,EAAE,UAAU,KAAK,mBAAmB,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,YAAYC,KAAO,MAAM,EAAE,UAAU,KAAK,mBAAmB,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,YAAYC,KAAO,MAAM,EAAE,gBAAgB,KAAK,2BAA2B,YAAY,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,+BAA+BC,KAAO,MAAM,EAAE,aAAa,MAAM,2BAA2B,YAAY,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,eAAeC,KAAO,MAAM,EAAE,cAAc,KAAK,wBAAwB,YAAY,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,gBAAgBC,KAAO,MAAM,EAAE,mCAAmC,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,mBAAmB,SAAS,YAAY,2BAA2B,YAAY,OAAO,2BAA2B,YAAY,WAAW,6BAA6B,YAAY,OAAO,2BAA2B,YAAY,YAAY,2BAA2B,YAAY,QAAQ,6BAA6B,YAAY,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,kDAAkD,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,wHAAwHC,KAAO,MAAM,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,YAAY,SAAS,mCAAmC,eAAe,SAAS,2BAA2B,YAAY,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,+BAA+BC,KAAO,MAAM,EAAE,WAAW,MAAM,2BAA2B,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,aAAaC,KAAO,MAAM,EAAE,UAAU,KAAK,wBAAwB,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,cCFxm5EC,EAAN,EAIMC,EAAN,GAGMC,EAAN,EAIMC,EAAN,eAeMC,EAAiB,GAAAC,OAZ9B,WAY8BA,OAX9B,MAW8BA,OAV9B,MAU8BA,OATvB,UASuBA,OAR9B,gBAQ8BA,OAN9B,QChBO,SAAAC,EAAAC,EAAAC,GAIN,OADAD,EAAOA,GAAPA,GACO,IAAAE,OAAW,OAAAD,EAAX,MAAAE,KAAPH,OCRoBI,EACnB,SAAAA,EAAAC,gGAAkBC,CAAAC,KAAAH,GAChBG,KAAAjf,KAAYif,KAAAC,YAAZlf,KACAif,KAAAE,QAAAJ,EACAE,KAAAG,MAAc,IAAAC,MAADN,GAAbK,OCAW,SAAAE,EAAAC,EAAAC,GAGX,IAFA,IAAIC,EAAKF,QAAT,KACIG,EAAKF,QAAT,KACS/f,EAAT,EAAgBA,EAAhB,EAAuBA,IAAK,CACxB,IAAIkgB,EAAKC,OAAOH,EAAhBhgB,IACIogB,EAAKD,OAAOF,EAAhBjgB,IACA,GAAIkgB,EAAJE,EAAa,SACb,GAAIA,EAAJF,EAAa,SACb,IAAKG,MAADH,IAAcG,MAAlBD,GAA6B,SAC7B,GAAIC,WAAcA,MAAlBD,GAA6B,SAEjC,qwBDPJf,YAAuB3e,cAAckf,MAArCP,WACAA,0BENA,IAGMiB,EAAN,QAGMC,EAAN,SAEMC,EAAN,SAKqBC,aACpB,SAAAC,EAAAC,GAAsBC,EAAApB,KAAAkB,GAqahB,SAAAC,GACN,IAAAA,EACC,MAAM,IAAAf,MAAN,6EAKD,IAAKiB,EAADF,KAAyBE,EAAUF,EAAvCjS,WACC,MAAM,IAAAkR,MAAA,sJAAAb,OAAoK8B,EAAAC,GAAsB,yBAA2BpgB,oBAA3B,MAAtBogB,KAA2F,KAAOC,EAAPJ,GAAA,KAA/PA,EAAN,MA5aAK,CAAAC,GACAzB,KAAAmB,WACAO,EAAAC,8DAIA,OAAOzgB,OAAA0gB,KAAY5B,KAAAmB,SAAZjS,WAAA2S,OAA4C,SAAAC,GAAC,cAAIA,+CAGtCC,GAClB,OAAO/B,KAAAmB,SAAAjS,UAAP6S,2CAIA,KAAI/B,KAAAgC,IAAWhC,KAAXiC,IAAsBjC,KAA1BkC,IAGA,OAAOlC,KAAAmB,SAAA3C,eAA+BwB,KAAAmB,SAAtCgB,mDAGUC,GACV,YAAAC,IAAOrC,KAAAsC,mBAAAF,0CAGOG,GACd,GAAIvC,KAAAwC,8BAAJD,GACC,SAED,GAAIvC,KAAJxB,iBACC,GAAIwB,KAAAxB,gBAAJ+D,GACC,aAEK,CAEN,IAAME,EAAezC,KAAA0C,sBAArBH,GACA,GAAIE,OAAgBA,UAApB,QAAiDA,KAChD,6DAKwBF,GAC1B,OAAIvC,KAAJxB,kBACQwB,KAAAxB,gBAAA+D,IAEAvC,KAAAwC,8BAAAD,mCAKDR,GACP,OAAO/B,KAAA2C,oBAAPZ,+CAGmBA,EAAaQ,GAChC,GAAIR,GAAJ,QAAmBA,EAAuB,CACzC,IAAK/B,KAAA4C,WAALb,GACC,MAAM,IAAA3B,MAAA,oBAAAb,OAANwC,IAED/B,KAAA6C,cAAqB,IAAAC,EAAkB9C,KAAAsC,mBAAlBP,GAArB/B,WACM,GAAAuC,EAAiB,CACvB,IAAKvC,KAAA+C,eAALR,GACC,MAAM,IAAAnC,MAAA,yBAAAb,OAANgD,IAEDvC,KAAA6C,cAAqB,IAAAC,EAAkB9C,KAAAgD,yBAAlBT,GAArBvC,WAEAA,KAAA6C,mBAAAR,EAED,OAAArC,2DAG6BuC,GAC7B,IAAME,EAAezC,KAAA0C,sBAArBH,GACA,GAAAE,EAAkB,CAUjB,GAAIA,cAAJ,IAAiCA,YAChC,OAED,OAAAA,wDAI2BF,GAC5B,IAAME,EAAezC,KAAAwC,8BAArBD,GACA,GAAAE,EACC,OAAOA,EAAP,oDAIuBF,GACxB,IAAMR,EAAc/B,KAAAiD,6BAApBV,GACA,GAAAR,EACC,OAAO/B,KAAAsC,mBAAPP,GAED,GAAI/B,KAAJxB,gBAA0B,CACzB,IAAM2C,EAAWnB,KAAAxB,gBAAjB+D,GACA,GAAApB,EACC,OAAAA,MAEK,CAEN,IAAMsB,EAAezC,KAAA0C,sBAArBH,GACA,GAAIE,OAAgBA,UAApB,QAAiDA,KAChD,OAAOzC,KAAAmB,SAAAjS,UAAP,qDAOF,OAAO8Q,KAAA6C,cAAPN,kDAKA,OAAOvC,KAAA6C,cAAPK,uDAKA,OAAOlD,KAAA6C,cAAPM,mEAKA,OAAOnD,KAAA6C,cAAPO,kEAKA,OAAOpD,KAAA6C,cAAPQ,oDAKA,OAAOrD,KAAA6C,cAAPS,6DAKA,OAAOtD,KAAA6C,cAAPU,iFAKA,OAAOvD,KAAA6C,cAAPW,sEAKA,OAAOxD,KAAA6C,cAAPY,mDAKA,OAAOzD,KAAA6C,cAAPa,wCAIIC,GACJ,OAAO3D,KAAA6C,cAAAc,KAAPC,iCAKA,OAAO5D,KAAA6C,cAAPgB,oDAIA,OAAI7D,KAAJgC,GAAoBhC,KAAAmB,SAAP2C,gCACN9D,KAAAmB,SAAPhf,gFAIiCogB,GACjCvC,KAAA2C,oBAAA,KAAAJ,sDAIA,YAAAF,IAAOrC,KAAA6C,uBAIHC,aACL,SAAAiB,EAAA5C,EAAA6C,GAA4C5C,EAAApB,KAAA+D,GAC3C/D,KAAAgE,uBACAhE,KAAAmB,WACAO,EAAAC,UAAsBqC,EAAtBrC,0DAIA,OAAO3B,KAAAmB,SAAP,gEAUA,OAAOnB,KAAAgE,qBAAAhB,yBAAmDhD,KAA1DuC,mDAIA,IAAIvC,KAAAgC,KAAWhC,KAAfiC,GACA,OAAOjC,KAAAmB,SAAP,8CAIA,IAAInB,KAAAgC,KAAWhC,KAAfiC,GACA,OAAOjC,KAAAmB,SAAP,oDAIA,OAAInB,KAAAgC,IAAWhC,KAAfiC,GAA+BjC,KAAAmB,SAAP,GACjBnB,KAAAmB,SAAP,6CAIA,IAAInB,KAAJgC,GACA,OAAOhC,KAAAmB,SAAcnB,KAAAiC,GAAA,EAArB,uCAGWd,GACX,OAAOA,EAASnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAA9B,qCAMS,IAAAgC,EAAAjE,KACHsD,EAAUtD,KAAAkE,YAAiBlE,KAAjBmB,WAAmCnB,KAAAkE,YAAiBlE,KAApDmE,0CAChB,OAAOb,EAAAc,IAAY,SAAAtC,GAAC,OAAI,IAAAuC,EAAAvC,EAAJmC,8CAIpB,OAAOjE,KAAAmB,SAAcnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAAnC,4DAGgCd,GAChC,OAAOA,EAASnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAA9B,0DAOA,OAAOjC,KAAAsE,iCAAsCtE,KAAtCmB,WAAwDnB,KAAAsE,iCAAsCtE,KAArGmE,0FAIA,OAAOnE,KAAAmB,SAAcnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAAnC,sDAMA,OAAOjC,KAAAuE,6BAAoCvE,KAA3CwE,uEAIA,OAAOxE,KAAAmB,SAAcnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAAnC,wEAIA,QAASjC,KAAAmB,SAAcnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAArC,oFAQA,OAAOjC,KAAAyE,2CAAgDzE,KAAhDmB,WACNnB,KAAAyE,2CAAgDzE,KADjDmE,8EAKA,OAAOnE,KAAAmB,SAAcnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,EAAnC,oCAIA,OAAOjC,KAAAmB,SAAcnB,KAAAgC,GAAA,EAAchC,KAAAiC,GAAA,GAAnC,uCAMA,QAAIjC,KAAA0E,SAAJ,IAAoB1E,KAAA0E,QAAAC,WAKX3E,KAAT0E,qCAGIf,GACJ,GAAI3D,KAAA0D,YAAmBkB,EAAQ5E,KAAD0E,QAA9BG,GACC,OAAO,IAAAC,EAASF,EAAQ5E,KAAD0E,QAAhBG,GAAP7E,oCAKD,OAAIA,KAAAgC,IAAWhC,KAAfiC,GAAwBjB,EACjBhB,KAAAmB,SAAA,KAAPH,WAIIqD,aACL,SAAAU,EAAAC,EAAA7D,GAA8BC,EAAApB,KAAA+E,GAC7B/E,KAAAiF,QAAAD,EACAhF,KAAAmB,uDAIA,OAAOnB,KAAAiF,QAAP,oCAIA,OAAOjF,KAAAiF,QAAP,mDAIA,OAAOjF,KAAAiF,QAAA,8DAIP,OAAOjF,KAAAiF,QAAA,IAAmBjF,KAAAmB,SAA1B+D,gHAIA,QAASlF,KAAAiF,QAAF,IAAqBjF,KAAAmB,SAA5BgE,2IASA,OAAOnF,KAAAoF,uBAA8BpF,KAArCmF,sGAKA,OAAOnF,KAAAkF,iCAELG,EAAAC,KAAqCtF,KAHnBkF,8EAcpB,OAAOlF,KAAAiF,QAAA,IAAmBjF,KAA1BgF,kBASIK,EAAN,cAEMP,aACL,SAAAS,EAAA5B,EAAAxC,GAA4BC,EAAApB,KAAAuF,GAC3BvF,KAAA2D,OACA3D,KAAAmB,uDAIA,OAAInB,KAAAmB,SAAJa,GAA6BhC,KAAP2D,KACf3D,KAAA2D,KAAP,6CAIA,IAAI3D,KAAAmB,SAAJa,GACA,OAAOhC,KAAA2D,KAAA,IAAgB3D,KAAAmB,SAAvBkC,2BAIF,SAAAuB,EAAAF,EAAAf,GACC,OAAAA,GACC,iBACC,OAAOe,EAAP,GACD,aACC,OAAOA,EAAP,GACD,gBACC,OAAOA,EAAP,GACD,mBACC,OAAOA,EAAP,GACD,sBACC,OAAOA,EAAP,GACD,gBACC,OAAOA,EAAP,GACD,UACC,OAAOA,EAAP,GACD,YACC,OAAOA,EAAP,GACD,WACC,OAAOA,EAAP,GACD,kBACC,OAAOA,EAAP,IAmBH,IAAMrD,EAAY,SAAAS,GAAC,iBAAI0D,EAAA1D,IAKjBP,EAAU,SAAAO,GAAC,OAAA0D,EAAA1D,IA6BV,SAAA2D,EAAArD,EAAAjB,GAEN,IADAA,EAAW,IAAAF,EAAXE,IACIA,WAAJiB,GACC,OAAOjB,aAAPuE,qBAED,MAAM,IAAAtF,MAAA,oBAAAb,OAAN6C,IAGM,SAAAuD,EAAAvD,EAAAjB,GAGN,YAAAkB,IAAOlB,eAGR,SAAAO,EAAAP,GACCnB,KAAAgC,IAAWb,EAAXjf,QACA8d,KAAAiC,QAAUd,gBAAV,IAA4Cd,EAAQc,EAADjf,QAAP4e,GAC5Cd,KAAAkC,QAAUf,gBAAV,IAA4Cd,EAAQc,EAADjf,QAAP6e,GAC5Cf,KAAA4F,QAJ6BvD,IAInBlB,UCvfX,IAAM0E,EAAN,QAIMC,EAAwB,KAAAzG,EAA9B,UAiBA,SAAA0G,EAAAC,GAGC,IAAIC,EAAJ,SAEA,OAAAD,GAIC,cACCC,EAA8B,KAA9BA,EAGF,OAAOJ,EAAAC,EAAAI,4FAAAJ,EAAAI,aAAA7G,EAAP,WA2BM,IAAM8G,EAA4BJ,EAAlC,WAEMK,EAA6BL,EAAnC,YAIDM,EAAe,IAAA1G,OAAW,MAAAwG,EAAX,KAArB,KCrCA,IAkBMG,EAA6B,IAAA3G,OAGlC,KArBuC,IAAAN,EAAA,KAAAH,EAAxC,KAqBC,OAfA,gBAAAI,EAAA,MAAAD,EAAA,UAAAC,EAAAD,EADD,MAgBC,MAAA8G,EAAA,MAHD,KAuBe,SAAAI,EAAAC,GAEd,OAAOA,UAAAtH,GACNoH,EAAAG,KADDD,GCtEM,IAAME,GAEZC,EADD,IAECvkB,EAFD,IAGCwkB,EAHD,IAICC,EAJD,IAKCC,EALD,IAMCC,EAND,IAOCC,EAPD,IAQC3kB,EARD,IASC4kB,EATD,IAUCC,EAVD,IAWCC,IAXD,IAYCC,IAZD,IAaCC,IAbD,IAcCC,IAdD,IAeCC,IAfD,IAgBCC,IAhBD,IAiBCC,IAjBD,IAkBCC,IAlBD,IAmBCC,IAnBD,IAoBCC,IApBD,IAqBCC,IArBD,IAsBCC,IAtBD,IAuBCC,IAvBD,IAwBCC,IAxBD,IAyBCC,IAzBD,IA0BCC,IA1BD,IA2BCC,IA3BD,IA4BCC,IA5BD,IA6BCC,IA7BD,IA8BCC,IA9BD,IA+BCC,IA/BD,IAgCCC,IAhCD,IAiCCC,IAjCD,IAkCCC,IAlCD,IAmCCC,IAnCD,IAoCCC,IApCD,IAqCCC,IArCD,IAsCCC,IAtCD,IAuCCC,IAvCD,IAwCCC,IAxCD,KA2CO,SAAAC,EAAAC,GAEN,OAAOxC,EAAPwC,GAgBc,SAAAC,EAAAC,GACd,IAAIC,EADuC,GAQ3CC,EAAwBF,QAAxB,IAAAG,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,MAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAA0C,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IACnCwoB,EAAQf,EAD2BY,GAEzCG,IACCX,MAGF,OAAAA,ECjEc,SAAAY,EAAAb,GACd,IAAIC,EADsD,GAQ1DC,EAAwBF,QAAxB,IAAAG,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,MAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAA0C,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MACzC6nB,GAAUa,EAD+BL,EAC/BM,IAAVd,GAED,OAAAA,EAWM,SAAAa,EAAAhB,EAAA1nB,GAEN,SAAI0nB,EAAmB,CAGtB,GAAA1nB,EACC,OAED,UAGD,OAAOynB,EAAPC,GC/CD,IAAMkB,GACN,yFADA,aAce,SAAAC,EAAAC,EAAAC,EAAApJ,GAQd,GAJAoJ,EAAUA,MAILD,EAALlI,QAAA,EAIAjB,EAAW,IAAAF,EAAXE,IAEAA,oBAA6BmJ,EAA7BnJ,QAA4CmJ,EAA5CnJ,oBAEA,IAAMqJ,EAAiBD,KAAaD,EAAbC,eAAoCD,EAf5DG,MAqBC,GAAKjL,EAAegL,EAAiBrJ,EAArCiC,yBAAA,CAMA,GAAIsH,EAAUF,EAAA,aAAdrJ,GAMC,OAAIA,kBAAJ,KAA+BA,2BAE9B,uBAMIA,OAAL,UAQIuJ,EAAUF,EAAA,SAAdrJ,GAEC,uBAGD,aAXC,uBAcF,QAAAuI,EAAA,EAAAiB,EAAAP,EAAAV,EAAAiB,EAAAhG,OAAA+E,IACA,CADK,IAAM9F,EAAK+G,EAAXjB,GAEJ,GAAIgB,EAAUF,EAAA5G,EAAdzC,GAEC,OAAAyC,KAKI,SAAA8G,EAAAF,EAAA7G,EAAAxC,GAIN,UAFAwC,EAAOxC,OAAPwC,MAEcA,EAAdiH,eAWIjH,qBACHA,4BAA+B6G,EAA/B7G,QADD,IAMOnE,EAAegL,EAAiB7G,EAAvCiH,YAIM,SAAAC,EAAAL,EAAA7G,EAAAxC,GAEN,IAAM2J,EAAY3J,OADnBwC,GAUKoH,EAAmBD,GAAaA,EAAbA,mBAA4C3J,EAVpEkC,kBAaC,4BAAIM,EACJ,CAGC,IAAKxC,OAAL,cAIC,OAAO0J,EAAwBL,EAAA,SAA/BrJ,GAGD,IAAM6J,EAAc7J,OAApB,UAEA6J,IAOCD,ER7HI,SAAAzK,EAAAC,GACN,IAAM0K,EAAS3K,EAAf4K,QAEA5B,EAAA/I,EAAAgJ,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,MAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAAyB,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IAAd2pB,EAActB,EACpBvJ,aAAJ,GACC2K,UAIF,OAAOA,EAAAG,KAAY,SAAA9K,EAAAC,GAAA,OAAUD,EAAVC,IQoHE8K,CAAWN,EAAmBC,EANlD3H,yBAsBI,GAAIM,IAAJmH,EAEJ,uBAGD,IAAMQ,EAAgBd,EAtDvB7F,OAgEO4G,EAAiBR,EAAvB,GAEA,OAAIQ,IAAJD,EAEC,cAGGC,EAAJD,EAEC,YAGGP,EAAiBA,SAAjBA,GAAJO,EAEC,WAIMP,gCAAP,iBC7Lc,SAAAS,EAAAlB,EAAAC,EAAApJ,GASd,QANAkB,IAAIkI,IACHA,MAGDpJ,EAAW,IAAAF,EAAXE,GAEIoJ,EAAJtI,GAAgB,CACf,IAAKqI,EAAL5E,mBACC,MAAM,IAAAtF,MAAN,sCAEDe,oCAA2CmJ,EAA3CnJ,wBACM,CACN,IAAKmJ,EAALG,MACC,SAED,GAAIH,EAAJlI,QAAmB,CAClB,IAAKjB,aAAoBmJ,EAAzBlI,SACC,MAAM,IAAAhC,MAAA,oBAAAb,OAA8B+K,EAApClI,UAEDjB,UAAiBmJ,EAAjBnJ,aACM,CACN,IAAKmJ,EAAL5E,mBACC,MAAM,IAAAtF,MAAN,sCAEDe,oCAA2CmJ,EAA3CnJ,qBAIF,GAAIA,EAAJkC,kBACC,OAAOoI,EAAiBnB,SAAeA,EAAhBE,oBAAAnI,EAAvBlB,GAQA,GAAImJ,sBAA4BnJ,6BAAoCmJ,EAApE5E,oBAGC,SAEA,MAAM,IAAAtF,MAAN,kGAKI,SAAAqL,EAAAjB,EAAAkB,EAAAvK,GACN,OAAQ0J,EAAwBL,OAAAnI,EAAhClB,IACC,kBACC,SAGD,QACC,UCzDH,IAAMwK,EAA0B,IAAAhM,OAAW,KAAAN,EAA3C,MAWMuM,EAAN,2bCNO,SAAAC,EAAApM,GAEN,IAAA+G,EADD3C,EAOCyF,GAFA7J,EAAOA,kBAAPA,SAEmBA,MAAnB,KAAA8J,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,MAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cACA,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IAAAsqB,EAAAC,EAAAlC,EACuBmC,MADvB,QACQjrB,EADR+qB,EAAA,GACctqB,EADdsqB,EAAA,GAEC,OAAA/qB,GAEC,UACCylB,IACA,MACD,UACC3C,IACA,MACD,oBAGC,MAAIriB,OACHglB,EAAShlB,EAATglB,IAOJ,IAAKD,EAALC,GAEC,SAGD,IAAM6C,GAAW7C,UAIjB,OAHA3C,IACCwF,SAEDA,EAOM,SAAA4C,GAAAC,GACP,IADgC1F,EAChC0F,EADgC1F,OAAQ3C,EACxCqI,EADwCrI,IAEvC,IAAA2C,EAEC,SAGD,SAAIA,KAEH,MAAM,IAAApG,MAAN,6DAGD,aAAAb,OAAAiH,GAAAjH,OAAuBsE,EAAM,QAAHA,EAA1B,ICjCc,SAAAsI,GAAA7B,EAAAC,EAAApJ,GAUd,OANAoJ,EAAUA,MAEVpJ,EAAW,IAAAF,EALZE,KASMmJ,EAALlI,UAKAjB,sBAA6BmJ,EAA7BnJ,QAA4CmJ,EAd7C5E,oBAkBKvE,EAAJuC,gBAECrB,IAAOgI,EAAaC,EAAAC,EAAiBpJ,EAA9BiL,UAMD5M,EADiB+K,KAAaD,EAAbC,eAAoCD,EAA5DG,MACwCtJ,EAAxCiC,mJCjDD,IAAMiJ,IACLC,gBAAiB,SAAAC,EAAAC,EAAArL,GAAA,SAAA5B,OAAAgN,GAAAhN,OAA+D4B,EAA/D0C,OAAAtE,OAAAiN,KAgBH,SAAAC,GAAAnC,EAAAtF,EAAAuF,EAAApJ,GAUd,GAPCoJ,EADDA,qUACQmC,IAAAL,GAAP9B,GAEA8B,GAGDlL,EAAW,IAAAF,EAAXE,GAEImJ,WAAJ,QAAqBA,UAAyB,CAE7C,IAAKnJ,aAAoBmJ,EAAzBlI,SACC,MAAM,IAAAhC,MAAA,oBAAAb,OAA8B+K,EAApClI,UAEDjB,UAAiBmJ,EAAjBnJ,aAEI,KAAImJ,EAAJ5E,mBAGA,OAAO4E,SAAP,GAFJnJ,oCAA2CmJ,EAA3CnJ,oBAID,IAMAqF,EANMd,EAAqBvE,EAA3BuE,qBAEM8E,EAAiBD,KAAaD,EAAbC,eAAoCD,EAxBWG,MA8BtE,OAAAzF,GACC,eAGC,OAAAwF,EAIOmC,GADPnG,EAASoG,GAAoBpC,EAAA,WAAArJ,EAA7BqF,GAC4B8D,EAATzG,IAAA1C,EAA8BoJ,EAAjD+B,iBAHC,GAKF,oBAGC,OAAA9B,GAGAhE,EAASoG,GAAoBpC,EAAA,gBAAArJ,EAA7BqF,GAEOmG,GADPnG,EAAM,IAAAjH,OAAAmG,EAAA,KAAAnG,OAANiH,GAC4B8D,EAATzG,IAAA1C,EAA8BoJ,EAAjD+B,kBAJC,IAAA/M,OAAAmG,GAMF,YAEC,UAAAnG,OAAAmG,GAAAnG,OAAAiL,GAED,cACC,OAAOyB,IACNzF,OAAM,IAAAjH,OAAAmG,GAAAnG,OADciL,GAEpB3G,IAAKyG,EAAMzG,MAGb,UACC,IAAK0G,EAALsC,YAA0B,OAI1B,IAAM3J,EH3EF,SAAAd,EAAAjB,GAEN,IAAM2L,EAAkB,IAAA7L,EAAxBE,GAGA,OAFA2L,aAEIlB,EAAAmB,KAAuBD,EAA3B5J,aAEQ4J,EAAP5J,YAGM4J,EAAP3J,mBGiEoB6J,CAAazC,EAADsC,YAAsB1L,EAApDA,UACA,IAAA+B,EACC,OAED,GAAIqH,EAAJ0C,cAA2B,CAC1B,IAAMC,EAAqCxH,GAsH/C,SAAAc,EAAA2G,EAAAN,EAAAO,EAAA7C,GAOC,IAAM8C,EAAsB,IAAApM,EAAamM,EAAzCjM,UAGA,GAFAkM,UAFCR,GAIGM,IAAyBE,EAA7B3H,qBAGC,YAAIyH,EACIA,MAA6BP,GAAoBpG,EAAA,WAAA4G,EAAxD7C,GAWMqC,GAAoBpG,EAAA,WAAA4G,EAA3B7C,GA/ImE+C,CAAqC9C,EAErGrJ,EAFqGuE,qBAGrG6E,EAHqGsC,YAAA1L,EAAtGoJ,GAYA,OAAOoC,GAJNnG,EADD0G,GAGO,GAAA3N,OAAA2D,EAAA,KAAA3D,OAAAmG,EAAA,KAAAnG,OAAyCqN,GAAoBpC,EAAA,gBAAArJ,EAAnEqF,IAE2B8D,EAATzG,IAAA1C,EAA8BoJ,EAAjD+B,iBAED,SAAA/M,OAAA2D,GAAA3D,OAAAmG,GAAAnG,OAAAiL,GAED,QACC,MAAM,IAAApK,MAAA,0DAAAb,OAAAyF,EAAN,OAQI,IAAMuI,GAAN,SAEA,SAAAC,GAAAhH,EAAAxB,EAAAyI,EAAAC,EAAAvM,GAON,IAAMoL,EAAkB/F,UACvB,IAAA7G,OAAWqF,EADYwB,WAEvBiH,EACCzI,EADwB2I,sBAExBD,GAAmC1I,EAAnC0I,+BACC1I,mBAAAuI,GAA6CvI,EAD9C0I,gCAEC1I,EANHA,UAQA,OAAAyI,EACQG,GAAPrB,GAEDA,EAGD,SAAAK,GAAApG,EAAAqH,EAAA1M,EAAAoJ,GACC,IAAMvF,EAaP,SAAA8I,EAAAC,GACC,QAAAzE,EAAAwE,EAAAvE,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,EAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAAuC,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IAA5BwjB,EAA4B6E,EAEtC,GAAI7E,iCAAJ,EAA+C,CAE9C,IAAMgJ,EAA2BhJ,0BAA+BA,iCAFlB,GAI9C,OAAI+I,YACH,SAIF,GAAIvO,EAAeuO,EAAkB/I,EAArC4F,WACC,OAAA5F,GA1BaiJ,CAAsB9M,EAADmC,UAApCkD,GACA,OAAAxB,EAGOwI,GAA+BhH,EAAAxB,EAAA,kBAGrC6I,GACA7I,iEAAmEuF,kBANnE/D,EA2DK,SAAAoH,GAAAM,GACN,OAAOA,UAAc,IAAAvO,OAAA,IAAAJ,OAAAD,EAAA,MAAd4O,UAAPC,OAGD,SAAAxB,GAAAJ,EAAA1I,EAAA1C,EAAAmL,GACC,OAAOzI,EAAMyI,EAAeC,EAAA1I,EAAlB1C,GAAVoL,kSC9MD,IAAM6B,IAAN,EAEqBC,cACpB,SAAAC,EAAA5I,EAAA8E,EAAArJ,GACC,+FADyDoN,CAAAvO,KAAAsO,IACzD5I,EACC,MAAM,IAAA8I,UAAN,gDAED,IAAAhE,EACC,MAAM,IAAAgE,UAAN,+BAED,IAAMC,EAAY,IAAAxN,EAPuCE,GAUrDuN,GAAJhJ,IACC1F,KAAAoC,QAAAsD,EACA+I,aACA/I,EAAqB+I,EAArB/I,sBAGA0I,IACKK,6BAAJ/I,KACC1F,KAAAoC,QAAA,OAIHpC,KAAA0F,qBACA1F,KAAAwK,iBACAxK,KAAAwG,OAAc,IAAMxG,KAAN0F,mBAAgC1F,KAA9CwK,eACAxK,KAAAmB,uEAIA,OAAOqK,EAAgBxL,MAASiC,IAAI,GAAQjC,KAA5CmB,4CAIA,OAAOgL,GAAanM,MAASiC,IAAI,GAAQjC,KAAzCmB,oDAKA,OADiB,IAAAF,EAAajB,KAA9BmB,UACOA,2BAAoCnB,KAA3C0F,oDAGOiJ,GACP,OAAO3O,KAAAwG,SAAgBmI,EAAhBnI,QAAsCxG,KAAA6D,MAAa8K,EAA1D9K,sCAUA,OAAOwG,EAAarK,MAASiC,IAAI,GAAQjC,KAAzCmB,yCAGM6D,EAAQuF,GACd,OAAOkC,GAAYzM,KAAAiF,EAGlBsF,qUAAOqE,IAAArE,GAAiBtI,IAAI,KAAWA,IAAI,GAC3CjC,KAJDmB,iDAQcoJ,GACd,OAAOvK,KAAAgF,OAAA,WAAPuF,+CAGmBA,GACnB,OAAOvK,KAAAgF,OAAA,gBAAPuF,kCAGMA,GACN,OAAOvK,KAAAgF,OAAA,UAAPuF,0CAIImE,GAAgB,SAAAltB,GAAA,MAAW,aAAAoe,KAAXpe,IC1DhBqtB,GAAN,IAGMC,GAA6B,IAAAnP,OAAW,MAAAN,EAA9C,KAGM0P,GAAiC,IAAApP,OAAW,KAAAN,EAAlD,OAEM2P,IAAN,EA4Be,SAAAC,GAAAxP,EAAA8K,EAAApJ,GAQd,GALAoJ,EAAUA,MAEVpJ,EAAW,IAAAF,EAL2CE,GAQlDoJ,mBAA2BpJ,aAAoBoJ,EAAnD2E,gBAA4E,CAC3E,GAAI3E,EAAJtI,GACC,MAAM,IAAApC,EAAN,mBAED,MAAM,IAAAO,MAAA,oBAAAb,OAA8BgL,EAApC2E,iBAZqD,IAAAC,EAwRvD,SAAA1P,EAAAwC,GAEC,GAAIxC,GAAJ,IAAYA,kBACX,OAAOoM,EAAPpM,GAED,IAAI+G,EAAS4I,GAA2B3P,EALXwC,GAO7B,IAAIuE,IAAYD,EAAhBC,GACC,SAID,IAAM6I,EX1RA,SAAA7I,GAEN,IAAM8I,EAAQ9I,SAAdH,GACA,GAAIiJ,EAAJ,EACC,SASD,IAJA,IAAMC,EAA2B/I,UAAjC8I,GAEME,EAAUhJ,QAAhBH,GACI7lB,EAAJ,EACOA,EAAIgvB,EAAX7K,QACA,CACC,GAAI6K,YAAsBA,YAA1B,EAEC,OACChJ,OADM+I,EAEN1L,IAAS2L,EAAOhvB,IAGlBA,KWoQ+BivB,CAAhCjJ,GACA,GAAI6I,EAAJxL,IACC,OAAAwL,EAED,OAAS7I,UAxRqCkJ,CAAUjQ,EAAO8K,EAhBTtI,IAgBtC0N,EAhBsCR,EAAA3I,OAgBhB3C,EAhBgBsL,EAAAtL,IAmBtD,IAAA8L,EAA2B,CAC1B,GAAIpF,EAAJtI,GACC,MAAM,IAAApC,EAAN,gBAED,SAvBqD,IAAA+P,EAiUvD,SAAAD,EAAAT,EAAAW,EAAA1O,GAKE,IAODiB,EAPC0N,EACoCC,GAAyBJ,EAAAT,EAG7D/N,EAJAA,UACKuE,EADLoK,EAAApK,mBACyBc,EADzBsJ,EAAAtJ,OASD,GAAAd,EACCvE,2CAII,KAAIqF,IAAW0I,IAAfW,EAcA,SAbJ1O,2BACA+N,EACC9M,IAGA4M,IACK7N,6BAAJ0O,KACCzN,SAIHsD,EAAqBmK,GAAsBpK,EAAqByJ,EAAiB/N,EAAjFuE,UAID,IAAAc,EACC,OAASd,sBA/BT,IAAAsK,EAmEF,SAAAxJ,EAAArF,GACC,IAD8C8O,EAC1CzF,EAAiBP,EAArBzD,GAD8C0J,EAgB1CC,GAAiC3F,EAhBSrJ,GAcrCiP,EAdqCF,EAAA1J,OAehC6J,EAfgCH,EAAAD,YAmB9C,GAAI9O,EAAJkC,kBAKC,OAAQwH,EAAwBuF,OAAA/N,EAAhClB,IACC,IADD,YAGC,qBACC,MACD,QACCqJ,IACAyF,SASEzQ,EAAegL,EAAiBrJ,EAAhC3B,2BACDA,EAAe4Q,EAA0BjP,EAD5CiC,2BAICoH,IACAyF,KAIF,OACCzF,eADMA,EAENyF,eApFuCK,CAAmB9J,EAlC1DrF,GAkCOqJ,EAlCPwF,EAAAxF,eAkCuByF,EAlCvBD,EAAAC,YA8CKM,EAAeC,GAAe9K,EAAA8E,EAApCrJ,GACAoP,IACCnO,IAEA,QAAImO,GAKHpP,cAIF,OACCiB,QADMA,EAENsD,mBAFMA,EAGN8E,eAHMA,EAINyF,eAtWGQ,CAAgBd,EAEnBpF,EAFmB2E,eAGnB3E,EAHmBsF,mBA/BkC1O,GA2BrDiB,EA3BqDwN,EAAAxN,QA4BrDoI,EA5BqDoF,EAAApF,eA6BrD9E,EA7BqDkK,EAAAlK,mBA8BrDuK,EA9BqDL,EAAAK,YAsCtD,IAAK9O,EAALuP,2BAA0C,CACzC,GAAInG,EAAJtI,GACC,MAAM,IAAApC,EAAN,mBAED,SAID,IAAI2K,GAAmBA,SAAvBtL,EAAmE,CAGlE,GAAIqL,EAAJtI,GACC,MAAM,IAAApC,EAAN,aAGD,SAYD,GAAI2K,SAAJrL,EAAgD,CAC/C,GAAIoL,EAAJtI,GACC,MAAM,IAAApC,EAAN,YAGD,SAGD,GAAI0K,EAAJtI,GAAgB,CACf,IAAM0M,EAAc,IAAAN,GAAA3I,EAAA8E,EAGnBrJ,EAHDA,UAcA,OATAiB,IACCuM,aAEDsB,IACCtB,iBAED9K,IACC8K,SAEDA,EAMD,IAAMgC,IAASpG,YAAmBpJ,EAAnBoJ,4BAADnI,IACb5C,EAAegL,EAAiBrJ,EADnBiC,yBAId,OAAKmH,EAALqG,UAKCxO,QADMA,EAENsD,mBAFMA,EAGNuK,YAHMA,EAINU,MAJMA,EAKNE,WAAUF,MACTpG,iBACApJ,EADAoJ,oBAEAkB,EAAgBjB,EAAiB9E,EAFjC6E,IAIDE,MAVMD,EAWN3G,OAdO8M,EA2MT,SAAAvO,EAAA0O,EAAAjN,GACC,IAAMwF,GACLjH,QADcA,EAEdqI,MAAQqG,GAETjN,IACCwF,SAED,OAAAA,EAnNgB0H,CAAM3O,EAAAoI,EAAT3G,MA4BP,SAAAuL,GAAA3P,EAAAwC,GACN,GAAAxC,EAGA,GAAIA,SAAJoP,IACC,GAAA5M,EACC,MAAM,IAAApC,EAAN,gBAFF,CAOA,IAAMmR,EAAWvR,SAAjBqP,IACA,KAAIkC,EAAJ,GAGA,OAAOvR,EAAAyL,MAAA8F,GAAAC,QAAAlC,GAAP,KAmBM,SAAAoB,GAAA3J,EAAArF,GACN,IAAAqF,EACC,OAASA,UAGV,IAAKrF,EAALoC,2BACC,OAASiD,UAOV,IAOA0K,EApBmEjB,EAa7DkB,EAAgB,IAAAxR,OAAW,OAASwB,EAAToC,2BAAjC,KACM6N,EAAcD,OAApB3K,GAEA,IAAA4K,EACC,OAAS5K,UASV,IAAM6K,EAAsBD,SAA5B,EACA,GAAIjQ,iCACHkQ,EADGlQ,GACwBiQ,EAD5BC,GAECH,EAA4B1K,YAE3BrF,EAH4DqC,+BAOzD6N,KAA2BD,EAA/BC,KACCpB,EAAcmB,EAAdnB,QAKG,CAGJ,IAAMzL,EAAiB4M,EAAvB,GACAF,EAA4B1K,QAAahC,EAJrCG,QAMA0M,EAAJ,IACCpB,EAAcmB,EAAdnB,IAqBA,OACCzJ,OADM0K,EAENjB,eAIG,SAAAO,GAAAjO,EAAA+O,EAAAnQ,GAEN,GAAA6N,IACK7N,6BAAJoB,GACC,YAIF,IAAMgP,EAAoBpQ,gCAA1BoB,GACA,OAAAgP,EAKA,IAAIA,SACIA,EAAP,GAMF,SAAAA,EAAAD,EAAAnQ,GACCA,EAAW,IAAAF,EAAXE,GACA,QAAAmI,EAAAiI,EAAAhI,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,EAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAAyC,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IAA9B4gB,EAA8ByH,EAGxC,GAFA1I,UADwCiB,GAGpCjB,EAAJsC,iBACC,GAAI6N,GAAJ,IACCA,SAA2BnQ,EAA3BmQ,iBACA,OAAAlP,OAKG,GAAIiI,GAAgBI,MAAF6G,EAA8BlP,gBAA/BC,EAAqDlB,EAAtEA,UACJ,OAAAiB,GAlBKoP,CAAgBD,EAAAD,EAAyCnQ,EAAhEA,eARA,EAkNM,SAAA4O,GAAAvJ,EAAApE,EAAAjB,GAGN,KAFAqF,EAASyD,EAATzD,IAGC,SAKD,SAAIA,KAAmB,CAGtB,IAAMiL,ELrfD,SAAAjL,EAAApE,EAAAjB,GAEN,GAAAiB,EAAA,CAMA,IAAM0K,EAAkB,IAAA7L,EAAxBE,GACA2L,aAEA,IAAM4E,EAAmB,IAAA/R,OAAWmN,EAApC5J,aAEA,OAAIsD,YAAJ,CASA,IAAMmL,GAJNnL,EAASA,QAAaA,cAjBvB7B,SAqBuB6B,MAAtBmF,GAEA,KAAIgG,SAAiBA,MAA4BA,YAAjD,GAEC,MAAIA,MAML,OAAAnL,IKqd0BoL,CAAcpL,EAAApE,EAHjBjB,GAQtB,IAAIsQ,GAAoBA,IAAxBjL,EAGC,OAASA,UAFTA,EAAS,IAATA,EAOF,SAAIA,KACH,SAGDrF,EAAW,IAAAF,EA7ByDE,GAyCpE,IADA,IAAI3gB,EAAJ,EACOA,KAAA4e,GAAoC5e,GAAKgmB,EAAhD7B,QAA+D,CAC9D,IAAMe,EAAqBc,UAA3BhmB,GACA,GAAI2gB,iBAAJuE,GACC,OACCA,mBADMA,EAENc,OAAQA,YAGVhmB,IAGD,kIC1jBc,SAAAqxB,GAAApS,EAAA8K,EAAApJ,GACd,OAAO8N,GAAWxP,qUAAAqS,IAAAvH,GAAqBtI,IAAI,IAA3Cd,q9BCIM,SAAA4Q,GAAAC,GACP,IAGCvS,EACA8K,EAJDpJ,EAAA8Q,EAAAC,GACsC1I,2BADtCwI,GAAA,GACQG,EADRF,EAAA,GACeG,EADfH,EAAA,GACsBI,EADtBJ,EAAA,GAC6BK,EAD7BL,EAAA,GASC,oBAAIE,EAGC,MAAM,IAAA3D,UAZZ,wCAgBC,GANC/O,IAMG2S,GAAJ,iBAAcA,EAgBT,KAAIG,GAAJH,GASA,MAAM,IAAAhS,MAAA,4BAAAb,OAAN6S,IAPJC,GACC9H,IACApJ,KAEAA,SApBDmR,GACC/H,IACApJ,MAEAoJ,SACApJ,KAGDiR,IACC7H,qUAAOiI,EAAKtD,eAAgBkD,GAA5B7H,IAgBF,OACC9K,KADMA,EAEN8K,QAFMA,EAGNpJ,YAMF,IAAMoR,GAAW,SAAAzQ,GAAC,iBAAI2Q,GAAA3Q,6HCxDP,SAAA4Q,GAAAjT,EAAA8K,EAAApJ,GAEVoJ,GAAWA,EAAXA,iBAAsC5E,EAAmB4E,EAAD2E,eAA5D/N,KACCoJ,qUAAOoI,IAAApI,GAEN2E,oBAAgB7M,KAIlB,IACC,OAAOwP,GAAgBpS,EAAA8K,EAAvBpJ,GACC,MAAAyR,GAED,KAAIA,aAAJ/S,GAGC,MAAA+S,GCSY,SAAAC,KACf,IAAAC,EACqCf,GADrCgB,WAEC,OAAO9D,GAFR6D,EAAArT,KAAAqT,EAAAvI,QAAAuI,EAAA3R,m2BC3Be,SAAA6R,KACf,IAAAF,EAcA,SAAAd,GACA,IAGC1H,EACAtF,EACAuF,EALDpJ,EAAA8Q,EAAAgB,GAC6CzJ,2BAD7CwI,GAAA,GACQG,EADRF,EAAA,GACeG,EADfH,EAAA,GACsBI,EADtBJ,EAAA,GAC6BK,EAD7BL,EAAA,GACoCiB,EADpCjB,EAAA,GAYC,oBAAIE,EAIH,oBAAIE,EAEHrN,IAEAkO,GAEC3I,IACApJ,KAIAA,IAGDmJ,EAAQ2E,GAAKkD,GAAUjD,eAAFkD,EAAyBxB,UAAU,GAAxDtG,OAKD,CACC,oBAAI8H,EAEH,MAAM,IAAAhS,MAAN,kEAGD4E,IAEAsN,GAEC/H,IACApJ,KAIAA,IAGDmJ,EAAQ2E,GAAKkD,GAAUvB,UAAU,GAAjCtG,OAKG,KAAI6I,GAAJhB,GAeA,MAAM,IAAA3D,UAzEZ,sFA4DElE,IACAtF,IAEAsN,GAEC/H,IACApJ,KAIAA,IAMF,kBAAI6D,EACHA,kBACM,aAAIA,IACVA,cAGD,OACCsF,MADMA,EAENtF,OAFMA,EAGNuF,QAHMA,EAINpJ,YA7FCiS,CARHL,WAUC,OAAOtG,GAVRqG,EAAAxI,MAAAwI,EAAA9N,OAAA8N,EAAAvI,QAAAuI,EAAA3R,UA4GA,IAAMgS,GAAY,SAAArR,GAAC,iBAAIuR,GAAAvR,61BC3GR,SAAAwR,KACf,IAAAR,EACsCS,GADtCR,WAEC,OAAO1I,EAFRyI,EAAAxI,MAAAwI,EAAAvI,QAAAuI,EAAA3R,UAMO,SAAAoS,GAAAvB,GACP,IAGC1H,EAHDnJ,EAAA8Q,EAAAuB,GACsChK,2BADtCwI,GAAA,GACQG,EADRF,EAAA,GACeG,EADfH,EAAA,GACsBI,EADtBJ,EAAA,GAC6BK,EAD7BL,EAAA,GAIK1H,KAKJ,oBAAI4H,EAKH,WAAIsB,GAAArB,IAEHE,GAEC/H,IACApJ,KAIAA,IAUAmJ,EAFG/D,EAAJ4L,GAESlD,GAAKkD,GAAUjD,eAAgBkD,GAAvC9H,QAYD+H,GAEC9H,IACApJ,KAIAA,IAUAmJ,EAFG/D,EAAJ4L,GAESlD,GAAKkD,OAAA9P,EAAbiI,WAUE,KAAIoJ,GAAJvB,GAcA,MAAM,IAAA3D,UAAN,sFAZJlE,IAEA+H,GAEC9H,IACApJ,KAIAA,IAKF,OACCmJ,MADMA,EAENC,QAFMA,EAGNpJ,YAOF,IAAMuS,GAAY,SAAA5R,GAAC,iBAAI2R,GAAA3R,IC3GR,SAAA6R,KACf,IAAAb,EACsCS,GADtCR,WAEC,OAAO5G,GAFR2G,EAAAxI,MAAAwI,EAAAvI,QAAAuI,EAAA3R,UCDe,SAAAyS,GAAApN,EAAApE,EAAAjB,GACd,oBAAIqF,EACH,MAAM,IAAAgI,UAAN,2BAED,oBAAIpM,EACH,MAAM,IAAAoM,UAAN,4BAaD,OCfc,SAAAlE,EAAAlI,EAAAmI,EAAApJ,GAId,OADAoJ,EAAUA,MACHD,eAA6B6B,GAAa7B,EAAAC,EAAjDpJ,GDWO0S,CALHtN,EAAJC,GACSyI,GAAWzI,GAAW0I,eAAgB9M,GAA9CkI,MAI6BlI,OAAAC,EAA9BlB,GErBM,SAAA2S,GAAAC,EAAAC,GAEN,GAAKD,EAAD,GAAgBC,GAAhB,GAAgCA,EAApCD,EACC,MAAM,IAANvF,UAED,UAAAjP,OAAAwU,EAAA,KAAAxU,OAAAyU,EAAA,KAOM,SAAAC,GAAAC,EAAA9K,GAEN,IAAM+K,EAAQ/K,SAAd8K,GAEA,OAAIC,GAAJ,EACQ/K,UAAP+K,GAGD/K,ECXD,IAAMgL,GAAN,WAEe,SAAAC,GAAAC,GAKd,OAAOL,GAAmBG,GAA1BE,GCfD,IAAMC,GAAN,oEAMMC,GAAN,6CACMC,GAAN,YAEe,SAAAC,GAAAJ,EAAAK,EAAAlV,GAGd,GAAI8U,QAAJD,GACC,SAID,GAAIE,QAAJF,GACA,CACC,IAAMM,EAAgBnV,QAAWkV,EAASL,EAA1C3P,QACA,GAAI8P,QAAJG,GACC,SAIF,SCLD,IAAMC,GAAN,yBACaC,GAAE,IAAAvV,OAAAsV,GAAR,KACME,GAAE,KAAAxV,OAAAsV,GAAR,KAMMG,GAAG,IAAAzV,OADhB,4GACO,KAEM0V,GAAN,g5BACDC,GAAE,IAAA3V,OAAA0V,GAAR,KACME,GAAY,IAAAxV,OAAlBuV,IAGME,GAAG,IAAA7V,OADT,2BACA,KACM8V,GAAa,IAAA1V,OAAnByV,IAGME,GAAG,IAAA/V,OADT,0YACA,KACMgW,GAAa,IAAA5V,OAAnB2V,IASME,GAAoB,IAAA7V,OAEzB,yBAeM,SAAA8V,GAAAC,GAGN,SAAKP,QAADO,KAA4BH,QAAhCG,KAIOF,QAAPE,GAGM,SAAAC,GAAAzM,GAEN,MAAOA,SAAqBmM,QAA5BnM,GCtED,IAEM0M,GAAU,KAAArW,OAFhB,UAEgBA,OADhB,SACA,KAEasW,GAAU,IAAAtW,OAJvB,UAIuBA,O9BehB,K8BfA,KAGDuW,GAAqB,IAAAnW,OAAW,IAAtCkW,IAGME,GAAqBjC,GAAK,EAAhC,GAWMkC,GAA2B,IAAArW,OAEhC,oBAAAiW,GAAA,cAAAA,GAAA,eAAAA,GAAA,aAAAG,GAAAH,GAAA,MAeKK,GAAN,mCAEe,SAAAC,GAAA5B,EAAAK,EAAAlV,EAAA0W,GAId,GAAKH,GAAAI,KAAD9B,KAA6C2B,GAAAI,KAAjD/B,GAAA,CAMA,gBAAI6B,EACJ,CAIC,GAAIxB,MAAemB,GAAAQ,KAAnBhC,GACA,CACC,IAAMiC,EAAe9W,EAAKkV,EAD3B,GAGC,GAAIgB,OAA4CF,GAAhDc,GACC,SAIF,IAAMC,EAAgB7B,EAASL,EAA/B3P,OACA,GAAI6R,EAAgB/W,EAApBkF,OACA,CACC,IAAM8R,EAAWhX,EAAjB+W,GACA,GAAIb,OAAwCF,GAA5CgB,GACC,UAKH,0SCjED,IAAMC,GACL,gBAAApX,EAAA,MAAAD,EAAA,UAAAC,EAAAD,EADD,KAWMsX,GAAsC,IAAAhX,OAAW,cACjDiX,GAAiC,IAAAjX,OAAW,IAAAL,EAAlD,OA2DA,IAAauX,GAAb,WAKC,SAAAC,EAAArX,EAAA8K,EAAApJ,gGACA4V,CAAA/W,KAAA8W,GAAAE,GAAAhX,KAAA,QAHQ,aAIPA,KAAAP,KADDA,EAICO,KAAAuK,QAAeA,MACfvK,KAAAmB,WAEAnB,KAAAkU,OAAc,IAAAvU,OAEb+W,GAAA,MAAAvQ,EAFa,KAPf,gBAND,SAAA2Q,OAAAG,IAAA,OAAAz1B,MAAA,WA0BE,IAAMguB,EAAUxP,KAAAkU,OAAAgD,KAAiBlX,KAAjCP,MAEA,GAAA+P,EAAA,CAIA,IAAIhJ,EAAWgJ,EAAf,GACIwB,EAAWxB,EAAf2E,MAEA3N,EAASA,UAAAmQ,GAATnQ,IACAwK,GAAYxB,YAAoBhJ,EAXjC7B,OAiBC6B,EAAS6N,GAFT7N,EAASA,UAAAoQ,GAATpQ,KAIA,IAAM6C,EAASrJ,KAAAmX,eAAA3Q,EAAfwK,GAEA,OAAA3H,GAMOrJ,KAAPoX,WApDFH,IAAA,iBAAAz1B,MAAA,SAAAglB,EAAAwK,GAyDE,GAAK0D,GAAmBlO,EAAAwK,EAAmBhR,KAA3CP,OAQKyW,GAAgB1P,EAAAwK,EAAmBhR,KAAnBP,KAA8BO,KAAAuK,QAAAqG,SAAA,WAAnD,UAiBA,IAAMvH,EAAS4F,GAAKzI,EAASxG,KAATuK,QAAuBvK,KAA3CmB,UAEA,GAAKkI,EAALoB,MAOA,OAHApB,aACAA,SAAkB2H,EAAWxK,EAA7B6C,OAEAA,MA3FF4N,IAAA,UAAAz1B,MAAA,WA8GE,MAdA,cAAIwe,KAAAqX,QAEHrX,KAAAsX,WAAkBtX,KAAlBoX,OAEIpX,KAAJsX,WAECtX,KAAAqX,MAAA,QAIArX,KAAAqX,MAAA,QAIF,UAAOrX,KAAAqX,SA9GTJ,IAAA,OAAAz1B,MAAA,WAoHE,IAAKwe,KAALuX,UAEC,MAAM,IAAAnX,MAAN,mBAID,IAAMiJ,EAASrJ,KAAfsX,WAGA,OAFAtX,KAAAsX,WAAA,KACAtX,KAAAqX,MAAA,YACAhO,oCA7HFyN,EAAA,GCpFe,SAAAU,KACf,IAAA1E,EACqCf,GADrCgB,WAEC,OD8Bc,SAAAtT,EAAA8K,EAAApJ,QAGdkB,IAAIkI,IACHA,MAKD,IAFA,IAAMkN,EAAS,IAAAZ,GAAApX,EAAA8K,EAAfpJ,GACMuW,KACCD,EAAPF,WACCG,OAAYD,EAAZC,QAED,OAAAA,EC1COC,CAFR7E,EAAArT,KAAAqT,EAAAvI,QAAAuI,EAAA3R,UAQO,SAAAyW,KACP,IAAAC,EACqC9F,GADrCgB,WAEC,ODuCM,SAAAtT,EAAA8K,EAAApJ,QAGNkB,IAAIkI,IACHA,MAGD,IAAMkN,EAAS,IAAAZ,GAAApX,EAAA8K,EAAfpJ,GAEA,OAAA6V,MACErN,OADFC,SAAA,WAEE,OACIE,KAAM,WACL,OAAI2N,EAAJF,WAEDxN,MADM,EAENvoB,MAAOi2B,WAIR1N,MAAM,OC3DJ+N,CAFRD,EAAApY,KAAAoY,EAAAtN,QAAAsN,EAAA1W,oRCdM4W,GACJ,SAAAA,EAAAd,EAAAz1B,GAAkD,IAA1BsoB,EAA0BiJ,UAAApO,OAAA,QAAAtC,IAAA0Q,UAAA,GAAAA,UAAA,GAAnB,KAAMiF,EAAajF,UAAApO,OAAA,QAAAtC,IAAA0Q,UAAA,GAAAA,UAAA,GAAN,KAAMkF,GAAAjY,KAAA+X,GAChD/X,KAAAiX,MACAjX,KAAAxe,QACAwe,KAAA8J,OACA9J,KAAAgY,QAIiBE,cAEnB,SAAAA,IAAwB,IAAZpE,EAAYf,UAAApO,OAAA,QAAAtC,IAAA0Q,UAAA,GAAAA,UAAA,GAAJ,GAAIkF,GAAAjY,KAAAkY,GACtBlY,KAAAmY,KAAA,EACAnY,KAAA8T,QACA9T,KAAAoY,KAAA,KACApY,KAAAqY,KAAA,KACArY,KAAAsY,4DAKErB,EAAKz1B,GAGP,GAFAwe,KAAAuY,cAEIvY,KAAJoY,KAEK,CACH,IAAMI,EAAO,IAAAT,GAAAd,EAAAz1B,EAAqBwe,KAAlCoY,MACApY,KAAAoY,KAAAJ,KAAAQ,EACAxY,KAAAoY,KAAAI,OAJAxY,KAAAoY,KAAYpY,KAAAqY,KAAY,IAAAN,GAAAd,EAAxBz1B,GAQFwe,KAAAsY,MAAArB,GAAkBjX,KAAlBoY,KACApY,KAAAmY,mCAIElB,GACF,GAAGjX,KAAAsY,MAAHrB,GAAmB,CACjB,IAAMz1B,EAAQwe,KAAAsY,MAAArB,GADGz1B,MAQjB,OAJAwe,KAAAyY,OAJiBxB,GAMjBjX,KAAA0Y,IAAAzB,EAAAz1B,GAEAA,EAGFm3B,oGAIG3Y,KAAAmY,OAAcnY,KAAjB8T,OACE9T,KAAAyY,OAAYzY,KAAAqY,KAAZpB,oCAIGA,GACL,IAAMuB,EAAOxY,KAAAsY,MAAbrB,GAEA,OAAGuB,OACDA,YAAiBA,EAAjBA,KAEAxY,KAAAoY,KAAYI,EAAZ1O,KAGF,OAAG0O,OACDA,YAAiBA,EAAjBA,KAEAxY,KAAAqY,KAAYG,EAAZR,YAGKhY,KAAAsY,MAAPrB,GACAjX,KAAAmY,uCAIAnY,KAAAoY,KAAA,KACApY,KAAAqY,KAAA,KACArY,KAAAmY,KAAA,EACAnY,KAAAsY,2NC9EiBM,cACpB,SAAAC,EAAAV,gGAAkBW,CAAA9Y,KAAA6Y,GACjB7Y,KAAAsY,MAAa,IAAAJ,GAAbC,sEAGmBvN,GACnB,IAAImO,EAAS/Y,KAAAsY,MAAAh3B,IAAbspB,GAKA,OAJAmO,IACCA,EAAS,IAAApZ,OAAW,IAApBoZ,GACA/Y,KAAAsY,MAAAI,IAAA9N,EAAAmO,IAEDA,yCCLFC,IAKCC,SAJD,SAAAzS,EAAA8N,EAAAnT,GAME,UAQD+X,MAdD,SAAA1S,EAAA8N,EAAAnT,GAgBE,SAAKgL,GAAa3F,OAAAnE,EAAdlB,KACFgY,GAAuB3S,EAAS8N,EAAT8E,WADzBjY,KAuBDkY,gBAvCD,SAAA7S,EAAA8N,EAAAnT,EAAAmY,GAyCE,IAAMC,EAAkBjF,EAAxB8E,WAEA,SAAKjN,GAAa3F,OAAAnE,EAAdlB,KACCgY,GAAuB3S,EAAA+S,EADxBpY,IAEAqY,GAAwChT,EAFxC+S,KAGCE,GAAiCjT,EAHtCrF,KAQOuY,GAA0BlT,EAAA8N,EAAAnT,EAAAwY,GAAjCL,IAqBDM,eAxED,SAAApT,EAAA8N,EAAAnT,EAAAmY,GA0EE,IAAMC,EAAkBjF,EAAxB8E,WAEA,SAAKjN,GAAa3F,OAAAnE,EAAdlB,KACCgY,GAAuB3S,EAAA+S,EADxBpY,IAEAqY,GAAwChT,EAFxC+S,KAGCE,GAAiCjT,EAHtCrF,KAQOuY,GAA0BlT,EAAA8N,EAAAnT,EAAA0Y,GAAjCP,KAWF,SAAAH,GAAA3S,EAAA8N,EAAAnT,GAOE,IAAK,IAAIgT,EAAT,EAAoBA,EAAQG,SAA5B,EAAkDH,IAClD,CACE,IAAM2F,EAAcxF,SAApBH,GAEA,GAAI2F,SAAJ,MAA2BA,EAC3B,CACE,IAAMC,EAAkBzF,SAAiBH,EAAzC,GAEA,GAAI4F,SAAJ,MAA+BA,GAK7B,GADA5F,IACI6F,qBAA2B1F,YAA3B0F,KAA0DC,UAA9DC,UAEE,cAKC,GAAI/Q,EAAYmL,YAAZnL,MAA4C3C,EAAhD3C,IAEH,UAKN,SAGF,SAAA4V,GAAAjT,EAAAiI,GAIE,2BAAIjI,yBAEF,SAGF,IAAM2T,EAAoBH,iCAAiCxT,EAA3D4T,kBAEMjZ,EAAW6Y,0BAAjBG,GACA,SAAIhZ,EAEF,SAIF,IAAMqJ,EAAiBwP,kCAAvBxT,GACM6T,EAAaL,sCAAsC7Y,EAAtC6Y,gBAlBrBxP,GAsBE,GAAI6P,GAAcA,2CAAlB,EACA,CACE,GAAIA,EAAJC,0CAIE,SAGF,GAAIC,gDACAF,EADJG,mCAIE,SAIF,IAAMC,EAAeF,oCAAoC/T,EAhB3DkU,eAoBE,OAAOV,gDAAP,MAGF,SAGK,SAAAR,GAAAhT,EAAA8N,GAEL,IAAMqG,EAAwBrG,UAA9B,KACA,GAAIqG,EAAJ,EAGE,SAIF,IAAMC,EAAyBtG,cAAuBqG,EAAtD,GACA,QAAIC,EAAJ,OAQKpU,2BAAkCqU,kBAAlCrU,4BACGA,2BAAkCqU,kBAF1CC,gCAKOP,oCAAoCjG,cAApCiG,MACKQ,OAAOvU,EAFnB4T,mBAKS9F,QAAgBsG,EAAhBtG,iBAAP,GAMJ,SAAAoF,GAAAlT,EAAA8N,EAAAnT,EAAA6Z,EAAA1B,GAOE,IAAM2B,EAAsBC,gBAAe5G,GAAY,GACnD6G,EAAwBC,GAAuBja,EAAAqF,EAAnD,MACA,GAAIwU,EAAW7Z,EAAAqF,EAAAyU,EAAfE,GACE,SAIF,IAAME,EAAmBC,8CAA8C9U,EAAvE4T,kBACMlJ,EAA4B8I,kCAAlCxT,GAEA,GAAA6U,EACE,KAAA/R,EAA8B+R,EAA9BE,gBAAAhS,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,MAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAAgE,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IAArDg6B,EAAqD3R,EAC9D,GAAI2R,iCAAJ,EAGE,IAD4BlC,sBAAgC,IAAMkC,0BAAlE,IACKC,KAALvK,GAEE,SAIJ,GAAI8J,EAAW7Z,EAAAqF,EAAAyU,EADfE,EAAwBC,GAAuBja,EAAAqF,EAA/C2U,IAEE,UAKN,SAQF,SAAAC,GAAAja,EAAAqF,EAAAkV,GAKE,GAAAA,EAAuB,CAErB,IAAMxK,EAA4B8I,kCAAlCxT,GACA,OAAOwT,kDAAP,KAKF,IAAM2B,EAAgBC,aAAYpV,EAAA,UATlCrF,GAaI0a,EAAWF,UAAf,KACIE,EAAJ,IACEA,EAAWF,EAAXE,QAIF,IAAMC,EAAaH,eAAnB,EACA,OAAOA,mBAAP,KAGF,SAAA9B,GAAA1Y,EAAAqF,EAAAyU,EAAAE,GAQE,IAAMY,EAAkBd,QAD1Be,oBAIMC,EACAzV,iBAAwBuV,SAAxBvV,EAAqDuV,SAL3D,EAUE,GAAIA,aACGA,cACC/B,kCAFRxT,IAIE,SAMF,IADA,ITtSK4C,EAAA8S,ESsSDC,EAA6BhB,SAAjC,EACOgB,KAAiCF,GAAxC,GACA,CACE,GAAIF,OAA+CZ,EAAnDgB,GAEE,SAEFA,IACAF,IAKF,OAAQA,OTnTH7S,ESoTW2S,EAADE,GTpTVC,ESoTuDf,EAD5D,GTjTM/R,YAA0BA,SAAgB8S,EAA1C9S,UAAgEA,SAAgB8S,EAAvFvX,QSsTD,SAAAgV,GAAAxY,EAAAqF,EAAAyU,EAAAE,GAQE,ITrUK/R,EAAA8S,ESqUDE,EAAJ,EACA,GAAI5V,2BAAkCqU,kBAAtCwB,qBACA,CAEE,IAAMta,EAAcgZ,OAAOvU,EAA3B4T,kBACAgC,EAAYnB,aAA2ClZ,EAAvDqa,SAKF,IAAK,IAAI57B,EAAT,EAAgBA,EAAI26B,EAApBxW,OAAkDnkB,IAClD,CAIE,IADA47B,EAAYnB,UAA4BE,EAA5BF,GAAZmB,IACA,EACE,SAIF,GADAA,GAAajB,KAAbiB,SACI57B,MAAU47B,EAAYnB,EAA1BtW,SACA,CAKE,IAAM2X,EAAStC,iCAAiCxT,EAAhD4T,kBACA,GAAIJ,wCACGuC,kBAAkBtB,SADzBmB,IACiE,CAI/D,IAAMlL,EAA4B8I,kCAAlCxT,GACA,OTtWD4C,ESwWE6R,QAA0BmB,EAAYjB,KAFtBxW,QTtWlBuX,ESsWChL,ETpWP,IAAO9H,eSgXN,OAAO6R,oBAA8CzU,EAArDgW,gTCxVF,IAAMC,IACN,+BAAAld,OAAAuV,GAAA,OAAAvV,OAAAuV,GAAA,KAAAvV,OAAAuV,GAAA,kBAAAvV,OAAAuV,GAAA,gBAAAvV,OAAAuV,GAAA,eAAAvV,OAAAuV,GAAA,MAAAvV,OAAAwV,GADA,OA0BM2H,GAAY5I,GAAK,EAAvB,GAGM6I,GAAmB7I,GAAK,EAA9B,GAKM8I,GAAkBzd,EAAxBC,EAIMyd,GAAa/I,GAAK,EAAxB8I,IAGME,GAAc,IAAAvd,OAAAD,EAAA,KAApBqd,GAGMI,GAAgB/H,GAAMlB,GAAK,EAAjC8I,IAkBMI,GAAU,MAAAnH,GAAAiH,GAAA,IAAAJ,GAAAK,GAAA,MAAAD,GAAAC,GAAA,IAAAF,GAAA,MAAAzW,EAAhB,KAYM6W,GAA4B,IAAAtd,OAAA,KAAAJ,OPlG3B,2LOkG2BA,OAAA0V,GAAlC,SAIMiI,GAAmBvc,yBAA2Bwc,eAApD,EAYqBC,cA6BnB,SAAAC,IACA,IADY5d,EACZsT,UAAApO,OAAA,QAAAtC,IAAA0Q,UAAA,GAAAA,UAAA,GADmB,GAAIxI,EACvBwI,UAAApO,OAAA,QAAAtC,IAAA0Q,UAAA,GAAAA,UAAA,MADqC5R,EACrC4R,UAAApO,OAAA,EAAAoO,UAAA,QAAA1Q,EASA,+FATAib,CAAAtd,KAAAqd,GAAAE,GAAAvd,KAAA,QA3BQ,aA2BRud,GAAAvd,KAAA,cAxBc,GAwBdud,GAAAvd,KAAA,cAlBc,IAAA4Y,GAAA,OAmBZrO,qUAAOiT,IAAAjT,GAELsF,mBAAoBtF,EAFfsF,mBAGLX,eAAgB3E,kBAA0B5E,EAAmB4E,EAAD2E,eAA5C3E,GAAiFA,EAAjFA,oBAHXlI,EAIL8T,SAAU5L,YAAoBA,EAApBA,oBAJL,QAKLkT,SAAUlT,YAAoB2S,MAGlC/G,SACC,MAAM,IAAA3H,UAAN,2BAGD,GAAIjE,WAAJ,EACC,MAAM,IAAAiE,UAAN,2BAUD,GAPAxO,KAAAP,OACAO,KAAAuK,UACEvK,KAAAmB,WAGFnB,KAAAmW,SAAgB6C,GAASzO,EAAzB4L,WAEKnW,KAALmW,SACC,MAAM,IAAA3H,UAAA,qBAAAjP,OAAmCgL,EAAnC4L,SAAN,MAIDnW,KAAAyd,SAAgBlT,EAAhBkT,SAEAzd,KAAA0d,QAAe,IAAA/d,OAAAqd,GAAf,4DAgBA,IADA,IAAAxN,EACQxP,KAAAyd,SAAD,GAAP,QAA+BjO,EAAUxP,KAAA0d,QAAAxG,KAAkBlX,KAA7BP,QAC9B,CACC,IAAI6U,EAAY9E,EAAhB,GACMmF,EAASnF,EAAf2E,MAIA,GAAIO,GAFJJ,EAAYD,GAAZC,GAEuBK,EAAoB3U,KAA3CP,MACA,CACC,IAAMke,EAEL3d,KAAA4d,eAAAtJ,EAAAK,EAAuC3U,KAAvCP,OAGGO,KAAA6d,kBAAAvJ,EAAAK,EAA0C3U,KAL9CP,MAOA,GAAAke,EAAW,CACV,GAAI3d,KAAAuK,QAAJtI,GAAqB,CACpB,IAAM0M,EAAc,IAAAN,GACZsP,WAAiBA,EADLjY,mBAEZiY,EAFYlT,MAGZzK,KAHRmB,UAQA,OAHIwc,EAAJ9Z,MACC8K,MAAkBgP,EAAlBhP,MAGAqC,SAAU2M,EADJ3M,SAEN8M,OAAQH,EAFFG,OAGNtX,OAAQmI,GAGV,OAAAgP,GAIF3d,KAAAyd,sDAQiBnJ,EAAWK,EAAQlV,GAEnC,QAAAiK,EAAA,EAAAqU,EAAAtB,GAAA/S,EAAAqU,EAAApZ,OAAA+E,IAKE,IALG,IAECsU,GAAJ,EACIxO,OAAO,EACLyO,EAAqB,IAAAte,OAJDoe,EAAvBrU,GAIH,KACO,QAAC8F,EAAUyO,OAAX3J,KAA2DtU,KAAAyd,SAAlE,GACA,CACE,GAAAO,EACA,CAEE,IAAME,EAAQjK,GAAmBgJ,GAG/B3I,UAAmB9E,EAHrB2E,QAMMwJ,EAAQ3d,KAAA4d,eAAAO,EAAAxJ,EAAdlV,GACA,GAAA2e,EACE,OAAAA,EAGFpe,KAAAyd,WACAO,KAGF,IAAME,EAAQjK,GAAmBgJ,GAGhCzN,EAtBH,IA4BQmO,EAAQ3d,KAAA4d,eAAAM,EAA2BvJ,EAASnF,EAApC2E,MAAd1U,GACA,GAAAke,EACE,OAAAA,EAGF3d,KAAAyd,mDAcSnJ,EAAWK,EAAQlV,GAEhC,GAAKyW,GAAgB5B,EAAAK,EAAAlV,EAA0BO,KAAAuK,QAA/C4L,UAAA,CAIA,IAAM3P,EAASyI,GAAWqF,GAEtB1D,UADS,EAET1B,eAAgBlP,KAAAuK,QAFP2E,eAGTW,mBAAoB7P,KAAAuK,QAAasF,oBAEnC7P,KANFmB,UASA,GAAKqF,EAALqK,UAII7Q,KAAAmW,SAAA3P,EAAA8N,EAAiCtU,KAAjCmB,SAAgDnB,KAApDsZ,aACA,CASE,IAAMjQ,GACJ2H,SADa2D,EAEbmJ,OAAQnJ,EAASL,EAFJ3P,OAGb8F,MAAOjE,EAAOiE,OAahB,OAVIjE,WAAJ,QAAsBA,UACpB6C,UAAiB7C,EAAjB6C,QAEAA,qBAA4B7C,EAA5B6C,mBAGE7C,EAAJ3C,MACEwF,MAAa7C,EAAb6C,KAGFA,sCAqBF,MAfA,cAAIrJ,KAAAqX,QAEFrX,KAAAqe,UAAiBre,KADnBoX,OAGMpX,KAAJqe,UAGEre,KAAAqX,MAAA,QAIArX,KAAAqX,MAAA,QAIJ,UAAOrX,KAAAqX,qCAMP,IAAKrX,KAALuX,UAEE,MAAM,IAAAnX,MAAN,mBAIF,IAAMiJ,EAASrJ,KAAfqe,UAGA,OAFAre,KAAAqe,UAAA,KACAre,KAAAqX,MAAA,YACAhO,yCC1YW,SAAAiV,KAAuB,IAAAxL,EACDf,GADCgB,WAErC,OCHc,SAAAtT,EAAA8K,EAAApJ,GAGd,IAFA,IAAMod,EAAU,IAAAnB,GAAA3d,EAAA8K,EAAhBpJ,GACMqd,KACCD,EAAPhH,WACCiH,OAAaD,EAAbC,QAED,OAAAA,EDHOC,CAF8B3L,EAAArT,KAAAqT,EAAAvI,QAAAuI,EAAA3R,UEGvB,SAAAud,KACf,UAAA5L,EACqCf,GADrCgB,WACStT,EADTqT,EAAArT,KACe8K,EADfuI,EAAAvI,QACwBpJ,EADxB2R,EAAA3R,SAGOod,EAAU,IAAAnB,GAAA3d,EAAA8K,EAAhBpJ,GAEA,cACEwI,OADFC,WAAA,WAEE,OACIE,KAAM,WACL,OAAIyU,EAAJhH,WAEDxN,MADM,EAENvoB,MAAO+8B,WAIRxU,MAAM,0+BChBL,SAAA4U,GAAAzP,EAAA3E,EAAApJ,GAyBN,OAxBAA,EACC+N,IACC3E,EAAOqU,MAAArU,GAEN2E,oBAIF3E,GACCpJ,IAGEoJ,EAFF2E,EACK2P,GAAJ3P,GACC3E,GAEY2E,uBAGb3E,IAGDpJ,IACAoJ,WAIDA,QAAOqU,MAAArU,GAENtI,IAAI,IAELd,YAOF,IAAM0d,GAAY,SAAA/c,GAAC,iBAAIgd,GAAAhd,inBCHvB,IAKMid,GAA6BC,GALnC,IAEA,IAQMC,GAA4B,IAAAtf,OAD3B,KAKDuf,GAAN,OAYMC,GAAwE,oCAOxEC,GAAyE,sCAQzEC,GAA0B,IAAA1f,OAC/B,KAAAL,EAAA,aAAAA,EAAA,SAkBKggB,GAA4C,IAAA3f,OAAW,KAN5D,aAAAL,EAAAD,EADD,MAOkD,IAAlD,KAEMkgB,IAAN,EAEqBC,cAUpB,SAAAC,EAAAC,EAAAve,aAGC+N,EAH8CW,+FAAA8P,CAAA3f,KAAAyf,WAAA,eAAAzf,4FAC9CA,KAAAmB,SAAgB,IAAAF,EAD8BE,GAM9Cue,IACC,WAAIE,GAAAF,IACHxQ,EAAiBwQ,EAAjBxQ,eACAW,EAAqB6P,EAArB7P,oBAEAX,KAGEA,GAAkBlP,KAAAmB,SAAAyB,WAAtBsM,KACClP,KAAAkP,kBAEDW,IAEC0P,IACKvf,KAAAmB,SAAA0e,2BAAJhQ,KACC7P,KAAAkP,eAAA,OAGFlP,KAAA6P,sBAGD7P,KAAA8f,+DAaA,OATA9f,KAAA+f,gBAAA,GACA/f,KAAAggB,mBAAA3d,EACArC,KAAA0F,wBAAArD,EACArC,KAAAigB,OAAA,GACAjgB,KAAAkgB,qBAAA,GACAlgB,KAAAwE,eAAA,GACAxE,KAAAiQ,YAAA,GACAjQ,KAAAmgB,WAAgBngB,KAAhBkP,eAAqClP,KAArC6P,oBACA7P,KAAAogB,cACApgB,wCAGUoC,EAASG,GACnBvC,KAAAoC,UACApC,KAAAmB,SAAAwB,oBAAAP,EAAAG,GACIvC,KAAAmB,SAAJuP,2BACC1Q,KAAAqgB,yCAEArgB,KAAAsgB,yDAKDtgB,KAAAugB,kBAAAle,EACArC,KAAAwgB,cAAAne,EACArC,KAAAygB,qCAAApe,EACArC,KAAA0gB,yCAAA,gCAQKjhB,GACL,IAAMkhB,EAAkB3gB,KAAA4gB,uBADbnhB,GAWX,OANI6f,GAAAuB,KAAJF,KACC3gB,KAAA+f,gBAAuB/f,KAAA8gB,cACtB9gB,KAAA+gB,YAAiB5X,EAAjBwX,KACA3gB,KAFDghB,kCAKMhhB,KAAP+f,+DAQsBtgB,GAEtB,IAAIwhB,EAAkB7R,GAAA8R,IAFM,GAqB5B,OAhBAD,GACKxhB,GAAQA,gBAAZ,IACCwhB,OAIF,MAAIA,OAEHA,EAAkBA,QAAsB,IAAxCA,QACIjhB,KAAJigB,QAICjgB,KAAAmhB,4BAGFF,qDAKAjhB,KAAAggB,eAF0B,EAM1BhgB,KAAAmgB,iDAQWiB,GAIX,GAFAphB,KAAAigB,QAFuBmB,EAInBphB,KAAJ0L,kBACC,GAAI1L,KAAJ0F,mBACC1F,KAAAkgB,sBAD4BkB,EASvBphB,KAADoC,UAAiBpC,KAArBqhB,iCACCrhB,KAAAshB,0BAEK,CAGN,IAAKthB,KAALigB,OAEC,OAWD,IAAKjgB,KAALuhB,4BAEC,OA0BDvhB,KAAAkgB,qBAA4BlgB,KAAAigB,OAAA/U,MAAkBlL,KAAA0F,mBA5CxCf,QAgDN3E,KAAAshB,0BAEK,CACNthB,KAAAkgB,sBADMkB,EAIDphB,KAALoC,SACCpC,KAAAshB,sBAKD,IAAME,EAAyBxhB,KAA/BwE,eACAxE,KAAAkgB,qBAA4BlgB,KAAAwE,eAAsBxE,KAX5CkgB,qBAaNlgB,KAbMyhB,wBAeFzhB,KAAAwE,iBAAJgd,IAMCxhB,KAAAqgB,yCACArgB,KAAAogB,eAUF,OANIpgB,KAAJkgB,sBAEClgB,KAAA0hB,aAAkB1hB,KAAlBkgB,sBAIMlgB,KAAA2hB,mCAAPP,8DAGkCA,GAMlC,IAAM7U,EAAkBvM,KANsB4hB,qCAa9C,GAAArV,EACC,OAAAA,EAUD,IAAMsV,EAAyB7hB,KAxBeugB,aA0BxCuB,EAAoB9hB,KAA1B+hB,eACA,OAAAD,EACKA,IAAJD,EAUQ7hB,KAAAgiB,+BAAPZ,GAWOphB,KAAPiiB,8BAtBF,yCA8BA,IAAA3Y,EAAqBtJ,KAArBsgB,gBAAA/W,EAAAC,MAAAC,QAAAH,GAAAI,EAAA,MAAAJ,EAAAC,EAAAD,IAAAK,OAAAC,cAA2C,KAAAC,EAAA,GAAAN,EAAA,IAAAG,GAAAJ,EAAA3E,OAAA,MAAAkF,EAAAP,EAAAI,SAAA,KAAAA,EAAAJ,EAAAQ,QAAAC,KAAA,MAAAF,EAAAH,EAAAloB,MAAA,IAAhCwjB,EAAgC6E,EAG1C,GAAI7J,KAAAugB,eAAJvb,EACC,MAED,GAAKhF,KAAAkiB,yBAALld,GAAA,CAGAhF,KAAAugB,aAT0Cvb,EAY1ChF,KAAA0gB,yCAAA,EACA,OAMD,OAJK1gB,KAALugB,cAECvgB,KAAAogB,cAEMpgB,KAAPugB,8DAMA,OAAOvgB,KAAAgiB,+BACNhiB,KAAAwE,eAAsBxE,KADvBkgB,uFAOAlgB,KAAAsgB,gBAAuBtgB,KAAAmB,SAAAmC,UAAAzB,OAA+B,SAAAmD,GAMrD,OAAOqa,GAAA8C,KAA6Bnd,EAApC2I,8DAIWlK,GAAe,IAAAQ,EAAAjE,KAavBoiB,EAA4B3e,SAvWlC,EAwWM2e,EAAJ,IACCA,KAGDpiB,KAAAsgB,gBAAuBtgB,KAAAsgB,gBAAAze,OAA4B,SAAAmD,GAIlD,IAAKf,EAADyH,oBAA4BzH,EAA5BO,gBAAmDQ,EAAvDqd,0DACC,SAED,IAAMC,EAA6Btd,0BAP2BL,OAU9D,OAAI2d,EACH,SASD,GAAI7e,SAhYP,EAiYI,SAKD2e,EAA4BjF,WAAoCmF,EAAhEF,GACA,IAAMG,EAAuBvd,0BA3BiCod,GA8B9D,OAAO,IAAAziB,OAAA,KAAAJ,OAAAgjB,EAAA,MAAA3iB,KAAP6D,KAUGzD,KAAAugB,eAAJ,IAAyBvgB,KAAAsgB,gBAAAkC,QAA6BxiB,KAA7BugB,eACxBvgB,KAAAogB,sEAI8Bpb,GAC/B,YAAIhF,KAAAmB,SAAAuE,qBACH,IAEGV,GACHA,EADGA,gCAEHka,GAAAuD,KAAwCzd,EAFzCE,gCAGC,IAED,gEAQA,IAAAwd,EAAqB1iB,KAArBsgB,gBAAAqC,EAAAnZ,MAAAC,QAAAiZ,GAAAE,EAAA,MAAAF,EAAAC,EAAAD,IAAA/Y,OAAAC,cAA2C,KAAAsC,EAAA,GAAAyW,EAAA,IAAAC,GAAAF,EAAA/d,OAAA,MAAAuH,EAAAwW,EAAAE,SAAA,KAAAA,EAAAF,EAAA5Y,QAAAC,KAAA,MAAAmC,EAAA0W,EAAAphC,MAAA,IAAhCwjB,EAAgCkH,EAE1C,GADgB,IAAAvM,OAAA,OAAAJ,OAAkByF,EAAlB4F,UAAhB,OACK2T,KAAave,KAAlBkgB,sBAAA,CAOA,IAAI2C,EAA0BrV,GAC7BxN,KAD4DkgB,qBAAAlb,EAG5DhF,KAH4D0L,mBAAA,EAK5D1L,KAdyCmB,UAiC1C,GAAIgI,OAAyCnJ,KAA7CkgB,qBAAA,CAIA,GAAIlgB,KAAJwE,eAAyB,CAOxB,IAAMse,EAA4CtV,GACjDxN,KADgFkgB,qBAAAlb,EAGhFhF,KAHgF0L,mBAAA,EAKhF1L,KALDmB,UAQC0hB,EADG1Z,OAA2DnJ,KAAAwE,eAAsBxE,KAArFkgB,qBACC2C,EAE0B7iB,KAAAwE,eACzBxE,KAAA+iB,gCADyB/d,GAA1B6d,EA4BF,OAfA7iB,KAAAogB,cACApgB,KAAAugB,aApE0Cvb,EAuEtChF,KAAAkiB,yBAAJld,GAEChF,KAAAiiB,0BAKAjiB,KAAAwgB,SAAgBxgB,KAAA8gB,cAAA+B,GAAA5R,QAAA,UAliBb,KAmiBHjR,KAAAygB,gCAAAoC,EACA7iB,KAAA0gB,wCAA+C1gB,KAAAygB,gCAAA9b,OAA/C,GAEDke,2CAKYA,GACb,OAAI7iB,KAAJ0L,kBACM1L,KAAL0F,mBAGAmd,EAGA,IAAAtjB,OAAWS,KAAX0F,mBAAA,KAAAnG,OAAAsjB,GAFC,IAAAtjB,OAAWS,KAAX0F,oBAHA,IAAAnG,OAAWS,KAAXigB,QAOF4C,0DAIA,OAAO7iB,KAAAwE,gBACLxE,KAAAwE,gBAAuBxE,KAAvBkgB,sBAAoDlgB,KAD/C+iB,mCAEN/iB,KAFDkgB,yEAQ2B,IAAApQ,EAIvBC,GACH,IAAM/P,KADsBigB,OAE5BjgB,KAF4BkP,eAG5BlP,KAAAmB,SAP0BA,UAE1BuE,EAF0BoK,EAAApK,mBAG1Bc,EAH0BsJ,EAAAtJ,OAS3B,GAAAd,EAQA,OALA1F,KAAAkgB,qBAAA1Z,EACAxG,KAAA0F,qBACA1F,KAAAmB,SAAA6hB,kCAAAtd,GACA1F,KAAAqgB,yCACArgB,KAAAogB,cACOpgB,KAAAmB,SAAPuP,2EAKA,GADA1Q,KAAAwE,eAAA,GACKxE,KAAAmB,SAALuP,2BAAA,CAFuB,IAAAR,EAWnBC,GACHnQ,KADoCkgB,qBAEpClgB,KAbsBmB,UASdiP,EATcF,EAAA1J,OAUtByJ,EAVsBC,EAAAD,YAqBvB,GAAAG,EAA6B,CAC5B,IAAM+D,EAAQnU,KAAAkgB,qBAAAsC,QAAdpS,GACA,GAAI+D,KAAaA,IAAUnU,KAAAkgB,qBAAAvb,OAAmCyL,EAA9DzL,OACC,OAUF,GAPAsL,IACCjQ,KAAAiQ,eAMIjQ,KAAAmB,SAADkC,qBACHrD,KAAAijB,iBAAsBjjB,KAAtBkgB,uBACClgB,KAAAijB,iBAFF7S,MAWK5Q,EAAgBQ,KAADkgB,qBAA4BlgB,KAAAmB,SAA3C3B,0BACFA,EAAe4Q,EAA0BpQ,KAAAmB,SAD3CiC,yBAOD,OAFApD,KAAAwE,eAAsBxE,KAAAkgB,qBAAAhV,MAAA,EAAmClL,KAAAkgB,qBAAAvb,OAAmCyL,EAA5FzL,QACA3E,KAAAkgB,qBAAA9P,EACOpQ,KAAPwE,yDAGgBgC,GAEhB,OAD0BqE,EAAwBrE,OAAAnE,EAAoBrC,KAAtEmB,WAEC,kBACC,SAGD,QACC,kEAKF,IAAMsB,EAAezC,KAAAmB,SAAAqB,8BAA4CxC,KAAjE0F,oBACA,OAAOjD,GAAgBA,SAAvB,mDAGwBuC,GAKxB,KAA0CA,0BAA1C,IAIA,IAAIwb,EAAWxgB,KAAAkjB,kCAAAle,EAA+ChF,KAT9BwE,gBAYhC,GAAAgc,EAgBA,OAbAxgB,KAAAwgB,WACAxgB,KAAAygB,gCAhBgCD,EAsB5BxgB,KAAJ0L,oBACC1L,KAAAwgB,SAprBI,IAqrBHxB,GArrBG,IAqrBuBhf,KAAA0F,mBADXyd,YAAhB3C,GAKMxgB,KAAPwgB,oEAUiCxb,EAAQR,GACzC,IAAIoG,EAAU5F,EAAd4F,UAICA,EAAUA,EAAAqG,QAEAkO,KAFA,OAAAlO,QAIAmO,KAJVxU,OAeD,IAAIqV,EAASlB,GAAAqE,SApB4C,GAwBzD,KAAIpjB,KAAAkgB,qBAAAvb,OAAmCsb,EAAvCtb,QAAA,CAmCA,IAAM0e,EAAgB,IAAA1jB,OAAW,IAAAiL,EAAjC,KACM0Y,EAA4BtjB,KAAAkgB,qBAAAjP,QAAA,MAxwBpC,KA6wBMoS,OAAJC,KACCrD,KAGD,IACAsD,EADIC,EAAexjB,KAAAyjB,gBAAnBze,GAGA,GAAAR,GACKQ,EAAJE,+BAA2C,CAC1C,IAAMwe,EAAiCF,UAAAjW,GAEtCvI,EAFDE,gCAIA,GAAIiE,OAAgD3E,EAAiB2E,EAArEqa,GAAgG,CAC/FA,IACAD,KAEA,IADA,IAAI/iC,EAAIgkB,EAARG,OACOnkB,EAAP,GACCgjC,EAAeA,eAtxBd,KAuxBDhjC,KAOJ,IAAIggC,EAAWP,EAAAhP,QAEL,IAAAtR,OAFKiL,GAAA4Y,GAAAvS,QAIL,IAAAtR,OA3yBZ,IAuyBiB,KA9xBV,KA6yBL,OATA6E,IACC+e,IAEC/C,EAAWxB,GAvyBR,IAuyBkCxa,EAA1Bmf,QACV3jB,KAAA+iB,gCADUY,GAAXnD,IAMFA,0DAG8BP,GAM9B,IAAA2D,EAAoB3D,QAApB,IAAA4D,EAAAra,MAAAC,QAAAma,GAAAE,EAAA,MAAAF,EAAAC,EAAAD,IAAAja,OAAAC,cAAsC,KAAAma,EAAA,GAAAF,EAAA,IAAAC,GAAAF,EAAAjf,OAAA,MAAAof,EAAAH,EAAAE,SAAA,KAAAA,EAAAF,EAAA9Z,QAAAC,KAAA,MAAAga,EAAAD,EAAAtiC,MAAA,IAA3BwoB,EAA2B+Z,EAKrC,GAAI/jB,KAAAygB,gCAAAvV,MAA2ClL,KAAA0gB,wCAA3C,GAAAjJ,OAAAwH,IAAJ,EAGC,YADAjf,KAAAogB,cAIDpgB,KAAA0gB,wCAA+C1gB,KAAAygB,gCAAAhJ,OAA/CwH,IACAjf,KAAAygB,gCAAuCzgB,KAAAygB,gCAAAxP,QAAAgO,GAAvCjV,GAID,OAAOga,GAA2BhkB,KAADygB,gCAAuCzgB,KAAA0gB,wCAtBlC,6CA+BtC,OAAO1gB,KAAPggB,sDAGehb,GACf,OAAIhF,KAAJ0L,kBACQkC,GAAiC5I,EAAxC2I,uBAEM3I,EAAPA,uDAOAhF,KAAAoC,QAAeoO,GACdxQ,KAAA0L,kBAAyB1L,KAAzB0F,mBAAmD1F,KADtB6P,mBAE7B7P,KAF6BkgB,qBAG7BlgB,KAHDmB,8CAcA,GAAInB,KAAJ0L,mBACC,IAAK1L,KAAL0F,mBACC,YAGD,IAAK1F,KAADoC,UAAkBpC,KAAtB6P,mBACC,OAGF,GAAK7P,KAALkgB,qBAAA,CAGA,IAAIne,EAAc/B,KAAlBoC,QAEAmd,IACC,QAAIvf,KAAAoC,UACHL,UAGF,IAAMQ,EAAcvC,KAAA0F,oBAA2B1F,KAA/C6P,mBACMlB,EAAc,IAAAN,GACnBtM,GADmBQ,EAEnBvC,KAFmBkgB,qBAGnBlgB,KAAAmB,SAHDA,UASA,OAJInB,KAAJiQ,cACCtB,cAA0B3O,KAA1B2O,aAGDA,+CASA,OAAO3O,KAAPkgB,uEAIA,OAAOlgB,KAAA8gB,cAAmB9gB,KAAnBghB,iCAAA/P,QAAA,UAr5BF,2CA85BL,IAAKjR,KAALwgB,SACC,OAAOxgB,KAAPikB,0BAID,IAFA,IAAI9P,GAAJ,EACI3zB,EAAJ,EACOA,GAAKwf,KAAAggB,cAAA,EAAD,GAA+BhgB,KAAAigB,OAA1Ctb,QACCwP,EAAQnU,KAAAwgB,SAAAgC,QAp6BJ,IAo6B6CrO,EAAjDA,GACA3zB,IAED,OAAOwjC,GAA2BhkB,KAADwgB,SAAgBrM,EAAjD,0CA0BK,SAAA6P,GAAA5a,EAAA8a,GAIN,MAHA,MAAI9a,MACH8a,IAxBK,SAAA9a,GAGN,IAFA,IAAM+a,KACF3jC,EAAJ,EACOA,EAAI4oB,EAAXzE,QACC,MAAIyE,KACH+a,UAEI,MAAI/a,MACR+a,QAED3jC,IAED,IAAI8uB,EAAJ,EACI8U,EAAJ,GACAD,OAAqB/a,EAArB+a,QACA,QAAAE,EAAA,EAAAC,EAAAH,EAAAE,EAAAC,EAAA3f,OAAA0f,IAAqC,CAAhC,IAAMlQ,EAAKmQ,EAAXD,GACJD,GAAkBhb,UAAlBgb,GACA9U,EAAQ6E,EAAR7E,EAED,OAAA8U,EAOOG,CAAqBnb,UAA5B8a,IAoCM,SAAAlF,GAAA5V,EAAAob,GACN,GAAIA,EAAJ,EACC,SAGD,IADA,IAAInb,EAAJ,GACOmb,EAAP,GACC,EAAIA,IACHnb,MAEDmb,MACApb,KAED,OAAOC,EAAPD,EC5/BM,SAASqb,KAEf,IAAIC,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GxB5CF,WAA4B,IAAA6wB,EACNf,GADMgB,WAE1C,OAAOlB,GAFmCiB,EAAArT,KAAAqT,EAAAvI,QAAAuI,EAAA3R,WwB6CZyjB,MAAM5kB,KAAM0kB,GAGpC,SAASG,KAEf,IAAIH,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GClDF,WAAsC,IAAA6wB,EAChBf,GADgBgB,WAEpD,OAAOL,GAF6CI,EAAArT,KAAAqT,EAAAvI,QAAAuI,EAAA3R,WDmDZyjB,MAAM5kB,KAAM0kB,GAG9C,SAASI,KAEf,IAAIJ,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT4wB,GAAkB+R,MAAM5kB,KAAM0kB,GAK/B,SAASK,KAEf,IAAIL,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT4wB,GAAkB+R,MAAM5kB,KAAM0kB,GAG/B,SAASM,KAEf,IAAIN,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT+wB,GAAmB4R,MAAM5kB,KAAM0kB,GAKhC,SAASO,KAEf,IAAIP,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT+wB,GAAmB4R,MAAM5kB,KAAM0kB,GAGhC,SAASQ,KAEf,IAAIR,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACTqxB,GAAoBsR,MAAM5kB,KAAM0kB,GAGjC,SAASS,KAEf,IAAIT,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GEjGF,SAAAmgB,EAAAgjB,EAAAjkB,GACd,GAAIikB,EAAJhjB,GACC,OAAO,IAAAiM,GAAAjM,EAAyBgjB,EAAzBhjB,GAAPjB,IFgG6ByjB,MAAM5kB,KAAM0kB,GAGpC,SAASW,KAEf,IAAIX,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GGzFF,WACf,IAAA6wB,EACsCS,GADtCR,WAEC,OAAOvH,EAFRsH,EAAAxI,MAAAwI,EAAAvI,QAAAuI,EAAA3R,WHyF+ByjB,MAAM5kB,KAAM0kB,GAGpC,SAASY,KAEf,IAAIZ,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT0xB,GAAoBiR,MAAM5kB,KAAM0kB,GAGjC,SAASa,KAEf,IAAIb,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT2xB,GAA6BgR,MAAM5kB,KAAM0kB,GAI1C,SAASc,KAEf,IAAId,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACTu1B,GAAuBoN,MAAM5kB,KAAM0kB,GAIpC,SAASe,KAEf,IAAIf,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT21B,GAAyBgN,MAAM5kB,KAAM0kB,GAItC,SAASgB,GAAkBjmB,EAAM8K,GAEvCsM,GAAwBl2B,KAAKqf,KAAMP,EAAM8K,EAAStoB,GAO5C,SAAS0jC,KAEf,IAAIjB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACTq8B,GAAkBsG,MAAM5kB,KAAM0kB,GAG/B,SAASkB,KAEf,IAAIlB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACTy8B,GAAoBkG,MAAM5kB,KAAM0kB,GAGjC,SAASmB,KAEf,IAAInB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GFrKF,SAAAwd,EAAAyP,EAAA3E,EAAApJ,GACd,IAAM6Q,EAAO2M,GAAYzP,EAAA3E,EAAzBpJ,GACA,OAAOmd,GAAW7e,EAAOuS,EAAPzH,QAAqByH,EAAvC7Q,WEoKoCyjB,MAAM5kB,KAAM0kB,GAG1C,SAASoB,KAEf,IAAIpB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GI3KF,SAAAwd,EAAAyP,EAAA3E,EAAApJ,GACd,IAAM6Q,EAAO2M,GAAYzP,EAAA3E,EAAzBpJ,GACA,OAAOud,GAAajf,EAAOuS,EAAPzH,QAAqByH,EAAzC7Q,WJ0KsCyjB,MAAM5kB,KAAM0kB,GAG5C,SAASqB,GAAmBtmB,EAAM8K,GAExC6S,GAAyBz8B,KAAKqf,KAAMP,EAAM8K,EAAStoB,GAM7C,SAAS+jC,GAAU5jB,GAEzBod,GAAgB7+B,KAAKqf,KAAMoC,EAASngB,GAM9B,SAASgkC,KAEf,IAAIvB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT0jB,EAAyBif,MAAM5kB,KAAM0kB,GAGtC,SAASwB,KAEf,IAAIxB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GtC0QV,SAAAmgB,EAAAjB,GAEN,OADAA,EAAW,IAAAF,EAAXE,IACIA,WAAJiB,GACQjB,aAAP0C,MAED7C,GsC9Q0B4jB,MAAM5kB,KAAM0kB,GAGhC,SAASyB,KAEf,IAAIzB,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACT4pB,EAAmB+Y,MAAM5kB,KAAM0kB,GAGhC,SAAS0B,KAEf,IAAI1B,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GACTgqB,GAAoB2Y,MAAM5kB,KAAM0kB,GAGjC,SAAS2B,KAEf,IAAI3B,EAAalb,MAAM3nB,UAAUqpB,MAAMvqB,KAAKoyB,WAE5C,OADA2R,EAAWC,KAAK1iC,GKvNF,SAAAT,EAAA4gB,EAAAjB,GAKd,OAJAA,IACCA,IACAiB,UAEM,IAAAod,GAAApd,EAAAjB,GAAAmJ,MAAP9oB,ILmNyCojC,MAAM5kB,KAAM0kB,GAuB/C,SAAS4B,KAEf,OMxPO,IAAArlB,ENwPmBhf,GMxP1BskC,eN2PM,SAASC,GAAsBpkB,GAErC,OAAOqD,EAA4BrD,EAASngB,GAItC,SAASwkC,GAAarkB,GAE5B,OAAOokB,GAAsBpkB,GAIvB,SAASskB,GAAmBtkB,EAASjB,GAE3C,OAAOsE,EAA4BrD,EAASjB,+jEA5Q7C7gB,EAAAQ,EAAA6lC,EAAA,qCDkDO,MCiGPjB,GAAkB7jC,UAAYX,OAAO0lC,OAAO/P,GAAwBh1B,cACpE6jC,GAAkB7jC,UAAUoe,YAAcylB,GAmC1CK,GAAmBlkC,UAAYX,OAAO0lC,OAAOxJ,GAAyBv7B,cACtEkkC,GAAmBlkC,UAAUoe,YAAc8lB,GAO3CC,GAAUnkC,UAAYX,OAAO0lC,OAAOpH,GAAgB39B,cACpDmkC,GAAUnkC,UAAUoe,YAAc+lB","file":"libphonenumber-js.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"libphonenumber\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"libphonenumber\"] = factory();\n\telse\n\t\troot[\"libphonenumber\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","// 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\":\"1.7.38\",\"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}|[136-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[136-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,\"1|([457]\\\\d{6})$\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2457]\\\\d{6})$\",\"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\\\\d{8}|(?:[2368]|9\\\\d)\\\\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)(\\\\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,\"1|([267]\\\\d{6})$\",\"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,8}|8[0-24-9]\\\\d{7})|(?:[2-478]\\\\d\\\\d|550)\\\\d{6}|1\\\\d{4,7}\",[5,6,7,8,9,10],[[\"(\\\\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|[45]\"],\"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,\"0|(183[12])\",0,0,0,[[\"(?:[237]\\\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\\\d|4[0-4]))|(?:[6-8]\\\\d{3}|9(?:[02-9]\\\\d\\\\d|1(?:[0-57-9]\\\\d|6[0135-9])))\\\\d))\\\\d{3}\",[9]],[\"483[0-3]\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[0-27-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"16\\\\d{3,7}\",[5,6,7,8,9]],[\"(?:14(?:5(?:1[0458]|[23][458])|71\\\\d)|550\\\\d\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",[6,8,10]]],\"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\",[\"[12]|365\",\"[12]|365\",\"[12]|365(?:[0-46-9]|5[0-35-9])\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[3-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,\"1|([2-9]\\\\d{6})$\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[13469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-7]\\\\d{8}|[2-9]\\\\d{7}|[3-689]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-7]|[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(?:28|4[14]|5)|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]\"],\"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\",\"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9],[[\"(\\\\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[047]\"]]]],\"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\",\"[2689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"]]]],\"BL\":[\"590\",\"00\",\"(?:590|69\\\\d|976)\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\"],0,0,0,0,0,0,[\"976[01]\\\\d{5}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-8]\\\\d{6})$\",\"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-24679]))\\\\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(?:(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,\"1|([3-8]\\\\d{6})$\",\"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\",\"90\\\\d{5}|(?:[2-6]|7\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-6]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]]]],\"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}\",[10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\\\d{6}\"],0,0,0,[\"600[2-9]\\\\d{6}\"]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d|8[0-24-9])\\\\d{7}|(?:[148]\\\\d\\\\d|550)\\\\d{6}|1\\\\d{5,7}\",[6,7,8,9,10],0,\"0\",0,\"0|([59]\\\\d{7})$\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60)|118)|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]],[\"483[0-3]\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[0-27-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)|550\\\\d\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",[6,8,10]]],\"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{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"801\"]],[\"(\\\\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-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[02-9]\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[0-57]|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\",[\"21\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[23]\"],\"($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\\\\d|88)\\\\d{6}\",[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]\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79|9[0235-7])\\\\d\\\\d00\",\"1[1279]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-68]\\\\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|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,\"0|(1(?:[12]\\\\d|79|9[0235-7])\\\\d\\\\d)\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:1\\\\d|3)\\\\d{9}|[124-8]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[14][2-9]|[25-8]\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"]],[\"(\\\\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{7}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[24-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\",\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\",[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\",[\"5\"],\"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[0-24-9])\\\\d{7}|(?:[148]\\\\d\\\\d|550)\\\\d{6}|1\\\\d{5,7}\",[6,7,8,9,10],0,\"0\",0,\"0|([59]\\\\d{7})$\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59)|117)|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]],[\"483[0-3]\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[0-27-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)|550\\\\d\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",[6,8,10]]],\"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{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(?:[05]\\\\d{10}|[46][1-8]\\\\d{4,9})|49(?:[0-25]\\\\d|3[1-689]|7[1-7])\\\\d{4,8}|49(?:[0-2579]\\\\d|[34][1-9]|6[0-8])\\\\d{3}|49\\\\d{3,4}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}\",[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{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"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,\"1|([2-7]\\\\d{6})$\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"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\",\"1800\\\\d{6,7}|(?:[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\\\\d|900)\\\\d{4}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-4])\",\"[45]|8(?:00[1-9]|[1-4])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"80\"]]]],\"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\",[\"[189]\"],\"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\",\"(?:51|[6-9]\\\\d)\\\\d{7}\",[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-59]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-59]\"],\"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)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[12]00|[368]|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[1245]|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"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{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[39]\"]]]],\"FO\":[\"298\",\"00\",\"(?:[2-8]\\\\d|90)\\\\d{4}\",[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\",[\"11|[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]]],0,0,\"0(11\\\\d{6}|6[256]\\\\d{6}|7[47]\\\\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]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|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[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d\\\\d|1(?:[0-7]\\\\d\\\\d|80[04589])))|2(?:0[01378]|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(?:0[0-2]|2[356]|34|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"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|976)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"0|([25-9]\\\\d{5})$\",\"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(?:0[0-2]|2[356]|34|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\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\",\"[256]\\\\d{7}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-689]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"(?:30|6\\\\d\\\\d|722)\\\\d{6}\",[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|69\\\\d|976)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\"],0,0,0,0,0,0,[\"976[01]\\\\d{5}\"]]],\"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}|(?:[2689]\\\\d|70)\\\\d{8}\",[10],[[\"(\\\\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]\"]]]],\"GT\":[\"502\",\"00\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([3-9]\\\\d{6})$\",\"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\",\"(?:862\\\\d|9008)\\\\d{3}|(?:[2-46]\\\\d|77)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4}(?:\\\\d(?:\\\\d(?:\\\\d{4})?)?)?|(?:[235-79]\\\\d|46)\\\\d{6}\",[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\",[\"[67]\"],\"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-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"[2-489]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-489]\"]]]],\"HU\":[\"36\",\"00\",\"[2357]\\\\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-57-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[189]\",\"(?:(?:007803|8\\\\d{4})\\\\d|[1-36])\\\\d{6}|[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,\"0|([5-8]\\\\d{5})$\",\"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}|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],[[\"(\\\\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[245])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[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[4679]|[38]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]\"]],[\"(\\\\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[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d\\\\d|89(?:2|4[5-9]\\\\d))\\\\d{3}|89[45][0-4]\\\\d\\\\d|(?:1(?:44|6[346])|89(?: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|([0-24-8]\\\\d{5})$\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\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(?:0[0-2]|2[356]|34|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\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\",\"900\\\\d{5}|(?:(?:[268]|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|63)|9(?:49|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[78]|96)|477|51[24]|636)|9(?:496|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[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|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[045]|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[279]|49|6[0-24-689]|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(?:[0468][01]|[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]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|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])|49|6(?:[0-24]|5[0-3589]|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]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?: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(?:[0468][01]|[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]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|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]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])\",\"[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[2579]|80\"],\"0$1\"]],\"0\"],\"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-8]\\\\d|99)\\\\d{7}\",[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,\"1|([2-7]\\\\d{6})$\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|2)\\\\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\"],\"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|[2569]\\\\d\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[25]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"33622\\\\d{5}|(?:7\\\\d|80)\\\\d{8}\",[10],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"(?:2\\\\d|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\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[7-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\",[\"[7-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"90\\\\d{5}|(?:[2378]|6\\\\d\\\\d)\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[237-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"0|(1001)\"],\"LK\":[\"94\",\"00\",\"(?:[1-7]\\\\d|[89]1)\\\\d{7}\",[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\",\"(?:2|33|5\\\\d|77|88)\\\\d{7}|[45]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3578]\"],\"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-79]\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",1]],\"8\",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{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29|38)[89]\"],\"0$1\"],[\"(\\\\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-489]|3[5-9]|9)|892\",\"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"],\"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(?:29(?:[189]0|29)|38[89]0)\\\\d{4}|5(?:2(?:[015-7]\\\\d|2[02-9]|3[0-578]|4[2-46-8]|8[0235-7]|90)|3(?:[0-47]\\\\d|5[2-9]|6[02-8]|80|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:0[016-8]|6[1267]|7[0-27]))\\\\d{6}\"],[\"80\\\\d{7}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"592(?:4[0-2]|93)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"870\\\\d{5}|(?:[349]|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\",[\"[39]\"]],[\"(\\\\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|69\\\\d|976)\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\"],0,0,0,0,0,0,[\"976[01]\\\\d{5}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"0|([24-9]\\\\d{6})$\",\"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\"],\"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}|[57-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\",[\"[57-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\",\"(?:28|[68]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"69\\\\d{7}|(?:59|97)6\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"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\",\"66449\\\\d{5}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|(4\\\\d{6})$\",\"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])\",\"(?:[2-468]|5\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"5\"]]],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\",[\"[3467]|9[13-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"1\\\\d{6}(?:\\\\d{2})?|(?:[23]1|77|88|99)\\\\d{7}\",[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{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[17-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"(?:1(?:[01467]\\\\d|[2359][1-9]|8[1-79])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",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]|[37][2-9]|8[1-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[36-8]\"]],[\"(\\\\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-7]\"]],[\"(\\\\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\",\"[2-57-9]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[2-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[0289]\\\\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[01]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"3\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[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-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"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}|[89]\\\\d{6,9}|1\\\\d{4,5}\",[5,6,7,8,9,10],[[\"(\\\\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-57-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\",[\"[489]|5[89]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-7]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"9\\\\d{9}|[1-9]\\\\d{7}\",[8,10],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"[1-8]|9(?:[1-579]|6[2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|55\\\\d|888)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[458]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"2\\\\d{7,9}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|(?:508|[79]\\\\d)\\\\d{6,7}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"83\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"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)|[59]|80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7|86\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:[279]\\\\d{3}|500)\\\\d{4}|8007\\\\d{4,5}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[79]\"]]]],\"PA\":[\"507\",\"00\",\"(?:[1-57-9]|6\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"6\"]]]],\"PE\":[\"51\",\"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,0,\" Anexo \"],\"PF\":[\"689\",\"00\",\"[48]\\\\d{7}|4\\\\d{5}\",[6,8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[48]\"]]]],\"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\",\"1800\\\\d{7,9}|(?:2|[89]\\\\d{4})\\\\d{5}|[2-8]\\\\d{8}|[28]\\\\d{7}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"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(?:[025-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})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"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{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{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\",\"[1-57-9]\\\\d{6}(?:\\\\d{2})?|6\\\\d{5,8}\",[6,7,8,9],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|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\",[\"39|45|5[0137]|6[0469]|7[02389]|8[08]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-8]|9[145]\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"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\",\"(?:[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\",[\"[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[25-8]\\\\d\\\\d|345|488|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|(?:[2-46-9]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9],[[\"(\\\\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[347]|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"]],\"0\"],\"QA\":[\"974\",\"00\",\"[2-7]\\\\d{7}|(?:2\\\\d\\\\d|800)\\\\d{4}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[126]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]]]],\"RE\":[\"262\",\"00\",\"9769\\\\d{5}|(?:26|[68]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,\"26[23]|69|[89]\"],\"RO\":[\"40\",\"00\",\"(?:[237]\\\\d|[89]0)\\\\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\",[\"[237-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\",\"[347-9]\\\\d{9}\",[10],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-6]2|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\",[\"[3489]\"],\"8 ($1)\",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]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"8000\\\\d{3}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]\"]]],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)\"],\"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[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}|(?:[4589]\\\\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\",\"(?:[2378]\\\\d|99)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[237-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{4}|93330)\\\\d{4}\",[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-4]\\\\d|59)\\\\d{5}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"1|2[0-79]|3[0-46-8]|4[0-7]|59\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"24|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79[0-8]|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[1-35-9]|799|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}|[89]00\\\\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,\"1|(5\\\\d{6})$\",\"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,\"1|([2-479]\\\\d{6})$\",\"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]\",\"1\\\\d{8,9}|(?:[2-57]|[689]\\\\d)\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"14|[3-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"(?:00|11|[3-579]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"],0,1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[34]7|91[78]\"],0,1],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0457-9]|11\"],0,1]],\"8\",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{7}\",[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\",[\"6\"],\"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{3})\\\\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-8]\"]]]],\"TR\":[\"90\",\"00\",\"(?:4|8\\\\d{5})\\\\d{6}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[0589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|616)\",\"5(?:[0-59]|6161)\"],\"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})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-46-8]\\\\d{6})$\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,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]\",\"(?:[26-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{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{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\",\"4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"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}\",[10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[0179]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|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}\"],[\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,[\"710[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"(?:[249]\\\\d\\\\d|80)\\\\d{5}|9\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[24]\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"[679]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[679]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"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,\"1|([2-7]\\\\d{6})$\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[89]00\\\\d{7}|(?:[24]\\\\d|50)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24589]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-578]\\\\d{6})$\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"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\",[\"[69]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"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\",\"(?:[23]\\\\d|[48]8)\\\\d{3}|(?:[57]\\\\d|90)\\\\d{5}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[579]\"]]]],\"WF\":[\"681\",\"00\",\"(?:[45]0|68|72|8\\\\d)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[4-8]\"]]]],\"WS\":[\"685\",\"0\",\"[2-6]\\\\d{4}|8\\\\d{5}(?:\\\\d{4})?|[78]\\\\d{6}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-6]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"8\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\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\",[\"[23]\"],\"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-68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"80\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,\"269|63\"],\"ZA\":[\"27\",\"00\",\"[1-9]\\\\d{8}|8\\\\d{4,7}\",[5,6,7,8,9],[[\"(\\\\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\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"(?:63|80)0\\\\d{6}|(?:21|[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,\"\\\\d{8}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\"]],0,0,0,0,0,0,[0,0,[\"\\\\d{8}\"]]],\"808\":[\"808\",0,\"\\\\d{8}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\"]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"\\\\d{8}\"]]],\"870\":[\"870\",0,\"[35-7]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]\\\\d|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,\"[67]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[67]\"]]],0,0,0,0,0,0,[0,[\"[67]\\\\d{8}\"]]],\"882\":[\"882\",0,\"1\\\\d{6,11}|3\\\\d{6}(?:\\\\d{2,5})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34[57]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[13]\"]]],0,0,0,0,0,0,[0,[\"3(?:37\\\\d\\\\d|42)\\\\d{4}|3(?:2|47|7\\\\d{3})\\\\d{7}\",[7,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})|3(?:45|9\\\\d{3})\\\\d{7}\"]]],\"883\":[\"883\",0,\"51\\\\d{7}(?:\\\\d{3})?\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"510\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"51[013]0\\\\d{8}|5100\\\\d{5}\"]]],\"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,\"\\\\d{9}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,[\"\\\\d{9}\"]]]}}","// The minimum length of the national significant number.\r\nexport const MIN_LENGTH_FOR_NSN = 2\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nexport const MAX_LENGTH_FOR_NSN = 17\r\n\r\n// The maximum length of the country calling code.\r\nexport const MAX_LENGTH_COUNTRY_CODE = 3\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport const VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9'\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nconst DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D'\r\nconst SLASHES = '\\uFF0F/'\r\nconst DOTS = '\\uFF0E.'\r\nexport const WHITESPACE = ' \\u00A0\\u00AD\\u200B\\u2060\\u3000'\r\nconst BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]'\r\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\r\nconst TILDES = '~\\u2053\\u223C\\uFF5E'\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport const VALID_PUNCTUATION = `${DASHES}${SLASHES}${DOTS}${WHITESPACE}${BRACKETS}${TILDES}`\r\n\r\nexport const PLUS_CHARS = '+\\uFF0B'\r\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\r\nexport function matchesEntirely(text, regular_expression) {\r\n\t// If assigning the `''` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\ttext = text || ''\r\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text)\r\n}\r\n\r\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\r\nexport function mergeArrays(a, b) {\r\n\tconst merged = a.slice()\r\n\r\n\tfor (const element of b) {\r\n\t\tif (a.indexOf(element) < 0) {\r\n\t\t\tmerged.push(element)\r\n\t\t}\r\n\t}\r\n\r\n\treturn merged.sort((a, b) => a - b)\r\n\r\n\t// ES6 version, requires Set polyfill.\r\n\t// let merged = new Set(a)\r\n\t// for (const element of b)\r\n\t// {\r\n\t// \tmerged.add(i)\r\n\t// }\r\n\t// return Array.from(merged).sort((a, b) => a - b)\r\n}","// https://stackoverflow.com/a/46971044/970769\r\nexport default class ParseError {\r\n constructor(code) {\r\n this.name = this.constructor.name\r\n this.message = code\r\n this.stack = (new Error(code)).stack\r\n }\r\n}\r\n\r\nParseError.prototype = Object.create(Error.prototype)\r\nParseError.prototype.constructor = ParseError","// Copy-pasted from:\r\n// https://github.com/substack/semver-compare/blob/master/index.js\r\n//\r\n// Inlining this function because some users reported issues with\r\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\r\nexport default function cmp (a, b) {\r\n var pa = a.split('.');\r\n var pb = b.split('.');\r\n for (var i = 0; i < 3; i++) {\r\n var na = Number(pa[i]);\r\n var nb = Number(pb[i]);\r\n if (na > nb) return 1;\r\n if (nb > na) return -1;\r\n if (!isNaN(na) && isNaN(nb)) return 1;\r\n if (isNaN(na) && !isNaN(nb)) return -1;\r\n }\r\n return 0;\r\n};","import compare from './tools/semver-compare'\r\n\r\n// Added \"possibleLengths\" and renamed\r\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\r\nconst V2 = '1.0.18'\r\n\r\n// Added \"idd_prefix\" and \"default_idd_prefix\".\r\nconst V3 = '1.2.0'\r\n\r\n// Moved `001` country code to \"nonGeographic\" section of metadata.\r\nconst V4 = '1.7.35'\r\n\r\nconst DEFAULT_EXT_PREFIX = ' ext. '\r\n\r\n/**\r\n * See: https://github.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\r\nexport default class Metadata {\r\n\tconstructor(metadata) {\r\n\t\tvalidateMetadata(metadata)\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, metadata)\r\n\t}\r\n\r\n\tgetCountries() {\r\n\t\treturn Object.keys(this.metadata.countries).filter(_ => _ !== '001')\r\n\t}\r\n\r\n\tgetCountryMetadata(countryCode) {\r\n\t\treturn this.metadata.countries[countryCode]\r\n\t}\r\n\r\n\tnonGeographic() {\r\n\t\tif (this.v1 || this.v2 || this.v3) return\r\n\t\t// `nonGeographical` was a typo.\r\n\t\t// It's present in metadata generated from `1.7.35` to `1.7.37`.\r\n\t\treturn this.metadata.nonGeographic || this.metadata.nonGeographical\r\n\t}\r\n\r\n\thasCountry(country) {\r\n\t\treturn this.getCountryMetadata(country) !== undefined\r\n\t}\r\n\r\n\thasCallingCode(callingCode) {\r\n\t\tif (this.getCountryCodesForCallingCode(callingCode)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tif (this.nonGeographic()[callingCode]) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNonGeographicCallingCode(callingCode) {\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\treturn this.nonGeographic()[callingCode] ? true : false\r\n\t\t} else {\r\n\t\t\treturn this.getCountryCodesForCallingCode(callingCode) ? false : true\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountry(countryCode) {\r\n\t\treturn this.selectNumberingPlan(countryCode)\r\n\t}\r\n\r\n\tselectNumberingPlan(countryCode, callingCode) {\r\n\t\tif (countryCode && countryCode !== '001') {\r\n\t\t\tif (!this.hasCountry(countryCode)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${countryCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this)\r\n\t\t} else if (callingCode) {\r\n\t\t\tif (!this.hasCallingCode(callingCode)) {\r\n\t\t\t\tthrow new Error(`Unknown calling code: ${callingCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this)\r\n\t\t} else {\r\n\t\t\tthis.numberingPlan = undefined\r\n\t\t}\r\n\t\treturn this\r\n\t}\r\n\r\n\tgetCountryCodesForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\tif (countryCodes) {\r\n\t\t\t// Metadata before V4 included \"non-geographic entity\" calling codes\r\n\t\t\t// inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\r\n\t\t\t// Now the semantics of `country_calling_codes` has changed:\r\n\t\t\t// it's specifically for \"countries\" now.\r\n\t\t\t// Older versions of custom metadata will simply skip parsing\r\n\t\t\t// \"non-geographic entity\" phone numbers with new versions\r\n\t\t\t// of this library: it's not considered a bug,\r\n\t\t\t// because such numbers are extremely rare,\r\n\t\t\t// and developers extremely rarely use custom metadata.\r\n\t\t\tif (countryCodes.length === 1 && countryCodes[0].length === 3) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\treturn countryCodes\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountryCodeForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.getCountryCodesForCallingCode(callingCode)\r\n\t\tif (countryCodes) {\r\n\t\t\treturn countryCodes[0]\r\n\t\t}\r\n\t}\r\n\r\n\tgetNumberingPlanMetadata(callingCode) {\r\n\t\tconst countryCode = this.getCountryCodeForCallingCode(callingCode)\r\n\t\tif (countryCode) {\r\n\t\t\treturn this.getCountryMetadata(countryCode)\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tconst metadata = this.nonGeographic()[callingCode]\r\n\t\t\tif (metadata) {\r\n\t\t\t\treturn metadata\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn this.metadata.countries['001']\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountryCallingCode() {\r\n\t\treturn this.numberingPlan.callingCode()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tIDDPrefix() {\r\n\t\treturn this.numberingPlan.IDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tdefaultIDDPrefix() {\r\n\t\treturn this.numberingPlan.defaultIDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalNumberPattern() {\r\n\t\treturn this.numberingPlan.nationalNumberPattern()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tpossibleLengths() {\r\n\t\treturn this.numberingPlan.possibleLengths()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tformats() {\r\n\t\treturn this.numberingPlan.formats()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixForParsing() {\r\n\t\treturn this.numberingPlan.nationalPrefixForParsing()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.numberingPlan.nationalPrefixTransformRule()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tleadingDigits() {\r\n\t\treturn this.numberingPlan.leadingDigits()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\thasTypes() {\r\n\t\treturn this.numberingPlan.hasTypes()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\ttype(type) {\r\n\t\treturn this.numberingPlan.type(type)\r\n\t}\r\n\r\n\t// Deprecated.\r\n\text() {\r\n\t\treturn this.numberingPlan.ext()\r\n\t}\r\n\r\n\tcountryCallingCodes() {\r\n\t\tif (this.v1) return this.metadata.country_phone_code_to_countries\r\n\t\treturn this.metadata.country_calling_codes\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tchooseCountryByCountryCallingCode(callingCode) {\r\n\t\tthis.selectNumberingPlan(null, callingCode)\r\n\t}\r\n\r\n\thasSelectedNumberingPlan() {\r\n\t\treturn this.numberingPlan !== undefined\r\n\t}\r\n}\r\n\r\nclass NumberingPlan {\r\n\tconstructor(metadata, globalMetadataObject) {\r\n\t\tthis.globalMetadataObject = globalMetadataObject\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, globalMetadataObject.metadata)\r\n\t}\r\n\r\n\tcallingCode() {\r\n\t\treturn this.metadata[0]\r\n\t}\r\n\r\n\t// Formatting information for regions which share\r\n\t// a country calling code is contained by only one region\r\n\t// for performance reasons. For example, for NANPA region\r\n\t// (\"North American Numbering Plan Administration\",\r\n\t// which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t// it will be contained in the metadata for `US`.\r\n\tgetDefaultCountryMetadataForRegion() {\r\n\t\treturn this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())\r\n\t}\r\n\r\n\tIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[1]\r\n\t}\r\n\r\n\tdefaultIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[12]\r\n\t}\r\n\r\n\tnationalNumberPattern() {\r\n\t\tif (this.v1 || this.v2) return this.metadata[1]\r\n\t\treturn this.metadata[2]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.v1) return\r\n\t\treturn this.metadata[this.v2 ? 2 : 3]\r\n\t}\r\n\r\n\t_getFormats(metadata) {\r\n\t\treturn metadata[this.v1 ? 2 : this.v2 ? 3 : 4]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// formats are all stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tformats() {\r\n\t\tconst formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []\r\n\t\treturn formats.map(_ => new Format(_, this))\r\n\t}\r\n\r\n\tnationalPrefix() {\r\n\t\treturn this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]\r\n\t}\r\n\r\n\t_getNationalPrefixFormattingRule(metadata) {\r\n\t\treturn metadata[this.v1 ? 4 : this.v2 ? 5 : 6]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// national prefix formatting rule is stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\t_nationalPrefixForParsing() {\r\n\t\treturn this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]\r\n\t}\r\n\r\n\tnationalPrefixForParsing() {\r\n\t\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t\t// then infer it from `national_prefix` (if any)\r\n\t\treturn this._nationalPrefixForParsing() || this.nationalPrefix()\r\n\t}\r\n\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]\r\n\t}\r\n\r\n\t_getNationalPrefixIsOptionalWhenFormatting() {\r\n\t\treturn !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// \"national prefix is optional when formatting\" flag is\r\n\t// stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) ||\r\n\t\t\tthis._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\tleadingDigits() {\r\n\t\treturn this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]\r\n\t}\r\n\r\n\ttypes() {\r\n\t\treturn this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]\r\n\t}\r\n\r\n\thasTypes() {\r\n\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (this.types() && this.types().length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// Versions <= 1.2.4: can be `undefined`.\r\n\t\t// Version >= 1.2.5: can be `0`.\r\n\t\treturn !!this.types()\r\n\t}\r\n\r\n\ttype(type) {\r\n\t\tif (this.hasTypes() && getType(this.types(), type)) {\r\n\t\t\treturn new Type(getType(this.types(), type), this)\r\n\t\t}\r\n\t}\r\n\r\n\text() {\r\n\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX\r\n\t\treturn this.metadata[13] || DEFAULT_EXT_PREFIX\r\n\t}\r\n}\r\n\r\nclass Format {\r\n\tconstructor(format, metadata) {\r\n\t\tthis._format = format\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\treturn this._format[0]\r\n\t}\r\n\r\n\tformat() {\r\n\t\treturn this._format[1]\r\n\t}\r\n\r\n\tleadingDigitsPatterns() {\r\n\t\treturn this._format[2] || []\r\n\t}\r\n\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule()\r\n\t}\r\n\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\tnationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\r\n\t\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t\t// set for this country, or when the national prefix formatting rule\r\n\t\t// contains no national prefix itself, or when this rule is set but\r\n\t\t// national prefix is optional for this phone number format\r\n\t\t// (and it is not enforced explicitly)\r\n\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\t// Checks whether national prefix formatting rule contains national prefix.\r\n\tusesNationalPrefix() {\r\n\t\treturn this.nationalPrefixFormattingRule() &&\r\n\t\t\t// Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t!FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\r\n\t\t\t// Previously, `FIRST_GROUP_ONLY_PREFIX_PATTERN` check was instead done via:\r\n\t\t\t// // Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t// this.nationalPrefixFormattingRule() !== '$1' &&\r\n\t\t\t// // Check that national prefix formatting rule actually has national prefix digit(s).\r\n\t\t\t// // Filters out cases like \"($1)\".\r\n\t\t\t// // Is used in place of `libphonenumber`'s `FIRST_GROUP_ONLY_PREFIX_PATTERN_` regexp.\r\n\t\t\t// /\\d/.test(this.nationalPrefixFormattingRule().replace('$1', ''))\r\n\t}\r\n\r\n\tinternationalFormat() {\r\n\t\treturn this._format[5] || this.format()\r\n\t}\r\n}\r\n\r\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 */\r\nconst FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/\r\n\r\nclass Type {\r\n\tconstructor(type, metadata) {\r\n\t\tthis.type = type\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\tif (this.metadata.v1) return this.type\r\n\t\treturn this.type[0]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.metadata.v1) return\r\n\t\treturn this.type[1] || this.metadata.possibleLengths()\r\n\t}\r\n}\r\n\r\nfunction getType(types, type) {\r\n\tswitch (type) {\r\n\t\tcase 'FIXED_LINE':\r\n\t\t\treturn types[0]\r\n\t\tcase 'MOBILE':\r\n\t\t\treturn types[1]\r\n\t\tcase 'TOLL_FREE':\r\n\t\t\treturn types[2]\r\n\t\tcase 'PREMIUM_RATE':\r\n\t\t\treturn types[3]\r\n\t\tcase 'PERSONAL_NUMBER':\r\n\t\t\treturn types[4]\r\n\t\tcase 'VOICEMAIL':\r\n\t\t\treturn types[5]\r\n\t\tcase 'UAN':\r\n\t\t\treturn types[6]\r\n\t\tcase 'PAGER':\r\n\t\t\treturn types[7]\r\n\t\tcase 'VOIP':\r\n\t\t\treturn types[8]\r\n\t\tcase 'SHARED_COST':\r\n\t\t\treturn types[9]\r\n\t}\r\n}\r\n\r\nexport function validateMetadata(metadata) {\r\n\tif (!metadata) {\r\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.')\r\n\t}\r\n\r\n\t// `country_phone_code_to_countries` was renamed to\r\n\t// `country_calling_codes` in `1.0.18`.\r\n\tif (!is_object(metadata) || !is_object(metadata.countries)) {\r\n\t\tthrow 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 ${is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata}.`)\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst is_object = _ => typeof _ === 'object'\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst type_of = _ => typeof _\r\n\r\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 */\r\nexport function getExtPrefix(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).ext()\r\n\t}\r\n\treturn DEFAULT_EXT_PREFIX\r\n}\r\n\r\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 */\r\nexport function getCountryCallingCode(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).countryCallingCode()\r\n\t}\r\n\tthrow new Error(`Unknown country: ${country}`)\r\n}\r\n\r\nexport function isSupportedCountry(country, metadata) {\r\n\t// metadata = new Metadata(metadata)\r\n\t// return metadata.hasCountry(country)\r\n\treturn metadata.countries[country] !== undefined\r\n}\r\n\r\nfunction setVersion(metadata) {\r\n\tthis.v1 = !metadata.version\r\n\tthis.v2 = metadata.version !== undefined && compare(metadata.version, V3) === -1\r\n\tthis.v3 = metadata.version !== undefined && compare(metadata.version, V4) === -1\r\n\tthis.v4 = metadata.version !== undefined // && compare(metadata.version, V5) === -1\r\n}\r\n\r\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\r\n// function isCountryCode(countryCode) {\r\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\r\n// }","import { VALID_DIGITS } from './constants'\r\n\r\n// The RFC 3966 format for extensions.\r\nconst RFC3966_EXTN_PREFIX = ';ext='\r\n\r\n// Pattern to capture digits used in an extension.\r\n// Places a maximum length of '7' for an extension.\r\nconst CAPTURING_EXTN_DIGITS = '([' + VALID_DIGITS + ']{1,7})'\r\n\r\n/**\r\n * Regexp of all possible ways to write extensions, for use when parsing. This\r\n * will be run as a case-insensitive regexp match. Wide character versions are\r\n * also provided after each ASCII version. There are three regular expressions\r\n * here. The first covers RFC 3966 format, where the extension is added using\r\n * ';ext='. The second more generic one starts with optional white space and\r\n * ends with an optional full stop (.), followed by zero or more spaces/tabs\r\n * /commas and then the numbers themselves. The other one covers the special\r\n * case of American numbers where the extension is written with a hash at the\r\n * end, such as '- 503#'. Note that the only capturing groups should be around\r\n * the digits that you want to capture as part of the extension, or else parsing\r\n * will fail! We allow two options for representing the accented o - the\r\n * character itself, and one in the unicode decomposed form with the combining\r\n * acute accent.\r\n */\r\nfunction create_extension_pattern(purpose)\r\n{\r\n\t// One-character symbols that can be used to indicate an extension.\r\n\tlet single_extension_characters = 'x\\uFF58#\\uFF03~\\uFF5E'\r\n\r\n\tswitch (purpose)\r\n\t{\r\n\t\t// For parsing, we are slightly more lenient in our interpretation than for matching. Here we\r\n\t\t// allow \"comma\" and \"semicolon\" as possible extension indicators. When matching, these are\r\n\t\tcase 'parsing':\r\n\t\t\tsingle_extension_characters = ',;' + single_extension_characters\r\n\t}\r\n\r\n\treturn RFC3966_EXTN_PREFIX +\r\n\t\tCAPTURING_EXTN_DIGITS + '|' +\r\n\t\t'[ \\u00A0\\\\t,]*' +\r\n\t\t'(?:e?xt(?:ensi(?:o\\u0301?|\\u00F3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|' +\r\n\t\t// \"доб.\"\r\n\t\t'\\u0434\\u043E\\u0431|' +\r\n\t\t'[' + single_extension_characters + ']|int|anexo|\\uFF49\\uFF4E\\uFF54)' +\r\n\t\t'[:\\\\.\\uFF0E]?[ \\u00A0\\\\t,-]*' +\r\n\t\tCAPTURING_EXTN_DIGITS + '#?|' +\r\n\t\t'[- ]+([' + VALID_DIGITS + ']{1,5})#'\r\n}\r\n\r\n/**\r\n * Regexp of all possible ways to write extensions, for use when parsing. This\r\n * will be run as a case-insensitive regexp match. Wide character versions are\r\n * also provided after each ASCII version. There are three regular expressions\r\n * here. The first covers RFC 3966 format, where the extension is added using\r\n * ';ext='. The second more generic one starts with optional white space and\r\n * ends with an optional full stop (.), followed by zero or more spaces/tabs\r\n * /commas and then the numbers themselves. The other one covers the special\r\n * case of American numbers where the extension is written with a hash at the\r\n * end, such as '- 503#'. Note that the only capturing groups should be around\r\n * the digits that you want to capture as part of the extension, or else parsing\r\n * will fail! We allow two options for representing the accented o - the\r\n * character itself, and one in the unicode decomposed form with the combining\r\n * acute accent.\r\n */\r\nexport const EXTN_PATTERNS_FOR_PARSING = create_extension_pattern('parsing')\r\n\r\nexport const EXTN_PATTERNS_FOR_MATCHING = create_extension_pattern('matching')\r\n\r\n// Regexp of all known extension prefixes used by different regions followed by\r\n// 1 or more valid digits, for use when parsing.\r\nconst EXTN_PATTERN = new RegExp('(?:' + EXTN_PATTERNS_FOR_PARSING + ')$', 'i')\r\n\r\n// Strips any extension (as in, the part of the number dialled after the call is\r\n// connected, usually indicated with extn, ext, x or similar) from the end of\r\n// the number, and returns it.\r\nexport function extractExtension(number)\r\n{\r\n\tconst start = number.search(EXTN_PATTERN)\r\n\tif (start < 0) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// If we find a potential extension, and the number preceding this is a viable\r\n\t// number, we assume it is an extension.\r\n\tconst number_without_extension = number.slice(0, start)\r\n\r\n\tconst matches = number.match(EXTN_PATTERN)\r\n\tlet i = 1\r\n\twhile (i < matches.length)\r\n\t{\r\n\t\tif (matches[i] != null && matches[i].length > 0)\r\n\t\t{\r\n\t\t\treturn {\r\n\t\t\t\tnumber : number_without_extension,\r\n\t\t\t\text : matches[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}","import {\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from './constants'\r\n\r\nimport { EXTN_PATTERNS_FOR_PARSING } from './extension'\r\n\r\n// Regular expression of viable phone numbers. This is location independent.\r\n// Checks we have at least three leading digits, and only valid punctuation,\r\n// alpha characters and digits in the phone number. Does not include extension\r\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n// used as a placeholder for carrier codes, for example in Brazilian phone\r\n// numbers. We also allow multiple '+' characters at the start.\r\n//\r\n// Corresponds to the following:\r\n// [digits]{minLengthNsn}|\r\n// plus_sign*\r\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n// The second expression restricts the number of digits to three or more, but\r\n// then allows them to be in international form, and to have alpha-characters\r\n// and punctuation. We split up the two reg-exes here and combine them when\r\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n// with ^ and append $ to each branch.\r\n//\r\n// \"Note VALID_PUNCTUATION starts with a -,\r\n// so must be the first in the range\" (c) Google devs.\r\n// (wtf did they mean by saying that; probably nothing)\r\n//\r\nconst MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nconst VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nconst VALID_PHONE_NUMBER_PATTERN = new RegExp\r\n(\r\n\t// Either a short two-digit-only phone number\r\n\t'^' +\r\n\t\tMIN_LENGTH_PHONE_NUMBER_PATTERN +\r\n\t'$' +\r\n\t'|' +\r\n\t// Or a longer fully parsed phone number (min 3 characters)\r\n\t'^' +\r\n\t\tVALID_PHONE_NUMBER +\r\n\t\t// Phone number extensions\r\n\t\t'(?:' + EXTN_PATTERNS_FOR_PARSING + ')?' +\r\n\t'$'\r\n,\r\n'i')\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport default function isViablePhoneNumber(number)\r\n{\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN &&\r\n\t\tVALID_PHONE_NUMBER_PATTERN.test(number)\r\n}","// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\n//\r\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n//\r\nexport const DIGITS =\r\n{\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\r\n}\r\n\r\nexport function parseDigit(character)\r\n{\r\n\treturn DIGITS[character]\r\n}\r\n\r\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 */\r\nexport default function parseDigits(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tconst digit = parseDigit(character)\r\n\t\tif (digit) {\r\n\t\t\tresult += digit\r\n\t\t}\r\n\t}\r\n\treturn result\r\n}","import { parseDigit } from './parseDigits'\r\n\r\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 * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * // Outputs '+7800555'.\r\n * ```\r\n */\r\nexport default function parseIncompletePhoneNumber(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tresult += parsePhoneNumberCharacter(character, result) || ''\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * `input-format` `parse()` function.\r\n * https://github.com/catamphetamine/input-format\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string} value - The value parsed so far.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\r\nexport function parsePhoneNumberCharacter(character, value) {\r\n\t// Only allow a leading `+`.\r\n\tif (character === '+') {\r\n\t\t// If this `+` is not the first parsed character\r\n\t\t// then discard it.\r\n\t\tif (value) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\t// Allow digits.\r\n\treturn parseDigit(character)\r\n}","import Metadata from './metadata'\r\nimport { matchesEntirely, mergeArrays } from './util'\r\n\r\nconst NON_FIXED_LINE_PHONE_TYPES =\r\n[\r\n\t'MOBILE',\r\n\t'PREMIUM_RATE',\r\n\t'TOLL_FREE',\r\n\t'SHARED_COST',\r\n\t'VOIP',\r\n\t'PERSONAL_NUMBER',\r\n\t'PAGER',\r\n\t'UAN',\r\n\t'VOICEMAIL'\r\n]\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function getNumberType(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\t// When `parse()` returned `{}`\r\n\t// meaning that the phone number is not a valid one.\r\n\tif (!input.country) {\r\n\t\treturn\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()))\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (is_of_type(nationalNumber, 'FIXED_LINE', metadata))\r\n\t{\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\r\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\r\n\t\t//\r\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '')\r\n\t\t{\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// v1 metadata.\r\n\t\t// Legacy.\r\n\t\t// Deprecated.\r\n\t\tif (!metadata.type('MOBILE'))\r\n\t\t{\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (is_of_type(nationalNumber, 'MOBILE', metadata))\r\n\t\t{\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE'\r\n\t}\r\n\r\n\tfor (const _type of NON_FIXED_LINE_PHONE_TYPES)\r\n\t{\r\n\t\tif (is_of_type(nationalNumber, _type, metadata))\r\n\t\t{\r\n\t\t\treturn _type\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function is_of_type(nationalNumber, type, metadata)\r\n{\r\n\ttype = metadata.type(type)\r\n\r\n\tif (!type || !type.pattern())\r\n\t{\r\n\t\treturn false\r\n\t}\r\n\r\n\t// Check if any possible number lengths are present;\r\n\t// if so, we use them to avoid checking\r\n\t// the validation pattern if they don't match.\r\n\t// If they are absent, this means they match\r\n\t// the general description, which we have\r\n\t// already checked before a specific number type.\r\n\tif (type.possibleLengths() &&\r\n\t\ttype.possibleLengths().indexOf(nationalNumber.length) < 0)\r\n\t{\r\n\t\treturn false\r\n\t}\r\n\r\n\treturn matchesEntirely(nationalNumber, type.pattern())\r\n}\r\n\r\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\r\nexport function checkNumberLengthForType(nationalNumber, type, metadata)\r\n{\r\n\tconst type_info = metadata.type(type)\r\n\r\n\t// There should always be \"
Computing Complete Answers to Queries in the Presence of Limited Access Patterns.\r\n * Chen Li. VLDB J. 12(3): 211-227 (2003).\r\n *\r\n * The string \"211-227 (2003)\" is not a telephone number.\r\n */\r\nconst PUB_PAGES = /\\d{1,5}-+\\d{1,5}\\s{0,4}\\(\\d{1,4}/\r\n\r\nexport default function isValidCandidate(candidate, offset, text, leniency)\r\n{\r\n\t// Check the candidate doesn't contain any formatting\r\n\t// which would indicate that it really isn't a phone number.\r\n\tif (!MATCHING_BRACKETS_ENTIRE.test(candidate) || PUB_PAGES.test(candidate)) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// If leniency is set to VALID or stricter, we also want to skip numbers that are surrounded\r\n\t// by Latin alphabetic characters, to skip cases like abc8005001234 or 8005001234def.\r\n\tif (leniency !== 'POSSIBLE')\r\n\t{\r\n\t\t// If the candidate is not at the start of the text,\r\n\t\t// and does not start with phone-number punctuation,\r\n\t\t// check the previous character.\r\n\t\tif (offset > 0 && !LEAD_CLASS_LEADING.test(candidate))\r\n\t\t{\r\n\t\t\tconst previousChar = text[offset - 1]\r\n\t\t\t// We return null if it is a latin letter or an invalid punctuation symbol.\r\n\t\t\tif (isInvalidPunctuationSymbol(previousChar) || isLatinLetter(previousChar)) {\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst lastCharIndex = offset + candidate.length\r\n\t\tif (lastCharIndex < text.length)\r\n\t\t{\r\n\t\t\tconst nextChar = text[lastCharIndex]\r\n\t\t\tif (isInvalidPunctuationSymbol(nextChar) || isLatinLetter(nextChar)) {\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn true\r\n}","// This is a legacy function.\r\n// Use `findNumbers()` instead.\r\n\r\nimport {\r\n\tPLUS_CHARS,\r\n\tVALID_PUNCTUATION,\r\n\tVALID_DIGITS,\r\n\tWHITESPACE\r\n} from './constants'\r\n\r\nimport { EXTN_PATTERNS_FOR_PARSING } from './extension'\r\n\r\nimport parse from './parse_'\r\n\r\nimport parsePreCandidate from './findNumbers/parsePreCandidate'\r\nimport isValidPreCandidate from './findNumbers/isValidPreCandidate'\r\nimport isValidCandidate from './findNumbers/isValidCandidate'\r\n\r\n// Copy-pasted from `./parse.js`.\r\nconst VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\nconst WHITESPACE_IN_THE_BEGINNING_PATTERN = new RegExp('^[' + WHITESPACE + ']+')\r\nconst PUNCTUATION_IN_THE_END_PATTERN = new RegExp('[' + VALID_PUNCTUATION + ']+$')\r\n\r\n// // Regular expression for getting opening brackets for a valid number\r\n// // found using `PHONE_NUMBER_START_PATTERN` for prepending those brackets to the number.\r\n// const BEFORE_NUMBER_DIGITS_PUNCTUATION = new RegExp('[' + OPENING_BRACKETS + ']+' + '[' + WHITESPACE + ']*' + '$')\r\n\r\nconst VALID_PRECEDING_CHARACTER_PATTERN = /[^a-zA-Z0-9]/\r\n\r\nexport default function findPhoneNumbers(text, options, metadata)\r\n{\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tconst search = new PhoneNumberSearch(text, options, metadata)\r\n\tconst phones = []\r\n\twhile (search.hasNext()) {\r\n\t\tphones.push(search.next())\r\n\t}\r\n\treturn phones\r\n}\r\n\r\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\r\nexport function searchPhoneNumbers(text, options, metadata)\r\n{\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tconst search = new PhoneNumberSearch(text, options, metadata)\r\n\r\n\treturn {\r\n\t\t[Symbol.iterator]() {\r\n\t\t\treturn {\r\n\t \t\tnext: () => {\r\n\t \t\t\tif (search.hasNext()) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tdone: false,\r\n\t\t\t\t\t\t\tvalue: search.next()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdone: true\r\n\t\t\t\t\t}\r\n\t \t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts a parseable phone number including any opening brackets, etc.\r\n * @param {string} text - Input.\r\n * @return {object} `{ ?number, ?startsAt, ?endsAt }`.\r\n */\r\nexport class PhoneNumberSearch\r\n{\r\n\t// Iteration tristate.\r\n\tstate = 'NOT_READY'\r\n\r\n\tconstructor(text, options, metadata)\r\n\t{\r\n\t\tthis.text = text\r\n\t\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t\t// code coverage would decrease for some weird reason.\r\n\t\tthis.options = options || {}\r\n\t\tthis.metadata = metadata\r\n\r\n\t\tthis.regexp = new RegExp\r\n\t\t(\r\n\t\t\tVALID_PHONE_NUMBER +\r\n\t\t\t// Phone number extensions\r\n\t\t\t'(?:' + EXTN_PATTERNS_FOR_PARSING + ')?',\r\n\t\t\t'ig'\r\n\t\t)\r\n\r\n\t\t// this.searching_from = 0\r\n\t}\r\n\r\n\tfind()\r\n\t{\r\n\t\tconst matches = this.regexp.exec(this.text)\r\n\r\n\t\tif (!matches) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tlet number = matches[0]\r\n\t\tlet startsAt = matches.index\r\n\r\n\t\tnumber = number.replace(WHITESPACE_IN_THE_BEGINNING_PATTERN, '')\r\n\t\tstartsAt += matches[0].length - number.length\r\n\t\t// Fixes not parsing numbers with whitespace in the end.\r\n\t\t// Also fixes not parsing numbers with opening parentheses in the end.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/252\r\n\t\tnumber = number.replace(PUNCTUATION_IN_THE_END_PATTERN, '')\r\n\r\n\t\tnumber = parsePreCandidate(number)\r\n\r\n\t\tconst result = this.parseCandidate(number, startsAt)\r\n\r\n\t\tif (result) {\r\n\t\t\treturn result\r\n\t\t}\r\n\r\n\t\t// Tail recursion.\r\n\t\t// Try the next one if this one is not a valid phone number.\r\n\t\treturn this.find()\r\n\t}\r\n\r\n\tparseCandidate(number, startsAt)\r\n\t{\r\n\t\tif (!isValidPreCandidate(number, startsAt, this.text)) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Don't parse phone numbers which are non-phone numbers\r\n\t\t// due to being part of something else (e.g. a UUID).\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/213\r\n\t\t// Copy-pasted from Google's `PhoneNumberMatcher.js` (`.parseAndValidate()`).\r\n\t\tif (!isValidCandidate(number, startsAt, this.text, this.options.extended ? 'POSSIBLE' : 'VALID'))\r\n\t\t{\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// // Prepend any opening brackets left behind by the\r\n\t\t// // `PHONE_NUMBER_START_PATTERN` regexp.\r\n\t\t// const text_before_number = text.slice(this.searching_from, startsAt)\r\n\t\t// const full_number_starts_at = text_before_number.search(BEFORE_NUMBER_DIGITS_PUNCTUATION)\r\n\t\t// if (full_number_starts_at >= 0)\r\n\t\t// {\r\n\t\t// \tnumber = text_before_number.slice(full_number_starts_at) + number\r\n\t\t// \tstartsAt = full_number_starts_at\r\n\t\t// }\r\n\t\t//\r\n\t\t// this.searching_from = matches.lastIndex\r\n\r\n\t\tconst result = parse(number, this.options, this.metadata)\r\n\r\n\t\tif (!result.phone) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tresult.startsAt = startsAt\r\n\t\tresult.endsAt = startsAt + number.length\r\n\r\n\t\treturn result\r\n\t}\r\n\r\n\thasNext()\r\n\t{\r\n\t\tif (this.state === 'NOT_READY')\r\n\t\t{\r\n\t\t\tthis.last_match = this.find()\r\n\r\n\t\t\tif (this.last_match)\r\n\t\t\t{\r\n\t\t\t\tthis.state = 'READY'\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.state = 'DONE'\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.state === 'READY'\r\n\t}\r\n\r\n\tnext()\r\n\t{\r\n\t\t// Check the state and find the next match as a side-effect if necessary.\r\n\t\tif (!this.hasNext())\r\n\t\t{\r\n\t\t\tthrow new Error('No next element')\r\n\t\t}\r\n\r\n\t\t// Don't retain that memory any longer than necessary.\r\n\t\tconst result = this.last_match\r\n\t\tthis.last_match = null\r\n\t\tthis.state = 'NOT_READY'\r\n\t\treturn result\r\n\t}\r\n}","// This is a legacy function.\r\n// Use `findNumbers()` instead.\r\n\r\nimport _findPhoneNumbers, { searchPhoneNumbers as _searchPhoneNumbers } from './findPhoneNumbers_'\r\nimport { normalizeArguments } from './parsePhoneNumber'\r\n\r\nexport default function findPhoneNumbers()\r\n{\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn _findPhoneNumbers(text, options, metadata)\r\n}\r\n\r\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\r\nexport function searchPhoneNumbers()\r\n{\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn _searchPhoneNumbers(text, options, metadata)\r\n}","// https://medium.com/dsinjs/implementing-lru-cache-in-javascript-94ba6755cda9\r\n\r\nclass Node {\r\n constructor(key, value, next = null, prev = null) {\r\n this.key = key;\r\n this.value = value;\r\n this.next = next;\r\n this.prev = prev;\r\n }\r\n}\r\n\r\nexport default class LRUCache {\r\n //set default limit of 10 if limit is not passed.\r\n constructor(limit = 10) {\r\n this.size = 0;\r\n this.limit = limit;\r\n this.head = null;\r\n this.tail = null;\r\n this.cache = {};\r\n }\r\n\r\n // Write Node to head of LinkedList\r\n // update cache with Node key and Node reference\r\n put(key, value){\r\n this.ensureLimit();\r\n\r\n if(!this.head){\r\n this.head = this.tail = new Node(key, value);\r\n }else{\r\n const node = new Node(key, value, this.head);\r\n this.head.prev = node;\r\n this.head = node;\r\n }\r\n\r\n //Update the cache map\r\n this.cache[key] = this.head;\r\n this.size++;\r\n }\r\n\r\n // Read from cache map and make that node as new Head of LinkedList\r\n get(key){\r\n if(this.cache[key]){\r\n const value = this.cache[key].value;\r\n\r\n // node removed from it's position and cache\r\n this.remove(key)\r\n // write node again to the head of LinkedList to make it most recently used\r\n this.put(key, value);\r\n\r\n return value;\r\n }\r\n\r\n console.log(`Item not available in cache for key ${key}`);\r\n }\r\n\r\n ensureLimit(){\r\n if(this.size === this.limit){\r\n this.remove(this.tail.key)\r\n }\r\n }\r\n\r\n remove(key){\r\n const node = this.cache[key];\r\n\r\n if(node.prev !== null){\r\n node.prev.next = node.next;\r\n }else{\r\n this.head = node.next;\r\n }\r\n\r\n if(node.next !== null){\r\n node.next.prev = node.prev;\r\n }else{\r\n this.tail = node.prev\r\n }\r\n\r\n delete this.cache[key];\r\n this.size--;\r\n }\r\n\r\n clear() {\r\n this.head = null;\r\n this.tail = null;\r\n this.size = 0;\r\n this.cache = {};\r\n }\r\n\r\n // // Invokes the callback function with every node of the chain and the index of the node.\r\n // forEach(fn) {\r\n // let node = this.head;\r\n // let counter = 0;\r\n // while (node) {\r\n // fn(node, counter);\r\n // node = node.next;\r\n // counter++;\r\n // }\r\n // }\r\n\r\n // // To iterate over LRU with a 'for...of' loop\r\n // *[Symbol.iterator]() {\r\n // let node = this.head;\r\n // while (node) {\r\n // yield node;\r\n // node = node.next;\r\n // }\r\n // }\r\n}","import LRUCache from './LRUCache'\r\n\r\n// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3\r\n// countries being used for the same doc with ~10 patterns for each country. Some pages will have\r\n// a lot more countries in use, but typically fewer numbers for each so expanding the cache for\r\n// that use-case won't have a lot of benefit.\r\nexport default class RegExpCache {\r\n\tconstructor(size) {\r\n\t\tthis.cache = new LRUCache(size)\r\n\t}\r\n\r\n\tgetPatternForRegExp(pattern) {\r\n\t\tlet regExp = this.cache.get(pattern)\r\n\t\tif (!regExp) {\r\n\t\t\tregExp = new RegExp('^' + pattern)\r\n\t\t\tthis.cache.put(pattern, regExp)\r\n\t\t}\r\n\t\treturn regExp\r\n\t}\r\n}","import isValidNumber from '../validate_'\r\nimport parseDigits from '../parseDigits'\r\n\r\nimport {\r\n\tstartsWith,\r\n\tendsWith\r\n} from './util'\r\n\r\n/**\r\n * Leniency when finding potential phone numbers in text segments\r\n * The levels here are ordered in increasing strictness.\r\n */\r\nexport default\r\n{\r\n\t/**\r\n\t * Phone numbers accepted are \"possible\", but not necessarily \"valid\".\r\n\t */\r\n\tPOSSIBLE(number, candidate, metadata)\r\n\t{\r\n\t\treturn true\r\n\t},\r\n\r\n\t/**\r\n\t * Phone numbers accepted are \"possible\" and \"valid\".\r\n\t * Numbers written in national format must have their national-prefix\r\n\t * present if it is usually written for a number of this type.\r\n\t */\r\n\tVALID(number, candidate, metadata)\r\n\t{\r\n\t\tif (!isValidNumber(number, undefined, metadata) ||\r\n\t\t\t!containsOnlyValidXChars(number, candidate.toString(), metadata))\r\n\t\t{\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n // Skipped for simplicity.\r\n\t\t// return isNationalPrefixPresentIfRequired(number, metadata)\r\n return true\r\n },\r\n\r\n\t/**\r\n\t * Phone numbers accepted are \"valid\" and\r\n\t * are grouped in a possible way for this locale. For example, a US number written as\r\n\t * \"65 02 53 00 00\" and \"650253 0000\" are not accepted at this leniency level, whereas\r\n\t * \"650 253 0000\", \"650 2530000\" or \"6502530000\" are.\r\n\t * Numbers with more than one '/' symbol in the national significant number\r\n\t * are also dropped at this level.\r\n\t *\r\n\t * Warning: This level might result in lower coverage especially for regions outside of\r\n\t * country code \"+1\". If you are not sure about which level to use,\r\n\t * email the discussion group libphonenumber-discuss@googlegroups.com.\r\n\t */\r\n\tSTRICT_GROUPING(number, candidate, metadata, regExpCache)\r\n\t{\r\n\t\tconst candidateString = candidate.toString()\r\n\r\n\t\tif (!isValidNumber(number, undefined, metadata)\r\n\t\t\t|| !containsOnlyValidXChars(number, candidateString, metadata)\r\n\t\t\t|| containsMoreThanOneSlashInNationalNumber(number, candidateString)\r\n\t\t\t|| !isNationalPrefixPresentIfRequired(number, metadata))\r\n\t\t{\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n\t\treturn checkNumberGroupingIsValid\r\n\t\t(\r\n\t\t\tnumber,\r\n\t\t\tcandidate,\r\n\t\t\tmetadata,\r\n\t\t\tallNumberGroupsRemainGrouped,\r\n\t\t\tregExpCache\r\n\t\t)\r\n },\r\n\r\n\t/**\r\n\t * Phone numbers accepted are {@linkplain PhoneNumberUtil#isValidNumber(PhoneNumber) valid} and\r\n\t * are grouped in the same way that we would have formatted it, or as a single block. For\r\n\t * example, a US number written as \"650 2530000\" is not accepted at this leniency level, whereas\r\n\t * \"650 253 0000\" or \"6502530000\" are.\r\n\t * Numbers with more than one '/' symbol are also dropped at this level.\r\n\t *
\r\n\t * Warning: This level might result in lower coverage especially for regions outside of country\r\n\t * code \"+1\". If you are not sure about which level to use, email the discussion group\r\n\t * libphonenumber-discuss@googlegroups.com.\r\n\t */\r\n\tEXACT_GROUPING(number, candidate, metadata, regExpCache)\r\n\t{\r\n\t\tconst candidateString = candidate.toString()\r\n\r\n\t\tif (!isValidNumber(number, undefined, metadata)\r\n\t\t\t|| !containsOnlyValidXChars(number, candidateString, metadata)\r\n\t\t\t|| containsMoreThanOneSlashInNationalNumber(number, candidateString)\r\n\t\t\t|| !isNationalPrefixPresentIfRequired(number, metadata))\r\n\t\t{\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n\t\treturn checkNumberGroupingIsValid\r\n\t\t(\r\n\t\t\tnumber,\r\n\t\t\tcandidate,\r\n\t\t\tmetadata,\r\n\t\t\tallNumberGroupsAreExactlyPresent,\r\n\t\t\tregExpCache\r\n\t\t)\r\n\t}\r\n}\r\n\r\nfunction containsOnlyValidXChars(number, candidate, metadata)\r\n{\r\n // The characters 'x' and 'X' can be (1) a carrier code, in which case they always precede the\r\n // national significant number or (2) an extension sign, in which case they always precede the\r\n // extension number. We assume a carrier code is more than 1 digit, so the first case has to\r\n // have more than 1 consecutive 'x' or 'X', whereas the second case can only have exactly 1 'x'\r\n // or 'X'. We ignore the character if it appears as the last character of the string.\r\n for (let index = 0; index < candidate.length - 1; index++)\r\n {\r\n const charAtIndex = candidate.charAt(index)\r\n\r\n if (charAtIndex === 'x' || charAtIndex === 'X')\r\n {\r\n const charAtNextIndex = candidate.charAt(index + 1)\r\n\r\n if (charAtNextIndex === 'x' || charAtNextIndex === 'X')\r\n {\r\n // This is the carrier code case, in which the 'X's always precede the national\r\n // significant number.\r\n index++\r\n if (util.isNumberMatch(number, candidate.substring(index)) != MatchType.NSN_MATCH)\r\n {\r\n return false\r\n }\r\n\t // This is the extension sign case, in which the 'x' or 'X' should always precede the\r\n\t // extension number.\r\n }\r\n else if (parseDigits(candidate.substring(index)) !== number.ext)\r\n {\r\n return false\r\n }\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isNationalPrefixPresentIfRequired(number, _metadata)\r\n{\r\n // First, check how we deduced the country code. If it was written in international format, then\r\n // the national prefix is not required.\r\n if (number.getCountryCodeSource() != 'FROM_DEFAULT_COUNTRY')\r\n {\r\n return true\r\n }\r\n\r\n const phoneNumberRegion = util.getRegionCodeForCountryCode(number.getCountryCode())\r\n\r\n const metadata = util.getMetadataForRegion(phoneNumberRegion)\r\n if (metadata == null)\r\n {\r\n return true\r\n }\r\n\r\n // Check if a national prefix should be present when formatting this number.\r\n const nationalNumber = util.getNationalSignificantNumber(number)\r\n const formatRule = util.chooseFormattingPatternForNumber(metadata.numberFormats(), nationalNumber)\r\n\r\n // To do this, we check that a national prefix formatting rule was present\r\n // and that it wasn't just the first-group symbol ($1) with punctuation.\r\n if (formatRule && formatRule.getNationalPrefixFormattingRule().length > 0)\r\n {\r\n if (formatRule.getNationalPrefixOptionalWhenFormatting())\r\n {\r\n // The national-prefix is optional in these cases, so we don't need to check if it was\r\n // present.\r\n return true\r\n }\r\n\r\n if (PhoneNumberUtil.formattingRuleHasFirstGroupOnly(\r\n formatRule.getNationalPrefixFormattingRule()))\r\n {\r\n // National Prefix not needed for this number.\r\n return true\r\n }\r\n\r\n // Normalize the remainder.\r\n const rawInputCopy = PhoneNumberUtil.normalizeDigitsOnly(number.getRawInput())\r\n\r\n // Check if we found a national prefix and/or carrier code at the start of the raw input, and\r\n // return the result.\r\n return util.maybeStripNationalPrefixAndCarrierCode(rawInputCopy, metadata, null)\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport function containsMoreThanOneSlashInNationalNumber(number, candidate)\r\n{\r\n const firstSlashInBodyIndex = candidate.indexOf('/')\r\n if (firstSlashInBodyIndex < 0)\r\n {\r\n // No slashes, this is okay.\r\n return false\r\n }\r\n\r\n // Now look for a second one.\r\n const secondSlashInBodyIndex = candidate.indexOf('/', firstSlashInBodyIndex + 1)\r\n if (secondSlashInBodyIndex < 0)\r\n {\r\n // Only one slash, this is okay.\r\n return false\r\n }\r\n\r\n // If the first slash is after the country calling code, this is permitted.\r\n const candidateHasCountryCode =\r\n (number.getCountryCodeSource() === CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN\r\n || number.getCountryCodeSource() === CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN)\r\n\r\n if (candidateHasCountryCode\r\n && PhoneNumberUtil.normalizeDigitsOnly(candidate.substring(0, firstSlashInBodyIndex))\r\n === String(number.getCountryCode()))\r\n {\r\n // Any more slashes and this is illegal.\r\n return candidate.slice(secondSlashInBodyIndex + 1).indexOf('/') >= 0\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction checkNumberGroupingIsValid(\r\n number,\r\n candidate,\r\n metadata,\r\n checkGroups,\r\n regExpCache\r\n) {\r\n const normalizedCandidate = normalizeDigits(candidate, true /* keep non-digits */)\r\n let formattedNumberGroups = getNationalNumberGroups(metadata, number, null)\r\n if (checkGroups(metadata, number, normalizedCandidate, formattedNumberGroups)) {\r\n return true\r\n }\r\n\r\n // If this didn't pass, see if there are any alternate formats that match, and try them instead.\r\n const alternateFormats = MetadataManager.getAlternateFormatsForCountry(number.getCountryCode())\r\n const nationalSignificantNumber = util.getNationalSignificantNumber(number)\r\n\r\n if (alternateFormats) {\r\n for (const alternateFormat of alternateFormats.numberFormats()) {\r\n if (alternateFormat.leadingDigitsPatterns().length > 0) {\r\n // There is only one leading digits pattern for alternate formats.\r\n const leadingDigitsRegExp = regExpCache.getPatternForRegExp('^' + alternateFormat.leadingDigitsPatterns()[0])\r\n if (!leadingDigitsRegExp.test(nationalSignificantNumber)) {\r\n // Leading digits don't match; try another one.\r\n continue\r\n }\r\n }\r\n formattedNumberGroups = getNationalNumberGroups(metadata, number, alternateFormat)\r\n if (checkGroups(metadata, number, normalizedCandidate, formattedNumberGroups)) {\r\n return true\r\n }\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\n/**\r\n * Helper method to get the national-number part of a number, formatted without any national\r\n * prefix, and return it as a set of digit blocks that would be formatted together following\r\n * standard formatting rules.\r\n */\r\nfunction getNationalNumberGroups(\r\n\tmetadata,\r\n\tnumber,\r\n\tformattingPattern\r\n) {\r\n if (formattingPattern) {\r\n // We format the NSN only, and split that according to the separator.\r\n const nationalSignificantNumber = util.getNationalSignificantNumber(number)\r\n return util.formatNsnUsingPattern(nationalSignificantNumber,\r\n formattingPattern, 'RFC3966', metadata).split('-')\r\n\t}\r\n\r\n // This will be in the format +CC-DG1-DG2-DGX;ext=EXT where DG1..DGX represents groups of digits.\r\n const rfc3966Format = formatNumber(number, 'RFC3966', metadata)\r\n\r\n // We remove the extension part from the formatted string before splitting it into different\r\n // groups.\r\n let endIndex = rfc3966Format.indexOf(';')\r\n if (endIndex < 0) {\r\n endIndex = rfc3966Format.length\r\n }\r\n\r\n // The country-code will have a '-' following it.\r\n const startIndex = rfc3966Format.indexOf('-') + 1\r\n return rfc3966Format.slice(startIndex, endIndex).split('-')\r\n}\r\n\r\nfunction allNumberGroupsAreExactlyPresent\r\n(\r\n\tmetadata,\r\n\tnumber,\r\n\tnormalizedCandidate,\r\n\tformattedNumberGroups\r\n)\r\n{\r\n const candidateGroups = normalizedCandidate.split(NON_DIGITS_PATTERN)\r\n\r\n // Set this to the last group, skipping it if the number has an extension.\r\n let candidateNumberGroupIndex =\r\n number.hasExtension() ? candidateGroups.length - 2 : candidateGroups.length - 1\r\n\r\n // First we check if the national significant number is formatted as a block.\r\n // We use contains and not equals, since the national significant number may be present with\r\n // a prefix such as a national number prefix, or the country code itself.\r\n if (candidateGroups.length == 1\r\n || candidateGroups[candidateNumberGroupIndex].contains(\r\n util.getNationalSignificantNumber(number)))\r\n {\r\n return true\r\n }\r\n\r\n // Starting from the end, go through in reverse, excluding the first group, and check the\r\n // candidate and number groups are the same.\r\n let formattedNumberGroupIndex = (formattedNumberGroups.length - 1)\r\n while (formattedNumberGroupIndex > 0 && candidateNumberGroupIndex >= 0)\r\n {\r\n if (candidateGroups[candidateNumberGroupIndex] !== formattedNumberGroups[formattedNumberGroupIndex])\r\n {\r\n return false\r\n }\r\n formattedNumberGroupIndex--\r\n candidateNumberGroupIndex--\r\n }\r\n\r\n // Now check the first group. There may be a national prefix at the start, so we only check\r\n // that the candidate group ends with the formatted number group.\r\n return (candidateNumberGroupIndex >= 0\r\n && endsWith(candidateGroups[candidateNumberGroupIndex], formattedNumberGroups[0]))\r\n}\r\n\r\n\r\nfunction allNumberGroupsRemainGrouped\r\n(\r\n\tmetadata,\r\n\tnumber,\r\n\tnormalizedCandidate,\r\n\tformattedNumberGroups\r\n)\r\n{\r\n let fromIndex = 0\r\n if (number.getCountryCodeSource() !== CountryCodeSource.FROM_DEFAULT_COUNTRY)\r\n {\r\n // First skip the country code if the normalized candidate contained it.\r\n const countryCode = String(number.getCountryCode())\r\n fromIndex = normalizedCandidate.indexOf(countryCode) + countryCode.length()\r\n }\r\n\r\n // Check each group of consecutive digits are not broken into separate groupings in the\r\n // {@code normalizedCandidate} string.\r\n for (let i = 0; i < formattedNumberGroups.length; i++)\r\n {\r\n // Fails if the substring of {@code normalizedCandidate} starting from {@code fromIndex}\r\n // doesn't contain the consecutive digits in formattedNumberGroups[i].\r\n fromIndex = normalizedCandidate.indexOf(formattedNumberGroups[i], fromIndex)\r\n if (fromIndex < 0) {\r\n return false\r\n }\r\n // Moves {@code fromIndex} forward.\r\n fromIndex += formattedNumberGroups[i].length()\r\n if (i == 0 && fromIndex < normalizedCandidate.length())\r\n {\r\n // We are at the position right after the NDC. We get the region used for formatting\r\n // information based on the country code in the phone number, rather than the number itself,\r\n // as we do not need to distinguish between different countries with the same country\r\n // calling code and this is faster.\r\n const region = util.getRegionCodeForCountryCode(number.getCountryCode())\r\n if (util.getNddPrefixForRegion(region, true) != null\r\n && Character.isDigit(normalizedCandidate.charAt(fromIndex))) {\r\n // This means there is no formatting symbol after the NDC. In this case, we only\r\n // accept the number if there is no formatting symbol at all in the number, except\r\n // for extensions. This is only important for countries with national prefixes.\r\n const nationalSignificantNumber = util.getNationalSignificantNumber(number)\r\n return startsWith\r\n (\r\n \t normalizedCandidate.slice(fromIndex - formattedNumberGroups[i].length),\r\n nationalSignificantNumber\r\n )\r\n }\r\n }\r\n }\r\n\r\n // The check here makes sure that we haven't mistakenly already used the extension to\r\n // match the last group of the subscriber number. Note the extension cannot have\r\n // formatting in-between digits.\r\n return normalizedCandidate.slice(fromIndex).contains(number.getExtension())\r\n}","/**\r\n * A port of Google's `PhoneNumberMatcher.java`.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java\r\n * Date: 08.03.2018.\r\n */\r\n\r\nimport PhoneNumber from './PhoneNumber'\r\n\r\nimport {\r\n MAX_LENGTH_FOR_NSN,\r\n MAX_LENGTH_COUNTRY_CODE,\r\n VALID_PUNCTUATION\r\n} from './constants'\r\n\r\nimport { EXTN_PATTERNS_FOR_MATCHING } from './extension'\r\n\r\nimport RegExpCache from './findNumbers/RegExpCache'\r\n\r\nimport {\r\n\tlimit,\r\n\ttrimAfterFirstMatch\r\n} from './findNumbers/util'\r\n\r\nimport {\r\n\t_pL,\r\n\t_pN,\r\n\tpZ,\r\n\tPZ,\r\n\tpNd\r\n} from './findNumbers/utf-8'\r\n\r\nimport Leniency from './findNumbers/Leniency'\r\nimport parsePreCandidate from './findNumbers/parsePreCandidate'\r\nimport isValidPreCandidate from './findNumbers/isValidPreCandidate'\r\nimport isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate'\r\n\r\nimport { isSupportedCountry } from './metadata'\r\n\r\nimport parseNumber from './parse_'\r\n\r\n/**\r\n * Patterns used to extract phone numbers from a larger phone-number-like pattern. These are\r\n * ordered according to specificity. For example, white-space is last since that is frequently\r\n * used in numbers, not just to separate two numbers. We have separate patterns since we don't\r\n * want to break up the phone-number-like text on more than one different kind of symbol at one\r\n * time, although symbols of the same type (e.g. space) can be safely grouped together.\r\n *\r\n * Note that if there is a match, we will always check any text found up to the first match as\r\n * well.\r\n */\r\nconst INNER_MATCHES =\r\n[\r\n\t// Breaks on the slash - e.g. \"651-234-2345/332-445-1234\"\r\n\t'\\\\/+(.*)/',\r\n\r\n\t// Note that the bracket here is inside the capturing group, since we consider it part of the\r\n\t// phone number. Will match a pattern like \"(650) 223 3345 (754) 223 3321\".\r\n\t'(\\\\([^(]*)',\r\n\r\n\t// Breaks on a hyphen - e.g. \"12345 - 332-445-1234 is my number.\"\r\n\t// We require a space on either side of the hyphen for it to be considered a separator.\r\n\t`(?:${pZ}-|-${pZ})${pZ}*(.+)`,\r\n\r\n\t// Various types of wide hyphens. Note we have decided not to enforce a space here, since it's\r\n\t// possible that it's supposed to be used to break two numbers without spaces, and we haven't\r\n\t// seen many instances of it used within a number.\r\n\t`[\\u2012-\\u2015\\uFF0D]${pZ}*(.+)`,\r\n\r\n\t// Breaks on a full stop - e.g. \"12345. 332-445-1234 is my number.\"\r\n\t`\\\\.+${pZ}*([^.]+)`,\r\n\r\n\t// Breaks on space - e.g. \"3324451234 8002341234\"\r\n\t`${pZ}+(${PZ}+)`\r\n]\r\n\r\n// Limit on the number of leading (plus) characters.\r\nconst leadLimit = limit(0, 2)\r\n\r\n// Limit on the number of consecutive punctuation characters.\r\nconst punctuationLimit = limit(0, 4)\r\n\r\n/* The maximum number of digits allowed in a digit-separated block. As we allow all digits in a\r\n * single block, set high enough to accommodate the entire national number and the international\r\n * country code. */\r\nconst digitBlockLimit = MAX_LENGTH_FOR_NSN + MAX_LENGTH_COUNTRY_CODE\r\n\r\n// Limit on the number of blocks separated by punctuation.\r\n// Uses digitBlockLimit since some formats use spaces to separate each digit.\r\nconst blockLimit = limit(0, digitBlockLimit)\r\n\r\n/* A punctuation sequence allowing white space. */\r\nconst punctuation = `[${VALID_PUNCTUATION}]` + punctuationLimit\r\n\r\n// A digits block without punctuation.\r\nconst digitSequence = pNd + limit(1, digitBlockLimit)\r\n\r\n/**\r\n * Phone number pattern allowing optional punctuation.\r\n * The phone number pattern used by `find()`, similar to\r\n * VALID_PHONE_NUMBER, but with the following differences:\r\n *
Vanity numbers (phone numbers using alphabetic digits such as 1-800-SIX-FLAGS are\r\n * not found.\r\n *\r\n *
This class is not thread-safe.\r\n */\r\nexport default class PhoneNumberMatcher\r\n{\r\n /** The iteration tristate. */\r\n state = 'NOT_READY'\r\n\r\n /** The next index to start searching at. Undefined in {@link State#DONE}. */\r\n searchIndex = 0\r\n\r\n // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3\r\n // countries being used for the same doc with ~10 patterns for each country. Some pages will have\r\n // a lot more countries in use, but typically fewer numbers for each so expanding the cache for\r\n // that use-case won't have a lot of benefit.\r\n regExpCache = new RegExpCache(32)\r\n\r\n /**\r\n * Creates a new instance. See the factory methods in {@link PhoneNumberUtil} on how to obtain a\r\n * new instance.\r\n *\r\n * @param util the phone number util to use\r\n * @param text the character sequence that we will search, null for no text\r\n * @param country the country to assume for phone numbers not written in international format\r\n * (with a leading plus, or with the international dialing prefix of the specified region).\r\n * May be null or \"ZZ\" if only numbers with a leading plus should be\r\n * considered.\r\n * @param leniency the leniency to use when evaluating candidate phone numbers\r\n * @param maxTries the maximum number of invalid numbers to try before giving up on the text.\r\n * This is to cover degenerate cases where the text has a lot of false positives in it. Must\r\n * be {@code >= 0}.\r\n */\r\n constructor(text = '', options = {}, metadata)\r\n {\r\n options = {\r\n ...options,\r\n defaultCallingCode: options.defaultCallingCode,\r\n defaultCountry: options.defaultCountry && isSupportedCountry(options.defaultCountry, metadata) ? options.defaultCountry : undefined,\r\n leniency: options.leniency || options.extended ? 'POSSIBLE' : 'VALID',\r\n maxTries: options.maxTries || MAX_SAFE_INTEGER\r\n }\r\n\r\n\t\tif (!options.leniency) {\r\n\t\t\tthrow new TypeError('`Leniency` not supplied')\r\n\t\t}\r\n\r\n\t\tif (options.maxTries < 0) {\r\n\t\t\tthrow new TypeError('`maxTries` not supplied')\r\n\t\t}\r\n\r\n\t\tthis.text = text\r\n\t\tthis.options = options\r\n this.metadata = metadata\r\n\r\n\t\t/** The degree of validation requested. */\r\n\t\tthis.leniency = Leniency[options.leniency]\r\n\r\n\t\tif (!this.leniency) {\r\n\t\t\tthrow new TypeError(`Unknown leniency: ${options.leniency}.`)\r\n\t\t}\r\n\r\n\t\t/** The maximum number of retries after matching an invalid number. */\r\n\t\tthis.maxTries = options.maxTries\r\n\r\n\t\tthis.PATTERN = new RegExp(PATTERN, 'ig')\r\n }\r\n\r\n /**\r\n * Attempts to find the next subsequence in the searched sequence on or after {@code searchIndex}\r\n * that represents a phone number. Returns the next match, null if none was found.\r\n *\r\n * @param index the search index to start searching at\r\n * @return the phone number match found, null if none can be found\r\n */\r\n\tfind() // (index)\r\n\t{\r\n\t\t// // Reset the regular expression.\r\n\t\t// this.PATTERN.lastIndex = index\r\n\r\n\t\tlet matches\r\n\t\twhile ((this.maxTries > 0) && (matches = this.PATTERN.exec(this.text)) !== null)\r\n\t\t{\r\n\t\t\tlet candidate = matches[0]\r\n\t\t\tconst offset = matches.index\r\n\r\n\t\t\tcandidate = parsePreCandidate(candidate)\r\n\r\n\t\t\tif (isValidPreCandidate(candidate, offset, this.text))\r\n\t\t\t{\r\n\t\t\t\tconst match =\r\n\t\t\t\t\t// Try to come up with a valid match given the entire candidate.\r\n\t\t\t\t\tthis.parseAndVerify(candidate, offset, this.text)\r\n\t\t\t\t\t// If that failed, try to find an \"inner match\" -\r\n\t\t\t\t\t// there might be a phone number within this candidate.\r\n\t\t\t\t\t|| this.extractInnerMatch(candidate, offset, this.text)\r\n\r\n\t\t\t\tif (match) {\r\n\t\t\t\t\tif (this.options.v2) {\r\n\t\t\t\t\t\tconst phoneNumber = new PhoneNumber(\r\n match.country || match.countryCallingCode,\r\n match.phone,\r\n this.metadata\r\n )\r\n\t\t\t\t\t\tif (match.ext) {\r\n\t\t\t\t\t\t\tphoneNumber.ext = match.ext\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tstartsAt: match.startsAt,\r\n\t\t\t\t\t\t\tendsAt: match.endsAt,\r\n\t\t\t\t\t\t\tnumber: phoneNumber\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn match\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.maxTries--\r\n\t\t}\r\n\t}\r\n\r\n /**\r\n * Attempts to extract a match from `candidate`\r\n * if the whole candidate does not qualify as a match.\r\n */\r\n extractInnerMatch(candidate, offset, text)\r\n {\r\n for (const innerMatchPattern of INNER_MATCHES)\r\n {\r\n let isFirstMatch = true\r\n let matches\r\n const possibleInnerMatch = new RegExp(innerMatchPattern, 'g')\r\n while ((matches = possibleInnerMatch.exec(candidate)) !== null && this.maxTries > 0)\r\n {\r\n if (isFirstMatch)\r\n {\r\n // We should handle any group before this one too.\r\n const group = trimAfterFirstMatch\r\n (\r\n UNWANTED_END_CHAR_PATTERN,\r\n candidate.slice(0, matches.index)\r\n )\r\n\r\n const match = this.parseAndVerify(group, offset, text)\r\n if (match) {\r\n return match\r\n }\r\n\r\n this.maxTries--\r\n isFirstMatch = false\r\n }\r\n\r\n const group = trimAfterFirstMatch\r\n (\r\n \tUNWANTED_END_CHAR_PATTERN,\r\n \tmatches[1]\r\n )\r\n\r\n // Java code does `groupMatcher.start(1)` here,\r\n // but there's no way in javascript to get a group match start index,\r\n // therefore using the overall match start index `matches.index`.\r\n const match = this.parseAndVerify(group, offset + matches.index, text)\r\n if (match) {\r\n return match\r\n }\r\n\r\n this.maxTries--\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Parses a phone number from the `candidate` using `parseNumber` and\r\n * verifies it matches the requested `leniency`. If parsing and verification succeed,\r\n * a corresponding `PhoneNumberMatch` is returned, otherwise this method returns `null`.\r\n *\r\n * @param candidate the candidate match\r\n * @param offset the offset of {@code candidate} within {@link #text}\r\n * @return the parsed and validated phone number match, or null\r\n */\r\n parseAndVerify(candidate, offset, text)\r\n {\r\n if (!isValidCandidate(candidate, offset, text, this.options.leniency)) {\r\n return\r\n \t}\r\n\r\n const number = parseNumber(\r\n candidate, {\r\n extended: true,\r\n defaultCountry: this.options.defaultCountry,\r\n defaultCallingCode: this.options.defaultCallingCode\r\n },\r\n this.metadata\r\n )\r\n\r\n if (!number.possible) {\r\n return\r\n }\r\n\r\n if (this.leniency(number, candidate, this.metadata, this.regExpCache))\r\n {\r\n // // We used parseAndKeepRawInput to create this number,\r\n // // but for now we don't return the extra values parsed.\r\n // // TODO: stop clearing all values here and switch all users over\r\n // // to using rawInput() rather than the rawString() of PhoneNumberMatch.\r\n // number.clearCountryCodeSource()\r\n // number.clearRawInput()\r\n // number.clearPreferredDomesticCarrierCode()\r\n\r\n const result = {\r\n startsAt: offset,\r\n endsAt: offset + candidate.length,\r\n phone: number.phone\r\n }\r\n\r\n if (number.country && number.country !== '001') {\r\n result.country = number.country\r\n } else {\r\n result.countryCallingCode = number.countryCallingCode\r\n }\r\n\r\n if (number.ext) {\r\n result.ext = number.ext\r\n }\r\n\r\n return result\r\n }\r\n }\r\n\r\n hasNext()\r\n {\r\n if (this.state === 'NOT_READY')\r\n {\r\n this.lastMatch = this.find() // (this.searchIndex)\r\n\r\n if (this.lastMatch)\r\n {\r\n // this.searchIndex = this.lastMatch.endsAt\r\n this.state = 'READY'\r\n }\r\n else\r\n {\r\n this.state = 'DONE'\r\n }\r\n }\r\n\r\n return this.state === 'READY'\r\n }\r\n\r\n next()\r\n {\r\n // Check the state and find the next match as a side-effect if necessary.\r\n if (!this.hasNext())\r\n {\r\n throw new Error('No next element')\r\n }\r\n\r\n // Don't retain that memory any longer than necessary.\r\n const result = this.lastMatch\r\n this.lastMatch = null\r\n this.state = 'NOT_READY'\r\n return result\r\n }\r\n}","import _findNumbers from './findNumbers_'\r\nimport { normalizeArguments } from './parsePhoneNumber'\r\n\r\nexport default function findNumbers() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn _findNumbers(text, options, metadata)\r\n}","import PhoneNumberMatcher from './PhoneNumberMatcher'\r\n\r\nexport default function findNumbers(text, options, metadata) {\r\n\tconst matcher = new PhoneNumberMatcher(text, options, metadata)\r\n\tconst results = []\r\n\twhile (matcher.hasNext()) {\r\n\t\tresults.push(matcher.next())\r\n\t}\r\n\treturn results\r\n}","import { normalizeArguments } from './parsePhoneNumber'\r\nimport PhoneNumberMatcher from './PhoneNumberMatcher'\r\n\r\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\r\nexport default function searchNumbers()\r\n{\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\r\n\tconst matcher = new PhoneNumberMatcher(text, options, metadata)\r\n\r\n\treturn {\r\n\t\t[Symbol.iterator]() {\r\n\t\t\treturn {\r\n\t \t\tnext: () => {\r\n\t \t\t\tif (matcher.hasNext()) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tdone: false,\r\n\t\t\t\t\t\t\tvalue: matcher.next()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdone: true\r\n\t\t\t\t\t}\r\n\t \t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","import findNumbers from './findNumbers'\r\n\r\nexport default function findPhoneNumbersInText(text, defaultCountry, options, metadata) {\r\n\tconst args = getArguments(defaultCountry, options, metadata)\r\n\treturn findNumbers(text, args.options, args.metadata)\r\n}\r\n\r\nexport function getArguments(defaultCountry, options, metadata) {\r\n\tif (metadata) {\r\n\t\tif (defaultCountry) {\r\n\t\t\toptions = {\r\n\t\t\t\t...options,\r\n\t\t\t\tdefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tif (options) {\r\n\t\t\tmetadata = options\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (is_object(defaultCountry)) {\r\n\t\t\t\t\toptions = defaultCountry\r\n\t\t\t\t} else {\r\n\t\t\t\t\toptions = { defaultCountry }\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\toptions = undefined\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmetadata = defaultCountry\r\n\t\t\toptions = undefined\r\n\t\t}\r\n\t}\r\n\treturn {\r\n\t\toptions: {\r\n\t\t\t...options,\r\n\t\t\tv2: true\r\n\t\t},\r\n\t\tmetadata\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst is_object = _ => typeof _ === 'object'","// This is an enhanced port of Google Android `libphonenumber`'s\r\n// `asyoutypeformatter.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/blob/8d21a365061de2ba0675c878a710a7b24f74d2ae/javascript/i18n/phonenumbers/asyoutypeformatter.js\r\n//\r\n// Simplified: does not differentiate between \"local-only\" numbers\r\n// and \"internationally dialable\" numbers.\r\n// For example, doesn't include changes like this:\r\n// https://github.com/googlei18n/libphonenumber/commit/865da605da12b01053c4f053310bac7c5fbb7935\r\n\r\nimport Metadata from './metadata'\r\n\r\nimport PhoneNumber from './PhoneNumber'\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from './constants'\r\n\r\nimport { matchesEntirely } from './util'\r\n\r\nimport {\r\n\textractCountryCallingCode,\r\n\textractFormattedPhoneNumber,\r\n\tfindCountryCode,\r\n\tstripNationalPrefixAndCarrierCode\r\n} from './parse_'\r\n\r\nimport {\r\n\tFIRST_GROUP_PATTERN,\r\n\tformatNationalNumberUsingFormat,\r\n\tapplyInternationalSeparatorStyle\r\n} from './format_'\r\n\r\nimport { checkNumberLengthForType } from './getNumberType_'\r\n\r\nimport parseDigits from './parseDigits'\r\n\r\n// Used in phone number format template creation.\r\n// Could be any digit, I guess.\r\nconst DUMMY_DIGIT = '9'\r\n// I don't know why is it exactly `15`\r\nconst LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15\r\n// Create a phone number consisting only of the digit 9 that matches the\r\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\r\nconst LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH)\r\n\r\n// The digits that have not been entered yet will be represented by a \\u2008,\r\n// the punctuation space.\r\nexport const DIGIT_PLACEHOLDER = 'x' // '\\u2008' (punctuation space)\r\nconst DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER)\r\n\r\n// A set of characters that, if found in a national prefix formatting rules, are an indicator to\r\n// us that we should separate the national prefix from the number when formatting.\r\nconst NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/\r\n\r\n// Deprecated: Google has removed some formatting pattern related code from their repo.\r\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\r\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\r\n// Because this library supports generating custom metadata\r\n// some users may still be using old metadata so the relevant\r\n// code seems to stay until some next major version update.\r\nconst SUPPORT_LEGACY_FORMATTING_PATTERNS = true\r\n\r\n// A pattern that is used to match character classes in regular expressions.\r\n// An example of a character class is \"[1-4]\".\r\nconst CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\[([^\\[\\]])*\\]/g)\r\n\r\n// Any digit in a regular expression that actually denotes a digit. For\r\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\r\n// (8 and 0) are standalone digits, but the rest are not.\r\n// Two look-aheads are needed because the number following \\\\d could be a\r\n// two-digit number, since the phone number can be as long as 15 digits.\r\nconst CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\d(?=[^,}][^,}])/g)\r\n\r\n// A pattern that is used to determine if a `format` is eligible\r\n// to be used by the \"as you type formatter\".\r\n// It is eligible when the `format` contains groups of the dollar sign\r\n// followed by a single digit, separated by valid phone number punctuation.\r\n// This prevents invalid punctuation (such as the star sign in Israeli star numbers)\r\n// getting into the output of the \"as you type formatter\".\r\nconst ELIGIBLE_FORMAT_PATTERN = new RegExp(\r\n\t'^' +\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t'(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' +\r\n\t'$'\r\n)\r\n\r\n// This is the minimum length of the leading digits of a phone number\r\n// to guarantee the first \"leading digits pattern\" for a phone number format\r\n// to be preemptive.\r\nconst MIN_LEADING_DIGITS_LENGTH = 3\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_PART =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_PART + '$', 'i')\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class AsYouType {\r\n\t// Not setting `options` to a constructor argument\r\n\t// not to break backwards compatibility\r\n\t// for older versions of the library.\r\n\toptions = {}\r\n\r\n\t/**\r\n\t * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n\t * @param {Object} metadata\r\n\t */\r\n\tconstructor(optionsOrDefaultCountry, metadata) {\r\n\t\tthis.metadata = new Metadata(metadata)\r\n\t\t// Set `defaultCountry` and `defaultCallingCode` options.\r\n\t\tlet defaultCountry\r\n\t\tlet defaultCallingCode\r\n\t\t// Turns out `null` also has type \"object\". Weird.\r\n\t\tif (optionsOrDefaultCountry) {\r\n\t\t\tif (typeof optionsOrDefaultCountry === 'object') {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry.defaultCountry\r\n\t\t\t\tdefaultCallingCode = optionsOrDefaultCountry.defaultCallingCode\r\n\t\t\t} else {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (defaultCountry && this.metadata.hasCountry(defaultCountry)) {\r\n\t\t\tthis.defaultCountry = defaultCountry\r\n\t\t}\r\n\t\tif (defaultCallingCode) {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tthis.defaultCountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\t}\r\n\t\t// Reset.\r\n\t\tthis.reset()\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.formattedOutput = ''\r\n\t\tthis.international = undefined\r\n\t\tthis.countryCallingCode = undefined\r\n\t\tthis.digits = ''\r\n\t\tthis.nationalNumberDigits = ''\r\n\t\tthis.nationalPrefix = ''\r\n\t\tthis.carrierCode = ''\r\n\t\tthis.setCountry(this.defaultCountry, this.defaultCallingCode)\r\n\t\tthis.resetFormat()\r\n\t\treturn this\r\n\t}\r\n\r\n\tsetCountry(country, callingCode) {\r\n\t\tthis.country = country\r\n\t\tthis.metadata.selectNumberingPlan(country, callingCode)\r\n\t\tif (this.metadata.hasSelectedNumberingPlan()) {\r\n\t\t\tthis.initializePhoneNumberFormatsForCountry()\r\n\t\t} else {\r\n\t\t\tthis.matchingFormats = []\r\n\t\t}\r\n\t}\r\n\r\n\tresetFormat() {\r\n\t\tthis.chosenFormat = undefined\r\n\t\tthis.template = undefined\r\n\t\tthis.populatedNationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number characters.\r\n\t * @param {string} text\r\n\t * @return {string} Formatted phone number characters that have been input so far.\r\n\t */\r\n\tinput(text) {\r\n\t\tconst formattedDigits = this.extractFormattedDigits(text)\r\n\t\t// If the extracted phone number part\r\n\t\t// can possibly be a part of some valid phone number\r\n\t\t// then parse phone number characters from a formatted phone number.\r\n\t\tif (VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN.test(formattedDigits)) {\r\n\t\t\tthis.formattedOutput = this.getFullNumber(\r\n\t\t\t\tthis.inputDigits(parseDigits(formattedDigits)) ||\r\n\t\t\t\tthis.getNonFormattedNationalNumber()\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn this.formattedOutput\r\n\t}\r\n\r\n\t/**\r\n\t * Extracts formatted phone number digits from text (if there're any).\r\n\t * @param {string} text\r\n\t * @return {string}\r\n\t */\r\n\textractFormattedDigits(text) {\r\n\t\t// Extract a formatted phone number part from text.\r\n\t\tlet extractedNumber = extractFormattedPhoneNumber(text) || ''\r\n\t\t// Special case for a lone '+' sign\r\n\t\t// because it's not extracted in such cases.\r\n\t\tif (!extractedNumber) {\r\n\t\t\tif (text && text.indexOf('+') >= 0) {\r\n\t\t\t\textractedNumber = '+'\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Trim a `+`.\r\n\t\tif (extractedNumber[0] === '+') {\r\n\t\t\t// Trim the `+`.\r\n\t\t\textractedNumber = extractedNumber.slice('+'.length)\r\n\t\t\tif (this.digits) {\r\n\t\t\t\t// If an out of position `+` is detected\r\n\t\t\t\t// (or a second `+`) then just ignore it.\r\n\t\t\t} else {\r\n\t\t\t\tthis.startInternationalNumber()\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn extractedNumber\r\n\t}\r\n\r\n\tstartInternationalNumber() {\r\n\t\t// Prepend the `+` to parsed input.\r\n\t\tthis.international = true\r\n\t\t// If a default country was set then reset it\r\n\t\t// because an explicitly international phone\r\n\t\t// number is being entered.\r\n\t\tthis.setCountry()\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number digits.\r\n\t * @param {string} digits\r\n\t * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n\t */\r\n\tinputDigits(nextDigits) {\r\n\t\t// Append phone number digits.\r\n\t\tthis.digits += nextDigits\r\n\t\t// Try to format the parsed input\r\n\t\tif (this.isInternational()) {\r\n\t\t\tif (this.countryCallingCode) {\r\n\t\t\t\tthis.nationalNumberDigits += nextDigits\r\n\t\t\t\t// `this.country` could be `undefined`, for example, when there is\r\n\t\t\t\t// ambiguity in a form of several different countries,\r\n\t\t\t\t// each corresponding to the same country phone code\r\n\t\t\t\t// (e.g. NANPA: USA, Canada, etc), and there's not enough digits\r\n\t\t\t\t// to reliably determine the country the phone number belongs to.\r\n\t\t\t\t// Therefore, in cases of such ambiguity, each time something is input,\r\n\t\t\t\t// try to determine the country (if it hasn't been determined yet).\r\n\t\t\t\tif (!this.country || this.isCountryCallingCodeAmbiguous()) {\r\n\t\t\t\t\tthis.determineTheCountry()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// Extract country calling code from the digits entered so far.\r\n\t\t\t\t// There must be some digits in order to extract anything from them.\r\n\t\t\t\tif (!this.digits) {\r\n\t\t\t\t\t// Don't format the phone number.\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t\t// If one looks at country phone codes\r\n\t\t\t\t// then they can notice that no one country phone code\r\n\t\t\t\t// is ever a (leftmost) substring of another country phone code.\r\n\t\t\t\t// So if a valid country code is extracted so far\r\n\t\t\t\t// then it means that this is the country code.\r\n\t\t\t\t//\r\n\t\t\t\t// If no country phone code could be extracted so far,\r\n\t\t\t\t// then don't format the phone number.\r\n\t\t\t\t//\r\n\t\t\t\tif (!this.extractCountryCallingCode()) {\r\n\t\t\t\t\t// Don't format the phone number.\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t\t// Possibly extract a national prefix.\r\n\t\t\t\t// Some people incorrectly input national prefix\r\n\t\t\t\t// in an international phone number.\r\n\t\t\t\t// For example, some people write British phone numbers as `+44(0)...`.\r\n\t\t\t\t// Also, mobile phone numbers in Mexico are supposed to be dialled\r\n\t\t\t\t// internationally using a `15` national prefix.\r\n\t\t\t\t//\r\n\t\t\t\t// https://www.mexperience.com/dialing-cell-phones-in-mexico/\r\n\t\t\t\t//\r\n\t\t\t\t// \"Dialing a Mexican cell phone from abroad\r\n\t\t\t\t// When you are calling a cell phone number in Mexico from outside Mexico,\r\n\t\t\t\t// it’s necessary to dial an additional “1” after Mexico’s country code\r\n\t\t\t\t// (which is “52”) and before the area code.\r\n\t\t\t\t// You also ignore the 045, and simply dial the area code and the\r\n\t\t\t\t// cell phone’s number.\r\n\t\t\t\t//\r\n\t\t\t\t// If you don’t add the “1”, you’ll receive a recorded announcement\r\n\t\t\t\t// asking you to redial using it.\r\n\t\t\t\t//\r\n\t\t\t\t// For example, if you are calling from the USA to a cell phone\r\n\t\t\t\t// in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\r\n\t\t\t\t// (Note that this is different to calling a land line in Mexico City\r\n\t\t\t\t// from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\r\n\t\t\t\t//\r\n\t\t\t\tthis.nationalNumberDigits = this.digits.slice(this.countryCallingCode.length)\r\n\t\t\t\t// this.extractNationalPrefix()\r\n\t\t\t\t//\r\n\t\t\t\t// Determine the country from country calling code and national number.\r\n\t\t\t\tthis.determineTheCountry()\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.nationalNumberDigits += nextDigits\r\n\t\t\t// If `defaultCallingCode` is set,\r\n\t\t\t// see if the `country` could be derived.\r\n\t\t\tif (!this.country) {\r\n\t\t\t\tthis.determineTheCountry()\r\n\t\t\t}\r\n\t\t\t// Some national prefixes are substrings of other national prefixes\r\n\t\t\t// (for the same country), therefore try to extract national prefix each time\r\n\t\t\t// because a longer national prefix might be available at some point in time.\r\n\t\t\tconst previousNationalPrefix = this.nationalPrefix\r\n\t\t\tthis.nationalNumberDigits = this.nationalPrefix + this.nationalNumberDigits\r\n\t\t\t// Re-extract national prefix.\r\n\t\t\tthis.extractNationalPrefix()\r\n\t\t\t// If another national prefix has been extracted.\r\n\t\t\tif (this.nationalPrefix !== previousNationalPrefix) {\r\n\t\t\t\t// National number has changed\r\n\t\t\t\t// (due to another national prefix been extracted)\r\n\t\t\t\t// therefore national number has changed\r\n\t\t\t\t// therefore reset all previous formatting data.\r\n\t\t\t\t// (and leading digits matching state)\r\n\t\t\t\tthis.initializePhoneNumberFormatsForCountry()\r\n\t\t\t\tthis.resetFormat()\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.nationalNumberDigits) {\r\n\t\t\t// Match the available formats by the currently available leading digits.\r\n\t\t\tthis.matchFormats(this.nationalNumberDigits)\r\n\t\t}\r\n\r\n\t\t// Format the phone number (given the next digits)\r\n\t\treturn this.formatNationalNumberWithNextDigits(nextDigits)\r\n\t}\r\n\r\n\tformatNationalNumberWithNextDigits(nextDigits) {\r\n\t\t// See if the phone number digits can be formatted as a complete phone number.\r\n\t\t// If not, use the results from `formatNextNationalNumberDigits()`,\r\n\t\t// which formats based on the chosen formatting pattern.\r\n\t\t// Attempting to format complete phone number first is how it's done\r\n\t\t// in Google's `libphonenumber`.\r\n\t\tconst formattedNumber = this.attemptToFormatCompletePhoneNumber()\r\n\r\n\t\t// Just because a phone number doesn't have a suitable format\r\n\t\t// that doesn't mean that the phone number is invalid,\r\n\t\t// because phone number formats only format phone numbers,\r\n\t\t// they don't validate them and some (rare) phone numbers\r\n\t\t// are meant to stay non-formatted.\r\n\t\tif (formattedNumber) {\r\n\t\t\treturn formattedNumber\r\n\t\t}\r\n\r\n\t\t// Format the next phone number digits\r\n\t\t// using the previously chosen phone number format.\r\n\t\t//\r\n\t\t// This is done here because if `attemptToFormatCompletePhoneNumber`\r\n\t\t// was placed before this call then the `template`\r\n\t\t// wouldn't reflect the situation correctly (and would therefore be inconsistent)\r\n\t\t//\r\n\t\tconst previouslyChosenFormat = this.chosenFormat\r\n\t\t// Choose a format from the list of matching ones.\r\n\t\tconst newlyChosenFormat = this.chooseFormat()\r\n\t\tif (newlyChosenFormat) {\r\n\t\t\tif (newlyChosenFormat === previouslyChosenFormat) {\r\n\t\t\t\t// If could format the next (current) digit\r\n\t\t\t\t// using the previously chosen phone number format\r\n\t\t\t\t// then return the formatted number so far.\r\n\t\t\t\t//\r\n\t\t\t\t// If no new phone number format could be chosen,\r\n\t\t\t\t// and couldn't format the supplied national number\r\n\t\t\t\t// using the previously chosen phone number pattern,\r\n\t\t\t\t// then return `undefined`.\r\n\t\t\t\t//\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(nextDigits)\r\n\t\t\t} else {\r\n\t\t\t\t// If a more appropriate phone number format\r\n\t\t\t\t// has been chosen for these \"leading digits\",\r\n\t\t\t\t// then format the national phone number (so far)\r\n\t\t\t\t// using the newly selected format.\r\n\t\t\t\t//\r\n\t\t\t\t// Will return `undefined` if it couldn't format\r\n\t\t\t\t// the supplied national number\r\n\t\t\t\t// using the selected phone number pattern.\r\n\t\t\t\t//\r\n\t\t\t\treturn this.reformatNationalNumber()\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tchooseFormat() {\r\n\t\t// When there are multiple available formats, the formatter uses the first\r\n\t\t// format where a formatting template could be created.\r\n\t\tfor (const format of this.matchingFormats) {\r\n\t\t\t// If this format is currently being used\r\n\t\t\t// and is still possible, then stick to it.\r\n\t\t\tif (this.chosenFormat === format) {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\tif (!this.createFormattingTemplate(format)) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tthis.chosenFormat = format\r\n\t\t\t// With a new formatting template, the matched position\r\n\t\t\t// using the old template needs to be reset.\r\n\t\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tif (!this.chosenFormat) {\r\n\t\t\t// No format matches the national phone number entered.\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t\treturn this.chosenFormat\r\n\t}\r\n\r\n\t// Formats each digit of the national phone number (so far)\r\n\t// using the selected format.\r\n\treformatNationalNumber() {\r\n\t\treturn this.formatNextNationalNumberDigits(\r\n\t\t\tthis.nationalPrefix + this.nationalNumberDigits\r\n\t\t)\r\n\t}\r\n\r\n\tinitializePhoneNumberFormatsForCountry() {\r\n\t\t// Get all \"eligible\" phone number formats for this country\r\n\t\tthis.matchingFormats = this.metadata.formats().filter((format) => {\r\n\t\t\t// Compared to `libphonenumber`'s code, the two \"Discard a few formats\r\n\t\t\t// that we know are not relevant based on the presence of the national prefix\"\r\n\t\t\t// checks have changed: the first one has been moved to `.matchFormats()`,\r\n\t\t\t// and the second one doesn't apply to this library because it doesn't deal with\r\n\t\t\t// \"incomplete\" phone numbers (for example, phone numbers, entered without \"area code\").\r\n\t\t\treturn ELIGIBLE_FORMAT_PATTERN.test(format.internationalFormat())\r\n\t\t})\r\n\t}\r\n\r\n\tmatchFormats(leadingDigits) {\r\n\t\t// \"leading digits\" pattern list starts with a\r\n\t\t// \"leading digits\" pattern fitting a maximum of 3 leading digits.\r\n\t\t// So, after a user inputs 3 digits of a national (significant) phone number\r\n\t\t// this national (significant) number can already be formatted.\r\n\t\t// The next \"leading digits\" pattern is for 4 leading digits max,\r\n\t\t// and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\r\n\r\n\t\t// This implementation is different from Google's\r\n\t\t// in that it searches for a fitting format\r\n\t\t// even if the user has entered less than\r\n\t\t// `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\r\n\t\t// Because some leading digit patterns already match for a single first digit.\r\n\t\tlet leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH\r\n\t\tif (leadingDigitsPatternIndex < 0) {\r\n\t\t\tleadingDigitsPatternIndex = 0\r\n\t\t}\r\n\r\n\t\tthis.matchingFormats = this.matchingFormats.filter((format) => {\r\n\t\t\t// If national prefix is mandatory for this phone number format\r\n\t\t\t// and the user didn't input the national prefix\r\n\t\t\t// then this phone number format isn't suitable.\r\n\t\t\tif (!this.isInternational() && !this.nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t\tconst leadingDigitsPatternsCount = format.leadingDigitsPatterns().length\r\n\t\t\t// If this format is not restricted to a certain\r\n\t\t\t// leading digits pattern then it fits.\r\n\t\t\tif (leadingDigitsPatternsCount === 0) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t\t// Start excluding any non-matching formats only when the\r\n\t\t\t// national number entered so far is at least 3 digits long,\r\n\t\t\t// otherwise format matching would give false negatives.\r\n\t\t\t// For example, when the digits entered so far are `2`\r\n\t\t\t// and the leading digits pattern is `21` –\r\n\t\t\t// it's quite obvious in this case that the format could be the one\r\n\t\t\t// but due to the absence of further digits it would give false negative.\r\n\t\t\tif (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t\t// If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are available\r\n\t\t\t// then format matching starts narrowing down the list of possible formats\r\n\t\t\t// (only previously matched formats are considered for next digits).\r\n\t\t\tleadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1)\r\n\t\t\tconst leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]\r\n\t\t\t// Brackets are required for `^` to be applied to\r\n\t\t\t// all or-ed (`|`) parts, not just the first one.\r\n\t\t\treturn new RegExp(`^(${leadingDigitsPattern})`).test(leadingDigits)\r\n\t\t})\r\n\r\n\t\t// If there was a phone number format chosen\r\n\t\t// and it no longer holds given the new leading digits then reset it.\r\n\t\t// The test for this `if` condition is marked as:\r\n\t\t// \"Reset a chosen format when it no longer holds given the new leading digits\".\r\n\t\t// To construct a valid test case for this one can find a country\r\n\t\t// in `PhoneNumberMetadata.xml` yielding one format for 3 `