lite-phone-input 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/index.ts","../../data/phone-countries.json","../../src/core/format.ts","../../src/core/countries.ts","../../src/core/validate.ts"],"sourcesContent":["export type {\n Country,\n CountryCode,\n CountryData,\n PhoneInputOptions,\n ValidationResult,\n} from './types';\n\nexport {\n getFlag,\n processCountryData,\n getCountryByCode,\n getCountryByDialCode,\n getAllCountries,\n getNationalNumber,\n} from './countries';\n\nexport {\n formatPhone,\n getCursorPosition,\n extractDigits,\n normalizeNumerals,\n} from './format';\n\nexport { validatePhone } from './validate';\n\nimport { getAllCountries } from './countries';\n\n/** Pre-processed array of all supported countries. */\nexport const countries = getAllCountries();\n","[\n {\n \"c\": \"AF\",\n \"n\": \"Afghanistan\",\n \"d\": \"93\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"AX\",\n \"n\": \"Åland Islands\",\n \"d\": \"358\",\n \"f\": \"XX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 10,\n \"pri\": 1\n },\n {\n \"c\": \"AL\",\n \"n\": \"Albania\",\n \"d\": \"355\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"DZ\",\n \"n\": \"Algeria\",\n \"d\": \"213\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"AS\",\n \"n\": \"American Samoa\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 3\n },\n {\n \"c\": \"AD\",\n \"n\": \"Andorra\",\n \"d\": \"376\",\n \"f\": \"XXX XXX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"AO\",\n \"n\": \"Angola\",\n \"d\": \"244\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"AI\",\n \"n\": \"Anguilla\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 2\n },\n {\n \"c\": \"AG\",\n \"n\": \"Antigua & Barbuda\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 1\n },\n {\n \"c\": \"AR\",\n \"n\": \"Argentina\",\n \"d\": \"54\",\n \"f\": \"XX XX XXXX XXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 11,\n \"pri\": 0\n },\n {\n \"c\": \"AM\",\n \"n\": \"Armenia\",\n \"d\": \"374\",\n \"f\": \"XX XXXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"AW\",\n \"n\": \"Aruba\",\n \"d\": \"297\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"AC\",\n \"n\": \"Ascension Island\",\n \"d\": \"247\",\n \"f\": null,\n \"p\": null,\n \"min\": 5,\n \"max\": 5,\n \"pri\": 0\n },\n {\n \"c\": \"AU\",\n \"n\": \"Australia\",\n \"d\": \"61\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"AT\",\n \"n\": \"Austria\",\n \"d\": \"43\",\n \"f\": \"XXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 4,\n \"max\": 13,\n \"pri\": 0\n },\n {\n \"c\": \"AZ\",\n \"n\": \"Azerbaijan\",\n \"d\": \"994\",\n \"f\": \"XX XXX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"BS\",\n \"n\": \"Bahamas\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 6\n },\n {\n \"c\": \"BH\",\n \"n\": \"Bahrain\",\n \"d\": \"973\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"BD\",\n \"n\": \"Bangladesh\",\n \"d\": \"880\",\n \"f\": \"XXXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"BB\",\n \"n\": \"Barbados\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 4\n },\n {\n \"c\": \"BY\",\n \"n\": \"Belarus\",\n \"d\": \"375\",\n \"f\": \"XX XXX XX XX\",\n \"p\": \"8\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"BE\",\n \"n\": \"Belgium\",\n \"d\": \"32\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"BZ\",\n \"n\": \"Belize\",\n \"d\": \"501\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"BJ\",\n \"n\": \"Benin\",\n \"d\": \"229\",\n \"f\": \"XX XX XX XX XX\",\n \"p\": null,\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"BM\",\n \"n\": \"Bermuda\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 5\n },\n {\n \"c\": \"BT\",\n \"n\": \"Bhutan\",\n \"d\": \"975\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"BO\",\n \"n\": \"Bolivia\",\n \"d\": \"591\",\n \"f\": \"XXXXXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"BA\",\n \"n\": \"Bosnia & Herzegovina\",\n \"d\": \"387\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"BW\",\n \"n\": \"Botswana\",\n \"d\": \"267\",\n \"f\": \"XX XXX XXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"BR\",\n \"n\": \"Brazil\",\n \"d\": \"55\",\n \"f\": \"XX XXXXX XXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 11,\n \"pri\": 0\n },\n {\n \"c\": \"IO\",\n \"n\": \"British Indian Ocean Territory\",\n \"d\": \"246\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"VG\",\n \"n\": \"British Virgin Islands\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 23\n },\n {\n \"c\": \"BN\",\n \"n\": \"Brunei\",\n \"d\": \"673\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"BG\",\n \"n\": \"Bulgaria\",\n \"d\": \"359\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"BF\",\n \"n\": \"Burkina Faso\",\n \"d\": \"226\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"BI\",\n \"n\": \"Burundi\",\n \"d\": \"257\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"KH\",\n \"n\": \"Cambodia\",\n \"d\": \"855\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"CM\",\n \"n\": \"Cameroon\",\n \"d\": \"237\",\n \"f\": \"X XX XX XX XX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"CA\",\n \"n\": \"Canada\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 7\n },\n {\n \"c\": \"CV\",\n \"n\": \"Cape Verde\",\n \"d\": \"238\",\n \"f\": \"XXX XX XX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"BQ\",\n \"n\": \"Caribbean Netherlands\",\n \"d\": \"599\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 1\n },\n {\n \"c\": \"KY\",\n \"n\": \"Cayman Islands\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 14\n },\n {\n \"c\": \"CF\",\n \"n\": \"Central African Republic\",\n \"d\": \"236\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"TD\",\n \"n\": \"Chad\",\n \"d\": \"235\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"CL\",\n \"n\": \"Chile\",\n \"d\": \"56\",\n \"f\": \"X XXXX XXXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"CN\",\n \"n\": \"China\",\n \"d\": \"86\",\n \"f\": \"XXX XXXX XXXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 11,\n \"pri\": 0\n },\n {\n \"c\": \"CX\",\n \"n\": \"Christmas Island\",\n \"d\": \"61\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 2\n },\n {\n \"c\": \"CC\",\n \"n\": \"Cocos (Keeling) Islands\",\n \"d\": \"61\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 1\n },\n {\n \"c\": \"CO\",\n \"n\": \"Colombia\",\n \"d\": \"57\",\n \"f\": \"XXX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"KM\",\n \"n\": \"Comoros\",\n \"d\": \"269\",\n \"f\": \"XXX XX XX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"CG\",\n \"n\": \"Congo - Brazzaville\",\n \"d\": \"242\",\n \"f\": \"XX XXX XXXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"CD\",\n \"n\": \"Congo - Kinshasa\",\n \"d\": \"243\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"CK\",\n \"n\": \"Cook Islands\",\n \"d\": \"682\",\n \"f\": \"XX XXX\",\n \"p\": null,\n \"min\": 5,\n \"max\": 5,\n \"pri\": 0\n },\n {\n \"c\": \"CR\",\n \"n\": \"Costa Rica\",\n \"d\": \"506\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"CI\",\n \"n\": \"Côte d’Ivoire\",\n \"d\": \"225\",\n \"f\": \"XX XX XX XXXX\",\n \"p\": null,\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"HR\",\n \"n\": \"Croatia\",\n \"d\": \"385\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"CU\",\n \"n\": \"Cuba\",\n \"d\": \"53\",\n \"f\": \"X XXXXXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"CW\",\n \"n\": \"Curaçao\",\n \"d\": \"599\",\n \"f\": \"X XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"CY\",\n \"n\": \"Cyprus\",\n \"d\": \"357\",\n \"f\": \"XX XXXXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"CZ\",\n \"n\": \"Czechia\",\n \"d\": \"420\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"DK\",\n \"n\": \"Denmark\",\n \"d\": \"45\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"DJ\",\n \"n\": \"Djibouti\",\n \"d\": \"253\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"DM\",\n \"n\": \"Dominica\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 8\n },\n {\n \"c\": \"DO\",\n \"n\": \"Dominican Republic\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 9\n },\n {\n \"c\": \"EC\",\n \"n\": \"Ecuador\",\n \"d\": \"593\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"EG\",\n \"n\": \"Egypt\",\n \"d\": \"20\",\n \"f\": \"XX XXXXXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"SV\",\n \"n\": \"El Salvador\",\n \"d\": \"503\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"GQ\",\n \"n\": \"Equatorial Guinea\",\n \"d\": \"240\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"ER\",\n \"n\": \"Eritrea\",\n \"d\": \"291\",\n \"f\": \"X XXX XXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"EE\",\n \"n\": \"Estonia\",\n \"d\": \"372\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"SZ\",\n \"n\": \"Eswatini\",\n \"d\": \"268\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"ET\",\n \"n\": \"Ethiopia\",\n \"d\": \"251\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"FK\",\n \"n\": \"Falkland Islands\",\n \"d\": \"500\",\n \"f\": null,\n \"p\": null,\n \"min\": 5,\n \"max\": 5,\n \"pri\": 0\n },\n {\n \"c\": \"FO\",\n \"n\": \"Faroe Islands\",\n \"d\": \"298\",\n \"f\": \"XXXXXX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 6,\n \"pri\": 0\n },\n {\n \"c\": \"FJ\",\n \"n\": \"Fiji\",\n \"d\": \"679\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"FI\",\n \"n\": \"Finland\",\n \"d\": \"358\",\n \"f\": \"XX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 5,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"FR\",\n \"n\": \"France\",\n \"d\": \"33\",\n \"f\": \"X XX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"GF\",\n \"n\": \"French Guiana\",\n \"d\": \"594\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"PF\",\n \"n\": \"French Polynesia\",\n \"d\": \"689\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"GA\",\n \"n\": \"Gabon\",\n \"d\": \"241\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"GM\",\n \"n\": \"Gambia\",\n \"d\": \"220\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"GE\",\n \"n\": \"Georgia\",\n \"d\": \"995\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"DE\",\n \"n\": \"Germany\",\n \"d\": \"49\",\n \"f\": \"XXXX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 5,\n \"max\": 15,\n \"pri\": 0\n },\n {\n \"c\": \"GH\",\n \"n\": \"Ghana\",\n \"d\": \"233\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"GI\",\n \"n\": \"Gibraltar\",\n \"d\": \"350\",\n \"f\": \"XXX XXXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"GR\",\n \"n\": \"Greece\",\n \"d\": \"30\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": null,\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"GL\",\n \"n\": \"Greenland\",\n \"d\": \"299\",\n \"f\": \"XX XX XX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 6,\n \"pri\": 0\n },\n {\n \"c\": \"GD\",\n \"n\": \"Grenada\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 10\n },\n {\n \"c\": \"GP\",\n \"n\": \"Guadeloupe\",\n \"d\": \"590\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"GU\",\n \"n\": \"Guam\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 11\n },\n {\n \"c\": \"GT\",\n \"n\": \"Guatemala\",\n \"d\": \"502\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"GG\",\n \"n\": \"Guernsey\",\n \"d\": \"44\",\n \"f\": \"XXXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 1\n },\n {\n \"c\": \"GN\",\n \"n\": \"Guinea\",\n \"d\": \"224\",\n \"f\": \"XXX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"GW\",\n \"n\": \"Guinea-Bissau\",\n \"d\": \"245\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"GY\",\n \"n\": \"Guyana\",\n \"d\": \"592\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"HT\",\n \"n\": \"Haiti\",\n \"d\": \"509\",\n \"f\": \"XX XX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"HN\",\n \"n\": \"Honduras\",\n \"d\": \"504\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"HK\",\n \"n\": \"Hong Kong SAR China\",\n \"d\": \"852\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"HU\",\n \"n\": \"Hungary\",\n \"d\": \"36\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"06\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"IS\",\n \"n\": \"Iceland\",\n \"d\": \"354\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"IN\",\n \"n\": \"India\",\n \"d\": \"91\",\n \"f\": \"XXXXX XXXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"ID\",\n \"n\": \"Indonesia\",\n \"d\": \"62\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 12,\n \"pri\": 0\n },\n {\n \"c\": \"IR\",\n \"n\": \"Iran\",\n \"d\": \"98\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"IQ\",\n \"n\": \"Iraq\",\n \"d\": \"964\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"IE\",\n \"n\": \"Ireland\",\n \"d\": \"353\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"IM\",\n \"n\": \"Isle of Man\",\n \"d\": \"44\",\n \"f\": \"XXXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 2\n },\n {\n \"c\": \"IL\",\n \"n\": \"Israel\",\n \"d\": \"972\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 12,\n \"pri\": 0\n },\n {\n \"c\": \"IT\",\n \"n\": \"Italy\",\n \"d\": \"39\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 12,\n \"pri\": 0\n },\n {\n \"c\": \"JM\",\n \"n\": \"Jamaica\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 12\n },\n {\n \"c\": \"JP\",\n \"n\": \"Japan\",\n \"d\": \"81\",\n \"f\": \"XX XXXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"JE\",\n \"n\": \"Jersey\",\n \"d\": \"44\",\n \"f\": \"XXXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 3\n },\n {\n \"c\": \"JO\",\n \"n\": \"Jordan\",\n \"d\": \"962\",\n \"f\": \"X XXXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"KZ\",\n \"n\": \"Kazakhstan\",\n \"d\": \"7\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"8\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 1\n },\n {\n \"c\": \"KE\",\n \"n\": \"Kenya\",\n \"d\": \"254\",\n \"f\": \"XXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"KI\",\n \"n\": \"Kiribati\",\n \"d\": \"686\",\n \"f\": null,\n \"p\": \"0\",\n \"min\": 5,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"XK\",\n \"n\": \"Kosovo\",\n \"d\": \"383\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 12,\n \"pri\": 0\n },\n {\n \"c\": \"KW\",\n \"n\": \"Kuwait\",\n \"d\": \"965\",\n \"f\": \"XXX XXXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"KG\",\n \"n\": \"Kyrgyzstan\",\n \"d\": \"996\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"LA\",\n \"n\": \"Laos\",\n \"d\": \"856\",\n \"f\": \"XX XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"LV\",\n \"n\": \"Latvia\",\n \"d\": \"371\",\n \"f\": \"XX XXX XXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"LB\",\n \"n\": \"Lebanon\",\n \"d\": \"961\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"LS\",\n \"n\": \"Lesotho\",\n \"d\": \"266\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"LR\",\n \"n\": \"Liberia\",\n \"d\": \"231\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"LY\",\n \"n\": \"Libya\",\n \"d\": \"218\",\n \"f\": \"XX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"LI\",\n \"n\": \"Liechtenstein\",\n \"d\": \"423\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"LT\",\n \"n\": \"Lithuania\",\n \"d\": \"370\",\n \"f\": \"XXX XXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"LU\",\n \"n\": \"Luxembourg\",\n \"d\": \"352\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 4,\n \"max\": 11,\n \"pri\": 0\n },\n {\n \"c\": \"MO\",\n \"n\": \"Macao SAR China\",\n \"d\": \"853\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MG\",\n \"n\": \"Madagascar\",\n \"d\": \"261\",\n \"f\": \"XX XX XXX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"MW\",\n \"n\": \"Malawi\",\n \"d\": \"265\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"MY\",\n \"n\": \"Malaysia\",\n \"d\": \"60\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"MV\",\n \"n\": \"Maldives\",\n \"d\": \"960\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"ML\",\n \"n\": \"Mali\",\n \"d\": \"223\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MT\",\n \"n\": \"Malta\",\n \"d\": \"356\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MH\",\n \"n\": \"Marshall Islands\",\n \"d\": \"692\",\n \"f\": \"XXX XXXX\",\n \"p\": \"1\",\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"MQ\",\n \"n\": \"Martinique\",\n \"d\": \"596\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"MR\",\n \"n\": \"Mauritania\",\n \"d\": \"222\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MU\",\n \"n\": \"Mauritius\",\n \"d\": \"230\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"YT\",\n \"n\": \"Mayotte\",\n \"d\": \"262\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 1\n },\n {\n \"c\": \"MX\",\n \"n\": \"Mexico\",\n \"d\": \"52\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": null,\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"FM\",\n \"n\": \"Micronesia\",\n \"d\": \"691\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"MD\",\n \"n\": \"Moldova\",\n \"d\": \"373\",\n \"f\": \"XXX XX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MC\",\n \"n\": \"Monaco\",\n \"d\": \"377\",\n \"f\": \"X XX XX XX XX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"MN\",\n \"n\": \"Mongolia\",\n \"d\": \"976\",\n \"f\": \"XXXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"ME\",\n \"n\": \"Montenegro\",\n \"d\": \"382\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MS\",\n \"n\": \"Montserrat\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 17\n },\n {\n \"c\": \"MA\",\n \"n\": \"Morocco\",\n \"d\": \"212\",\n \"f\": \"X XX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"MZ\",\n \"n\": \"Mozambique\",\n \"d\": \"258\",\n \"f\": \"XX XXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"MM\",\n \"n\": \"Myanmar (Burma)\",\n \"d\": \"95\",\n \"f\": \"X XXX XXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"NA\",\n \"n\": \"Namibia\",\n \"d\": \"264\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"NR\",\n \"n\": \"Nauru\",\n \"d\": \"674\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"NP\",\n \"n\": \"Nepal\",\n \"d\": \"977\",\n \"f\": \"XXX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"NL\",\n \"n\": \"Netherlands\",\n \"d\": \"31\",\n \"f\": \"X XXXXXXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 11,\n \"pri\": 0\n },\n {\n \"c\": \"NC\",\n \"n\": \"New Caledonia\",\n \"d\": \"687\",\n \"f\": \"XX XX XX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 6,\n \"pri\": 0\n },\n {\n \"c\": \"NZ\",\n \"n\": \"New Zealand\",\n \"d\": \"64\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"NI\",\n \"n\": \"Nicaragua\",\n \"d\": \"505\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"NE\",\n \"n\": \"Niger\",\n \"d\": \"227\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"NG\",\n \"n\": \"Nigeria\",\n \"d\": \"234\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"NU\",\n \"n\": \"Niue\",\n \"d\": \"683\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 4,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"NF\",\n \"n\": \"Norfolk Island\",\n \"d\": \"672\",\n \"f\": \"X XXXXX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 6,\n \"pri\": 0\n },\n {\n \"c\": \"KP\",\n \"n\": \"North Korea\",\n \"d\": \"850\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"MK\",\n \"n\": \"North Macedonia\",\n \"d\": \"389\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"MP\",\n \"n\": \"Northern Mariana Islands\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 16\n },\n {\n \"c\": \"NO\",\n \"n\": \"Norway\",\n \"d\": \"47\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"OM\",\n \"n\": \"Oman\",\n \"d\": \"968\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"PK\",\n \"n\": \"Pakistan\",\n \"d\": \"92\",\n \"f\": \"XXX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"PW\",\n \"n\": \"Palau\",\n \"d\": \"680\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"PS\",\n \"n\": \"Palestinian Territories\",\n \"d\": \"970\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"PA\",\n \"n\": \"Panama\",\n \"d\": \"507\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"PG\",\n \"n\": \"Papua New Guinea\",\n \"d\": \"675\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"PY\",\n \"n\": \"Paraguay\",\n \"d\": \"595\",\n \"f\": \"XXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"PE\",\n \"n\": \"Peru\",\n \"d\": \"51\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"PH\",\n \"n\": \"Philippines\",\n \"d\": \"63\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"PL\",\n \"n\": \"Poland\",\n \"d\": \"48\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"PT\",\n \"n\": \"Portugal\",\n \"d\": \"351\",\n \"f\": \"XXX XXX XXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"PR\",\n \"n\": \"Puerto Rico\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 18\n },\n {\n \"c\": \"QA\",\n \"n\": \"Qatar\",\n \"d\": \"974\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"RE\",\n \"n\": \"Réunion\",\n \"d\": \"262\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"RO\",\n \"n\": \"Romania\",\n \"d\": \"40\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"RU\",\n \"n\": \"Russia\",\n \"d\": \"7\",\n \"f\": \"XXX XXX XX XX\",\n \"p\": \"8\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"RW\",\n \"n\": \"Rwanda\",\n \"d\": \"250\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"WS\",\n \"n\": \"Samoa\",\n \"d\": \"685\",\n \"f\": \"XX XXXXX\",\n \"p\": null,\n \"min\": 5,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"SM\",\n \"n\": \"San Marino\",\n \"d\": \"378\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"ST\",\n \"n\": \"São Tomé & Príncipe\",\n \"d\": \"239\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"SA\",\n \"n\": \"Saudi Arabia\",\n \"d\": \"966\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"SN\",\n \"n\": \"Senegal\",\n \"d\": \"221\",\n \"f\": \"XX XXX XX XX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"RS\",\n \"n\": \"Serbia\",\n \"d\": \"381\",\n \"f\": \"XX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 12,\n \"pri\": 0\n },\n {\n \"c\": \"SC\",\n \"n\": \"Seychelles\",\n \"d\": \"248\",\n \"f\": \"X XXX XXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"SL\",\n \"n\": \"Sierra Leone\",\n \"d\": \"232\",\n \"f\": \"XX XXXXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"SG\",\n \"n\": \"Singapore\",\n \"d\": \"65\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"SX\",\n \"n\": \"Sint Maarten\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 19\n },\n {\n \"c\": \"SK\",\n \"n\": \"Slovakia\",\n \"d\": \"421\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"SI\",\n \"n\": \"Slovenia\",\n \"d\": \"386\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"SB\",\n \"n\": \"Solomon Islands\",\n \"d\": \"677\",\n \"f\": \"XX XXXXX\",\n \"p\": null,\n \"min\": 5,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"SO\",\n \"n\": \"Somalia\",\n \"d\": \"252\",\n \"f\": \"X XXXXXXX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"ZA\",\n \"n\": \"South Africa\",\n \"d\": \"27\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 5,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"KR\",\n \"n\": \"South Korea\",\n \"d\": \"82\",\n \"f\": \"XXXX XXXX\",\n \"p\": \"0\",\n \"min\": 5,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"SS\",\n \"n\": \"South Sudan\",\n \"d\": \"211\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"ES\",\n \"n\": \"Spain\",\n \"d\": \"34\",\n \"f\": \"XXX XX XX XX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"LK\",\n \"n\": \"Sri Lanka\",\n \"d\": \"94\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"BL\",\n \"n\": \"St. Barthélemy\",\n \"d\": \"590\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 1\n },\n {\n \"c\": \"SH\",\n \"n\": \"St. Helena\",\n \"d\": \"290\",\n \"f\": null,\n \"p\": null,\n \"min\": 4,\n \"max\": 5,\n \"pri\": 0\n },\n {\n \"c\": \"KN\",\n \"n\": \"St. Kitts & Nevis\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 13\n },\n {\n \"c\": \"LC\",\n \"n\": \"St. Lucia\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 15\n },\n {\n \"c\": \"MF\",\n \"n\": \"St. Martin\",\n \"d\": \"590\",\n \"f\": \"XXX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 2\n },\n {\n \"c\": \"PM\",\n \"n\": \"St. Pierre & Miquelon\",\n \"d\": \"508\",\n \"f\": \"XX XX XX\",\n \"p\": \"0\",\n \"min\": 6,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"VC\",\n \"n\": \"St. Vincent & Grenadines\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 22\n },\n {\n \"c\": \"SD\",\n \"n\": \"Sudan\",\n \"d\": \"249\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"SR\",\n \"n\": \"Suriname\",\n \"d\": \"597\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"SJ\",\n \"n\": \"Svalbard & Jan Mayen\",\n \"d\": \"47\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 1\n },\n {\n \"c\": \"SE\",\n \"n\": \"Sweden\",\n \"d\": \"46\",\n \"f\": \"XX XXX XX XX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"CH\",\n \"n\": \"Switzerland\",\n \"d\": \"41\",\n \"f\": \"XX XXX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"SY\",\n \"n\": \"Syria\",\n \"d\": \"963\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"TW\",\n \"n\": \"Taiwan\",\n \"d\": \"886\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"TJ\",\n \"n\": \"Tajikistan\",\n \"d\": \"992\",\n \"f\": \"XX XXX XXXX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"TZ\",\n \"n\": \"Tanzania\",\n \"d\": \"255\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"TH\",\n \"n\": \"Thailand\",\n \"d\": \"66\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"TL\",\n \"n\": \"Timor-Leste\",\n \"d\": \"670\",\n \"f\": \"XXXX XXXX\",\n \"p\": null,\n \"min\": 7,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"TG\",\n \"n\": \"Togo\",\n \"d\": \"228\",\n \"f\": \"XX XX XX XX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"TK\",\n \"n\": \"Tokelau\",\n \"d\": \"690\",\n \"f\": null,\n \"p\": null,\n \"min\": 4,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"TO\",\n \"n\": \"Tonga\",\n \"d\": \"676\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 5,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"TT\",\n \"n\": \"Trinidad & Tobago\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 21\n },\n {\n \"c\": \"TA\",\n \"n\": \"Tristan da Cunha\",\n \"d\": \"290\",\n \"f\": null,\n \"p\": null,\n \"min\": 4,\n \"max\": 4,\n \"pri\": 1\n },\n {\n \"c\": \"TN\",\n \"n\": \"Tunisia\",\n \"d\": \"216\",\n \"f\": \"XX XXX XXX\",\n \"p\": null,\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"TR\",\n \"n\": \"Türkiye\",\n \"d\": \"90\",\n \"f\": \"XXX XXX XX XX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"TM\",\n \"n\": \"Turkmenistan\",\n \"d\": \"993\",\n \"f\": \"XX XXXXXX\",\n \"p\": \"8\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"TC\",\n \"n\": \"Turks & Caicos Islands\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 20\n },\n {\n \"c\": \"TV\",\n \"n\": \"Tuvalu\",\n \"d\": \"688\",\n \"f\": \"XX XXXX\",\n \"p\": null,\n \"min\": 5,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"VI\",\n \"n\": \"U.S. Virgin Islands\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 24\n },\n {\n \"c\": \"UG\",\n \"n\": \"Uganda\",\n \"d\": \"256\",\n \"f\": \"XXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"UA\",\n \"n\": \"Ukraine\",\n \"d\": \"380\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"AE\",\n \"n\": \"United Arab Emirates\",\n \"d\": \"971\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"GB\",\n \"n\": \"United Kingdom\",\n \"d\": \"44\",\n \"f\": \"XXXX XXXXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"US\",\n \"n\": \"United States\",\n \"d\": \"1\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": \"1\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"UY\",\n \"n\": \"Uruguay\",\n \"d\": \"598\",\n \"f\": \"XX XXX XXX\",\n \"p\": \"0\",\n \"min\": 8,\n \"max\": 8,\n \"pri\": 0\n },\n {\n \"c\": \"UZ\",\n \"n\": \"Uzbekistan\",\n \"d\": \"998\",\n \"f\": \"XX XXX XX XX\",\n \"p\": null,\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"VU\",\n \"n\": \"Vanuatu\",\n \"d\": \"678\",\n \"f\": \"XXX XXXX\",\n \"p\": null,\n \"min\": 5,\n \"max\": 7,\n \"pri\": 0\n },\n {\n \"c\": \"VA\",\n \"n\": \"Vatican City\",\n \"d\": \"39\",\n \"f\": \"XXX XXX XXXX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 11,\n \"pri\": 1\n },\n {\n \"c\": \"VE\",\n \"n\": \"Venezuela\",\n \"d\": \"58\",\n \"f\": \"XXX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 10,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"VN\",\n \"n\": \"Vietnam\",\n \"d\": \"84\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 10,\n \"pri\": 0\n },\n {\n \"c\": \"WF\",\n \"n\": \"Wallis & Futuna\",\n \"d\": \"681\",\n \"f\": \"XX XX XX\",\n \"p\": null,\n \"min\": 6,\n \"max\": 6,\n \"pri\": 0\n },\n {\n \"c\": \"EH\",\n \"n\": \"Western Sahara\",\n \"d\": \"212\",\n \"f\": \"X XX XX XX XX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 1\n },\n {\n \"c\": \"YE\",\n \"n\": \"Yemen\",\n \"d\": \"967\",\n \"f\": \"XXX XXX XXX\",\n \"p\": \"0\",\n \"min\": 7,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"ZM\",\n \"n\": \"Zambia\",\n \"d\": \"260\",\n \"f\": \"XX XXXXXXX\",\n \"p\": \"0\",\n \"min\": 9,\n \"max\": 9,\n \"pri\": 0\n },\n {\n \"c\": \"ZW\",\n \"n\": \"Zimbabwe\",\n \"d\": \"263\",\n \"f\": \"XX XXX XXXX\",\n \"p\": \"0\",\n \"min\": 5,\n \"max\": 10,\n \"pri\": 0\n }\n]\n","const TRAILING_SEP = /[\\s\\-]+$/;\nconst FALLBACK_GROUP = /(.{4})(?=.)/g;\nconst NON_ASCII_DIGITS = /[\\u0660-\\u0669\\u06F0-\\u06F9]/g;\n\nfunction isDigit(ch: string): boolean {\n const c = ch.charCodeAt(0);\n return c >= 48 && c <= 57;\n}\n\n/**\n * Format digits according to a country's format mask.\n * Mask uses X for digit positions, spaces/dashes as separators.\n * Overflow digits are appended unformatted.\n * Falls back to grouping every 4 digits when no mask is provided.\n */\nexport function formatPhone(digits: string, pattern: string | null): string {\n if (!digits) return '';\n\n if (!pattern) {\n return digits.replace(FALLBACK_GROUP, '$1 ');\n }\n\n let result = '';\n let digitIndex = 0;\n\n for (const char of pattern) {\n if (digitIndex >= digits.length) break;\n\n if (char === 'X') {\n result += digits[digitIndex++];\n } else {\n result += char;\n }\n }\n\n if (digitIndex < digits.length) {\n result += digits.slice(digitIndex);\n }\n\n return result.replace(TRAILING_SEP, '');\n}\n\n/**\n * Calculate new cursor position after formatting.\n * Counts digits before old cursor, finds same digit-count position in new value.\n */\nexport function getCursorPosition(\n oldValue: string,\n oldCursor: number,\n newValue: string,\n): number {\n let digitsBeforeCursor = 0;\n for (let i = 0; i < oldCursor && i < oldValue.length; i++) {\n if (isDigit(oldValue[i])) {\n digitsBeforeCursor++;\n }\n }\n\n let digitCount = 0;\n for (let i = 0; i < newValue.length; i++) {\n if (isDigit(newValue[i])) {\n digitCount++;\n }\n if (digitCount === digitsBeforeCursor) {\n return i + 1;\n }\n }\n\n return newValue.length;\n}\n\nexport function extractDigits(value: string): string {\n return value.replace(/\\D/g, '');\n}\n\n/**\n * Normalize Arabic-Indic (٠-٩) and Persian (۰-۹) numerals to ASCII (0-9).\n */\nexport function normalizeNumerals(value: string): string {\n return value.replace(NON_ASCII_DIGITS, (c) => {\n const code = c.charCodeAt(0);\n return code <= 0x0669\n ? String(code - 0x0660)\n : String(code - 0x06f0);\n });\n}\n","import type { Country, CountryData } from './types';\nimport rawData from '../../data/phone-countries.json';\nimport { extractDigits, normalizeNumerals } from './format';\n\n/**\n * Compute flag emoji from ISO 3166-1 alpha-2 code.\n * Each letter is offset to a regional indicator symbol: A→🇦, B→🇧, etc.\n */\nexport function getFlag(code: string): string {\n return String.fromCodePoint(\n ...[...code.toUpperCase()].map((c) => 0x1f1e6 + c.charCodeAt(0) - 65),\n );\n}\n\nexport function processCountryData(raw: CountryData[]): Country[] {\n return raw.map((d) => ({\n code: d.c,\n name: d.n,\n dialCode: d.d,\n format: d.f,\n nationalPrefix: d.p,\n minLength: d.min,\n maxLength: d.max,\n priority: d.pri,\n }));\n}\n\nexport function getCountryByCode(\n countries: Country[],\n code: string,\n): Country | undefined {\n const upper = code.toUpperCase();\n return countries.find((c) => c.code === upper);\n}\n\n// Lazy singleton for processed country data\nlet _allCountries: Country[] | null = null;\nexport function getAllCountries(): Country[] {\n if (!_allCountries) _allCountries = processCountryData(rawData as CountryData[]);\n return _allCountries;\n}\n\n/** Returns the highest-priority country for a shared dial code (e.g., US for +1) */\nexport function getCountryByDialCode(\n countries: Country[],\n dialCode: string,\n): Country | undefined {\n let best: Country | undefined;\n for (const c of countries) {\n if (c.dialCode !== dialCode) continue;\n if (!best || c.priority < best.priority) best = c;\n }\n return best;\n}\n\n/** Extract national number from an E.164 string, stripping dial code and national prefix. */\nexport function getNationalNumber(e164: string, countryCode?: string): string {\n if (!e164) return '';\n\n const all = getAllCountries();\n const normalized = normalizeNumerals(e164);\n const digits = extractDigits(normalized);\n\n let country: Country | undefined;\n\n if (countryCode) {\n country = getCountryByCode(all, countryCode);\n }\n\n if (!country && normalized.startsWith('+')) {\n for (let len = Math.min(4, digits.length); len >= 1; len--) {\n const prefix = digits.slice(0, len);\n const match = getCountryByDialCode(all, prefix);\n if (match) {\n country = match;\n break;\n }\n }\n }\n\n if (!country) return digits;\n\n let national = digits;\n if (normalized.startsWith('+') && digits.startsWith(country.dialCode)) {\n national = digits.slice(country.dialCode.length);\n }\n\n if (country.nationalPrefix && national.startsWith(country.nationalPrefix)) {\n const remaining = national.slice(country.nationalPrefix.length);\n if (remaining.length > 0) {\n national = remaining;\n }\n }\n\n return national;\n}\n","import type { Country, ValidationResult } from './types';\n\n/**\n * Validate a phone number's digit count against a country's min/max.\n * Digits should be the national number (excluding dial code and national prefix).\n */\nexport function validatePhone(\n digits: string,\n country: Country,\n): ValidationResult {\n const currentDigits = digits.length;\n const { minLength, maxLength } = country;\n\n if (currentDigits < minLength) {\n return {\n valid: false,\n reason: 'too_short',\n minDigits: minLength,\n maxDigits: maxLength,\n currentDigits,\n };\n }\n\n if (currentDigits > maxLength) {\n return {\n valid: false,\n reason: 'too_long',\n minDigits: minLength,\n maxDigits: maxLength,\n currentDigits,\n };\n }\n\n return {\n valid: true,\n minDigits: minLength,\n maxDigits: maxLength,\n currentDigits,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA,EACE;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,GAAK;AAAA,IAC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","names":["countries"]}
@@ -0,0 +1,108 @@
1
+ /** ISO 3166-1 alpha-2 country code (uppercase) */
2
+ type CountryCode = string;
3
+ /** Country data as stored in phone-countries.json */
4
+ interface CountryData {
5
+ /** ISO 3166-1 alpha-2 code */
6
+ c: string;
7
+ /** English country name */
8
+ n: string;
9
+ /** Dial code without + */
10
+ d: string;
11
+ /** Format mask (X = digit) */
12
+ f: string;
13
+ /** National prefix (e.g., "0") or null */
14
+ p: string | null;
15
+ /** Minimum national number digit count */
16
+ min: number;
17
+ /** Maximum national number digit count */
18
+ max: number;
19
+ /** Priority for shared dial codes (0 = main) */
20
+ pri: number;
21
+ }
22
+ /** Processed country object used at runtime */
23
+ interface Country {
24
+ code: CountryCode;
25
+ name: string;
26
+ dialCode: string;
27
+ format: string;
28
+ nationalPrefix: string | null;
29
+ minLength: number;
30
+ maxLength: number;
31
+ priority: number;
32
+ }
33
+ interface ValidationResult {
34
+ valid: boolean;
35
+ reason?: 'too_short' | 'too_long';
36
+ minDigits: number;
37
+ maxDigits: number;
38
+ currentDigits: number;
39
+ }
40
+ interface PhoneInputOptions {
41
+ defaultCountry: string;
42
+ allowedCountries?: string[];
43
+ excludedCountries?: string[];
44
+ preferredCountries?: string[];
45
+ allowDropdown?: boolean;
46
+ formatAsYouType?: boolean;
47
+ strict?: boolean;
48
+ separateDialCode?: boolean;
49
+ placeholder?: string | 'auto';
50
+ disabled?: boolean;
51
+ locale?: string;
52
+ renderFlag?: (countryCode: string) => string;
53
+ hiddenInput?: {
54
+ phone?: string;
55
+ country?: string;
56
+ };
57
+ inputAttributes?: Record<string, string>;
58
+ value?: string;
59
+ containerClass?: string;
60
+ dropdownContainer?: HTMLElement;
61
+ onChange?: (e164: string, country: Country, validation: ValidationResult) => void;
62
+ onCountryChange?: (country: Country) => void;
63
+ onValidationChange?: (validation: ValidationResult) => void;
64
+ onDropdownOpen?: () => void;
65
+ onDropdownClose?: () => void;
66
+ }
67
+
68
+ /**
69
+ * Compute flag emoji from ISO 3166-1 alpha-2 code.
70
+ * Each letter is offset to a regional indicator symbol: A→🇦, B→🇧, etc.
71
+ */
72
+ declare function getFlag(code: string): string;
73
+ declare function processCountryData(raw: CountryData[]): Country[];
74
+ declare function getCountryByCode(countries: Country[], code: string): Country | undefined;
75
+ declare function getAllCountries(): Country[];
76
+ /** Returns the highest-priority country for a shared dial code (e.g., US for +1) */
77
+ declare function getCountryByDialCode(countries: Country[], dialCode: string): Country | undefined;
78
+ /** Extract national number from an E.164 string, stripping dial code and national prefix. */
79
+ declare function getNationalNumber(e164: string, countryCode?: string): string;
80
+
81
+ /**
82
+ * Format digits according to a country's format mask.
83
+ * Mask uses X for digit positions, spaces/dashes as separators.
84
+ * Overflow digits are appended unformatted.
85
+ * Falls back to grouping every 4 digits when no mask is provided.
86
+ */
87
+ declare function formatPhone(digits: string, pattern: string | null): string;
88
+ /**
89
+ * Calculate new cursor position after formatting.
90
+ * Counts digits before old cursor, finds same digit-count position in new value.
91
+ */
92
+ declare function getCursorPosition(oldValue: string, oldCursor: number, newValue: string): number;
93
+ declare function extractDigits(value: string): string;
94
+ /**
95
+ * Normalize Arabic-Indic (٠-٩) and Persian (۰-۹) numerals to ASCII (0-9).
96
+ */
97
+ declare function normalizeNumerals(value: string): string;
98
+
99
+ /**
100
+ * Validate a phone number's digit count against a country's min/max.
101
+ * Digits should be the national number (excluding dial code and national prefix).
102
+ */
103
+ declare function validatePhone(digits: string, country: Country): ValidationResult;
104
+
105
+ /** Pre-processed array of all supported countries. */
106
+ declare const countries: Country[];
107
+
108
+ export { type Country, type CountryCode, type CountryData, type PhoneInputOptions, type ValidationResult, countries, extractDigits, formatPhone, getAllCountries, getCountryByCode, getCountryByDialCode, getCursorPosition, getFlag, getNationalNumber, normalizeNumerals, processCountryData, validatePhone };
@@ -0,0 +1,108 @@
1
+ /** ISO 3166-1 alpha-2 country code (uppercase) */
2
+ type CountryCode = string;
3
+ /** Country data as stored in phone-countries.json */
4
+ interface CountryData {
5
+ /** ISO 3166-1 alpha-2 code */
6
+ c: string;
7
+ /** English country name */
8
+ n: string;
9
+ /** Dial code without + */
10
+ d: string;
11
+ /** Format mask (X = digit) */
12
+ f: string;
13
+ /** National prefix (e.g., "0") or null */
14
+ p: string | null;
15
+ /** Minimum national number digit count */
16
+ min: number;
17
+ /** Maximum national number digit count */
18
+ max: number;
19
+ /** Priority for shared dial codes (0 = main) */
20
+ pri: number;
21
+ }
22
+ /** Processed country object used at runtime */
23
+ interface Country {
24
+ code: CountryCode;
25
+ name: string;
26
+ dialCode: string;
27
+ format: string;
28
+ nationalPrefix: string | null;
29
+ minLength: number;
30
+ maxLength: number;
31
+ priority: number;
32
+ }
33
+ interface ValidationResult {
34
+ valid: boolean;
35
+ reason?: 'too_short' | 'too_long';
36
+ minDigits: number;
37
+ maxDigits: number;
38
+ currentDigits: number;
39
+ }
40
+ interface PhoneInputOptions {
41
+ defaultCountry: string;
42
+ allowedCountries?: string[];
43
+ excludedCountries?: string[];
44
+ preferredCountries?: string[];
45
+ allowDropdown?: boolean;
46
+ formatAsYouType?: boolean;
47
+ strict?: boolean;
48
+ separateDialCode?: boolean;
49
+ placeholder?: string | 'auto';
50
+ disabled?: boolean;
51
+ locale?: string;
52
+ renderFlag?: (countryCode: string) => string;
53
+ hiddenInput?: {
54
+ phone?: string;
55
+ country?: string;
56
+ };
57
+ inputAttributes?: Record<string, string>;
58
+ value?: string;
59
+ containerClass?: string;
60
+ dropdownContainer?: HTMLElement;
61
+ onChange?: (e164: string, country: Country, validation: ValidationResult) => void;
62
+ onCountryChange?: (country: Country) => void;
63
+ onValidationChange?: (validation: ValidationResult) => void;
64
+ onDropdownOpen?: () => void;
65
+ onDropdownClose?: () => void;
66
+ }
67
+
68
+ /**
69
+ * Compute flag emoji from ISO 3166-1 alpha-2 code.
70
+ * Each letter is offset to a regional indicator symbol: A→🇦, B→🇧, etc.
71
+ */
72
+ declare function getFlag(code: string): string;
73
+ declare function processCountryData(raw: CountryData[]): Country[];
74
+ declare function getCountryByCode(countries: Country[], code: string): Country | undefined;
75
+ declare function getAllCountries(): Country[];
76
+ /** Returns the highest-priority country for a shared dial code (e.g., US for +1) */
77
+ declare function getCountryByDialCode(countries: Country[], dialCode: string): Country | undefined;
78
+ /** Extract national number from an E.164 string, stripping dial code and national prefix. */
79
+ declare function getNationalNumber(e164: string, countryCode?: string): string;
80
+
81
+ /**
82
+ * Format digits according to a country's format mask.
83
+ * Mask uses X for digit positions, spaces/dashes as separators.
84
+ * Overflow digits are appended unformatted.
85
+ * Falls back to grouping every 4 digits when no mask is provided.
86
+ */
87
+ declare function formatPhone(digits: string, pattern: string | null): string;
88
+ /**
89
+ * Calculate new cursor position after formatting.
90
+ * Counts digits before old cursor, finds same digit-count position in new value.
91
+ */
92
+ declare function getCursorPosition(oldValue: string, oldCursor: number, newValue: string): number;
93
+ declare function extractDigits(value: string): string;
94
+ /**
95
+ * Normalize Arabic-Indic (٠-٩) and Persian (۰-۹) numerals to ASCII (0-9).
96
+ */
97
+ declare function normalizeNumerals(value: string): string;
98
+
99
+ /**
100
+ * Validate a phone number's digit count against a country's min/max.
101
+ * Digits should be the national number (excluding dial code and national prefix).
102
+ */
103
+ declare function validatePhone(digits: string, country: Country): ValidationResult;
104
+
105
+ /** Pre-processed array of all supported countries. */
106
+ declare const countries: Country[];
107
+
108
+ export { type Country, type CountryCode, type CountryData, type PhoneInputOptions, type ValidationResult, countries, extractDigits, formatPhone, getAllCountries, getCountryByCode, getCountryByDialCode, getCursorPosition, getFlag, getNationalNumber, normalizeNumerals, processCountryData, validatePhone };