My working unpac space for OCaml projects in development
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge opam/patches/ISO3166

+6797
+1
vendor/opam/ISO3166/.gitignore
··· 1 + _build
+1
vendor/opam/ISO3166/.ocamlformat
··· 1 + version=0.24.1
+3
vendor/opam/ISO3166/CHANGES.md
··· 1 + ## 0.1.0 (2022-08-27) Cambridge 2 + 3 + - Initial public release
+31
vendor/opam/ISO3166/ISO3166.opam
··· 1 + opam-version: "2.0" 2 + synopsis: "OCaml library for working with ISO3166" 3 + description: "This OCaml library provides an interface to the ISO3166 standard (a.k.a country codes)" 4 + maintainer: ["patrick@sirref.org"] 5 + authors: ["Patrick Ferris"] 6 + license: "MIT" 7 + homepage: "https://github.com/geocaml/iso3166" 8 + bug-reports: "https://github.com/geocaml/iso3166/issues" 9 + depends: [ 10 + "ocaml" {>= "4.03"} 11 + "dune" {>= "2.9"} 12 + "mdx" {with-test} 13 + "odoc" {with-doc} 14 + ] 15 + build: [ 16 + ["dune" "subst"] {dev} 17 + [ 18 + "dune" 19 + "build" 20 + "-p" 21 + name 22 + "-j" 23 + jobs 24 + "--promote-install-files=false" 25 + "@install" 26 + "@runtest" {with-test} 27 + "@doc" {with-doc} 28 + ] 29 + ["dune" "install" "-p" name "--create-install-files" name] 30 + ] 31 + dev-repo: "git+https://github.com/geocaml/iso3166.git"
+28
vendor/opam/ISO3166/LICENSE.md
··· 1 + # OCaml Source Code 2 + 3 + The MIT License 4 + 5 + Copyright (c) 2022 Patrick Ferris <patrick@sirref.org> 6 + 7 + Permission is hereby granted, free of charge, to any person obtaining a copy 8 + of this software and associated documentation files (the "Software"), to deal 9 + in the Software without restriction, including without limitation the rights 10 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 + copies of the Software, and to permit persons to whom the Software is 12 + furnished to do so, subject to the following conditions: 13 + 14 + The above copyright notice and this permission notice shall be included in 15 + all copies or substantial portions of the Software. 16 + 17 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 + THE SOFTWARE. 24 + 25 + # Data 26 + 27 + ![license](https://i.creativecommons.org/l/by-sa/4.0/88x31.png) 28 + This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/).
+33
vendor/opam/ISO3166/README.md
··· 1 + OCaml ISO3166 2 + ------------- 3 + 4 + This library provides a pure OCaml interface to working with the ISO 3166 standard (a.k.a country codes). 5 + 6 + ```ocaml 7 + # ISO3166.alpha3_to_country `IRL |> ISO3166.Country.name;; 8 + - : string = "Ireland" 9 + ``` 10 + 11 + The `Country` module already contains all of the countries for convenience named after the alpha2 country code. 12 + 13 + ```ocaml 14 + # ISO3166.Country.fr |> ISO3166.Country.name;; 15 + - : string = "France" 16 + # ISO3166.Country.fr |> ISO3166.Country.numeric |> ISO3166.numeric_to_string;; 17 + - : string = "250" 18 + ``` 19 + 20 + The original use-case for this library was to encode the conversion from alpha2 country codes to strings. Lots of public APIs that provide country-specific information use ISO3166 to distinguish between countries. 21 + 22 + ```ocaml 23 + # ISO3166.alpha2_to_string `ES;; 24 + - : string = "ES" 25 + ``` 26 + 27 + ## Data Source 28 + 29 + The data that generates the OCaml file comes from https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes/commit/6741ae83a08ce1802d22849db0a944d99e254bae which has the following disclaimer which applies to this library too. 30 + 31 + > Please check the data independently for accuracy before using it in any system and for any purpose 32 + > 33 + > Although I've tried to ensure the data is as accurate as possible, the data is not authoritative, and so should not be considered accurate
+1
vendor/opam/ISO3166/doc/prelude.txt
··· 1 + #require "ISO3166";;
+4
vendor/opam/ISO3166/dune
··· 1 + (mdx 2 + (files README.md) 3 + (preludes doc/prelude.txt) 4 + (packages ISO3166))
+3
vendor/opam/ISO3166/dune-project
··· 1 + (lang dune 2.9) 2 + (name ISO3166) 3 + (using mdx 0.1)
+250
vendor/opam/ISO3166/src/data.csv
··· 1 + name,alpha-2,alpha-3,country-code,iso_3166-2,region,sub-region,intermediate-region,region-code,sub-region-code,intermediate-region-code 2 + Afghanistan,AF,AFG,004,ISO 3166-2:AF,Asia,Southern Asia,"",142,034,"" 3 + Åland Islands,AX,ALA,248,ISO 3166-2:AX,Europe,Northern Europe,"",150,154,"" 4 + Albania,AL,ALB,008,ISO 3166-2:AL,Europe,Southern Europe,"",150,039,"" 5 + Algeria,DZ,DZA,012,ISO 3166-2:DZ,Africa,Northern Africa,"",002,015,"" 6 + American Samoa,AS,ASM,016,ISO 3166-2:AS,Oceania,Polynesia,"",009,061,"" 7 + Andorra,AD,AND,020,ISO 3166-2:AD,Europe,Southern Europe,"",150,039,"" 8 + Angola,AO,AGO,024,ISO 3166-2:AO,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 9 + Anguilla,AI,AIA,660,ISO 3166-2:AI,Americas,Latin America and the Caribbean,Caribbean,019,419,029 10 + Antarctica,AQ,ATA,010,ISO 3166-2:AQ,"","","","","","" 11 + Antigua and Barbuda,AG,ATG,028,ISO 3166-2:AG,Americas,Latin America and the Caribbean,Caribbean,019,419,029 12 + Argentina,AR,ARG,032,ISO 3166-2:AR,Americas,Latin America and the Caribbean,South America,019,419,005 13 + Armenia,AM,ARM,051,ISO 3166-2:AM,Asia,Western Asia,"",142,145,"" 14 + Aruba,AW,ABW,533,ISO 3166-2:AW,Americas,Latin America and the Caribbean,Caribbean,019,419,029 15 + Australia,AU,AUS,036,ISO 3166-2:AU,Oceania,Australia and New Zealand,"",009,053,"" 16 + Austria,AT,AUT,040,ISO 3166-2:AT,Europe,Western Europe,"",150,155,"" 17 + Azerbaijan,AZ,AZE,031,ISO 3166-2:AZ,Asia,Western Asia,"",142,145,"" 18 + Bahamas,BS,BHS,044,ISO 3166-2:BS,Americas,Latin America and the Caribbean,Caribbean,019,419,029 19 + Bahrain,BH,BHR,048,ISO 3166-2:BH,Asia,Western Asia,"",142,145,"" 20 + Bangladesh,BD,BGD,050,ISO 3166-2:BD,Asia,Southern Asia,"",142,034,"" 21 + Barbados,BB,BRB,052,ISO 3166-2:BB,Americas,Latin America and the Caribbean,Caribbean,019,419,029 22 + Belarus,BY,BLR,112,ISO 3166-2:BY,Europe,Eastern Europe,"",150,151,"" 23 + Belgium,BE,BEL,056,ISO 3166-2:BE,Europe,Western Europe,"",150,155,"" 24 + Belize,BZ,BLZ,084,ISO 3166-2:BZ,Americas,Latin America and the Caribbean,Central America,019,419,013 25 + Benin,BJ,BEN,204,ISO 3166-2:BJ,Africa,Sub-Saharan Africa,Western Africa,002,202,011 26 + Bermuda,BM,BMU,060,ISO 3166-2:BM,Americas,Northern America,"",019,021,"" 27 + Bhutan,BT,BTN,064,ISO 3166-2:BT,Asia,Southern Asia,"",142,034,"" 28 + Bolivia (Plurinational State of),BO,BOL,068,ISO 3166-2:BO,Americas,Latin America and the Caribbean,South America,019,419,005 29 + "Bonaire, Sint Eustatius and Saba",BQ,BES,535,ISO 3166-2:BQ,Americas,Latin America and the Caribbean,Caribbean,019,419,029 30 + Bosnia and Herzegovina,BA,BIH,070,ISO 3166-2:BA,Europe,Southern Europe,"",150,039,"" 31 + Botswana,BW,BWA,072,ISO 3166-2:BW,Africa,Sub-Saharan Africa,Southern Africa,002,202,018 32 + Bouvet Island,BV,BVT,074,ISO 3166-2:BV,Americas,Latin America and the Caribbean,South America,019,419,005 33 + Brazil,BR,BRA,076,ISO 3166-2:BR,Americas,Latin America and the Caribbean,South America,019,419,005 34 + British Indian Ocean Territory,IO,IOT,086,ISO 3166-2:IO,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 35 + Brunei Darussalam,BN,BRN,096,ISO 3166-2:BN,Asia,South-eastern Asia,"",142,035,"" 36 + Bulgaria,BG,BGR,100,ISO 3166-2:BG,Europe,Eastern Europe,"",150,151,"" 37 + Burkina Faso,BF,BFA,854,ISO 3166-2:BF,Africa,Sub-Saharan Africa,Western Africa,002,202,011 38 + Burundi,BI,BDI,108,ISO 3166-2:BI,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 39 + Cabo Verde,CV,CPV,132,ISO 3166-2:CV,Africa,Sub-Saharan Africa,Western Africa,002,202,011 40 + Cambodia,KH,KHM,116,ISO 3166-2:KH,Asia,South-eastern Asia,"",142,035,"" 41 + Cameroon,CM,CMR,120,ISO 3166-2:CM,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 42 + Canada,CA,CAN,124,ISO 3166-2:CA,Americas,Northern America,"",019,021,"" 43 + Cayman Islands,KY,CYM,136,ISO 3166-2:KY,Americas,Latin America and the Caribbean,Caribbean,019,419,029 44 + Central African Republic,CF,CAF,140,ISO 3166-2:CF,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 45 + Chad,TD,TCD,148,ISO 3166-2:TD,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 46 + Chile,CL,CHL,152,ISO 3166-2:CL,Americas,Latin America and the Caribbean,South America,019,419,005 47 + China,CN,CHN,156,ISO 3166-2:CN,Asia,Eastern Asia,"",142,030,"" 48 + Christmas Island,CX,CXR,162,ISO 3166-2:CX,Oceania,Australia and New Zealand,"",009,053,"" 49 + Cocos (Keeling) Islands,CC,CCK,166,ISO 3166-2:CC,Oceania,Australia and New Zealand,"",009,053,"" 50 + Colombia,CO,COL,170,ISO 3166-2:CO,Americas,Latin America and the Caribbean,South America,019,419,005 51 + Comoros,KM,COM,174,ISO 3166-2:KM,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 52 + Congo,CG,COG,178,ISO 3166-2:CG,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 53 + "Congo, Democratic Republic of the",CD,COD,180,ISO 3166-2:CD,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 54 + Cook Islands,CK,COK,184,ISO 3166-2:CK,Oceania,Polynesia,"",009,061,"" 55 + Costa Rica,CR,CRI,188,ISO 3166-2:CR,Americas,Latin America and the Caribbean,Central America,019,419,013 56 + Côte d'Ivoire,CI,CIV,384,ISO 3166-2:CI,Africa,Sub-Saharan Africa,Western Africa,002,202,011 57 + Croatia,HR,HRV,191,ISO 3166-2:HR,Europe,Southern Europe,"",150,039,"" 58 + Cuba,CU,CUB,192,ISO 3166-2:CU,Americas,Latin America and the Caribbean,Caribbean,019,419,029 59 + Curaçao,CW,CUW,531,ISO 3166-2:CW,Americas,Latin America and the Caribbean,Caribbean,019,419,029 60 + Cyprus,CY,CYP,196,ISO 3166-2:CY,Asia,Western Asia,"",142,145,"" 61 + Czechia,CZ,CZE,203,ISO 3166-2:CZ,Europe,Eastern Europe,"",150,151,"" 62 + Denmark,DK,DNK,208,ISO 3166-2:DK,Europe,Northern Europe,"",150,154,"" 63 + Djibouti,DJ,DJI,262,ISO 3166-2:DJ,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 64 + Dominica,DM,DMA,212,ISO 3166-2:DM,Americas,Latin America and the Caribbean,Caribbean,019,419,029 65 + Dominican Republic,DO,DOM,214,ISO 3166-2:DO,Americas,Latin America and the Caribbean,Caribbean,019,419,029 66 + Ecuador,EC,ECU,218,ISO 3166-2:EC,Americas,Latin America and the Caribbean,South America,019,419,005 67 + Egypt,EG,EGY,818,ISO 3166-2:EG,Africa,Northern Africa,"",002,015,"" 68 + El Salvador,SV,SLV,222,ISO 3166-2:SV,Americas,Latin America and the Caribbean,Central America,019,419,013 69 + Equatorial Guinea,GQ,GNQ,226,ISO 3166-2:GQ,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 70 + Eritrea,ER,ERI,232,ISO 3166-2:ER,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 71 + Estonia,EE,EST,233,ISO 3166-2:EE,Europe,Northern Europe,"",150,154,"" 72 + Eswatini,SZ,SWZ,748,ISO 3166-2:SZ,Africa,Sub-Saharan Africa,Southern Africa,002,202,018 73 + Ethiopia,ET,ETH,231,ISO 3166-2:ET,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 74 + Falkland Islands (Malvinas),FK,FLK,238,ISO 3166-2:FK,Americas,Latin America and the Caribbean,South America,019,419,005 75 + Faroe Islands,FO,FRO,234,ISO 3166-2:FO,Europe,Northern Europe,"",150,154,"" 76 + Fiji,FJ,FJI,242,ISO 3166-2:FJ,Oceania,Melanesia,"",009,054,"" 77 + Finland,FI,FIN,246,ISO 3166-2:FI,Europe,Northern Europe,"",150,154,"" 78 + France,FR,FRA,250,ISO 3166-2:FR,Europe,Western Europe,"",150,155,"" 79 + French Guiana,GF,GUF,254,ISO 3166-2:GF,Americas,Latin America and the Caribbean,South America,019,419,005 80 + French Polynesia,PF,PYF,258,ISO 3166-2:PF,Oceania,Polynesia,"",009,061,"" 81 + French Southern Territories,TF,ATF,260,ISO 3166-2:TF,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 82 + Gabon,GA,GAB,266,ISO 3166-2:GA,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 83 + Gambia,GM,GMB,270,ISO 3166-2:GM,Africa,Sub-Saharan Africa,Western Africa,002,202,011 84 + Georgia,GE,GEO,268,ISO 3166-2:GE,Asia,Western Asia,"",142,145,"" 85 + Germany,DE,DEU,276,ISO 3166-2:DE,Europe,Western Europe,"",150,155,"" 86 + Ghana,GH,GHA,288,ISO 3166-2:GH,Africa,Sub-Saharan Africa,Western Africa,002,202,011 87 + Gibraltar,GI,GIB,292,ISO 3166-2:GI,Europe,Southern Europe,"",150,039,"" 88 + Greece,GR,GRC,300,ISO 3166-2:GR,Europe,Southern Europe,"",150,039,"" 89 + Greenland,GL,GRL,304,ISO 3166-2:GL,Americas,Northern America,"",019,021,"" 90 + Grenada,GD,GRD,308,ISO 3166-2:GD,Americas,Latin America and the Caribbean,Caribbean,019,419,029 91 + Guadeloupe,GP,GLP,312,ISO 3166-2:GP,Americas,Latin America and the Caribbean,Caribbean,019,419,029 92 + Guam,GU,GUM,316,ISO 3166-2:GU,Oceania,Micronesia,"",009,057,"" 93 + Guatemala,GT,GTM,320,ISO 3166-2:GT,Americas,Latin America and the Caribbean,Central America,019,419,013 94 + Guernsey,GG,GGY,831,ISO 3166-2:GG,Europe,Northern Europe,Channel Islands,150,154,830 95 + Guinea,GN,GIN,324,ISO 3166-2:GN,Africa,Sub-Saharan Africa,Western Africa,002,202,011 96 + Guinea-Bissau,GW,GNB,624,ISO 3166-2:GW,Africa,Sub-Saharan Africa,Western Africa,002,202,011 97 + Guyana,GY,GUY,328,ISO 3166-2:GY,Americas,Latin America and the Caribbean,South America,019,419,005 98 + Haiti,HT,HTI,332,ISO 3166-2:HT,Americas,Latin America and the Caribbean,Caribbean,019,419,029 99 + Heard Island and McDonald Islands,HM,HMD,334,ISO 3166-2:HM,Oceania,Australia and New Zealand,"",009,053,"" 100 + Holy See,VA,VAT,336,ISO 3166-2:VA,Europe,Southern Europe,"",150,039,"" 101 + Honduras,HN,HND,340,ISO 3166-2:HN,Americas,Latin America and the Caribbean,Central America,019,419,013 102 + Hong Kong,HK,HKG,344,ISO 3166-2:HK,Asia,Eastern Asia,"",142,030,"" 103 + Hungary,HU,HUN,348,ISO 3166-2:HU,Europe,Eastern Europe,"",150,151,"" 104 + Iceland,IS,ISL,352,ISO 3166-2:IS,Europe,Northern Europe,"",150,154,"" 105 + India,IN,IND,356,ISO 3166-2:IN,Asia,Southern Asia,"",142,034,"" 106 + Indonesia,ID,IDN,360,ISO 3166-2:ID,Asia,South-eastern Asia,"",142,035,"" 107 + Iran (Islamic Republic of),IR,IRN,364,ISO 3166-2:IR,Asia,Southern Asia,"",142,034,"" 108 + Iraq,IQ,IRQ,368,ISO 3166-2:IQ,Asia,Western Asia,"",142,145,"" 109 + Ireland,IE,IRL,372,ISO 3166-2:IE,Europe,Northern Europe,"",150,154,"" 110 + Isle of Man,IM,IMN,833,ISO 3166-2:IM,Europe,Northern Europe,"",150,154,"" 111 + Israel,IL,ISR,376,ISO 3166-2:IL,Asia,Western Asia,"",142,145,"" 112 + Italy,IT,ITA,380,ISO 3166-2:IT,Europe,Southern Europe,"",150,039,"" 113 + Jamaica,JM,JAM,388,ISO 3166-2:JM,Americas,Latin America and the Caribbean,Caribbean,019,419,029 114 + Japan,JP,JPN,392,ISO 3166-2:JP,Asia,Eastern Asia,"",142,030,"" 115 + Jersey,JE,JEY,832,ISO 3166-2:JE,Europe,Northern Europe,Channel Islands,150,154,830 116 + Jordan,JO,JOR,400,ISO 3166-2:JO,Asia,Western Asia,"",142,145,"" 117 + Kazakhstan,KZ,KAZ,398,ISO 3166-2:KZ,Asia,Central Asia,"",142,143,"" 118 + Kenya,KE,KEN,404,ISO 3166-2:KE,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 119 + Kiribati,KI,KIR,296,ISO 3166-2:KI,Oceania,Micronesia,"",009,057,"" 120 + Korea (Democratic People's Republic of),KP,PRK,408,ISO 3166-2:KP,Asia,Eastern Asia,"",142,030,"" 121 + "Korea, Republic of",KR,KOR,410,ISO 3166-2:KR,Asia,Eastern Asia,"",142,030,"" 122 + Kuwait,KW,KWT,414,ISO 3166-2:KW,Asia,Western Asia,"",142,145,"" 123 + Kyrgyzstan,KG,KGZ,417,ISO 3166-2:KG,Asia,Central Asia,"",142,143,"" 124 + Lao People's Democratic Republic,LA,LAO,418,ISO 3166-2:LA,Asia,South-eastern Asia,"",142,035,"" 125 + Latvia,LV,LVA,428,ISO 3166-2:LV,Europe,Northern Europe,"",150,154,"" 126 + Lebanon,LB,LBN,422,ISO 3166-2:LB,Asia,Western Asia,"",142,145,"" 127 + Lesotho,LS,LSO,426,ISO 3166-2:LS,Africa,Sub-Saharan Africa,Southern Africa,002,202,018 128 + Liberia,LR,LBR,430,ISO 3166-2:LR,Africa,Sub-Saharan Africa,Western Africa,002,202,011 129 + Libya,LY,LBY,434,ISO 3166-2:LY,Africa,Northern Africa,"",002,015,"" 130 + Liechtenstein,LI,LIE,438,ISO 3166-2:LI,Europe,Western Europe,"",150,155,"" 131 + Lithuania,LT,LTU,440,ISO 3166-2:LT,Europe,Northern Europe,"",150,154,"" 132 + Luxembourg,LU,LUX,442,ISO 3166-2:LU,Europe,Western Europe,"",150,155,"" 133 + Macao,MO,MAC,446,ISO 3166-2:MO,Asia,Eastern Asia,"",142,030,"" 134 + Madagascar,MG,MDG,450,ISO 3166-2:MG,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 135 + Malawi,MW,MWI,454,ISO 3166-2:MW,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 136 + Malaysia,MY,MYS,458,ISO 3166-2:MY,Asia,South-eastern Asia,"",142,035,"" 137 + Maldives,MV,MDV,462,ISO 3166-2:MV,Asia,Southern Asia,"",142,034,"" 138 + Mali,ML,MLI,466,ISO 3166-2:ML,Africa,Sub-Saharan Africa,Western Africa,002,202,011 139 + Malta,MT,MLT,470,ISO 3166-2:MT,Europe,Southern Europe,"",150,039,"" 140 + Marshall Islands,MH,MHL,584,ISO 3166-2:MH,Oceania,Micronesia,"",009,057,"" 141 + Martinique,MQ,MTQ,474,ISO 3166-2:MQ,Americas,Latin America and the Caribbean,Caribbean,019,419,029 142 + Mauritania,MR,MRT,478,ISO 3166-2:MR,Africa,Sub-Saharan Africa,Western Africa,002,202,011 143 + Mauritius,MU,MUS,480,ISO 3166-2:MU,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 144 + Mayotte,YT,MYT,175,ISO 3166-2:YT,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 145 + Mexico,MX,MEX,484,ISO 3166-2:MX,Americas,Latin America and the Caribbean,Central America,019,419,013 146 + Micronesia (Federated States of),FM,FSM,583,ISO 3166-2:FM,Oceania,Micronesia,"",009,057,"" 147 + "Moldova, Republic of",MD,MDA,498,ISO 3166-2:MD,Europe,Eastern Europe,"",150,151,"" 148 + Monaco,MC,MCO,492,ISO 3166-2:MC,Europe,Western Europe,"",150,155,"" 149 + Mongolia,MN,MNG,496,ISO 3166-2:MN,Asia,Eastern Asia,"",142,030,"" 150 + Montenegro,ME,MNE,499,ISO 3166-2:ME,Europe,Southern Europe,"",150,039,"" 151 + Montserrat,MS,MSR,500,ISO 3166-2:MS,Americas,Latin America and the Caribbean,Caribbean,019,419,029 152 + Morocco,MA,MAR,504,ISO 3166-2:MA,Africa,Northern Africa,"",002,015,"" 153 + Mozambique,MZ,MOZ,508,ISO 3166-2:MZ,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 154 + Myanmar,MM,MMR,104,ISO 3166-2:MM,Asia,South-eastern Asia,"",142,035,"" 155 + Namibia,NA,NAM,516,ISO 3166-2:NA,Africa,Sub-Saharan Africa,Southern Africa,002,202,018 156 + Nauru,NR,NRU,520,ISO 3166-2:NR,Oceania,Micronesia,"",009,057,"" 157 + Nepal,NP,NPL,524,ISO 3166-2:NP,Asia,Southern Asia,"",142,034,"" 158 + Netherlands,NL,NLD,528,ISO 3166-2:NL,Europe,Western Europe,"",150,155,"" 159 + New Caledonia,NC,NCL,540,ISO 3166-2:NC,Oceania,Melanesia,"",009,054,"" 160 + New Zealand,NZ,NZL,554,ISO 3166-2:NZ,Oceania,Australia and New Zealand,"",009,053,"" 161 + Nicaragua,NI,NIC,558,ISO 3166-2:NI,Americas,Latin America and the Caribbean,Central America,019,419,013 162 + Niger,NE,NER,562,ISO 3166-2:NE,Africa,Sub-Saharan Africa,Western Africa,002,202,011 163 + Nigeria,NG,NGA,566,ISO 3166-2:NG,Africa,Sub-Saharan Africa,Western Africa,002,202,011 164 + Niue,NU,NIU,570,ISO 3166-2:NU,Oceania,Polynesia,"",009,061,"" 165 + Norfolk Island,NF,NFK,574,ISO 3166-2:NF,Oceania,Australia and New Zealand,"",009,053,"" 166 + North Macedonia,MK,MKD,807,ISO 3166-2:MK,Europe,Southern Europe,"",150,039,"" 167 + Northern Mariana Islands,MP,MNP,580,ISO 3166-2:MP,Oceania,Micronesia,"",009,057,"" 168 + Norway,NO,NOR,578,ISO 3166-2:NO,Europe,Northern Europe,"",150,154,"" 169 + Oman,OM,OMN,512,ISO 3166-2:OM,Asia,Western Asia,"",142,145,"" 170 + Pakistan,PK,PAK,586,ISO 3166-2:PK,Asia,Southern Asia,"",142,034,"" 171 + Palau,PW,PLW,585,ISO 3166-2:PW,Oceania,Micronesia,"",009,057,"" 172 + "Palestine, State of",PS,PSE,275,ISO 3166-2:PS,Asia,Western Asia,"",142,145,"" 173 + Panama,PA,PAN,591,ISO 3166-2:PA,Americas,Latin America and the Caribbean,Central America,019,419,013 174 + Papua New Guinea,PG,PNG,598,ISO 3166-2:PG,Oceania,Melanesia,"",009,054,"" 175 + Paraguay,PY,PRY,600,ISO 3166-2:PY,Americas,Latin America and the Caribbean,South America,019,419,005 176 + Peru,PE,PER,604,ISO 3166-2:PE,Americas,Latin America and the Caribbean,South America,019,419,005 177 + Philippines,PH,PHL,608,ISO 3166-2:PH,Asia,South-eastern Asia,"",142,035,"" 178 + Pitcairn,PN,PCN,612,ISO 3166-2:PN,Oceania,Polynesia,"",009,061,"" 179 + Poland,PL,POL,616,ISO 3166-2:PL,Europe,Eastern Europe,"",150,151,"" 180 + Portugal,PT,PRT,620,ISO 3166-2:PT,Europe,Southern Europe,"",150,039,"" 181 + Puerto Rico,PR,PRI,630,ISO 3166-2:PR,Americas,Latin America and the Caribbean,Caribbean,019,419,029 182 + Qatar,QA,QAT,634,ISO 3166-2:QA,Asia,Western Asia,"",142,145,"" 183 + Réunion,RE,REU,638,ISO 3166-2:RE,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 184 + Romania,RO,ROU,642,ISO 3166-2:RO,Europe,Eastern Europe,"",150,151,"" 185 + Russian Federation,RU,RUS,643,ISO 3166-2:RU,Europe,Eastern Europe,"",150,151,"" 186 + Rwanda,RW,RWA,646,ISO 3166-2:RW,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 187 + Saint Barthélemy,BL,BLM,652,ISO 3166-2:BL,Americas,Latin America and the Caribbean,Caribbean,019,419,029 188 + "Saint Helena, Ascension and Tristan da Cunha",SH,SHN,654,ISO 3166-2:SH,Africa,Sub-Saharan Africa,Western Africa,002,202,011 189 + Saint Kitts and Nevis,KN,KNA,659,ISO 3166-2:KN,Americas,Latin America and the Caribbean,Caribbean,019,419,029 190 + Saint Lucia,LC,LCA,662,ISO 3166-2:LC,Americas,Latin America and the Caribbean,Caribbean,019,419,029 191 + Saint Martin (French part),MF,MAF,663,ISO 3166-2:MF,Americas,Latin America and the Caribbean,Caribbean,019,419,029 192 + Saint Pierre and Miquelon,PM,SPM,666,ISO 3166-2:PM,Americas,Northern America,"",019,021,"" 193 + Saint Vincent and the Grenadines,VC,VCT,670,ISO 3166-2:VC,Americas,Latin America and the Caribbean,Caribbean,019,419,029 194 + Samoa,WS,WSM,882,ISO 3166-2:WS,Oceania,Polynesia,"",009,061,"" 195 + San Marino,SM,SMR,674,ISO 3166-2:SM,Europe,Southern Europe,"",150,039,"" 196 + Sao Tome and Principe,ST,STP,678,ISO 3166-2:ST,Africa,Sub-Saharan Africa,Middle Africa,002,202,017 197 + Saudi Arabia,SA,SAU,682,ISO 3166-2:SA,Asia,Western Asia,"",142,145,"" 198 + Senegal,SN,SEN,686,ISO 3166-2:SN,Africa,Sub-Saharan Africa,Western Africa,002,202,011 199 + Serbia,RS,SRB,688,ISO 3166-2:RS,Europe,Southern Europe,"",150,039,"" 200 + Seychelles,SC,SYC,690,ISO 3166-2:SC,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 201 + Sierra Leone,SL,SLE,694,ISO 3166-2:SL,Africa,Sub-Saharan Africa,Western Africa,002,202,011 202 + Singapore,SG,SGP,702,ISO 3166-2:SG,Asia,South-eastern Asia,"",142,035,"" 203 + Sint Maarten (Dutch part),SX,SXM,534,ISO 3166-2:SX,Americas,Latin America and the Caribbean,Caribbean,019,419,029 204 + Slovakia,SK,SVK,703,ISO 3166-2:SK,Europe,Eastern Europe,"",150,151,"" 205 + Slovenia,SI,SVN,705,ISO 3166-2:SI,Europe,Southern Europe,"",150,039,"" 206 + Solomon Islands,SB,SLB,090,ISO 3166-2:SB,Oceania,Melanesia,"",009,054,"" 207 + Somalia,SO,SOM,706,ISO 3166-2:SO,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 208 + South Africa,ZA,ZAF,710,ISO 3166-2:ZA,Africa,Sub-Saharan Africa,Southern Africa,002,202,018 209 + South Georgia and the South Sandwich Islands,GS,SGS,239,ISO 3166-2:GS,Americas,Latin America and the Caribbean,South America,019,419,005 210 + South Sudan,SS,SSD,728,ISO 3166-2:SS,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 211 + Spain,ES,ESP,724,ISO 3166-2:ES,Europe,Southern Europe,"",150,039,"" 212 + Sri Lanka,LK,LKA,144,ISO 3166-2:LK,Asia,Southern Asia,"",142,034,"" 213 + Sudan,SD,SDN,729,ISO 3166-2:SD,Africa,Northern Africa,"",002,015,"" 214 + Suriname,SR,SUR,740,ISO 3166-2:SR,Americas,Latin America and the Caribbean,South America,019,419,005 215 + Svalbard and Jan Mayen,SJ,SJM,744,ISO 3166-2:SJ,Europe,Northern Europe,"",150,154,"" 216 + Sweden,SE,SWE,752,ISO 3166-2:SE,Europe,Northern Europe,"",150,154,"" 217 + Switzerland,CH,CHE,756,ISO 3166-2:CH,Europe,Western Europe,"",150,155,"" 218 + Syrian Arab Republic,SY,SYR,760,ISO 3166-2:SY,Asia,Western Asia,"",142,145,"" 219 + "Taiwan, Province of China",TW,TWN,158,ISO 3166-2:TW,Asia,Eastern Asia,"",142,030,"" 220 + Tajikistan,TJ,TJK,762,ISO 3166-2:TJ,Asia,Central Asia,"",142,143,"" 221 + "Tanzania, United Republic of",TZ,TZA,834,ISO 3166-2:TZ,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 222 + Thailand,TH,THA,764,ISO 3166-2:TH,Asia,South-eastern Asia,"",142,035,"" 223 + Timor-Leste,TL,TLS,626,ISO 3166-2:TL,Asia,South-eastern Asia,"",142,035,"" 224 + Togo,TG,TGO,768,ISO 3166-2:TG,Africa,Sub-Saharan Africa,Western Africa,002,202,011 225 + Tokelau,TK,TKL,772,ISO 3166-2:TK,Oceania,Polynesia,"",009,061,"" 226 + Tonga,TO,TON,776,ISO 3166-2:TO,Oceania,Polynesia,"",009,061,"" 227 + Trinidad and Tobago,TT,TTO,780,ISO 3166-2:TT,Americas,Latin America and the Caribbean,Caribbean,019,419,029 228 + Tunisia,TN,TUN,788,ISO 3166-2:TN,Africa,Northern Africa,"",002,015,"" 229 + Turkey,TR,TUR,792,ISO 3166-2:TR,Asia,Western Asia,"",142,145,"" 230 + Turkmenistan,TM,TKM,795,ISO 3166-2:TM,Asia,Central Asia,"",142,143,"" 231 + Turks and Caicos Islands,TC,TCA,796,ISO 3166-2:TC,Americas,Latin America and the Caribbean,Caribbean,019,419,029 232 + Tuvalu,TV,TUV,798,ISO 3166-2:TV,Oceania,Polynesia,"",009,061,"" 233 + Uganda,UG,UGA,800,ISO 3166-2:UG,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 234 + Ukraine,UA,UKR,804,ISO 3166-2:UA,Europe,Eastern Europe,"",150,151,"" 235 + United Arab Emirates,AE,ARE,784,ISO 3166-2:AE,Asia,Western Asia,"",142,145,"" 236 + United Kingdom of Great Britain and Northern Ireland,GB,GBR,826,ISO 3166-2:GB,Europe,Northern Europe,"",150,154,"" 237 + United States of America,US,USA,840,ISO 3166-2:US,Americas,Northern America,"",019,021,"" 238 + United States Minor Outlying Islands,UM,UMI,581,ISO 3166-2:UM,Oceania,Micronesia,"",009,057,"" 239 + Uruguay,UY,URY,858,ISO 3166-2:UY,Americas,Latin America and the Caribbean,South America,019,419,005 240 + Uzbekistan,UZ,UZB,860,ISO 3166-2:UZ,Asia,Central Asia,"",142,143,"" 241 + Vanuatu,VU,VUT,548,ISO 3166-2:VU,Oceania,Melanesia,"",009,054,"" 242 + Venezuela (Bolivarian Republic of),VE,VEN,862,ISO 3166-2:VE,Americas,Latin America and the Caribbean,South America,019,419,005 243 + Viet Nam,VN,VNM,704,ISO 3166-2:VN,Asia,South-eastern Asia,"",142,035,"" 244 + Virgin Islands (British),VG,VGB,092,ISO 3166-2:VG,Americas,Latin America and the Caribbean,Caribbean,019,419,029 245 + Virgin Islands (U.S.),VI,VIR,850,ISO 3166-2:VI,Americas,Latin America and the Caribbean,Caribbean,019,419,029 246 + Wallis and Futuna,WF,WLF,876,ISO 3166-2:WF,Oceania,Polynesia,"",009,061,"" 247 + Western Sahara,EH,ESH,732,ISO 3166-2:EH,Africa,Northern Africa,"",002,015,"" 248 + Yemen,YE,YEM,887,ISO 3166-2:YE,Asia,Western Asia,"",142,145,"" 249 + Zambia,ZM,ZMB,894,ISO 3166-2:ZM,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014 250 + Zimbabwe,ZW,ZWE,716,ISO 3166-2:ZW,Africa,Sub-Saharan Africa,Eastern Africa,002,202,014
+5
vendor/opam/ISO3166/src/gen/dune
··· 1 + ; Enable to change the interface and implementation of this libray 2 + 3 + ; (executable 4 + ; (name main) 5 + ; (libraries))
+262
vendor/opam/ISO3166/src/gen/main.ml
··· 1 + type country = { 2 + name : string; 3 + alpha_2 : string; 4 + alpha_3 : string; 5 + numeric : int; 6 + region : string; 7 + sub_region : string; 8 + } 9 + 10 + let parse_csv_line ~expected s = 11 + let columns = String.split_on_char ',' s in 12 + if List.length columns = expected then columns 13 + else 14 + let rec aux acc = function 15 + | x :: y :: rest when x.[0] = '"' && x.[1] <> '"' -> 16 + let join = x ^ y in 17 + let s = String.sub join 1 (String.length join - 2) in 18 + aux (s :: acc) rest 19 + | x :: xs -> aux (x :: acc) xs 20 + | [] -> List.rev acc 21 + in 22 + aux [] columns 23 + 24 + let country_of_string ~expected s = 25 + match parse_csv_line ~expected s with 26 + | name :: alpha_2 :: alpha_3 :: numeric :: _iso_3166_2 :: region :: sub_region 27 + :: _ -> 28 + { 29 + name; 30 + alpha_2; 31 + alpha_3; 32 + numeric = int_of_string numeric; 33 + region; 34 + sub_region; 35 + } 36 + | _ -> failwith ("Malformed country: " ^ s) 37 + 38 + module OCaml = struct 39 + let pf = Format.fprintf 40 + let pp_list ?sep = Format.pp_print_list ?pp_sep:sep 41 + let pp_string = Format.pp_print_string 42 + let pp_string_q ppf = pf ppf {|"%s"|} 43 + let const v ppf () = pf ppf "%s" v 44 + let pp_poly_var ppf s = pf ppf "`%s" s 45 + 46 + let pp_type_poly_var ppf (k, s) = 47 + pf ppf "type %s = [ %a ]" k (pp_list ~sep:(const " | ") pp_poly_var) s 48 + 49 + let alpha_2_of_countries ppf cs = 50 + let cs = List.map (fun v -> v.alpha_2) cs in 51 + pf ppf "%a" pp_type_poly_var ("alpha2", cs) 52 + 53 + let pp_case ppf = pf ppf "| %a -> %a" 54 + 55 + let alpha_2_to_string ppf cs = 56 + let cs = List.map (fun v -> (v.alpha_2, v.alpha_2)) cs in 57 + let pp ppf (c, v) = pp_case ppf pp_poly_var c pp_string_q v in 58 + pf ppf "let alpha2_to_string = function\n %a" (pp_list pp) cs 59 + 60 + let alpha_2_of_string ppf cs = 61 + let cs = List.map (fun v -> (v.alpha_2, v.alpha_2)) cs in 62 + let pp ppf (c, v) = pp_case ppf pp_string_q c pp_poly_var v in 63 + pf ppf 64 + "let alpha2_of_string = function\n\ 65 + \ %a\n\ 66 + | s -> failwith (\"Invalid Alpha 2 code: \" ^ s)" (pp_list pp) cs 67 + 68 + let alpha_3_of_countries ppf cs = 69 + let cs = List.map (fun v -> v.alpha_3) cs in 70 + pf ppf "%a" pp_type_poly_var ("alpha3", cs) 71 + 72 + let alpha_3_to_string ppf cs = 73 + let cs = List.map (fun v -> (v.alpha_3, v.alpha_3)) cs in 74 + let pp ppf (c, v) = pp_case ppf pp_poly_var c pp_string_q v in 75 + pf ppf "let alpha3_to_string = function\n %a" (pp_list pp) cs 76 + 77 + let alpha_3_of_string ppf cs = 78 + let cs = List.map (fun v -> (v.alpha_3, v.alpha_3)) cs in 79 + let pp ppf (c, v) = pp_case ppf pp_string_q c pp_poly_var v in 80 + pf ppf 81 + "let alpha3_of_string = function\n\ 82 + \ %a\n\ 83 + | s -> failwith (\"Invalid Alpha 3 code: \" ^ s)" (pp_list pp) cs 84 + 85 + let pp_module name ppf = pf ppf "module %s = struct\n\n%a\n\nend" name 86 + 87 + let pp_country_type = 88 + const 89 + "type t = { name : string; alpha2 : alpha2; alpha3 : alpha3; numeric : \ 90 + int; region : string option; sub_region : string option }" 91 + 92 + let keywords = [ "as"; "to"; "in"; "do" ] 93 + 94 + let get_name c = 95 + let s = String.lowercase_ascii c.alpha_2 in 96 + if List.mem s keywords then s ^ "'" else s 97 + 98 + let pp_country ppf (c : country) = 99 + let pp_str_opt ppf s = 100 + if s <> "\"\"" then pf ppf "(Some \"%s\")" s else pf ppf "None" 101 + in 102 + let name = get_name c in 103 + pf ppf 104 + "let %s = { name=\"%s\"; alpha2=%a; alpha3=%a; numeric=%i; region=%a; \ 105 + sub_region=%a}%!" 106 + name c.name pp_poly_var c.alpha_2 pp_poly_var c.alpha_3 c.numeric 107 + pp_str_opt c.region pp_str_opt c.sub_region 108 + 109 + let pp_country_impl = 110 + const 111 + {| 112 + let alpha2 t = t.alpha2 113 + let alpha3 t = t.alpha3 114 + let numeric t = t.numeric 115 + let name t = t.name 116 + let region t = t.region 117 + let sub_region t = t.sub_region 118 + |} 119 + 120 + let pp_country_module ppf cs = 121 + let pp_impl ppf () = 122 + pf ppf "%a\n\n%a\n\n%a" pp_country_type () pp_country_impl () 123 + (pp_list pp_country) cs 124 + in 125 + pp_module "Country" ppf pp_impl () 126 + 127 + let pp_country_mli ppf c = 128 + let name = get_name c in 129 + pf ppf "val %s : t\n(** Country information for %s. *)\n\n" 130 + (String.lowercase_ascii name) 131 + c.name 132 + 133 + let pp_country_module_mli ppf cs = 134 + pf ppf 135 + {| 136 + module Country : sig 137 + type t 138 + (** A country as defined by ISO3166. *) 139 + 140 + val alpha2 : t -> alpha2 141 + (** The two letter country code. *) 142 + 143 + val alpha3 : t -> alpha3 144 + (** The three letter country code. *) 145 + 146 + val numeric : t -> numeric 147 + (** The numeric country code. *) 148 + 149 + val name : t -> string 150 + (** The english name of the country *) 151 + 152 + val region : t -> string option 153 + (** The {{: https://unstats.un.org/unsd/methodology/m49/overview} english region} name for the country. *) 154 + 155 + val sub_region : t -> string option 156 + (** The {{: https://unstats.un.org/unsd/methodology/m49/overview} english sub-region} name for the country. *) 157 + 158 + %a 159 + 160 + end 161 + |} 162 + (pp_list ~sep:(const "\n") pp_country_mli) 163 + cs 164 + 165 + let pp_alpha2_to_country ppf cs = 166 + let cs = List.map (fun v -> (v.alpha_2, "Country." ^ get_name v)) cs in 167 + let pp ppf (c, v) = pp_case ppf pp_poly_var c pp_string v in 168 + pf ppf "let alpha2_to_country = function\n %a\n" (pp_list pp) cs 169 + 170 + let pp_alpha3_to_country ppf cs = 171 + let cs = List.map (fun v -> (v.alpha_3, "Country." ^ get_name v)) cs in 172 + let pp ppf (c, v) = pp_case ppf pp_poly_var c pp_string v in 173 + pf ppf "let alpha3_to_country = function\n %a\n" (pp_list pp) cs 174 + 175 + let pp_numeric_to_country ppf cs = 176 + let cs = List.map (fun v -> (v.numeric, "Country." ^ get_name v)) cs in 177 + let pp ppf (c, v) = pp_case ppf Format.pp_print_int c pp_string v in 178 + pf ppf 179 + "let numeric_to_country = function\n\ 180 + \ %a\n\ 181 + | _ -> invalid_arg (\"No such country with numerical code\")" 182 + (pp_list pp) cs 183 + 184 + let numeric_impl = 185 + const 186 + {| 187 + type numeric = int 188 + let numeric_to_int v = v 189 + let numeric_of_int v = 190 + if v < 0 || v > 999 then invalid_arg "Numeric country code is not between 0-999" 191 + else v 192 + 193 + let numeric_to_string v = 194 + if v < 10 then "00" ^ string_of_int v 195 + else if v >= 10 && v < 100 then "0" ^ string_of_int v 196 + else string_of_int v 197 + 198 + let numeric_of_string v = 199 + numeric_of_int (int_of_string v) 200 + |} 201 + 202 + let numeric_intf = 203 + const 204 + {| 205 + type numeric 206 + (** An abstract type to represent a three-digit country code. *) 207 + 208 + val numeric_to_int : numeric -> int 209 + (** The integer representation of the three-digit code. Note this won't be 210 + three-digits if less than [100]. Use {! numeric_to_string} if you need that. *) 211 + 212 + val numeric_of_int : int -> numeric 213 + (** Convert from an integer, this will only check that the number falls between [0-999] 214 + and raise [Invalid_argument] if it doesn't. There is no check that the integer is in fact 215 + a valid, assigned numeric country code. *) 216 + 217 + val numeric_to_string : numeric -> string 218 + (** Conversion to a three-digit string representation. *) 219 + 220 + val numeric_of_string : string -> numeric 221 + (** This is [numeric_of_int (int_of_string v)]. *) 222 + |} 223 + end 224 + 225 + let implementation countries = 226 + Format.printf "%a\n\n" OCaml.alpha_2_of_countries countries; 227 + Format.printf "%a\n\n" OCaml.alpha_2_to_string countries; 228 + Format.printf "%a\n\n" OCaml.alpha_2_of_string countries; 229 + Format.printf "%a\n\n" OCaml.alpha_3_of_countries countries; 230 + Format.printf "%a\n\n" OCaml.alpha_3_to_string countries; 231 + Format.printf "%a\n\n" OCaml.alpha_3_of_string countries; 232 + Format.printf "%a\n\n" OCaml.numeric_impl (); 233 + Format.printf "%a\n\n" OCaml.pp_country_module countries; 234 + Format.printf "%a\n\n" OCaml.pp_alpha2_to_country countries; 235 + Format.printf "%a\n\n" OCaml.pp_alpha3_to_country countries; 236 + Format.printf "%a\n\n" OCaml.pp_numeric_to_country countries 237 + 238 + let interface countries = 239 + Format.printf "%a\n\n" OCaml.alpha_2_of_countries countries; 240 + Format.printf "val alpha2_to_string : alpha2 -> string\n\n"; 241 + Format.printf "val alpha2_of_string : string -> alpha2\n\n"; 242 + Format.printf "%a\n\n" OCaml.alpha_3_of_countries countries; 243 + Format.printf "val alpha3_to_string : alpha3 -> string\n\n"; 244 + Format.printf "val alpha3_of_string : string -> alpha3\n\n"; 245 + Format.printf "%a\n\n" OCaml.numeric_intf (); 246 + Format.printf "%a" OCaml.pp_country_module_mli countries; 247 + Format.printf "val alpha2_to_country : alpha2 -> Country.t\n\n"; 248 + Format.printf "val alpha3_to_country : alpha3 -> Country.t\n\n"; 249 + Format.printf "val numeric_to_country : int -> Country.t\n\n" 250 + 251 + let () = 252 + let lines = Os.get_lines "../data.csv" in 253 + let header, data = 254 + (String.split_on_char ',' (List.hd lines), List.tl lines) 255 + in 256 + let countries = 257 + List.map (country_of_string ~expected:(List.length header)) data 258 + in 259 + try 260 + if Sys.argv.(1) = "mli" then interface countries 261 + else implementation countries 262 + with _ -> implementation countries
+19
vendor/opam/ISO3166/src/gen/os.ml
··· 1 + let with_file path fn = 2 + let ic = open_in path in 3 + try fn ic with _ -> close_in ic 4 + 5 + let with_lines path fn = 6 + with_file path @@ fun ic -> 7 + let rec aux () = 8 + try 9 + fn (input_line ic); 10 + aux () 11 + with End_of_file -> () 12 + in 13 + aux () 14 + 15 + let get_lines path = 16 + let lines = ref [] in 17 + let run () = with_lines path @@ fun line -> lines := line :: !lines in 18 + run (); 19 + List.rev !lines
+4785
vendor/opam/ISO3166/src/lib/ISO3166.ml
··· 1 + type alpha2 = 2 + [ `AF 3 + | `AX 4 + | `AL 5 + | `DZ 6 + | `AS 7 + | `AD 8 + | `AO 9 + | `AI 10 + | `AQ 11 + | `AG 12 + | `AR 13 + | `AM 14 + | `AW 15 + | `AU 16 + | `AT 17 + | `AZ 18 + | `BS 19 + | `BH 20 + | `BD 21 + | `BB 22 + | `BY 23 + | `BE 24 + | `BZ 25 + | `BJ 26 + | `BM 27 + | `BT 28 + | `BO 29 + | `BQ 30 + | `BA 31 + | `BW 32 + | `BV 33 + | `BR 34 + | `IO 35 + | `BN 36 + | `BG 37 + | `BF 38 + | `BI 39 + | `CV 40 + | `KH 41 + | `CM 42 + | `CA 43 + | `KY 44 + | `CF 45 + | `TD 46 + | `CL 47 + | `CN 48 + | `CX 49 + | `CC 50 + | `CO 51 + | `KM 52 + | `CG 53 + | `CD 54 + | `CK 55 + | `CR 56 + | `CI 57 + | `HR 58 + | `CU 59 + | `CW 60 + | `CY 61 + | `CZ 62 + | `DK 63 + | `DJ 64 + | `DM 65 + | `DO 66 + | `EC 67 + | `EG 68 + | `SV 69 + | `GQ 70 + | `ER 71 + | `EE 72 + | `SZ 73 + | `ET 74 + | `FK 75 + | `FO 76 + | `FJ 77 + | `FI 78 + | `FR 79 + | `GF 80 + | `PF 81 + | `TF 82 + | `GA 83 + | `GM 84 + | `GE 85 + | `DE 86 + | `GH 87 + | `GI 88 + | `GR 89 + | `GL 90 + | `GD 91 + | `GP 92 + | `GU 93 + | `GT 94 + | `GG 95 + | `GN 96 + | `GW 97 + | `GY 98 + | `HT 99 + | `HM 100 + | `VA 101 + | `HN 102 + | `HK 103 + | `HU 104 + | `IS 105 + | `IN 106 + | `ID 107 + | `IR 108 + | `IQ 109 + | `IE 110 + | `IM 111 + | `IL 112 + | `IT 113 + | `JM 114 + | `JP 115 + | `JE 116 + | `JO 117 + | `KZ 118 + | `KE 119 + | `KI 120 + | `KP 121 + | `KR 122 + | `KW 123 + | `KG 124 + | `LA 125 + | `LV 126 + | `LB 127 + | `LS 128 + | `LR 129 + | `LY 130 + | `LI 131 + | `LT 132 + | `LU 133 + | `MO 134 + | `MG 135 + | `MW 136 + | `MY 137 + | `MV 138 + | `ML 139 + | `MT 140 + | `MH 141 + | `MQ 142 + | `MR 143 + | `MU 144 + | `YT 145 + | `MX 146 + | `FM 147 + | `MD 148 + | `MC 149 + | `MN 150 + | `ME 151 + | `MS 152 + | `MA 153 + | `MZ 154 + | `MM 155 + | `NA 156 + | `NR 157 + | `NP 158 + | `NL 159 + | `NC 160 + | `NZ 161 + | `NI 162 + | `NE 163 + | `NG 164 + | `NU 165 + | `NF 166 + | `MK 167 + | `MP 168 + | `NO 169 + | `OM 170 + | `PK 171 + | `PW 172 + | `PS 173 + | `PA 174 + | `PG 175 + | `PY 176 + | `PE 177 + | `PH 178 + | `PN 179 + | `PL 180 + | `PT 181 + | `PR 182 + | `QA 183 + | `RE 184 + | `RO 185 + | `RU 186 + | `RW 187 + | `BL 188 + | `SH 189 + | `KN 190 + | `LC 191 + | `MF 192 + | `PM 193 + | `VC 194 + | `WS 195 + | `SM 196 + | `ST 197 + | `SA 198 + | `SN 199 + | `RS 200 + | `SC 201 + | `SL 202 + | `SG 203 + | `SX 204 + | `SK 205 + | `SI 206 + | `SB 207 + | `SO 208 + | `ZA 209 + | `GS 210 + | `SS 211 + | `ES 212 + | `LK 213 + | `SD 214 + | `SR 215 + | `SJ 216 + | `SE 217 + | `CH 218 + | `SY 219 + | `TW 220 + | `TJ 221 + | `TZ 222 + | `TH 223 + | `TL 224 + | `TG 225 + | `TK 226 + | `TO 227 + | `TT 228 + | `TN 229 + | `TR 230 + | `TM 231 + | `TC 232 + | `TV 233 + | `UG 234 + | `UA 235 + | `AE 236 + | `GB 237 + | `US 238 + | `UM 239 + | `UY 240 + | `UZ 241 + | `VU 242 + | `VE 243 + | `VN 244 + | `VG 245 + | `VI 246 + | `WF 247 + | `EH 248 + | `YE 249 + | `ZM 250 + | `ZW ] 251 + 252 + let alpha2_to_string = function 253 + | `AF -> "AF" 254 + | `AX -> "AX" 255 + | `AL -> "AL" 256 + | `DZ -> "DZ" 257 + | `AS -> "AS" 258 + | `AD -> "AD" 259 + | `AO -> "AO" 260 + | `AI -> "AI" 261 + | `AQ -> "AQ" 262 + | `AG -> "AG" 263 + | `AR -> "AR" 264 + | `AM -> "AM" 265 + | `AW -> "AW" 266 + | `AU -> "AU" 267 + | `AT -> "AT" 268 + | `AZ -> "AZ" 269 + | `BS -> "BS" 270 + | `BH -> "BH" 271 + | `BD -> "BD" 272 + | `BB -> "BB" 273 + | `BY -> "BY" 274 + | `BE -> "BE" 275 + | `BZ -> "BZ" 276 + | `BJ -> "BJ" 277 + | `BM -> "BM" 278 + | `BT -> "BT" 279 + | `BO -> "BO" 280 + | `BQ -> "BQ" 281 + | `BA -> "BA" 282 + | `BW -> "BW" 283 + | `BV -> "BV" 284 + | `BR -> "BR" 285 + | `IO -> "IO" 286 + | `BN -> "BN" 287 + | `BG -> "BG" 288 + | `BF -> "BF" 289 + | `BI -> "BI" 290 + | `CV -> "CV" 291 + | `KH -> "KH" 292 + | `CM -> "CM" 293 + | `CA -> "CA" 294 + | `KY -> "KY" 295 + | `CF -> "CF" 296 + | `TD -> "TD" 297 + | `CL -> "CL" 298 + | `CN -> "CN" 299 + | `CX -> "CX" 300 + | `CC -> "CC" 301 + | `CO -> "CO" 302 + | `KM -> "KM" 303 + | `CG -> "CG" 304 + | `CD -> "CD" 305 + | `CK -> "CK" 306 + | `CR -> "CR" 307 + | `CI -> "CI" 308 + | `HR -> "HR" 309 + | `CU -> "CU" 310 + | `CW -> "CW" 311 + | `CY -> "CY" 312 + | `CZ -> "CZ" 313 + | `DK -> "DK" 314 + | `DJ -> "DJ" 315 + | `DM -> "DM" 316 + | `DO -> "DO" 317 + | `EC -> "EC" 318 + | `EG -> "EG" 319 + | `SV -> "SV" 320 + | `GQ -> "GQ" 321 + | `ER -> "ER" 322 + | `EE -> "EE" 323 + | `SZ -> "SZ" 324 + | `ET -> "ET" 325 + | `FK -> "FK" 326 + | `FO -> "FO" 327 + | `FJ -> "FJ" 328 + | `FI -> "FI" 329 + | `FR -> "FR" 330 + | `GF -> "GF" 331 + | `PF -> "PF" 332 + | `TF -> "TF" 333 + | `GA -> "GA" 334 + | `GM -> "GM" 335 + | `GE -> "GE" 336 + | `DE -> "DE" 337 + | `GH -> "GH" 338 + | `GI -> "GI" 339 + | `GR -> "GR" 340 + | `GL -> "GL" 341 + | `GD -> "GD" 342 + | `GP -> "GP" 343 + | `GU -> "GU" 344 + | `GT -> "GT" 345 + | `GG -> "GG" 346 + | `GN -> "GN" 347 + | `GW -> "GW" 348 + | `GY -> "GY" 349 + | `HT -> "HT" 350 + | `HM -> "HM" 351 + | `VA -> "VA" 352 + | `HN -> "HN" 353 + | `HK -> "HK" 354 + | `HU -> "HU" 355 + | `IS -> "IS" 356 + | `IN -> "IN" 357 + | `ID -> "ID" 358 + | `IR -> "IR" 359 + | `IQ -> "IQ" 360 + | `IE -> "IE" 361 + | `IM -> "IM" 362 + | `IL -> "IL" 363 + | `IT -> "IT" 364 + | `JM -> "JM" 365 + | `JP -> "JP" 366 + | `JE -> "JE" 367 + | `JO -> "JO" 368 + | `KZ -> "KZ" 369 + | `KE -> "KE" 370 + | `KI -> "KI" 371 + | `KP -> "KP" 372 + | `KR -> "KR" 373 + | `KW -> "KW" 374 + | `KG -> "KG" 375 + | `LA -> "LA" 376 + | `LV -> "LV" 377 + | `LB -> "LB" 378 + | `LS -> "LS" 379 + | `LR -> "LR" 380 + | `LY -> "LY" 381 + | `LI -> "LI" 382 + | `LT -> "LT" 383 + | `LU -> "LU" 384 + | `MO -> "MO" 385 + | `MG -> "MG" 386 + | `MW -> "MW" 387 + | `MY -> "MY" 388 + | `MV -> "MV" 389 + | `ML -> "ML" 390 + | `MT -> "MT" 391 + | `MH -> "MH" 392 + | `MQ -> "MQ" 393 + | `MR -> "MR" 394 + | `MU -> "MU" 395 + | `YT -> "YT" 396 + | `MX -> "MX" 397 + | `FM -> "FM" 398 + | `MD -> "MD" 399 + | `MC -> "MC" 400 + | `MN -> "MN" 401 + | `ME -> "ME" 402 + | `MS -> "MS" 403 + | `MA -> "MA" 404 + | `MZ -> "MZ" 405 + | `MM -> "MM" 406 + | `NA -> "NA" 407 + | `NR -> "NR" 408 + | `NP -> "NP" 409 + | `NL -> "NL" 410 + | `NC -> "NC" 411 + | `NZ -> "NZ" 412 + | `NI -> "NI" 413 + | `NE -> "NE" 414 + | `NG -> "NG" 415 + | `NU -> "NU" 416 + | `NF -> "NF" 417 + | `MK -> "MK" 418 + | `MP -> "MP" 419 + | `NO -> "NO" 420 + | `OM -> "OM" 421 + | `PK -> "PK" 422 + | `PW -> "PW" 423 + | `PS -> "PS" 424 + | `PA -> "PA" 425 + | `PG -> "PG" 426 + | `PY -> "PY" 427 + | `PE -> "PE" 428 + | `PH -> "PH" 429 + | `PN -> "PN" 430 + | `PL -> "PL" 431 + | `PT -> "PT" 432 + | `PR -> "PR" 433 + | `QA -> "QA" 434 + | `RE -> "RE" 435 + | `RO -> "RO" 436 + | `RU -> "RU" 437 + | `RW -> "RW" 438 + | `BL -> "BL" 439 + | `SH -> "SH" 440 + | `KN -> "KN" 441 + | `LC -> "LC" 442 + | `MF -> "MF" 443 + | `PM -> "PM" 444 + | `VC -> "VC" 445 + | `WS -> "WS" 446 + | `SM -> "SM" 447 + | `ST -> "ST" 448 + | `SA -> "SA" 449 + | `SN -> "SN" 450 + | `RS -> "RS" 451 + | `SC -> "SC" 452 + | `SL -> "SL" 453 + | `SG -> "SG" 454 + | `SX -> "SX" 455 + | `SK -> "SK" 456 + | `SI -> "SI" 457 + | `SB -> "SB" 458 + | `SO -> "SO" 459 + | `ZA -> "ZA" 460 + | `GS -> "GS" 461 + | `SS -> "SS" 462 + | `ES -> "ES" 463 + | `LK -> "LK" 464 + | `SD -> "SD" 465 + | `SR -> "SR" 466 + | `SJ -> "SJ" 467 + | `SE -> "SE" 468 + | `CH -> "CH" 469 + | `SY -> "SY" 470 + | `TW -> "TW" 471 + | `TJ -> "TJ" 472 + | `TZ -> "TZ" 473 + | `TH -> "TH" 474 + | `TL -> "TL" 475 + | `TG -> "TG" 476 + | `TK -> "TK" 477 + | `TO -> "TO" 478 + | `TT -> "TT" 479 + | `TN -> "TN" 480 + | `TR -> "TR" 481 + | `TM -> "TM" 482 + | `TC -> "TC" 483 + | `TV -> "TV" 484 + | `UG -> "UG" 485 + | `UA -> "UA" 486 + | `AE -> "AE" 487 + | `GB -> "GB" 488 + | `US -> "US" 489 + | `UM -> "UM" 490 + | `UY -> "UY" 491 + | `UZ -> "UZ" 492 + | `VU -> "VU" 493 + | `VE -> "VE" 494 + | `VN -> "VN" 495 + | `VG -> "VG" 496 + | `VI -> "VI" 497 + | `WF -> "WF" 498 + | `EH -> "EH" 499 + | `YE -> "YE" 500 + | `ZM -> "ZM" 501 + | `ZW -> "ZW" 502 + 503 + let alpha2_of_string = function 504 + | "AF" -> `AF 505 + | "AX" -> `AX 506 + | "AL" -> `AL 507 + | "DZ" -> `DZ 508 + | "AS" -> `AS 509 + | "AD" -> `AD 510 + | "AO" -> `AO 511 + | "AI" -> `AI 512 + | "AQ" -> `AQ 513 + | "AG" -> `AG 514 + | "AR" -> `AR 515 + | "AM" -> `AM 516 + | "AW" -> `AW 517 + | "AU" -> `AU 518 + | "AT" -> `AT 519 + | "AZ" -> `AZ 520 + | "BS" -> `BS 521 + | "BH" -> `BH 522 + | "BD" -> `BD 523 + | "BB" -> `BB 524 + | "BY" -> `BY 525 + | "BE" -> `BE 526 + | "BZ" -> `BZ 527 + | "BJ" -> `BJ 528 + | "BM" -> `BM 529 + | "BT" -> `BT 530 + | "BO" -> `BO 531 + | "BQ" -> `BQ 532 + | "BA" -> `BA 533 + | "BW" -> `BW 534 + | "BV" -> `BV 535 + | "BR" -> `BR 536 + | "IO" -> `IO 537 + | "BN" -> `BN 538 + | "BG" -> `BG 539 + | "BF" -> `BF 540 + | "BI" -> `BI 541 + | "CV" -> `CV 542 + | "KH" -> `KH 543 + | "CM" -> `CM 544 + | "CA" -> `CA 545 + | "KY" -> `KY 546 + | "CF" -> `CF 547 + | "TD" -> `TD 548 + | "CL" -> `CL 549 + | "CN" -> `CN 550 + | "CX" -> `CX 551 + | "CC" -> `CC 552 + | "CO" -> `CO 553 + | "KM" -> `KM 554 + | "CG" -> `CG 555 + | "CD" -> `CD 556 + | "CK" -> `CK 557 + | "CR" -> `CR 558 + | "CI" -> `CI 559 + | "HR" -> `HR 560 + | "CU" -> `CU 561 + | "CW" -> `CW 562 + | "CY" -> `CY 563 + | "CZ" -> `CZ 564 + | "DK" -> `DK 565 + | "DJ" -> `DJ 566 + | "DM" -> `DM 567 + | "DO" -> `DO 568 + | "EC" -> `EC 569 + | "EG" -> `EG 570 + | "SV" -> `SV 571 + | "GQ" -> `GQ 572 + | "ER" -> `ER 573 + | "EE" -> `EE 574 + | "SZ" -> `SZ 575 + | "ET" -> `ET 576 + | "FK" -> `FK 577 + | "FO" -> `FO 578 + | "FJ" -> `FJ 579 + | "FI" -> `FI 580 + | "FR" -> `FR 581 + | "GF" -> `GF 582 + | "PF" -> `PF 583 + | "TF" -> `TF 584 + | "GA" -> `GA 585 + | "GM" -> `GM 586 + | "GE" -> `GE 587 + | "DE" -> `DE 588 + | "GH" -> `GH 589 + | "GI" -> `GI 590 + | "GR" -> `GR 591 + | "GL" -> `GL 592 + | "GD" -> `GD 593 + | "GP" -> `GP 594 + | "GU" -> `GU 595 + | "GT" -> `GT 596 + | "GG" -> `GG 597 + | "GN" -> `GN 598 + | "GW" -> `GW 599 + | "GY" -> `GY 600 + | "HT" -> `HT 601 + | "HM" -> `HM 602 + | "VA" -> `VA 603 + | "HN" -> `HN 604 + | "HK" -> `HK 605 + | "HU" -> `HU 606 + | "IS" -> `IS 607 + | "IN" -> `IN 608 + | "ID" -> `ID 609 + | "IR" -> `IR 610 + | "IQ" -> `IQ 611 + | "IE" -> `IE 612 + | "IM" -> `IM 613 + | "IL" -> `IL 614 + | "IT" -> `IT 615 + | "JM" -> `JM 616 + | "JP" -> `JP 617 + | "JE" -> `JE 618 + | "JO" -> `JO 619 + | "KZ" -> `KZ 620 + | "KE" -> `KE 621 + | "KI" -> `KI 622 + | "KP" -> `KP 623 + | "KR" -> `KR 624 + | "KW" -> `KW 625 + | "KG" -> `KG 626 + | "LA" -> `LA 627 + | "LV" -> `LV 628 + | "LB" -> `LB 629 + | "LS" -> `LS 630 + | "LR" -> `LR 631 + | "LY" -> `LY 632 + | "LI" -> `LI 633 + | "LT" -> `LT 634 + | "LU" -> `LU 635 + | "MO" -> `MO 636 + | "MG" -> `MG 637 + | "MW" -> `MW 638 + | "MY" -> `MY 639 + | "MV" -> `MV 640 + | "ML" -> `ML 641 + | "MT" -> `MT 642 + | "MH" -> `MH 643 + | "MQ" -> `MQ 644 + | "MR" -> `MR 645 + | "MU" -> `MU 646 + | "YT" -> `YT 647 + | "MX" -> `MX 648 + | "FM" -> `FM 649 + | "MD" -> `MD 650 + | "MC" -> `MC 651 + | "MN" -> `MN 652 + | "ME" -> `ME 653 + | "MS" -> `MS 654 + | "MA" -> `MA 655 + | "MZ" -> `MZ 656 + | "MM" -> `MM 657 + | "NA" -> `NA 658 + | "NR" -> `NR 659 + | "NP" -> `NP 660 + | "NL" -> `NL 661 + | "NC" -> `NC 662 + | "NZ" -> `NZ 663 + | "NI" -> `NI 664 + | "NE" -> `NE 665 + | "NG" -> `NG 666 + | "NU" -> `NU 667 + | "NF" -> `NF 668 + | "MK" -> `MK 669 + | "MP" -> `MP 670 + | "NO" -> `NO 671 + | "OM" -> `OM 672 + | "PK" -> `PK 673 + | "PW" -> `PW 674 + | "PS" -> `PS 675 + | "PA" -> `PA 676 + | "PG" -> `PG 677 + | "PY" -> `PY 678 + | "PE" -> `PE 679 + | "PH" -> `PH 680 + | "PN" -> `PN 681 + | "PL" -> `PL 682 + | "PT" -> `PT 683 + | "PR" -> `PR 684 + | "QA" -> `QA 685 + | "RE" -> `RE 686 + | "RO" -> `RO 687 + | "RU" -> `RU 688 + | "RW" -> `RW 689 + | "BL" -> `BL 690 + | "SH" -> `SH 691 + | "KN" -> `KN 692 + | "LC" -> `LC 693 + | "MF" -> `MF 694 + | "PM" -> `PM 695 + | "VC" -> `VC 696 + | "WS" -> `WS 697 + | "SM" -> `SM 698 + | "ST" -> `ST 699 + | "SA" -> `SA 700 + | "SN" -> `SN 701 + | "RS" -> `RS 702 + | "SC" -> `SC 703 + | "SL" -> `SL 704 + | "SG" -> `SG 705 + | "SX" -> `SX 706 + | "SK" -> `SK 707 + | "SI" -> `SI 708 + | "SB" -> `SB 709 + | "SO" -> `SO 710 + | "ZA" -> `ZA 711 + | "GS" -> `GS 712 + | "SS" -> `SS 713 + | "ES" -> `ES 714 + | "LK" -> `LK 715 + | "SD" -> `SD 716 + | "SR" -> `SR 717 + | "SJ" -> `SJ 718 + | "SE" -> `SE 719 + | "CH" -> `CH 720 + | "SY" -> `SY 721 + | "TW" -> `TW 722 + | "TJ" -> `TJ 723 + | "TZ" -> `TZ 724 + | "TH" -> `TH 725 + | "TL" -> `TL 726 + | "TG" -> `TG 727 + | "TK" -> `TK 728 + | "TO" -> `TO 729 + | "TT" -> `TT 730 + | "TN" -> `TN 731 + | "TR" -> `TR 732 + | "TM" -> `TM 733 + | "TC" -> `TC 734 + | "TV" -> `TV 735 + | "UG" -> `UG 736 + | "UA" -> `UA 737 + | "AE" -> `AE 738 + | "GB" -> `GB 739 + | "US" -> `US 740 + | "UM" -> `UM 741 + | "UY" -> `UY 742 + | "UZ" -> `UZ 743 + | "VU" -> `VU 744 + | "VE" -> `VE 745 + | "VN" -> `VN 746 + | "VG" -> `VG 747 + | "VI" -> `VI 748 + | "WF" -> `WF 749 + | "EH" -> `EH 750 + | "YE" -> `YE 751 + | "ZM" -> `ZM 752 + | "ZW" -> `ZW 753 + | s -> failwith ("Invalid Alpha 2 code: " ^ s) 754 + 755 + type alpha3 = 756 + [ `AFG 757 + | `ALA 758 + | `ALB 759 + | `DZA 760 + | `ASM 761 + | `AND 762 + | `AGO 763 + | `AIA 764 + | `ATA 765 + | `ATG 766 + | `ARG 767 + | `ARM 768 + | `ABW 769 + | `AUS 770 + | `AUT 771 + | `AZE 772 + | `BHS 773 + | `BHR 774 + | `BGD 775 + | `BRB 776 + | `BLR 777 + | `BEL 778 + | `BLZ 779 + | `BEN 780 + | `BMU 781 + | `BTN 782 + | `BOL 783 + | `BES 784 + | `BIH 785 + | `BWA 786 + | `BVT 787 + | `BRA 788 + | `IOT 789 + | `BRN 790 + | `BGR 791 + | `BFA 792 + | `BDI 793 + | `CPV 794 + | `KHM 795 + | `CMR 796 + | `CAN 797 + | `CYM 798 + | `CAF 799 + | `TCD 800 + | `CHL 801 + | `CHN 802 + | `CXR 803 + | `CCK 804 + | `COL 805 + | `COM 806 + | `COG 807 + | `COD 808 + | `COK 809 + | `CRI 810 + | `CIV 811 + | `HRV 812 + | `CUB 813 + | `CUW 814 + | `CYP 815 + | `CZE 816 + | `DNK 817 + | `DJI 818 + | `DMA 819 + | `DOM 820 + | `ECU 821 + | `EGY 822 + | `SLV 823 + | `GNQ 824 + | `ERI 825 + | `EST 826 + | `SWZ 827 + | `ETH 828 + | `FLK 829 + | `FRO 830 + | `FJI 831 + | `FIN 832 + | `FRA 833 + | `GUF 834 + | `PYF 835 + | `ATF 836 + | `GAB 837 + | `GMB 838 + | `GEO 839 + | `DEU 840 + | `GHA 841 + | `GIB 842 + | `GRC 843 + | `GRL 844 + | `GRD 845 + | `GLP 846 + | `GUM 847 + | `GTM 848 + | `GGY 849 + | `GIN 850 + | `GNB 851 + | `GUY 852 + | `HTI 853 + | `HMD 854 + | `VAT 855 + | `HND 856 + | `HKG 857 + | `HUN 858 + | `ISL 859 + | `IND 860 + | `IDN 861 + | `IRN 862 + | `IRQ 863 + | `IRL 864 + | `IMN 865 + | `ISR 866 + | `ITA 867 + | `JAM 868 + | `JPN 869 + | `JEY 870 + | `JOR 871 + | `KAZ 872 + | `KEN 873 + | `KIR 874 + | `PRK 875 + | `KOR 876 + | `KWT 877 + | `KGZ 878 + | `LAO 879 + | `LVA 880 + | `LBN 881 + | `LSO 882 + | `LBR 883 + | `LBY 884 + | `LIE 885 + | `LTU 886 + | `LUX 887 + | `MAC 888 + | `MDG 889 + | `MWI 890 + | `MYS 891 + | `MDV 892 + | `MLI 893 + | `MLT 894 + | `MHL 895 + | `MTQ 896 + | `MRT 897 + | `MUS 898 + | `MYT 899 + | `MEX 900 + | `FSM 901 + | `MDA 902 + | `MCO 903 + | `MNG 904 + | `MNE 905 + | `MSR 906 + | `MAR 907 + | `MOZ 908 + | `MMR 909 + | `NAM 910 + | `NRU 911 + | `NPL 912 + | `NLD 913 + | `NCL 914 + | `NZL 915 + | `NIC 916 + | `NER 917 + | `NGA 918 + | `NIU 919 + | `NFK 920 + | `MKD 921 + | `MNP 922 + | `NOR 923 + | `OMN 924 + | `PAK 925 + | `PLW 926 + | `PSE 927 + | `PAN 928 + | `PNG 929 + | `PRY 930 + | `PER 931 + | `PHL 932 + | `PCN 933 + | `POL 934 + | `PRT 935 + | `PRI 936 + | `QAT 937 + | `REU 938 + | `ROU 939 + | `RUS 940 + | `RWA 941 + | `BLM 942 + | `SHN 943 + | `KNA 944 + | `LCA 945 + | `MAF 946 + | `SPM 947 + | `VCT 948 + | `WSM 949 + | `SMR 950 + | `STP 951 + | `SAU 952 + | `SEN 953 + | `SRB 954 + | `SYC 955 + | `SLE 956 + | `SGP 957 + | `SXM 958 + | `SVK 959 + | `SVN 960 + | `SLB 961 + | `SOM 962 + | `ZAF 963 + | `SGS 964 + | `SSD 965 + | `ESP 966 + | `LKA 967 + | `SDN 968 + | `SUR 969 + | `SJM 970 + | `SWE 971 + | `CHE 972 + | `SYR 973 + | `TWN 974 + | `TJK 975 + | `TZA 976 + | `THA 977 + | `TLS 978 + | `TGO 979 + | `TKL 980 + | `TON 981 + | `TTO 982 + | `TUN 983 + | `TUR 984 + | `TKM 985 + | `TCA 986 + | `TUV 987 + | `UGA 988 + | `UKR 989 + | `ARE 990 + | `GBR 991 + | `USA 992 + | `UMI 993 + | `URY 994 + | `UZB 995 + | `VUT 996 + | `VEN 997 + | `VNM 998 + | `VGB 999 + | `VIR 1000 + | `WLF 1001 + | `ESH 1002 + | `YEM 1003 + | `ZMB 1004 + | `ZWE ] 1005 + 1006 + let alpha3_to_string = function 1007 + | `AFG -> "AFG" 1008 + | `ALA -> "ALA" 1009 + | `ALB -> "ALB" 1010 + | `DZA -> "DZA" 1011 + | `ASM -> "ASM" 1012 + | `AND -> "AND" 1013 + | `AGO -> "AGO" 1014 + | `AIA -> "AIA" 1015 + | `ATA -> "ATA" 1016 + | `ATG -> "ATG" 1017 + | `ARG -> "ARG" 1018 + | `ARM -> "ARM" 1019 + | `ABW -> "ABW" 1020 + | `AUS -> "AUS" 1021 + | `AUT -> "AUT" 1022 + | `AZE -> "AZE" 1023 + | `BHS -> "BHS" 1024 + | `BHR -> "BHR" 1025 + | `BGD -> "BGD" 1026 + | `BRB -> "BRB" 1027 + | `BLR -> "BLR" 1028 + | `BEL -> "BEL" 1029 + | `BLZ -> "BLZ" 1030 + | `BEN -> "BEN" 1031 + | `BMU -> "BMU" 1032 + | `BTN -> "BTN" 1033 + | `BOL -> "BOL" 1034 + | `BES -> "BES" 1035 + | `BIH -> "BIH" 1036 + | `BWA -> "BWA" 1037 + | `BVT -> "BVT" 1038 + | `BRA -> "BRA" 1039 + | `IOT -> "IOT" 1040 + | `BRN -> "BRN" 1041 + | `BGR -> "BGR" 1042 + | `BFA -> "BFA" 1043 + | `BDI -> "BDI" 1044 + | `CPV -> "CPV" 1045 + | `KHM -> "KHM" 1046 + | `CMR -> "CMR" 1047 + | `CAN -> "CAN" 1048 + | `CYM -> "CYM" 1049 + | `CAF -> "CAF" 1050 + | `TCD -> "TCD" 1051 + | `CHL -> "CHL" 1052 + | `CHN -> "CHN" 1053 + | `CXR -> "CXR" 1054 + | `CCK -> "CCK" 1055 + | `COL -> "COL" 1056 + | `COM -> "COM" 1057 + | `COG -> "COG" 1058 + | `COD -> "COD" 1059 + | `COK -> "COK" 1060 + | `CRI -> "CRI" 1061 + | `CIV -> "CIV" 1062 + | `HRV -> "HRV" 1063 + | `CUB -> "CUB" 1064 + | `CUW -> "CUW" 1065 + | `CYP -> "CYP" 1066 + | `CZE -> "CZE" 1067 + | `DNK -> "DNK" 1068 + | `DJI -> "DJI" 1069 + | `DMA -> "DMA" 1070 + | `DOM -> "DOM" 1071 + | `ECU -> "ECU" 1072 + | `EGY -> "EGY" 1073 + | `SLV -> "SLV" 1074 + | `GNQ -> "GNQ" 1075 + | `ERI -> "ERI" 1076 + | `EST -> "EST" 1077 + | `SWZ -> "SWZ" 1078 + | `ETH -> "ETH" 1079 + | `FLK -> "FLK" 1080 + | `FRO -> "FRO" 1081 + | `FJI -> "FJI" 1082 + | `FIN -> "FIN" 1083 + | `FRA -> "FRA" 1084 + | `GUF -> "GUF" 1085 + | `PYF -> "PYF" 1086 + | `ATF -> "ATF" 1087 + | `GAB -> "GAB" 1088 + | `GMB -> "GMB" 1089 + | `GEO -> "GEO" 1090 + | `DEU -> "DEU" 1091 + | `GHA -> "GHA" 1092 + | `GIB -> "GIB" 1093 + | `GRC -> "GRC" 1094 + | `GRL -> "GRL" 1095 + | `GRD -> "GRD" 1096 + | `GLP -> "GLP" 1097 + | `GUM -> "GUM" 1098 + | `GTM -> "GTM" 1099 + | `GGY -> "GGY" 1100 + | `GIN -> "GIN" 1101 + | `GNB -> "GNB" 1102 + | `GUY -> "GUY" 1103 + | `HTI -> "HTI" 1104 + | `HMD -> "HMD" 1105 + | `VAT -> "VAT" 1106 + | `HND -> "HND" 1107 + | `HKG -> "HKG" 1108 + | `HUN -> "HUN" 1109 + | `ISL -> "ISL" 1110 + | `IND -> "IND" 1111 + | `IDN -> "IDN" 1112 + | `IRN -> "IRN" 1113 + | `IRQ -> "IRQ" 1114 + | `IRL -> "IRL" 1115 + | `IMN -> "IMN" 1116 + | `ISR -> "ISR" 1117 + | `ITA -> "ITA" 1118 + | `JAM -> "JAM" 1119 + | `JPN -> "JPN" 1120 + | `JEY -> "JEY" 1121 + | `JOR -> "JOR" 1122 + | `KAZ -> "KAZ" 1123 + | `KEN -> "KEN" 1124 + | `KIR -> "KIR" 1125 + | `PRK -> "PRK" 1126 + | `KOR -> "KOR" 1127 + | `KWT -> "KWT" 1128 + | `KGZ -> "KGZ" 1129 + | `LAO -> "LAO" 1130 + | `LVA -> "LVA" 1131 + | `LBN -> "LBN" 1132 + | `LSO -> "LSO" 1133 + | `LBR -> "LBR" 1134 + | `LBY -> "LBY" 1135 + | `LIE -> "LIE" 1136 + | `LTU -> "LTU" 1137 + | `LUX -> "LUX" 1138 + | `MAC -> "MAC" 1139 + | `MDG -> "MDG" 1140 + | `MWI -> "MWI" 1141 + | `MYS -> "MYS" 1142 + | `MDV -> "MDV" 1143 + | `MLI -> "MLI" 1144 + | `MLT -> "MLT" 1145 + | `MHL -> "MHL" 1146 + | `MTQ -> "MTQ" 1147 + | `MRT -> "MRT" 1148 + | `MUS -> "MUS" 1149 + | `MYT -> "MYT" 1150 + | `MEX -> "MEX" 1151 + | `FSM -> "FSM" 1152 + | `MDA -> "MDA" 1153 + | `MCO -> "MCO" 1154 + | `MNG -> "MNG" 1155 + | `MNE -> "MNE" 1156 + | `MSR -> "MSR" 1157 + | `MAR -> "MAR" 1158 + | `MOZ -> "MOZ" 1159 + | `MMR -> "MMR" 1160 + | `NAM -> "NAM" 1161 + | `NRU -> "NRU" 1162 + | `NPL -> "NPL" 1163 + | `NLD -> "NLD" 1164 + | `NCL -> "NCL" 1165 + | `NZL -> "NZL" 1166 + | `NIC -> "NIC" 1167 + | `NER -> "NER" 1168 + | `NGA -> "NGA" 1169 + | `NIU -> "NIU" 1170 + | `NFK -> "NFK" 1171 + | `MKD -> "MKD" 1172 + | `MNP -> "MNP" 1173 + | `NOR -> "NOR" 1174 + | `OMN -> "OMN" 1175 + | `PAK -> "PAK" 1176 + | `PLW -> "PLW" 1177 + | `PSE -> "PSE" 1178 + | `PAN -> "PAN" 1179 + | `PNG -> "PNG" 1180 + | `PRY -> "PRY" 1181 + | `PER -> "PER" 1182 + | `PHL -> "PHL" 1183 + | `PCN -> "PCN" 1184 + | `POL -> "POL" 1185 + | `PRT -> "PRT" 1186 + | `PRI -> "PRI" 1187 + | `QAT -> "QAT" 1188 + | `REU -> "REU" 1189 + | `ROU -> "ROU" 1190 + | `RUS -> "RUS" 1191 + | `RWA -> "RWA" 1192 + | `BLM -> "BLM" 1193 + | `SHN -> "SHN" 1194 + | `KNA -> "KNA" 1195 + | `LCA -> "LCA" 1196 + | `MAF -> "MAF" 1197 + | `SPM -> "SPM" 1198 + | `VCT -> "VCT" 1199 + | `WSM -> "WSM" 1200 + | `SMR -> "SMR" 1201 + | `STP -> "STP" 1202 + | `SAU -> "SAU" 1203 + | `SEN -> "SEN" 1204 + | `SRB -> "SRB" 1205 + | `SYC -> "SYC" 1206 + | `SLE -> "SLE" 1207 + | `SGP -> "SGP" 1208 + | `SXM -> "SXM" 1209 + | `SVK -> "SVK" 1210 + | `SVN -> "SVN" 1211 + | `SLB -> "SLB" 1212 + | `SOM -> "SOM" 1213 + | `ZAF -> "ZAF" 1214 + | `SGS -> "SGS" 1215 + | `SSD -> "SSD" 1216 + | `ESP -> "ESP" 1217 + | `LKA -> "LKA" 1218 + | `SDN -> "SDN" 1219 + | `SUR -> "SUR" 1220 + | `SJM -> "SJM" 1221 + | `SWE -> "SWE" 1222 + | `CHE -> "CHE" 1223 + | `SYR -> "SYR" 1224 + | `TWN -> "TWN" 1225 + | `TJK -> "TJK" 1226 + | `TZA -> "TZA" 1227 + | `THA -> "THA" 1228 + | `TLS -> "TLS" 1229 + | `TGO -> "TGO" 1230 + | `TKL -> "TKL" 1231 + | `TON -> "TON" 1232 + | `TTO -> "TTO" 1233 + | `TUN -> "TUN" 1234 + | `TUR -> "TUR" 1235 + | `TKM -> "TKM" 1236 + | `TCA -> "TCA" 1237 + | `TUV -> "TUV" 1238 + | `UGA -> "UGA" 1239 + | `UKR -> "UKR" 1240 + | `ARE -> "ARE" 1241 + | `GBR -> "GBR" 1242 + | `USA -> "USA" 1243 + | `UMI -> "UMI" 1244 + | `URY -> "URY" 1245 + | `UZB -> "UZB" 1246 + | `VUT -> "VUT" 1247 + | `VEN -> "VEN" 1248 + | `VNM -> "VNM" 1249 + | `VGB -> "VGB" 1250 + | `VIR -> "VIR" 1251 + | `WLF -> "WLF" 1252 + | `ESH -> "ESH" 1253 + | `YEM -> "YEM" 1254 + | `ZMB -> "ZMB" 1255 + | `ZWE -> "ZWE" 1256 + 1257 + let alpha3_of_string = function 1258 + | "AFG" -> `AFG 1259 + | "ALA" -> `ALA 1260 + | "ALB" -> `ALB 1261 + | "DZA" -> `DZA 1262 + | "ASM" -> `ASM 1263 + | "AND" -> `AND 1264 + | "AGO" -> `AGO 1265 + | "AIA" -> `AIA 1266 + | "ATA" -> `ATA 1267 + | "ATG" -> `ATG 1268 + | "ARG" -> `ARG 1269 + | "ARM" -> `ARM 1270 + | "ABW" -> `ABW 1271 + | "AUS" -> `AUS 1272 + | "AUT" -> `AUT 1273 + | "AZE" -> `AZE 1274 + | "BHS" -> `BHS 1275 + | "BHR" -> `BHR 1276 + | "BGD" -> `BGD 1277 + | "BRB" -> `BRB 1278 + | "BLR" -> `BLR 1279 + | "BEL" -> `BEL 1280 + | "BLZ" -> `BLZ 1281 + | "BEN" -> `BEN 1282 + | "BMU" -> `BMU 1283 + | "BTN" -> `BTN 1284 + | "BOL" -> `BOL 1285 + | "BES" -> `BES 1286 + | "BIH" -> `BIH 1287 + | "BWA" -> `BWA 1288 + | "BVT" -> `BVT 1289 + | "BRA" -> `BRA 1290 + | "IOT" -> `IOT 1291 + | "BRN" -> `BRN 1292 + | "BGR" -> `BGR 1293 + | "BFA" -> `BFA 1294 + | "BDI" -> `BDI 1295 + | "CPV" -> `CPV 1296 + | "KHM" -> `KHM 1297 + | "CMR" -> `CMR 1298 + | "CAN" -> `CAN 1299 + | "CYM" -> `CYM 1300 + | "CAF" -> `CAF 1301 + | "TCD" -> `TCD 1302 + | "CHL" -> `CHL 1303 + | "CHN" -> `CHN 1304 + | "CXR" -> `CXR 1305 + | "CCK" -> `CCK 1306 + | "COL" -> `COL 1307 + | "COM" -> `COM 1308 + | "COG" -> `COG 1309 + | "COD" -> `COD 1310 + | "COK" -> `COK 1311 + | "CRI" -> `CRI 1312 + | "CIV" -> `CIV 1313 + | "HRV" -> `HRV 1314 + | "CUB" -> `CUB 1315 + | "CUW" -> `CUW 1316 + | "CYP" -> `CYP 1317 + | "CZE" -> `CZE 1318 + | "DNK" -> `DNK 1319 + | "DJI" -> `DJI 1320 + | "DMA" -> `DMA 1321 + | "DOM" -> `DOM 1322 + | "ECU" -> `ECU 1323 + | "EGY" -> `EGY 1324 + | "SLV" -> `SLV 1325 + | "GNQ" -> `GNQ 1326 + | "ERI" -> `ERI 1327 + | "EST" -> `EST 1328 + | "SWZ" -> `SWZ 1329 + | "ETH" -> `ETH 1330 + | "FLK" -> `FLK 1331 + | "FRO" -> `FRO 1332 + | "FJI" -> `FJI 1333 + | "FIN" -> `FIN 1334 + | "FRA" -> `FRA 1335 + | "GUF" -> `GUF 1336 + | "PYF" -> `PYF 1337 + | "ATF" -> `ATF 1338 + | "GAB" -> `GAB 1339 + | "GMB" -> `GMB 1340 + | "GEO" -> `GEO 1341 + | "DEU" -> `DEU 1342 + | "GHA" -> `GHA 1343 + | "GIB" -> `GIB 1344 + | "GRC" -> `GRC 1345 + | "GRL" -> `GRL 1346 + | "GRD" -> `GRD 1347 + | "GLP" -> `GLP 1348 + | "GUM" -> `GUM 1349 + | "GTM" -> `GTM 1350 + | "GGY" -> `GGY 1351 + | "GIN" -> `GIN 1352 + | "GNB" -> `GNB 1353 + | "GUY" -> `GUY 1354 + | "HTI" -> `HTI 1355 + | "HMD" -> `HMD 1356 + | "VAT" -> `VAT 1357 + | "HND" -> `HND 1358 + | "HKG" -> `HKG 1359 + | "HUN" -> `HUN 1360 + | "ISL" -> `ISL 1361 + | "IND" -> `IND 1362 + | "IDN" -> `IDN 1363 + | "IRN" -> `IRN 1364 + | "IRQ" -> `IRQ 1365 + | "IRL" -> `IRL 1366 + | "IMN" -> `IMN 1367 + | "ISR" -> `ISR 1368 + | "ITA" -> `ITA 1369 + | "JAM" -> `JAM 1370 + | "JPN" -> `JPN 1371 + | "JEY" -> `JEY 1372 + | "JOR" -> `JOR 1373 + | "KAZ" -> `KAZ 1374 + | "KEN" -> `KEN 1375 + | "KIR" -> `KIR 1376 + | "PRK" -> `PRK 1377 + | "KOR" -> `KOR 1378 + | "KWT" -> `KWT 1379 + | "KGZ" -> `KGZ 1380 + | "LAO" -> `LAO 1381 + | "LVA" -> `LVA 1382 + | "LBN" -> `LBN 1383 + | "LSO" -> `LSO 1384 + | "LBR" -> `LBR 1385 + | "LBY" -> `LBY 1386 + | "LIE" -> `LIE 1387 + | "LTU" -> `LTU 1388 + | "LUX" -> `LUX 1389 + | "MAC" -> `MAC 1390 + | "MDG" -> `MDG 1391 + | "MWI" -> `MWI 1392 + | "MYS" -> `MYS 1393 + | "MDV" -> `MDV 1394 + | "MLI" -> `MLI 1395 + | "MLT" -> `MLT 1396 + | "MHL" -> `MHL 1397 + | "MTQ" -> `MTQ 1398 + | "MRT" -> `MRT 1399 + | "MUS" -> `MUS 1400 + | "MYT" -> `MYT 1401 + | "MEX" -> `MEX 1402 + | "FSM" -> `FSM 1403 + | "MDA" -> `MDA 1404 + | "MCO" -> `MCO 1405 + | "MNG" -> `MNG 1406 + | "MNE" -> `MNE 1407 + | "MSR" -> `MSR 1408 + | "MAR" -> `MAR 1409 + | "MOZ" -> `MOZ 1410 + | "MMR" -> `MMR 1411 + | "NAM" -> `NAM 1412 + | "NRU" -> `NRU 1413 + | "NPL" -> `NPL 1414 + | "NLD" -> `NLD 1415 + | "NCL" -> `NCL 1416 + | "NZL" -> `NZL 1417 + | "NIC" -> `NIC 1418 + | "NER" -> `NER 1419 + | "NGA" -> `NGA 1420 + | "NIU" -> `NIU 1421 + | "NFK" -> `NFK 1422 + | "MKD" -> `MKD 1423 + | "MNP" -> `MNP 1424 + | "NOR" -> `NOR 1425 + | "OMN" -> `OMN 1426 + | "PAK" -> `PAK 1427 + | "PLW" -> `PLW 1428 + | "PSE" -> `PSE 1429 + | "PAN" -> `PAN 1430 + | "PNG" -> `PNG 1431 + | "PRY" -> `PRY 1432 + | "PER" -> `PER 1433 + | "PHL" -> `PHL 1434 + | "PCN" -> `PCN 1435 + | "POL" -> `POL 1436 + | "PRT" -> `PRT 1437 + | "PRI" -> `PRI 1438 + | "QAT" -> `QAT 1439 + | "REU" -> `REU 1440 + | "ROU" -> `ROU 1441 + | "RUS" -> `RUS 1442 + | "RWA" -> `RWA 1443 + | "BLM" -> `BLM 1444 + | "SHN" -> `SHN 1445 + | "KNA" -> `KNA 1446 + | "LCA" -> `LCA 1447 + | "MAF" -> `MAF 1448 + | "SPM" -> `SPM 1449 + | "VCT" -> `VCT 1450 + | "WSM" -> `WSM 1451 + | "SMR" -> `SMR 1452 + | "STP" -> `STP 1453 + | "SAU" -> `SAU 1454 + | "SEN" -> `SEN 1455 + | "SRB" -> `SRB 1456 + | "SYC" -> `SYC 1457 + | "SLE" -> `SLE 1458 + | "SGP" -> `SGP 1459 + | "SXM" -> `SXM 1460 + | "SVK" -> `SVK 1461 + | "SVN" -> `SVN 1462 + | "SLB" -> `SLB 1463 + | "SOM" -> `SOM 1464 + | "ZAF" -> `ZAF 1465 + | "SGS" -> `SGS 1466 + | "SSD" -> `SSD 1467 + | "ESP" -> `ESP 1468 + | "LKA" -> `LKA 1469 + | "SDN" -> `SDN 1470 + | "SUR" -> `SUR 1471 + | "SJM" -> `SJM 1472 + | "SWE" -> `SWE 1473 + | "CHE" -> `CHE 1474 + | "SYR" -> `SYR 1475 + | "TWN" -> `TWN 1476 + | "TJK" -> `TJK 1477 + | "TZA" -> `TZA 1478 + | "THA" -> `THA 1479 + | "TLS" -> `TLS 1480 + | "TGO" -> `TGO 1481 + | "TKL" -> `TKL 1482 + | "TON" -> `TON 1483 + | "TTO" -> `TTO 1484 + | "TUN" -> `TUN 1485 + | "TUR" -> `TUR 1486 + | "TKM" -> `TKM 1487 + | "TCA" -> `TCA 1488 + | "TUV" -> `TUV 1489 + | "UGA" -> `UGA 1490 + | "UKR" -> `UKR 1491 + | "ARE" -> `ARE 1492 + | "GBR" -> `GBR 1493 + | "USA" -> `USA 1494 + | "UMI" -> `UMI 1495 + | "URY" -> `URY 1496 + | "UZB" -> `UZB 1497 + | "VUT" -> `VUT 1498 + | "VEN" -> `VEN 1499 + | "VNM" -> `VNM 1500 + | "VGB" -> `VGB 1501 + | "VIR" -> `VIR 1502 + | "WLF" -> `WLF 1503 + | "ESH" -> `ESH 1504 + | "YEM" -> `YEM 1505 + | "ZMB" -> `ZMB 1506 + | "ZWE" -> `ZWE 1507 + | s -> failwith ("Invalid Alpha 3 code: " ^ s) 1508 + 1509 + type numeric = int 1510 + 1511 + let numeric_to_int v = v 1512 + 1513 + let numeric_of_int v = 1514 + if v < 0 || v > 999 then 1515 + invalid_arg "Numeric country code is not between 0-999" 1516 + else v 1517 + 1518 + let numeric_to_string v = 1519 + if v < 10 then "00" ^ string_of_int v 1520 + else if v >= 10 && v < 100 then "0" ^ string_of_int v 1521 + else string_of_int v 1522 + 1523 + let numeric_of_string v = numeric_of_int (int_of_string v) 1524 + 1525 + module Country = struct 1526 + type t = { 1527 + name : string; 1528 + alpha2 : alpha2; 1529 + alpha3 : alpha3; 1530 + numeric : int; 1531 + region : string option; 1532 + sub_region : string option; 1533 + } 1534 + 1535 + let alpha2 t = t.alpha2 1536 + let alpha3 t = t.alpha3 1537 + let numeric t = t.numeric 1538 + let name t = t.name 1539 + let region t = t.region 1540 + let sub_region t = t.sub_region 1541 + 1542 + let af = 1543 + { 1544 + name = "Afghanistan"; 1545 + alpha2 = `AF; 1546 + alpha3 = `AFG; 1547 + numeric = 4; 1548 + region = Some "Asia"; 1549 + sub_region = Some "Southern Asia"; 1550 + } 1551 + 1552 + let ax = 1553 + { 1554 + name = "Åland Islands"; 1555 + alpha2 = `AX; 1556 + alpha3 = `ALA; 1557 + numeric = 248; 1558 + region = Some "Europe"; 1559 + sub_region = Some "Northern Europe"; 1560 + } 1561 + 1562 + let al = 1563 + { 1564 + name = "Albania"; 1565 + alpha2 = `AL; 1566 + alpha3 = `ALB; 1567 + numeric = 8; 1568 + region = Some "Europe"; 1569 + sub_region = Some "Southern Europe"; 1570 + } 1571 + 1572 + let dz = 1573 + { 1574 + name = "Algeria"; 1575 + alpha2 = `DZ; 1576 + alpha3 = `DZA; 1577 + numeric = 12; 1578 + region = Some "Africa"; 1579 + sub_region = Some "Northern Africa"; 1580 + } 1581 + 1582 + let as' = 1583 + { 1584 + name = "American Samoa"; 1585 + alpha2 = `AS; 1586 + alpha3 = `ASM; 1587 + numeric = 16; 1588 + region = Some "Oceania"; 1589 + sub_region = Some "Polynesia"; 1590 + } 1591 + 1592 + let ad = 1593 + { 1594 + name = "Andorra"; 1595 + alpha2 = `AD; 1596 + alpha3 = `AND; 1597 + numeric = 20; 1598 + region = Some "Europe"; 1599 + sub_region = Some "Southern Europe"; 1600 + } 1601 + 1602 + let ao = 1603 + { 1604 + name = "Angola"; 1605 + alpha2 = `AO; 1606 + alpha3 = `AGO; 1607 + numeric = 24; 1608 + region = Some "Africa"; 1609 + sub_region = Some "Sub-Saharan Africa"; 1610 + } 1611 + 1612 + let ai = 1613 + { 1614 + name = "Anguilla"; 1615 + alpha2 = `AI; 1616 + alpha3 = `AIA; 1617 + numeric = 660; 1618 + region = Some "Americas"; 1619 + sub_region = Some "Latin America and the Caribbean"; 1620 + } 1621 + 1622 + let aq = 1623 + { 1624 + name = "Antarctica"; 1625 + alpha2 = `AQ; 1626 + alpha3 = `ATA; 1627 + numeric = 10; 1628 + region = None; 1629 + sub_region = None; 1630 + } 1631 + 1632 + let ag = 1633 + { 1634 + name = "Antigua and Barbuda"; 1635 + alpha2 = `AG; 1636 + alpha3 = `ATG; 1637 + numeric = 28; 1638 + region = Some "Americas"; 1639 + sub_region = Some "Latin America and the Caribbean"; 1640 + } 1641 + 1642 + let ar = 1643 + { 1644 + name = "Argentina"; 1645 + alpha2 = `AR; 1646 + alpha3 = `ARG; 1647 + numeric = 32; 1648 + region = Some "Americas"; 1649 + sub_region = Some "Latin America and the Caribbean"; 1650 + } 1651 + 1652 + let am = 1653 + { 1654 + name = "Armenia"; 1655 + alpha2 = `AM; 1656 + alpha3 = `ARM; 1657 + numeric = 51; 1658 + region = Some "Asia"; 1659 + sub_region = Some "Western Asia"; 1660 + } 1661 + 1662 + let aw = 1663 + { 1664 + name = "Aruba"; 1665 + alpha2 = `AW; 1666 + alpha3 = `ABW; 1667 + numeric = 533; 1668 + region = Some "Americas"; 1669 + sub_region = Some "Latin America and the Caribbean"; 1670 + } 1671 + 1672 + let au = 1673 + { 1674 + name = "Australia"; 1675 + alpha2 = `AU; 1676 + alpha3 = `AUS; 1677 + numeric = 36; 1678 + region = Some "Oceania"; 1679 + sub_region = Some "Australia and New Zealand"; 1680 + } 1681 + 1682 + let at = 1683 + { 1684 + name = "Austria"; 1685 + alpha2 = `AT; 1686 + alpha3 = `AUT; 1687 + numeric = 40; 1688 + region = Some "Europe"; 1689 + sub_region = Some "Western Europe"; 1690 + } 1691 + 1692 + let az = 1693 + { 1694 + name = "Azerbaijan"; 1695 + alpha2 = `AZ; 1696 + alpha3 = `AZE; 1697 + numeric = 31; 1698 + region = Some "Asia"; 1699 + sub_region = Some "Western Asia"; 1700 + } 1701 + 1702 + let bs = 1703 + { 1704 + name = "Bahamas"; 1705 + alpha2 = `BS; 1706 + alpha3 = `BHS; 1707 + numeric = 44; 1708 + region = Some "Americas"; 1709 + sub_region = Some "Latin America and the Caribbean"; 1710 + } 1711 + 1712 + let bh = 1713 + { 1714 + name = "Bahrain"; 1715 + alpha2 = `BH; 1716 + alpha3 = `BHR; 1717 + numeric = 48; 1718 + region = Some "Asia"; 1719 + sub_region = Some "Western Asia"; 1720 + } 1721 + 1722 + let bd = 1723 + { 1724 + name = "Bangladesh"; 1725 + alpha2 = `BD; 1726 + alpha3 = `BGD; 1727 + numeric = 50; 1728 + region = Some "Asia"; 1729 + sub_region = Some "Southern Asia"; 1730 + } 1731 + 1732 + let bb = 1733 + { 1734 + name = "Barbados"; 1735 + alpha2 = `BB; 1736 + alpha3 = `BRB; 1737 + numeric = 52; 1738 + region = Some "Americas"; 1739 + sub_region = Some "Latin America and the Caribbean"; 1740 + } 1741 + 1742 + let by = 1743 + { 1744 + name = "Belarus"; 1745 + alpha2 = `BY; 1746 + alpha3 = `BLR; 1747 + numeric = 112; 1748 + region = Some "Europe"; 1749 + sub_region = Some "Eastern Europe"; 1750 + } 1751 + 1752 + let be = 1753 + { 1754 + name = "Belgium"; 1755 + alpha2 = `BE; 1756 + alpha3 = `BEL; 1757 + numeric = 56; 1758 + region = Some "Europe"; 1759 + sub_region = Some "Western Europe"; 1760 + } 1761 + 1762 + let bz = 1763 + { 1764 + name = "Belize"; 1765 + alpha2 = `BZ; 1766 + alpha3 = `BLZ; 1767 + numeric = 84; 1768 + region = Some "Americas"; 1769 + sub_region = Some "Latin America and the Caribbean"; 1770 + } 1771 + 1772 + let bj = 1773 + { 1774 + name = "Benin"; 1775 + alpha2 = `BJ; 1776 + alpha3 = `BEN; 1777 + numeric = 204; 1778 + region = Some "Africa"; 1779 + sub_region = Some "Sub-Saharan Africa"; 1780 + } 1781 + 1782 + let bm = 1783 + { 1784 + name = "Bermuda"; 1785 + alpha2 = `BM; 1786 + alpha3 = `BMU; 1787 + numeric = 60; 1788 + region = Some "Americas"; 1789 + sub_region = Some "Northern America"; 1790 + } 1791 + 1792 + let bt = 1793 + { 1794 + name = "Bhutan"; 1795 + alpha2 = `BT; 1796 + alpha3 = `BTN; 1797 + numeric = 64; 1798 + region = Some "Asia"; 1799 + sub_region = Some "Southern Asia"; 1800 + } 1801 + 1802 + let bo = 1803 + { 1804 + name = "Bolivia (Plurinational State of)"; 1805 + alpha2 = `BO; 1806 + alpha3 = `BOL; 1807 + numeric = 68; 1808 + region = Some "Americas"; 1809 + sub_region = Some "Latin America and the Caribbean"; 1810 + } 1811 + 1812 + let bq = 1813 + { 1814 + name = "Bonaire Sint Eustatius and Saba"; 1815 + alpha2 = `BQ; 1816 + alpha3 = `BES; 1817 + numeric = 535; 1818 + region = Some "Americas"; 1819 + sub_region = Some "Latin America and the Caribbean"; 1820 + } 1821 + 1822 + let ba = 1823 + { 1824 + name = "Bosnia and Herzegovina"; 1825 + alpha2 = `BA; 1826 + alpha3 = `BIH; 1827 + numeric = 70; 1828 + region = Some "Europe"; 1829 + sub_region = Some "Southern Europe"; 1830 + } 1831 + 1832 + let bw = 1833 + { 1834 + name = "Botswana"; 1835 + alpha2 = `BW; 1836 + alpha3 = `BWA; 1837 + numeric = 72; 1838 + region = Some "Africa"; 1839 + sub_region = Some "Sub-Saharan Africa"; 1840 + } 1841 + 1842 + let bv = 1843 + { 1844 + name = "Bouvet Island"; 1845 + alpha2 = `BV; 1846 + alpha3 = `BVT; 1847 + numeric = 74; 1848 + region = Some "Americas"; 1849 + sub_region = Some "Latin America and the Caribbean"; 1850 + } 1851 + 1852 + let br = 1853 + { 1854 + name = "Brazil"; 1855 + alpha2 = `BR; 1856 + alpha3 = `BRA; 1857 + numeric = 76; 1858 + region = Some "Americas"; 1859 + sub_region = Some "Latin America and the Caribbean"; 1860 + } 1861 + 1862 + let io = 1863 + { 1864 + name = "British Indian Ocean Territory"; 1865 + alpha2 = `IO; 1866 + alpha3 = `IOT; 1867 + numeric = 86; 1868 + region = Some "Africa"; 1869 + sub_region = Some "Sub-Saharan Africa"; 1870 + } 1871 + 1872 + let bn = 1873 + { 1874 + name = "Brunei Darussalam"; 1875 + alpha2 = `BN; 1876 + alpha3 = `BRN; 1877 + numeric = 96; 1878 + region = Some "Asia"; 1879 + sub_region = Some "South-eastern Asia"; 1880 + } 1881 + 1882 + let bg = 1883 + { 1884 + name = "Bulgaria"; 1885 + alpha2 = `BG; 1886 + alpha3 = `BGR; 1887 + numeric = 100; 1888 + region = Some "Europe"; 1889 + sub_region = Some "Eastern Europe"; 1890 + } 1891 + 1892 + let bf = 1893 + { 1894 + name = "Burkina Faso"; 1895 + alpha2 = `BF; 1896 + alpha3 = `BFA; 1897 + numeric = 854; 1898 + region = Some "Africa"; 1899 + sub_region = Some "Sub-Saharan Africa"; 1900 + } 1901 + 1902 + let bi = 1903 + { 1904 + name = "Burundi"; 1905 + alpha2 = `BI; 1906 + alpha3 = `BDI; 1907 + numeric = 108; 1908 + region = Some "Africa"; 1909 + sub_region = Some "Sub-Saharan Africa"; 1910 + } 1911 + 1912 + let cv = 1913 + { 1914 + name = "Cabo Verde"; 1915 + alpha2 = `CV; 1916 + alpha3 = `CPV; 1917 + numeric = 132; 1918 + region = Some "Africa"; 1919 + sub_region = Some "Sub-Saharan Africa"; 1920 + } 1921 + 1922 + let kh = 1923 + { 1924 + name = "Cambodia"; 1925 + alpha2 = `KH; 1926 + alpha3 = `KHM; 1927 + numeric = 116; 1928 + region = Some "Asia"; 1929 + sub_region = Some "South-eastern Asia"; 1930 + } 1931 + 1932 + let cm = 1933 + { 1934 + name = "Cameroon"; 1935 + alpha2 = `CM; 1936 + alpha3 = `CMR; 1937 + numeric = 120; 1938 + region = Some "Africa"; 1939 + sub_region = Some "Sub-Saharan Africa"; 1940 + } 1941 + 1942 + let ca = 1943 + { 1944 + name = "Canada"; 1945 + alpha2 = `CA; 1946 + alpha3 = `CAN; 1947 + numeric = 124; 1948 + region = Some "Americas"; 1949 + sub_region = Some "Northern America"; 1950 + } 1951 + 1952 + let ky = 1953 + { 1954 + name = "Cayman Islands"; 1955 + alpha2 = `KY; 1956 + alpha3 = `CYM; 1957 + numeric = 136; 1958 + region = Some "Americas"; 1959 + sub_region = Some "Latin America and the Caribbean"; 1960 + } 1961 + 1962 + let cf = 1963 + { 1964 + name = "Central African Republic"; 1965 + alpha2 = `CF; 1966 + alpha3 = `CAF; 1967 + numeric = 140; 1968 + region = Some "Africa"; 1969 + sub_region = Some "Sub-Saharan Africa"; 1970 + } 1971 + 1972 + let td = 1973 + { 1974 + name = "Chad"; 1975 + alpha2 = `TD; 1976 + alpha3 = `TCD; 1977 + numeric = 148; 1978 + region = Some "Africa"; 1979 + sub_region = Some "Sub-Saharan Africa"; 1980 + } 1981 + 1982 + let cl = 1983 + { 1984 + name = "Chile"; 1985 + alpha2 = `CL; 1986 + alpha3 = `CHL; 1987 + numeric = 152; 1988 + region = Some "Americas"; 1989 + sub_region = Some "Latin America and the Caribbean"; 1990 + } 1991 + 1992 + let cn = 1993 + { 1994 + name = "China"; 1995 + alpha2 = `CN; 1996 + alpha3 = `CHN; 1997 + numeric = 156; 1998 + region = Some "Asia"; 1999 + sub_region = Some "Eastern Asia"; 2000 + } 2001 + 2002 + let cx = 2003 + { 2004 + name = "Christmas Island"; 2005 + alpha2 = `CX; 2006 + alpha3 = `CXR; 2007 + numeric = 162; 2008 + region = Some "Oceania"; 2009 + sub_region = Some "Australia and New Zealand"; 2010 + } 2011 + 2012 + let cc = 2013 + { 2014 + name = "Cocos (Keeling) Islands"; 2015 + alpha2 = `CC; 2016 + alpha3 = `CCK; 2017 + numeric = 166; 2018 + region = Some "Oceania"; 2019 + sub_region = Some "Australia and New Zealand"; 2020 + } 2021 + 2022 + let co = 2023 + { 2024 + name = "Colombia"; 2025 + alpha2 = `CO; 2026 + alpha3 = `COL; 2027 + numeric = 170; 2028 + region = Some "Americas"; 2029 + sub_region = Some "Latin America and the Caribbean"; 2030 + } 2031 + 2032 + let km = 2033 + { 2034 + name = "Comoros"; 2035 + alpha2 = `KM; 2036 + alpha3 = `COM; 2037 + numeric = 174; 2038 + region = Some "Africa"; 2039 + sub_region = Some "Sub-Saharan Africa"; 2040 + } 2041 + 2042 + let cg = 2043 + { 2044 + name = "Congo"; 2045 + alpha2 = `CG; 2046 + alpha3 = `COG; 2047 + numeric = 178; 2048 + region = Some "Africa"; 2049 + sub_region = Some "Sub-Saharan Africa"; 2050 + } 2051 + 2052 + let cd = 2053 + { 2054 + name = "Congo Democratic Republic of the"; 2055 + alpha2 = `CD; 2056 + alpha3 = `COD; 2057 + numeric = 180; 2058 + region = Some "Africa"; 2059 + sub_region = Some "Sub-Saharan Africa"; 2060 + } 2061 + 2062 + let ck = 2063 + { 2064 + name = "Cook Islands"; 2065 + alpha2 = `CK; 2066 + alpha3 = `COK; 2067 + numeric = 184; 2068 + region = Some "Oceania"; 2069 + sub_region = Some "Polynesia"; 2070 + } 2071 + 2072 + let cr = 2073 + { 2074 + name = "Costa Rica"; 2075 + alpha2 = `CR; 2076 + alpha3 = `CRI; 2077 + numeric = 188; 2078 + region = Some "Americas"; 2079 + sub_region = Some "Latin America and the Caribbean"; 2080 + } 2081 + 2082 + let ci = 2083 + { 2084 + name = "Côte d'Ivoire"; 2085 + alpha2 = `CI; 2086 + alpha3 = `CIV; 2087 + numeric = 384; 2088 + region = Some "Africa"; 2089 + sub_region = Some "Sub-Saharan Africa"; 2090 + } 2091 + 2092 + let hr = 2093 + { 2094 + name = "Croatia"; 2095 + alpha2 = `HR; 2096 + alpha3 = `HRV; 2097 + numeric = 191; 2098 + region = Some "Europe"; 2099 + sub_region = Some "Southern Europe"; 2100 + } 2101 + 2102 + let cu = 2103 + { 2104 + name = "Cuba"; 2105 + alpha2 = `CU; 2106 + alpha3 = `CUB; 2107 + numeric = 192; 2108 + region = Some "Americas"; 2109 + sub_region = Some "Latin America and the Caribbean"; 2110 + } 2111 + 2112 + let cw = 2113 + { 2114 + name = "Curaçao"; 2115 + alpha2 = `CW; 2116 + alpha3 = `CUW; 2117 + numeric = 531; 2118 + region = Some "Americas"; 2119 + sub_region = Some "Latin America and the Caribbean"; 2120 + } 2121 + 2122 + let cy = 2123 + { 2124 + name = "Cyprus"; 2125 + alpha2 = `CY; 2126 + alpha3 = `CYP; 2127 + numeric = 196; 2128 + region = Some "Asia"; 2129 + sub_region = Some "Western Asia"; 2130 + } 2131 + 2132 + let cz = 2133 + { 2134 + name = "Czechia"; 2135 + alpha2 = `CZ; 2136 + alpha3 = `CZE; 2137 + numeric = 203; 2138 + region = Some "Europe"; 2139 + sub_region = Some "Eastern Europe"; 2140 + } 2141 + 2142 + let dk = 2143 + { 2144 + name = "Denmark"; 2145 + alpha2 = `DK; 2146 + alpha3 = `DNK; 2147 + numeric = 208; 2148 + region = Some "Europe"; 2149 + sub_region = Some "Northern Europe"; 2150 + } 2151 + 2152 + let dj = 2153 + { 2154 + name = "Djibouti"; 2155 + alpha2 = `DJ; 2156 + alpha3 = `DJI; 2157 + numeric = 262; 2158 + region = Some "Africa"; 2159 + sub_region = Some "Sub-Saharan Africa"; 2160 + } 2161 + 2162 + let dm = 2163 + { 2164 + name = "Dominica"; 2165 + alpha2 = `DM; 2166 + alpha3 = `DMA; 2167 + numeric = 212; 2168 + region = Some "Americas"; 2169 + sub_region = Some "Latin America and the Caribbean"; 2170 + } 2171 + 2172 + let do' = 2173 + { 2174 + name = "Dominican Republic"; 2175 + alpha2 = `DO; 2176 + alpha3 = `DOM; 2177 + numeric = 214; 2178 + region = Some "Americas"; 2179 + sub_region = Some "Latin America and the Caribbean"; 2180 + } 2181 + 2182 + let ec = 2183 + { 2184 + name = "Ecuador"; 2185 + alpha2 = `EC; 2186 + alpha3 = `ECU; 2187 + numeric = 218; 2188 + region = Some "Americas"; 2189 + sub_region = Some "Latin America and the Caribbean"; 2190 + } 2191 + 2192 + let eg = 2193 + { 2194 + name = "Egypt"; 2195 + alpha2 = `EG; 2196 + alpha3 = `EGY; 2197 + numeric = 818; 2198 + region = Some "Africa"; 2199 + sub_region = Some "Northern Africa"; 2200 + } 2201 + 2202 + let sv = 2203 + { 2204 + name = "El Salvador"; 2205 + alpha2 = `SV; 2206 + alpha3 = `SLV; 2207 + numeric = 222; 2208 + region = Some "Americas"; 2209 + sub_region = Some "Latin America and the Caribbean"; 2210 + } 2211 + 2212 + let gq = 2213 + { 2214 + name = "Equatorial Guinea"; 2215 + alpha2 = `GQ; 2216 + alpha3 = `GNQ; 2217 + numeric = 226; 2218 + region = Some "Africa"; 2219 + sub_region = Some "Sub-Saharan Africa"; 2220 + } 2221 + 2222 + let er = 2223 + { 2224 + name = "Eritrea"; 2225 + alpha2 = `ER; 2226 + alpha3 = `ERI; 2227 + numeric = 232; 2228 + region = Some "Africa"; 2229 + sub_region = Some "Sub-Saharan Africa"; 2230 + } 2231 + 2232 + let ee = 2233 + { 2234 + name = "Estonia"; 2235 + alpha2 = `EE; 2236 + alpha3 = `EST; 2237 + numeric = 233; 2238 + region = Some "Europe"; 2239 + sub_region = Some "Northern Europe"; 2240 + } 2241 + 2242 + let sz = 2243 + { 2244 + name = "Eswatini"; 2245 + alpha2 = `SZ; 2246 + alpha3 = `SWZ; 2247 + numeric = 748; 2248 + region = Some "Africa"; 2249 + sub_region = Some "Sub-Saharan Africa"; 2250 + } 2251 + 2252 + let et = 2253 + { 2254 + name = "Ethiopia"; 2255 + alpha2 = `ET; 2256 + alpha3 = `ETH; 2257 + numeric = 231; 2258 + region = Some "Africa"; 2259 + sub_region = Some "Sub-Saharan Africa"; 2260 + } 2261 + 2262 + let fk = 2263 + { 2264 + name = "Falkland Islands (Malvinas)"; 2265 + alpha2 = `FK; 2266 + alpha3 = `FLK; 2267 + numeric = 238; 2268 + region = Some "Americas"; 2269 + sub_region = Some "Latin America and the Caribbean"; 2270 + } 2271 + 2272 + let fo = 2273 + { 2274 + name = "Faroe Islands"; 2275 + alpha2 = `FO; 2276 + alpha3 = `FRO; 2277 + numeric = 234; 2278 + region = Some "Europe"; 2279 + sub_region = Some "Northern Europe"; 2280 + } 2281 + 2282 + let fj = 2283 + { 2284 + name = "Fiji"; 2285 + alpha2 = `FJ; 2286 + alpha3 = `FJI; 2287 + numeric = 242; 2288 + region = Some "Oceania"; 2289 + sub_region = Some "Melanesia"; 2290 + } 2291 + 2292 + let fi = 2293 + { 2294 + name = "Finland"; 2295 + alpha2 = `FI; 2296 + alpha3 = `FIN; 2297 + numeric = 246; 2298 + region = Some "Europe"; 2299 + sub_region = Some "Northern Europe"; 2300 + } 2301 + 2302 + let fr = 2303 + { 2304 + name = "France"; 2305 + alpha2 = `FR; 2306 + alpha3 = `FRA; 2307 + numeric = 250; 2308 + region = Some "Europe"; 2309 + sub_region = Some "Western Europe"; 2310 + } 2311 + 2312 + let gf = 2313 + { 2314 + name = "French Guiana"; 2315 + alpha2 = `GF; 2316 + alpha3 = `GUF; 2317 + numeric = 254; 2318 + region = Some "Americas"; 2319 + sub_region = Some "Latin America and the Caribbean"; 2320 + } 2321 + 2322 + let pf = 2323 + { 2324 + name = "French Polynesia"; 2325 + alpha2 = `PF; 2326 + alpha3 = `PYF; 2327 + numeric = 258; 2328 + region = Some "Oceania"; 2329 + sub_region = Some "Polynesia"; 2330 + } 2331 + 2332 + let tf = 2333 + { 2334 + name = "French Southern Territories"; 2335 + alpha2 = `TF; 2336 + alpha3 = `ATF; 2337 + numeric = 260; 2338 + region = Some "Africa"; 2339 + sub_region = Some "Sub-Saharan Africa"; 2340 + } 2341 + 2342 + let ga = 2343 + { 2344 + name = "Gabon"; 2345 + alpha2 = `GA; 2346 + alpha3 = `GAB; 2347 + numeric = 266; 2348 + region = Some "Africa"; 2349 + sub_region = Some "Sub-Saharan Africa"; 2350 + } 2351 + 2352 + let gm = 2353 + { 2354 + name = "Gambia"; 2355 + alpha2 = `GM; 2356 + alpha3 = `GMB; 2357 + numeric = 270; 2358 + region = Some "Africa"; 2359 + sub_region = Some "Sub-Saharan Africa"; 2360 + } 2361 + 2362 + let ge = 2363 + { 2364 + name = "Georgia"; 2365 + alpha2 = `GE; 2366 + alpha3 = `GEO; 2367 + numeric = 268; 2368 + region = Some "Asia"; 2369 + sub_region = Some "Western Asia"; 2370 + } 2371 + 2372 + let de = 2373 + { 2374 + name = "Germany"; 2375 + alpha2 = `DE; 2376 + alpha3 = `DEU; 2377 + numeric = 276; 2378 + region = Some "Europe"; 2379 + sub_region = Some "Western Europe"; 2380 + } 2381 + 2382 + let gh = 2383 + { 2384 + name = "Ghana"; 2385 + alpha2 = `GH; 2386 + alpha3 = `GHA; 2387 + numeric = 288; 2388 + region = Some "Africa"; 2389 + sub_region = Some "Sub-Saharan Africa"; 2390 + } 2391 + 2392 + let gi = 2393 + { 2394 + name = "Gibraltar"; 2395 + alpha2 = `GI; 2396 + alpha3 = `GIB; 2397 + numeric = 292; 2398 + region = Some "Europe"; 2399 + sub_region = Some "Southern Europe"; 2400 + } 2401 + 2402 + let gr = 2403 + { 2404 + name = "Greece"; 2405 + alpha2 = `GR; 2406 + alpha3 = `GRC; 2407 + numeric = 300; 2408 + region = Some "Europe"; 2409 + sub_region = Some "Southern Europe"; 2410 + } 2411 + 2412 + let gl = 2413 + { 2414 + name = "Greenland"; 2415 + alpha2 = `GL; 2416 + alpha3 = `GRL; 2417 + numeric = 304; 2418 + region = Some "Americas"; 2419 + sub_region = Some "Northern America"; 2420 + } 2421 + 2422 + let gd = 2423 + { 2424 + name = "Grenada"; 2425 + alpha2 = `GD; 2426 + alpha3 = `GRD; 2427 + numeric = 308; 2428 + region = Some "Americas"; 2429 + sub_region = Some "Latin America and the Caribbean"; 2430 + } 2431 + 2432 + let gp = 2433 + { 2434 + name = "Guadeloupe"; 2435 + alpha2 = `GP; 2436 + alpha3 = `GLP; 2437 + numeric = 312; 2438 + region = Some "Americas"; 2439 + sub_region = Some "Latin America and the Caribbean"; 2440 + } 2441 + 2442 + let gu = 2443 + { 2444 + name = "Guam"; 2445 + alpha2 = `GU; 2446 + alpha3 = `GUM; 2447 + numeric = 316; 2448 + region = Some "Oceania"; 2449 + sub_region = Some "Micronesia"; 2450 + } 2451 + 2452 + let gt = 2453 + { 2454 + name = "Guatemala"; 2455 + alpha2 = `GT; 2456 + alpha3 = `GTM; 2457 + numeric = 320; 2458 + region = Some "Americas"; 2459 + sub_region = Some "Latin America and the Caribbean"; 2460 + } 2461 + 2462 + let gg = 2463 + { 2464 + name = "Guernsey"; 2465 + alpha2 = `GG; 2466 + alpha3 = `GGY; 2467 + numeric = 831; 2468 + region = Some "Europe"; 2469 + sub_region = Some "Northern Europe"; 2470 + } 2471 + 2472 + let gn = 2473 + { 2474 + name = "Guinea"; 2475 + alpha2 = `GN; 2476 + alpha3 = `GIN; 2477 + numeric = 324; 2478 + region = Some "Africa"; 2479 + sub_region = Some "Sub-Saharan Africa"; 2480 + } 2481 + 2482 + let gw = 2483 + { 2484 + name = "Guinea-Bissau"; 2485 + alpha2 = `GW; 2486 + alpha3 = `GNB; 2487 + numeric = 624; 2488 + region = Some "Africa"; 2489 + sub_region = Some "Sub-Saharan Africa"; 2490 + } 2491 + 2492 + let gy = 2493 + { 2494 + name = "Guyana"; 2495 + alpha2 = `GY; 2496 + alpha3 = `GUY; 2497 + numeric = 328; 2498 + region = Some "Americas"; 2499 + sub_region = Some "Latin America and the Caribbean"; 2500 + } 2501 + 2502 + let ht = 2503 + { 2504 + name = "Haiti"; 2505 + alpha2 = `HT; 2506 + alpha3 = `HTI; 2507 + numeric = 332; 2508 + region = Some "Americas"; 2509 + sub_region = Some "Latin America and the Caribbean"; 2510 + } 2511 + 2512 + let hm = 2513 + { 2514 + name = "Heard Island and McDonald Islands"; 2515 + alpha2 = `HM; 2516 + alpha3 = `HMD; 2517 + numeric = 334; 2518 + region = Some "Oceania"; 2519 + sub_region = Some "Australia and New Zealand"; 2520 + } 2521 + 2522 + let va = 2523 + { 2524 + name = "Holy See"; 2525 + alpha2 = `VA; 2526 + alpha3 = `VAT; 2527 + numeric = 336; 2528 + region = Some "Europe"; 2529 + sub_region = Some "Southern Europe"; 2530 + } 2531 + 2532 + let hn = 2533 + { 2534 + name = "Honduras"; 2535 + alpha2 = `HN; 2536 + alpha3 = `HND; 2537 + numeric = 340; 2538 + region = Some "Americas"; 2539 + sub_region = Some "Latin America and the Caribbean"; 2540 + } 2541 + 2542 + let hk = 2543 + { 2544 + name = "Hong Kong"; 2545 + alpha2 = `HK; 2546 + alpha3 = `HKG; 2547 + numeric = 344; 2548 + region = Some "Asia"; 2549 + sub_region = Some "Eastern Asia"; 2550 + } 2551 + 2552 + let hu = 2553 + { 2554 + name = "Hungary"; 2555 + alpha2 = `HU; 2556 + alpha3 = `HUN; 2557 + numeric = 348; 2558 + region = Some "Europe"; 2559 + sub_region = Some "Eastern Europe"; 2560 + } 2561 + 2562 + let is = 2563 + { 2564 + name = "Iceland"; 2565 + alpha2 = `IS; 2566 + alpha3 = `ISL; 2567 + numeric = 352; 2568 + region = Some "Europe"; 2569 + sub_region = Some "Northern Europe"; 2570 + } 2571 + 2572 + let in' = 2573 + { 2574 + name = "India"; 2575 + alpha2 = `IN; 2576 + alpha3 = `IND; 2577 + numeric = 356; 2578 + region = Some "Asia"; 2579 + sub_region = Some "Southern Asia"; 2580 + } 2581 + 2582 + let id = 2583 + { 2584 + name = "Indonesia"; 2585 + alpha2 = `ID; 2586 + alpha3 = `IDN; 2587 + numeric = 360; 2588 + region = Some "Asia"; 2589 + sub_region = Some "South-eastern Asia"; 2590 + } 2591 + 2592 + let ir = 2593 + { 2594 + name = "Iran (Islamic Republic of)"; 2595 + alpha2 = `IR; 2596 + alpha3 = `IRN; 2597 + numeric = 364; 2598 + region = Some "Asia"; 2599 + sub_region = Some "Southern Asia"; 2600 + } 2601 + 2602 + let iq = 2603 + { 2604 + name = "Iraq"; 2605 + alpha2 = `IQ; 2606 + alpha3 = `IRQ; 2607 + numeric = 368; 2608 + region = Some "Asia"; 2609 + sub_region = Some "Western Asia"; 2610 + } 2611 + 2612 + let ie = 2613 + { 2614 + name = "Ireland"; 2615 + alpha2 = `IE; 2616 + alpha3 = `IRL; 2617 + numeric = 372; 2618 + region = Some "Europe"; 2619 + sub_region = Some "Northern Europe"; 2620 + } 2621 + 2622 + let im = 2623 + { 2624 + name = "Isle of Man"; 2625 + alpha2 = `IM; 2626 + alpha3 = `IMN; 2627 + numeric = 833; 2628 + region = Some "Europe"; 2629 + sub_region = Some "Northern Europe"; 2630 + } 2631 + 2632 + let il = 2633 + { 2634 + name = "Israel"; 2635 + alpha2 = `IL; 2636 + alpha3 = `ISR; 2637 + numeric = 376; 2638 + region = Some "Asia"; 2639 + sub_region = Some "Western Asia"; 2640 + } 2641 + 2642 + let it = 2643 + { 2644 + name = "Italy"; 2645 + alpha2 = `IT; 2646 + alpha3 = `ITA; 2647 + numeric = 380; 2648 + region = Some "Europe"; 2649 + sub_region = Some "Southern Europe"; 2650 + } 2651 + 2652 + let jm = 2653 + { 2654 + name = "Jamaica"; 2655 + alpha2 = `JM; 2656 + alpha3 = `JAM; 2657 + numeric = 388; 2658 + region = Some "Americas"; 2659 + sub_region = Some "Latin America and the Caribbean"; 2660 + } 2661 + 2662 + let jp = 2663 + { 2664 + name = "Japan"; 2665 + alpha2 = `JP; 2666 + alpha3 = `JPN; 2667 + numeric = 392; 2668 + region = Some "Asia"; 2669 + sub_region = Some "Eastern Asia"; 2670 + } 2671 + 2672 + let je = 2673 + { 2674 + name = "Jersey"; 2675 + alpha2 = `JE; 2676 + alpha3 = `JEY; 2677 + numeric = 832; 2678 + region = Some "Europe"; 2679 + sub_region = Some "Northern Europe"; 2680 + } 2681 + 2682 + let jo = 2683 + { 2684 + name = "Jordan"; 2685 + alpha2 = `JO; 2686 + alpha3 = `JOR; 2687 + numeric = 400; 2688 + region = Some "Asia"; 2689 + sub_region = Some "Western Asia"; 2690 + } 2691 + 2692 + let kz = 2693 + { 2694 + name = "Kazakhstan"; 2695 + alpha2 = `KZ; 2696 + alpha3 = `KAZ; 2697 + numeric = 398; 2698 + region = Some "Asia"; 2699 + sub_region = Some "Central Asia"; 2700 + } 2701 + 2702 + let ke = 2703 + { 2704 + name = "Kenya"; 2705 + alpha2 = `KE; 2706 + alpha3 = `KEN; 2707 + numeric = 404; 2708 + region = Some "Africa"; 2709 + sub_region = Some "Sub-Saharan Africa"; 2710 + } 2711 + 2712 + let ki = 2713 + { 2714 + name = "Kiribati"; 2715 + alpha2 = `KI; 2716 + alpha3 = `KIR; 2717 + numeric = 296; 2718 + region = Some "Oceania"; 2719 + sub_region = Some "Micronesia"; 2720 + } 2721 + 2722 + let kp = 2723 + { 2724 + name = "Korea (Democratic People's Republic of)"; 2725 + alpha2 = `KP; 2726 + alpha3 = `PRK; 2727 + numeric = 408; 2728 + region = Some "Asia"; 2729 + sub_region = Some "Eastern Asia"; 2730 + } 2731 + 2732 + let kr = 2733 + { 2734 + name = "Korea Republic of"; 2735 + alpha2 = `KR; 2736 + alpha3 = `KOR; 2737 + numeric = 410; 2738 + region = Some "Asia"; 2739 + sub_region = Some "Eastern Asia"; 2740 + } 2741 + 2742 + let kw = 2743 + { 2744 + name = "Kuwait"; 2745 + alpha2 = `KW; 2746 + alpha3 = `KWT; 2747 + numeric = 414; 2748 + region = Some "Asia"; 2749 + sub_region = Some "Western Asia"; 2750 + } 2751 + 2752 + let kg = 2753 + { 2754 + name = "Kyrgyzstan"; 2755 + alpha2 = `KG; 2756 + alpha3 = `KGZ; 2757 + numeric = 417; 2758 + region = Some "Asia"; 2759 + sub_region = Some "Central Asia"; 2760 + } 2761 + 2762 + let la = 2763 + { 2764 + name = "Lao People's Democratic Republic"; 2765 + alpha2 = `LA; 2766 + alpha3 = `LAO; 2767 + numeric = 418; 2768 + region = Some "Asia"; 2769 + sub_region = Some "South-eastern Asia"; 2770 + } 2771 + 2772 + let lv = 2773 + { 2774 + name = "Latvia"; 2775 + alpha2 = `LV; 2776 + alpha3 = `LVA; 2777 + numeric = 428; 2778 + region = Some "Europe"; 2779 + sub_region = Some "Northern Europe"; 2780 + } 2781 + 2782 + let lb = 2783 + { 2784 + name = "Lebanon"; 2785 + alpha2 = `LB; 2786 + alpha3 = `LBN; 2787 + numeric = 422; 2788 + region = Some "Asia"; 2789 + sub_region = Some "Western Asia"; 2790 + } 2791 + 2792 + let ls = 2793 + { 2794 + name = "Lesotho"; 2795 + alpha2 = `LS; 2796 + alpha3 = `LSO; 2797 + numeric = 426; 2798 + region = Some "Africa"; 2799 + sub_region = Some "Sub-Saharan Africa"; 2800 + } 2801 + 2802 + let lr = 2803 + { 2804 + name = "Liberia"; 2805 + alpha2 = `LR; 2806 + alpha3 = `LBR; 2807 + numeric = 430; 2808 + region = Some "Africa"; 2809 + sub_region = Some "Sub-Saharan Africa"; 2810 + } 2811 + 2812 + let ly = 2813 + { 2814 + name = "Libya"; 2815 + alpha2 = `LY; 2816 + alpha3 = `LBY; 2817 + numeric = 434; 2818 + region = Some "Africa"; 2819 + sub_region = Some "Northern Africa"; 2820 + } 2821 + 2822 + let li = 2823 + { 2824 + name = "Liechtenstein"; 2825 + alpha2 = `LI; 2826 + alpha3 = `LIE; 2827 + numeric = 438; 2828 + region = Some "Europe"; 2829 + sub_region = Some "Western Europe"; 2830 + } 2831 + 2832 + let lt = 2833 + { 2834 + name = "Lithuania"; 2835 + alpha2 = `LT; 2836 + alpha3 = `LTU; 2837 + numeric = 440; 2838 + region = Some "Europe"; 2839 + sub_region = Some "Northern Europe"; 2840 + } 2841 + 2842 + let lu = 2843 + { 2844 + name = "Luxembourg"; 2845 + alpha2 = `LU; 2846 + alpha3 = `LUX; 2847 + numeric = 442; 2848 + region = Some "Europe"; 2849 + sub_region = Some "Western Europe"; 2850 + } 2851 + 2852 + let mo = 2853 + { 2854 + name = "Macao"; 2855 + alpha2 = `MO; 2856 + alpha3 = `MAC; 2857 + numeric = 446; 2858 + region = Some "Asia"; 2859 + sub_region = Some "Eastern Asia"; 2860 + } 2861 + 2862 + let mg = 2863 + { 2864 + name = "Madagascar"; 2865 + alpha2 = `MG; 2866 + alpha3 = `MDG; 2867 + numeric = 450; 2868 + region = Some "Africa"; 2869 + sub_region = Some "Sub-Saharan Africa"; 2870 + } 2871 + 2872 + let mw = 2873 + { 2874 + name = "Malawi"; 2875 + alpha2 = `MW; 2876 + alpha3 = `MWI; 2877 + numeric = 454; 2878 + region = Some "Africa"; 2879 + sub_region = Some "Sub-Saharan Africa"; 2880 + } 2881 + 2882 + let my = 2883 + { 2884 + name = "Malaysia"; 2885 + alpha2 = `MY; 2886 + alpha3 = `MYS; 2887 + numeric = 458; 2888 + region = Some "Asia"; 2889 + sub_region = Some "South-eastern Asia"; 2890 + } 2891 + 2892 + let mv = 2893 + { 2894 + name = "Maldives"; 2895 + alpha2 = `MV; 2896 + alpha3 = `MDV; 2897 + numeric = 462; 2898 + region = Some "Asia"; 2899 + sub_region = Some "Southern Asia"; 2900 + } 2901 + 2902 + let ml = 2903 + { 2904 + name = "Mali"; 2905 + alpha2 = `ML; 2906 + alpha3 = `MLI; 2907 + numeric = 466; 2908 + region = Some "Africa"; 2909 + sub_region = Some "Sub-Saharan Africa"; 2910 + } 2911 + 2912 + let mt = 2913 + { 2914 + name = "Malta"; 2915 + alpha2 = `MT; 2916 + alpha3 = `MLT; 2917 + numeric = 470; 2918 + region = Some "Europe"; 2919 + sub_region = Some "Southern Europe"; 2920 + } 2921 + 2922 + let mh = 2923 + { 2924 + name = "Marshall Islands"; 2925 + alpha2 = `MH; 2926 + alpha3 = `MHL; 2927 + numeric = 584; 2928 + region = Some "Oceania"; 2929 + sub_region = Some "Micronesia"; 2930 + } 2931 + 2932 + let mq = 2933 + { 2934 + name = "Martinique"; 2935 + alpha2 = `MQ; 2936 + alpha3 = `MTQ; 2937 + numeric = 474; 2938 + region = Some "Americas"; 2939 + sub_region = Some "Latin America and the Caribbean"; 2940 + } 2941 + 2942 + let mr = 2943 + { 2944 + name = "Mauritania"; 2945 + alpha2 = `MR; 2946 + alpha3 = `MRT; 2947 + numeric = 478; 2948 + region = Some "Africa"; 2949 + sub_region = Some "Sub-Saharan Africa"; 2950 + } 2951 + 2952 + let mu = 2953 + { 2954 + name = "Mauritius"; 2955 + alpha2 = `MU; 2956 + alpha3 = `MUS; 2957 + numeric = 480; 2958 + region = Some "Africa"; 2959 + sub_region = Some "Sub-Saharan Africa"; 2960 + } 2961 + 2962 + let yt = 2963 + { 2964 + name = "Mayotte"; 2965 + alpha2 = `YT; 2966 + alpha3 = `MYT; 2967 + numeric = 175; 2968 + region = Some "Africa"; 2969 + sub_region = Some "Sub-Saharan Africa"; 2970 + } 2971 + 2972 + let mx = 2973 + { 2974 + name = "Mexico"; 2975 + alpha2 = `MX; 2976 + alpha3 = `MEX; 2977 + numeric = 484; 2978 + region = Some "Americas"; 2979 + sub_region = Some "Latin America and the Caribbean"; 2980 + } 2981 + 2982 + let fm = 2983 + { 2984 + name = "Micronesia (Federated States of)"; 2985 + alpha2 = `FM; 2986 + alpha3 = `FSM; 2987 + numeric = 583; 2988 + region = Some "Oceania"; 2989 + sub_region = Some "Micronesia"; 2990 + } 2991 + 2992 + let md = 2993 + { 2994 + name = "Moldova Republic of"; 2995 + alpha2 = `MD; 2996 + alpha3 = `MDA; 2997 + numeric = 498; 2998 + region = Some "Europe"; 2999 + sub_region = Some "Eastern Europe"; 3000 + } 3001 + 3002 + let mc = 3003 + { 3004 + name = "Monaco"; 3005 + alpha2 = `MC; 3006 + alpha3 = `MCO; 3007 + numeric = 492; 3008 + region = Some "Europe"; 3009 + sub_region = Some "Western Europe"; 3010 + } 3011 + 3012 + let mn = 3013 + { 3014 + name = "Mongolia"; 3015 + alpha2 = `MN; 3016 + alpha3 = `MNG; 3017 + numeric = 496; 3018 + region = Some "Asia"; 3019 + sub_region = Some "Eastern Asia"; 3020 + } 3021 + 3022 + let me = 3023 + { 3024 + name = "Montenegro"; 3025 + alpha2 = `ME; 3026 + alpha3 = `MNE; 3027 + numeric = 499; 3028 + region = Some "Europe"; 3029 + sub_region = Some "Southern Europe"; 3030 + } 3031 + 3032 + let ms = 3033 + { 3034 + name = "Montserrat"; 3035 + alpha2 = `MS; 3036 + alpha3 = `MSR; 3037 + numeric = 500; 3038 + region = Some "Americas"; 3039 + sub_region = Some "Latin America and the Caribbean"; 3040 + } 3041 + 3042 + let ma = 3043 + { 3044 + name = "Morocco"; 3045 + alpha2 = `MA; 3046 + alpha3 = `MAR; 3047 + numeric = 504; 3048 + region = Some "Africa"; 3049 + sub_region = Some "Northern Africa"; 3050 + } 3051 + 3052 + let mz = 3053 + { 3054 + name = "Mozambique"; 3055 + alpha2 = `MZ; 3056 + alpha3 = `MOZ; 3057 + numeric = 508; 3058 + region = Some "Africa"; 3059 + sub_region = Some "Sub-Saharan Africa"; 3060 + } 3061 + 3062 + let mm = 3063 + { 3064 + name = "Myanmar"; 3065 + alpha2 = `MM; 3066 + alpha3 = `MMR; 3067 + numeric = 104; 3068 + region = Some "Asia"; 3069 + sub_region = Some "South-eastern Asia"; 3070 + } 3071 + 3072 + let na = 3073 + { 3074 + name = "Namibia"; 3075 + alpha2 = `NA; 3076 + alpha3 = `NAM; 3077 + numeric = 516; 3078 + region = Some "Africa"; 3079 + sub_region = Some "Sub-Saharan Africa"; 3080 + } 3081 + 3082 + let nr = 3083 + { 3084 + name = "Nauru"; 3085 + alpha2 = `NR; 3086 + alpha3 = `NRU; 3087 + numeric = 520; 3088 + region = Some "Oceania"; 3089 + sub_region = Some "Micronesia"; 3090 + } 3091 + 3092 + let np = 3093 + { 3094 + name = "Nepal"; 3095 + alpha2 = `NP; 3096 + alpha3 = `NPL; 3097 + numeric = 524; 3098 + region = Some "Asia"; 3099 + sub_region = Some "Southern Asia"; 3100 + } 3101 + 3102 + let nl = 3103 + { 3104 + name = "Netherlands"; 3105 + alpha2 = `NL; 3106 + alpha3 = `NLD; 3107 + numeric = 528; 3108 + region = Some "Europe"; 3109 + sub_region = Some "Western Europe"; 3110 + } 3111 + 3112 + let nc = 3113 + { 3114 + name = "New Caledonia"; 3115 + alpha2 = `NC; 3116 + alpha3 = `NCL; 3117 + numeric = 540; 3118 + region = Some "Oceania"; 3119 + sub_region = Some "Melanesia"; 3120 + } 3121 + 3122 + let nz = 3123 + { 3124 + name = "New Zealand"; 3125 + alpha2 = `NZ; 3126 + alpha3 = `NZL; 3127 + numeric = 554; 3128 + region = Some "Oceania"; 3129 + sub_region = Some "Australia and New Zealand"; 3130 + } 3131 + 3132 + let ni = 3133 + { 3134 + name = "Nicaragua"; 3135 + alpha2 = `NI; 3136 + alpha3 = `NIC; 3137 + numeric = 558; 3138 + region = Some "Americas"; 3139 + sub_region = Some "Latin America and the Caribbean"; 3140 + } 3141 + 3142 + let ne = 3143 + { 3144 + name = "Niger"; 3145 + alpha2 = `NE; 3146 + alpha3 = `NER; 3147 + numeric = 562; 3148 + region = Some "Africa"; 3149 + sub_region = Some "Sub-Saharan Africa"; 3150 + } 3151 + 3152 + let ng = 3153 + { 3154 + name = "Nigeria"; 3155 + alpha2 = `NG; 3156 + alpha3 = `NGA; 3157 + numeric = 566; 3158 + region = Some "Africa"; 3159 + sub_region = Some "Sub-Saharan Africa"; 3160 + } 3161 + 3162 + let nu = 3163 + { 3164 + name = "Niue"; 3165 + alpha2 = `NU; 3166 + alpha3 = `NIU; 3167 + numeric = 570; 3168 + region = Some "Oceania"; 3169 + sub_region = Some "Polynesia"; 3170 + } 3171 + 3172 + let nf = 3173 + { 3174 + name = "Norfolk Island"; 3175 + alpha2 = `NF; 3176 + alpha3 = `NFK; 3177 + numeric = 574; 3178 + region = Some "Oceania"; 3179 + sub_region = Some "Australia and New Zealand"; 3180 + } 3181 + 3182 + let mk = 3183 + { 3184 + name = "North Macedonia"; 3185 + alpha2 = `MK; 3186 + alpha3 = `MKD; 3187 + numeric = 807; 3188 + region = Some "Europe"; 3189 + sub_region = Some "Southern Europe"; 3190 + } 3191 + 3192 + let mp = 3193 + { 3194 + name = "Northern Mariana Islands"; 3195 + alpha2 = `MP; 3196 + alpha3 = `MNP; 3197 + numeric = 580; 3198 + region = Some "Oceania"; 3199 + sub_region = Some "Micronesia"; 3200 + } 3201 + 3202 + let no = 3203 + { 3204 + name = "Norway"; 3205 + alpha2 = `NO; 3206 + alpha3 = `NOR; 3207 + numeric = 578; 3208 + region = Some "Europe"; 3209 + sub_region = Some "Northern Europe"; 3210 + } 3211 + 3212 + let om = 3213 + { 3214 + name = "Oman"; 3215 + alpha2 = `OM; 3216 + alpha3 = `OMN; 3217 + numeric = 512; 3218 + region = Some "Asia"; 3219 + sub_region = Some "Western Asia"; 3220 + } 3221 + 3222 + let pk = 3223 + { 3224 + name = "Pakistan"; 3225 + alpha2 = `PK; 3226 + alpha3 = `PAK; 3227 + numeric = 586; 3228 + region = Some "Asia"; 3229 + sub_region = Some "Southern Asia"; 3230 + } 3231 + 3232 + let pw = 3233 + { 3234 + name = "Palau"; 3235 + alpha2 = `PW; 3236 + alpha3 = `PLW; 3237 + numeric = 585; 3238 + region = Some "Oceania"; 3239 + sub_region = Some "Micronesia"; 3240 + } 3241 + 3242 + let ps = 3243 + { 3244 + name = "Palestine State of"; 3245 + alpha2 = `PS; 3246 + alpha3 = `PSE; 3247 + numeric = 275; 3248 + region = Some "Asia"; 3249 + sub_region = Some "Western Asia"; 3250 + } 3251 + 3252 + let pa = 3253 + { 3254 + name = "Panama"; 3255 + alpha2 = `PA; 3256 + alpha3 = `PAN; 3257 + numeric = 591; 3258 + region = Some "Americas"; 3259 + sub_region = Some "Latin America and the Caribbean"; 3260 + } 3261 + 3262 + let pg = 3263 + { 3264 + name = "Papua New Guinea"; 3265 + alpha2 = `PG; 3266 + alpha3 = `PNG; 3267 + numeric = 598; 3268 + region = Some "Oceania"; 3269 + sub_region = Some "Melanesia"; 3270 + } 3271 + 3272 + let py = 3273 + { 3274 + name = "Paraguay"; 3275 + alpha2 = `PY; 3276 + alpha3 = `PRY; 3277 + numeric = 600; 3278 + region = Some "Americas"; 3279 + sub_region = Some "Latin America and the Caribbean"; 3280 + } 3281 + 3282 + let pe = 3283 + { 3284 + name = "Peru"; 3285 + alpha2 = `PE; 3286 + alpha3 = `PER; 3287 + numeric = 604; 3288 + region = Some "Americas"; 3289 + sub_region = Some "Latin America and the Caribbean"; 3290 + } 3291 + 3292 + let ph = 3293 + { 3294 + name = "Philippines"; 3295 + alpha2 = `PH; 3296 + alpha3 = `PHL; 3297 + numeric = 608; 3298 + region = Some "Asia"; 3299 + sub_region = Some "South-eastern Asia"; 3300 + } 3301 + 3302 + let pn = 3303 + { 3304 + name = "Pitcairn"; 3305 + alpha2 = `PN; 3306 + alpha3 = `PCN; 3307 + numeric = 612; 3308 + region = Some "Oceania"; 3309 + sub_region = Some "Polynesia"; 3310 + } 3311 + 3312 + let pl = 3313 + { 3314 + name = "Poland"; 3315 + alpha2 = `PL; 3316 + alpha3 = `POL; 3317 + numeric = 616; 3318 + region = Some "Europe"; 3319 + sub_region = Some "Eastern Europe"; 3320 + } 3321 + 3322 + let pt = 3323 + { 3324 + name = "Portugal"; 3325 + alpha2 = `PT; 3326 + alpha3 = `PRT; 3327 + numeric = 620; 3328 + region = Some "Europe"; 3329 + sub_region = Some "Southern Europe"; 3330 + } 3331 + 3332 + let pr = 3333 + { 3334 + name = "Puerto Rico"; 3335 + alpha2 = `PR; 3336 + alpha3 = `PRI; 3337 + numeric = 630; 3338 + region = Some "Americas"; 3339 + sub_region = Some "Latin America and the Caribbean"; 3340 + } 3341 + 3342 + let qa = 3343 + { 3344 + name = "Qatar"; 3345 + alpha2 = `QA; 3346 + alpha3 = `QAT; 3347 + numeric = 634; 3348 + region = Some "Asia"; 3349 + sub_region = Some "Western Asia"; 3350 + } 3351 + 3352 + let re = 3353 + { 3354 + name = "Réunion"; 3355 + alpha2 = `RE; 3356 + alpha3 = `REU; 3357 + numeric = 638; 3358 + region = Some "Africa"; 3359 + sub_region = Some "Sub-Saharan Africa"; 3360 + } 3361 + 3362 + let ro = 3363 + { 3364 + name = "Romania"; 3365 + alpha2 = `RO; 3366 + alpha3 = `ROU; 3367 + numeric = 642; 3368 + region = Some "Europe"; 3369 + sub_region = Some "Eastern Europe"; 3370 + } 3371 + 3372 + let ru = 3373 + { 3374 + name = "Russian Federation"; 3375 + alpha2 = `RU; 3376 + alpha3 = `RUS; 3377 + numeric = 643; 3378 + region = Some "Europe"; 3379 + sub_region = Some "Eastern Europe"; 3380 + } 3381 + 3382 + let rw = 3383 + { 3384 + name = "Rwanda"; 3385 + alpha2 = `RW; 3386 + alpha3 = `RWA; 3387 + numeric = 646; 3388 + region = Some "Africa"; 3389 + sub_region = Some "Sub-Saharan Africa"; 3390 + } 3391 + 3392 + let bl = 3393 + { 3394 + name = "Saint Barthélemy"; 3395 + alpha2 = `BL; 3396 + alpha3 = `BLM; 3397 + numeric = 652; 3398 + region = Some "Americas"; 3399 + sub_region = Some "Latin America and the Caribbean"; 3400 + } 3401 + 3402 + let sh = 3403 + { 3404 + name = "Saint Helena Ascension and Tristan da Cunha"; 3405 + alpha2 = `SH; 3406 + alpha3 = `SHN; 3407 + numeric = 654; 3408 + region = Some "Africa"; 3409 + sub_region = Some "Sub-Saharan Africa"; 3410 + } 3411 + 3412 + let kn = 3413 + { 3414 + name = "Saint Kitts and Nevis"; 3415 + alpha2 = `KN; 3416 + alpha3 = `KNA; 3417 + numeric = 659; 3418 + region = Some "Americas"; 3419 + sub_region = Some "Latin America and the Caribbean"; 3420 + } 3421 + 3422 + let lc = 3423 + { 3424 + name = "Saint Lucia"; 3425 + alpha2 = `LC; 3426 + alpha3 = `LCA; 3427 + numeric = 662; 3428 + region = Some "Americas"; 3429 + sub_region = Some "Latin America and the Caribbean"; 3430 + } 3431 + 3432 + let mf = 3433 + { 3434 + name = "Saint Martin (French part)"; 3435 + alpha2 = `MF; 3436 + alpha3 = `MAF; 3437 + numeric = 663; 3438 + region = Some "Americas"; 3439 + sub_region = Some "Latin America and the Caribbean"; 3440 + } 3441 + 3442 + let pm = 3443 + { 3444 + name = "Saint Pierre and Miquelon"; 3445 + alpha2 = `PM; 3446 + alpha3 = `SPM; 3447 + numeric = 666; 3448 + region = Some "Americas"; 3449 + sub_region = Some "Northern America"; 3450 + } 3451 + 3452 + let vc = 3453 + { 3454 + name = "Saint Vincent and the Grenadines"; 3455 + alpha2 = `VC; 3456 + alpha3 = `VCT; 3457 + numeric = 670; 3458 + region = Some "Americas"; 3459 + sub_region = Some "Latin America and the Caribbean"; 3460 + } 3461 + 3462 + let ws = 3463 + { 3464 + name = "Samoa"; 3465 + alpha2 = `WS; 3466 + alpha3 = `WSM; 3467 + numeric = 882; 3468 + region = Some "Oceania"; 3469 + sub_region = Some "Polynesia"; 3470 + } 3471 + 3472 + let sm = 3473 + { 3474 + name = "San Marino"; 3475 + alpha2 = `SM; 3476 + alpha3 = `SMR; 3477 + numeric = 674; 3478 + region = Some "Europe"; 3479 + sub_region = Some "Southern Europe"; 3480 + } 3481 + 3482 + let st = 3483 + { 3484 + name = "Sao Tome and Principe"; 3485 + alpha2 = `ST; 3486 + alpha3 = `STP; 3487 + numeric = 678; 3488 + region = Some "Africa"; 3489 + sub_region = Some "Sub-Saharan Africa"; 3490 + } 3491 + 3492 + let sa = 3493 + { 3494 + name = "Saudi Arabia"; 3495 + alpha2 = `SA; 3496 + alpha3 = `SAU; 3497 + numeric = 682; 3498 + region = Some "Asia"; 3499 + sub_region = Some "Western Asia"; 3500 + } 3501 + 3502 + let sn = 3503 + { 3504 + name = "Senegal"; 3505 + alpha2 = `SN; 3506 + alpha3 = `SEN; 3507 + numeric = 686; 3508 + region = Some "Africa"; 3509 + sub_region = Some "Sub-Saharan Africa"; 3510 + } 3511 + 3512 + let rs = 3513 + { 3514 + name = "Serbia"; 3515 + alpha2 = `RS; 3516 + alpha3 = `SRB; 3517 + numeric = 688; 3518 + region = Some "Europe"; 3519 + sub_region = Some "Southern Europe"; 3520 + } 3521 + 3522 + let sc = 3523 + { 3524 + name = "Seychelles"; 3525 + alpha2 = `SC; 3526 + alpha3 = `SYC; 3527 + numeric = 690; 3528 + region = Some "Africa"; 3529 + sub_region = Some "Sub-Saharan Africa"; 3530 + } 3531 + 3532 + let sl = 3533 + { 3534 + name = "Sierra Leone"; 3535 + alpha2 = `SL; 3536 + alpha3 = `SLE; 3537 + numeric = 694; 3538 + region = Some "Africa"; 3539 + sub_region = Some "Sub-Saharan Africa"; 3540 + } 3541 + 3542 + let sg = 3543 + { 3544 + name = "Singapore"; 3545 + alpha2 = `SG; 3546 + alpha3 = `SGP; 3547 + numeric = 702; 3548 + region = Some "Asia"; 3549 + sub_region = Some "South-eastern Asia"; 3550 + } 3551 + 3552 + let sx = 3553 + { 3554 + name = "Sint Maarten (Dutch part)"; 3555 + alpha2 = `SX; 3556 + alpha3 = `SXM; 3557 + numeric = 534; 3558 + region = Some "Americas"; 3559 + sub_region = Some "Latin America and the Caribbean"; 3560 + } 3561 + 3562 + let sk = 3563 + { 3564 + name = "Slovakia"; 3565 + alpha2 = `SK; 3566 + alpha3 = `SVK; 3567 + numeric = 703; 3568 + region = Some "Europe"; 3569 + sub_region = Some "Eastern Europe"; 3570 + } 3571 + 3572 + let si = 3573 + { 3574 + name = "Slovenia"; 3575 + alpha2 = `SI; 3576 + alpha3 = `SVN; 3577 + numeric = 705; 3578 + region = Some "Europe"; 3579 + sub_region = Some "Southern Europe"; 3580 + } 3581 + 3582 + let sb = 3583 + { 3584 + name = "Solomon Islands"; 3585 + alpha2 = `SB; 3586 + alpha3 = `SLB; 3587 + numeric = 90; 3588 + region = Some "Oceania"; 3589 + sub_region = Some "Melanesia"; 3590 + } 3591 + 3592 + let so = 3593 + { 3594 + name = "Somalia"; 3595 + alpha2 = `SO; 3596 + alpha3 = `SOM; 3597 + numeric = 706; 3598 + region = Some "Africa"; 3599 + sub_region = Some "Sub-Saharan Africa"; 3600 + } 3601 + 3602 + let za = 3603 + { 3604 + name = "South Africa"; 3605 + alpha2 = `ZA; 3606 + alpha3 = `ZAF; 3607 + numeric = 710; 3608 + region = Some "Africa"; 3609 + sub_region = Some "Sub-Saharan Africa"; 3610 + } 3611 + 3612 + let gs = 3613 + { 3614 + name = "South Georgia and the South Sandwich Islands"; 3615 + alpha2 = `GS; 3616 + alpha3 = `SGS; 3617 + numeric = 239; 3618 + region = Some "Americas"; 3619 + sub_region = Some "Latin America and the Caribbean"; 3620 + } 3621 + 3622 + let ss = 3623 + { 3624 + name = "South Sudan"; 3625 + alpha2 = `SS; 3626 + alpha3 = `SSD; 3627 + numeric = 728; 3628 + region = Some "Africa"; 3629 + sub_region = Some "Sub-Saharan Africa"; 3630 + } 3631 + 3632 + let es = 3633 + { 3634 + name = "Spain"; 3635 + alpha2 = `ES; 3636 + alpha3 = `ESP; 3637 + numeric = 724; 3638 + region = Some "Europe"; 3639 + sub_region = Some "Southern Europe"; 3640 + } 3641 + 3642 + let lk = 3643 + { 3644 + name = "Sri Lanka"; 3645 + alpha2 = `LK; 3646 + alpha3 = `LKA; 3647 + numeric = 144; 3648 + region = Some "Asia"; 3649 + sub_region = Some "Southern Asia"; 3650 + } 3651 + 3652 + let sd = 3653 + { 3654 + name = "Sudan"; 3655 + alpha2 = `SD; 3656 + alpha3 = `SDN; 3657 + numeric = 729; 3658 + region = Some "Africa"; 3659 + sub_region = Some "Northern Africa"; 3660 + } 3661 + 3662 + let sr = 3663 + { 3664 + name = "Suriname"; 3665 + alpha2 = `SR; 3666 + alpha3 = `SUR; 3667 + numeric = 740; 3668 + region = Some "Americas"; 3669 + sub_region = Some "Latin America and the Caribbean"; 3670 + } 3671 + 3672 + let sj = 3673 + { 3674 + name = "Svalbard and Jan Mayen"; 3675 + alpha2 = `SJ; 3676 + alpha3 = `SJM; 3677 + numeric = 744; 3678 + region = Some "Europe"; 3679 + sub_region = Some "Northern Europe"; 3680 + } 3681 + 3682 + let se = 3683 + { 3684 + name = "Sweden"; 3685 + alpha2 = `SE; 3686 + alpha3 = `SWE; 3687 + numeric = 752; 3688 + region = Some "Europe"; 3689 + sub_region = Some "Northern Europe"; 3690 + } 3691 + 3692 + let ch = 3693 + { 3694 + name = "Switzerland"; 3695 + alpha2 = `CH; 3696 + alpha3 = `CHE; 3697 + numeric = 756; 3698 + region = Some "Europe"; 3699 + sub_region = Some "Western Europe"; 3700 + } 3701 + 3702 + let sy = 3703 + { 3704 + name = "Syrian Arab Republic"; 3705 + alpha2 = `SY; 3706 + alpha3 = `SYR; 3707 + numeric = 760; 3708 + region = Some "Asia"; 3709 + sub_region = Some "Western Asia"; 3710 + } 3711 + 3712 + let tw = 3713 + { 3714 + name = "Taiwan Province of China"; 3715 + alpha2 = `TW; 3716 + alpha3 = `TWN; 3717 + numeric = 158; 3718 + region = Some "Asia"; 3719 + sub_region = Some "Eastern Asia"; 3720 + } 3721 + 3722 + let tj = 3723 + { 3724 + name = "Tajikistan"; 3725 + alpha2 = `TJ; 3726 + alpha3 = `TJK; 3727 + numeric = 762; 3728 + region = Some "Asia"; 3729 + sub_region = Some "Central Asia"; 3730 + } 3731 + 3732 + let tz = 3733 + { 3734 + name = "Tanzania United Republic of"; 3735 + alpha2 = `TZ; 3736 + alpha3 = `TZA; 3737 + numeric = 834; 3738 + region = Some "Africa"; 3739 + sub_region = Some "Sub-Saharan Africa"; 3740 + } 3741 + 3742 + let th = 3743 + { 3744 + name = "Thailand"; 3745 + alpha2 = `TH; 3746 + alpha3 = `THA; 3747 + numeric = 764; 3748 + region = Some "Asia"; 3749 + sub_region = Some "South-eastern Asia"; 3750 + } 3751 + 3752 + let tl = 3753 + { 3754 + name = "Timor-Leste"; 3755 + alpha2 = `TL; 3756 + alpha3 = `TLS; 3757 + numeric = 626; 3758 + region = Some "Asia"; 3759 + sub_region = Some "South-eastern Asia"; 3760 + } 3761 + 3762 + let tg = 3763 + { 3764 + name = "Togo"; 3765 + alpha2 = `TG; 3766 + alpha3 = `TGO; 3767 + numeric = 768; 3768 + region = Some "Africa"; 3769 + sub_region = Some "Sub-Saharan Africa"; 3770 + } 3771 + 3772 + let tk = 3773 + { 3774 + name = "Tokelau"; 3775 + alpha2 = `TK; 3776 + alpha3 = `TKL; 3777 + numeric = 772; 3778 + region = Some "Oceania"; 3779 + sub_region = Some "Polynesia"; 3780 + } 3781 + 3782 + let to' = 3783 + { 3784 + name = "Tonga"; 3785 + alpha2 = `TO; 3786 + alpha3 = `TON; 3787 + numeric = 776; 3788 + region = Some "Oceania"; 3789 + sub_region = Some "Polynesia"; 3790 + } 3791 + 3792 + let tt = 3793 + { 3794 + name = "Trinidad and Tobago"; 3795 + alpha2 = `TT; 3796 + alpha3 = `TTO; 3797 + numeric = 780; 3798 + region = Some "Americas"; 3799 + sub_region = Some "Latin America and the Caribbean"; 3800 + } 3801 + 3802 + let tn = 3803 + { 3804 + name = "Tunisia"; 3805 + alpha2 = `TN; 3806 + alpha3 = `TUN; 3807 + numeric = 788; 3808 + region = Some "Africa"; 3809 + sub_region = Some "Northern Africa"; 3810 + } 3811 + 3812 + let tr = 3813 + { 3814 + name = "Turkey"; 3815 + alpha2 = `TR; 3816 + alpha3 = `TUR; 3817 + numeric = 792; 3818 + region = Some "Asia"; 3819 + sub_region = Some "Western Asia"; 3820 + } 3821 + 3822 + let tm = 3823 + { 3824 + name = "Turkmenistan"; 3825 + alpha2 = `TM; 3826 + alpha3 = `TKM; 3827 + numeric = 795; 3828 + region = Some "Asia"; 3829 + sub_region = Some "Central Asia"; 3830 + } 3831 + 3832 + let tc = 3833 + { 3834 + name = "Turks and Caicos Islands"; 3835 + alpha2 = `TC; 3836 + alpha3 = `TCA; 3837 + numeric = 796; 3838 + region = Some "Americas"; 3839 + sub_region = Some "Latin America and the Caribbean"; 3840 + } 3841 + 3842 + let tv = 3843 + { 3844 + name = "Tuvalu"; 3845 + alpha2 = `TV; 3846 + alpha3 = `TUV; 3847 + numeric = 798; 3848 + region = Some "Oceania"; 3849 + sub_region = Some "Polynesia"; 3850 + } 3851 + 3852 + let ug = 3853 + { 3854 + name = "Uganda"; 3855 + alpha2 = `UG; 3856 + alpha3 = `UGA; 3857 + numeric = 800; 3858 + region = Some "Africa"; 3859 + sub_region = Some "Sub-Saharan Africa"; 3860 + } 3861 + 3862 + let ua = 3863 + { 3864 + name = "Ukraine"; 3865 + alpha2 = `UA; 3866 + alpha3 = `UKR; 3867 + numeric = 804; 3868 + region = Some "Europe"; 3869 + sub_region = Some "Eastern Europe"; 3870 + } 3871 + 3872 + let ae = 3873 + { 3874 + name = "United Arab Emirates"; 3875 + alpha2 = `AE; 3876 + alpha3 = `ARE; 3877 + numeric = 784; 3878 + region = Some "Asia"; 3879 + sub_region = Some "Western Asia"; 3880 + } 3881 + 3882 + let gb = 3883 + { 3884 + name = "United Kingdom of Great Britain and Northern Ireland"; 3885 + alpha2 = `GB; 3886 + alpha3 = `GBR; 3887 + numeric = 826; 3888 + region = Some "Europe"; 3889 + sub_region = Some "Northern Europe"; 3890 + } 3891 + 3892 + let us = 3893 + { 3894 + name = "United States of America"; 3895 + alpha2 = `US; 3896 + alpha3 = `USA; 3897 + numeric = 840; 3898 + region = Some "Americas"; 3899 + sub_region = Some "Northern America"; 3900 + } 3901 + 3902 + let um = 3903 + { 3904 + name = "United States Minor Outlying Islands"; 3905 + alpha2 = `UM; 3906 + alpha3 = `UMI; 3907 + numeric = 581; 3908 + region = Some "Oceania"; 3909 + sub_region = Some "Micronesia"; 3910 + } 3911 + 3912 + let uy = 3913 + { 3914 + name = "Uruguay"; 3915 + alpha2 = `UY; 3916 + alpha3 = `URY; 3917 + numeric = 858; 3918 + region = Some "Americas"; 3919 + sub_region = Some "Latin America and the Caribbean"; 3920 + } 3921 + 3922 + let uz = 3923 + { 3924 + name = "Uzbekistan"; 3925 + alpha2 = `UZ; 3926 + alpha3 = `UZB; 3927 + numeric = 860; 3928 + region = Some "Asia"; 3929 + sub_region = Some "Central Asia"; 3930 + } 3931 + 3932 + let vu = 3933 + { 3934 + name = "Vanuatu"; 3935 + alpha2 = `VU; 3936 + alpha3 = `VUT; 3937 + numeric = 548; 3938 + region = Some "Oceania"; 3939 + sub_region = Some "Melanesia"; 3940 + } 3941 + 3942 + let ve = 3943 + { 3944 + name = "Venezuela (Bolivarian Republic of)"; 3945 + alpha2 = `VE; 3946 + alpha3 = `VEN; 3947 + numeric = 862; 3948 + region = Some "Americas"; 3949 + sub_region = Some "Latin America and the Caribbean"; 3950 + } 3951 + 3952 + let vn = 3953 + { 3954 + name = "Viet Nam"; 3955 + alpha2 = `VN; 3956 + alpha3 = `VNM; 3957 + numeric = 704; 3958 + region = Some "Asia"; 3959 + sub_region = Some "South-eastern Asia"; 3960 + } 3961 + 3962 + let vg = 3963 + { 3964 + name = "Virgin Islands (British)"; 3965 + alpha2 = `VG; 3966 + alpha3 = `VGB; 3967 + numeric = 92; 3968 + region = Some "Americas"; 3969 + sub_region = Some "Latin America and the Caribbean"; 3970 + } 3971 + 3972 + let vi = 3973 + { 3974 + name = "Virgin Islands (U.S.)"; 3975 + alpha2 = `VI; 3976 + alpha3 = `VIR; 3977 + numeric = 850; 3978 + region = Some "Americas"; 3979 + sub_region = Some "Latin America and the Caribbean"; 3980 + } 3981 + 3982 + let wf = 3983 + { 3984 + name = "Wallis and Futuna"; 3985 + alpha2 = `WF; 3986 + alpha3 = `WLF; 3987 + numeric = 876; 3988 + region = Some "Oceania"; 3989 + sub_region = Some "Polynesia"; 3990 + } 3991 + 3992 + let eh = 3993 + { 3994 + name = "Western Sahara"; 3995 + alpha2 = `EH; 3996 + alpha3 = `ESH; 3997 + numeric = 732; 3998 + region = Some "Africa"; 3999 + sub_region = Some "Northern Africa"; 4000 + } 4001 + 4002 + let ye = 4003 + { 4004 + name = "Yemen"; 4005 + alpha2 = `YE; 4006 + alpha3 = `YEM; 4007 + numeric = 887; 4008 + region = Some "Asia"; 4009 + sub_region = Some "Western Asia"; 4010 + } 4011 + 4012 + let zm = 4013 + { 4014 + name = "Zambia"; 4015 + alpha2 = `ZM; 4016 + alpha3 = `ZMB; 4017 + numeric = 894; 4018 + region = Some "Africa"; 4019 + sub_region = Some "Sub-Saharan Africa"; 4020 + } 4021 + 4022 + let zw = 4023 + { 4024 + name = "Zimbabwe"; 4025 + alpha2 = `ZW; 4026 + alpha3 = `ZWE; 4027 + numeric = 716; 4028 + region = Some "Africa"; 4029 + sub_region = Some "Sub-Saharan Africa"; 4030 + } 4031 + end 4032 + 4033 + let alpha2_to_country = function 4034 + | `AF -> Country.af 4035 + | `AX -> Country.ax 4036 + | `AL -> Country.al 4037 + | `DZ -> Country.dz 4038 + | `AS -> Country.as' 4039 + | `AD -> Country.ad 4040 + | `AO -> Country.ao 4041 + | `AI -> Country.ai 4042 + | `AQ -> Country.aq 4043 + | `AG -> Country.ag 4044 + | `AR -> Country.ar 4045 + | `AM -> Country.am 4046 + | `AW -> Country.aw 4047 + | `AU -> Country.au 4048 + | `AT -> Country.at 4049 + | `AZ -> Country.az 4050 + | `BS -> Country.bs 4051 + | `BH -> Country.bh 4052 + | `BD -> Country.bd 4053 + | `BB -> Country.bb 4054 + | `BY -> Country.by 4055 + | `BE -> Country.be 4056 + | `BZ -> Country.bz 4057 + | `BJ -> Country.bj 4058 + | `BM -> Country.bm 4059 + | `BT -> Country.bt 4060 + | `BO -> Country.bo 4061 + | `BQ -> Country.bq 4062 + | `BA -> Country.ba 4063 + | `BW -> Country.bw 4064 + | `BV -> Country.bv 4065 + | `BR -> Country.br 4066 + | `IO -> Country.io 4067 + | `BN -> Country.bn 4068 + | `BG -> Country.bg 4069 + | `BF -> Country.bf 4070 + | `BI -> Country.bi 4071 + | `CV -> Country.cv 4072 + | `KH -> Country.kh 4073 + | `CM -> Country.cm 4074 + | `CA -> Country.ca 4075 + | `KY -> Country.ky 4076 + | `CF -> Country.cf 4077 + | `TD -> Country.td 4078 + | `CL -> Country.cl 4079 + | `CN -> Country.cn 4080 + | `CX -> Country.cx 4081 + | `CC -> Country.cc 4082 + | `CO -> Country.co 4083 + | `KM -> Country.km 4084 + | `CG -> Country.cg 4085 + | `CD -> Country.cd 4086 + | `CK -> Country.ck 4087 + | `CR -> Country.cr 4088 + | `CI -> Country.ci 4089 + | `HR -> Country.hr 4090 + | `CU -> Country.cu 4091 + | `CW -> Country.cw 4092 + | `CY -> Country.cy 4093 + | `CZ -> Country.cz 4094 + | `DK -> Country.dk 4095 + | `DJ -> Country.dj 4096 + | `DM -> Country.dm 4097 + | `DO -> Country.do' 4098 + | `EC -> Country.ec 4099 + | `EG -> Country.eg 4100 + | `SV -> Country.sv 4101 + | `GQ -> Country.gq 4102 + | `ER -> Country.er 4103 + | `EE -> Country.ee 4104 + | `SZ -> Country.sz 4105 + | `ET -> Country.et 4106 + | `FK -> Country.fk 4107 + | `FO -> Country.fo 4108 + | `FJ -> Country.fj 4109 + | `FI -> Country.fi 4110 + | `FR -> Country.fr 4111 + | `GF -> Country.gf 4112 + | `PF -> Country.pf 4113 + | `TF -> Country.tf 4114 + | `GA -> Country.ga 4115 + | `GM -> Country.gm 4116 + | `GE -> Country.ge 4117 + | `DE -> Country.de 4118 + | `GH -> Country.gh 4119 + | `GI -> Country.gi 4120 + | `GR -> Country.gr 4121 + | `GL -> Country.gl 4122 + | `GD -> Country.gd 4123 + | `GP -> Country.gp 4124 + | `GU -> Country.gu 4125 + | `GT -> Country.gt 4126 + | `GG -> Country.gg 4127 + | `GN -> Country.gn 4128 + | `GW -> Country.gw 4129 + | `GY -> Country.gy 4130 + | `HT -> Country.ht 4131 + | `HM -> Country.hm 4132 + | `VA -> Country.va 4133 + | `HN -> Country.hn 4134 + | `HK -> Country.hk 4135 + | `HU -> Country.hu 4136 + | `IS -> Country.is 4137 + | `IN -> Country.in' 4138 + | `ID -> Country.id 4139 + | `IR -> Country.ir 4140 + | `IQ -> Country.iq 4141 + | `IE -> Country.ie 4142 + | `IM -> Country.im 4143 + | `IL -> Country.il 4144 + | `IT -> Country.it 4145 + | `JM -> Country.jm 4146 + | `JP -> Country.jp 4147 + | `JE -> Country.je 4148 + | `JO -> Country.jo 4149 + | `KZ -> Country.kz 4150 + | `KE -> Country.ke 4151 + | `KI -> Country.ki 4152 + | `KP -> Country.kp 4153 + | `KR -> Country.kr 4154 + | `KW -> Country.kw 4155 + | `KG -> Country.kg 4156 + | `LA -> Country.la 4157 + | `LV -> Country.lv 4158 + | `LB -> Country.lb 4159 + | `LS -> Country.ls 4160 + | `LR -> Country.lr 4161 + | `LY -> Country.ly 4162 + | `LI -> Country.li 4163 + | `LT -> Country.lt 4164 + | `LU -> Country.lu 4165 + | `MO -> Country.mo 4166 + | `MG -> Country.mg 4167 + | `MW -> Country.mw 4168 + | `MY -> Country.my 4169 + | `MV -> Country.mv 4170 + | `ML -> Country.ml 4171 + | `MT -> Country.mt 4172 + | `MH -> Country.mh 4173 + | `MQ -> Country.mq 4174 + | `MR -> Country.mr 4175 + | `MU -> Country.mu 4176 + | `YT -> Country.yt 4177 + | `MX -> Country.mx 4178 + | `FM -> Country.fm 4179 + | `MD -> Country.md 4180 + | `MC -> Country.mc 4181 + | `MN -> Country.mn 4182 + | `ME -> Country.me 4183 + | `MS -> Country.ms 4184 + | `MA -> Country.ma 4185 + | `MZ -> Country.mz 4186 + | `MM -> Country.mm 4187 + | `NA -> Country.na 4188 + | `NR -> Country.nr 4189 + | `NP -> Country.np 4190 + | `NL -> Country.nl 4191 + | `NC -> Country.nc 4192 + | `NZ -> Country.nz 4193 + | `NI -> Country.ni 4194 + | `NE -> Country.ne 4195 + | `NG -> Country.ng 4196 + | `NU -> Country.nu 4197 + | `NF -> Country.nf 4198 + | `MK -> Country.mk 4199 + | `MP -> Country.mp 4200 + | `NO -> Country.no 4201 + | `OM -> Country.om 4202 + | `PK -> Country.pk 4203 + | `PW -> Country.pw 4204 + | `PS -> Country.ps 4205 + | `PA -> Country.pa 4206 + | `PG -> Country.pg 4207 + | `PY -> Country.py 4208 + | `PE -> Country.pe 4209 + | `PH -> Country.ph 4210 + | `PN -> Country.pn 4211 + | `PL -> Country.pl 4212 + | `PT -> Country.pt 4213 + | `PR -> Country.pr 4214 + | `QA -> Country.qa 4215 + | `RE -> Country.re 4216 + | `RO -> Country.ro 4217 + | `RU -> Country.ru 4218 + | `RW -> Country.rw 4219 + | `BL -> Country.bl 4220 + | `SH -> Country.sh 4221 + | `KN -> Country.kn 4222 + | `LC -> Country.lc 4223 + | `MF -> Country.mf 4224 + | `PM -> Country.pm 4225 + | `VC -> Country.vc 4226 + | `WS -> Country.ws 4227 + | `SM -> Country.sm 4228 + | `ST -> Country.st 4229 + | `SA -> Country.sa 4230 + | `SN -> Country.sn 4231 + | `RS -> Country.rs 4232 + | `SC -> Country.sc 4233 + | `SL -> Country.sl 4234 + | `SG -> Country.sg 4235 + | `SX -> Country.sx 4236 + | `SK -> Country.sk 4237 + | `SI -> Country.si 4238 + | `SB -> Country.sb 4239 + | `SO -> Country.so 4240 + | `ZA -> Country.za 4241 + | `GS -> Country.gs 4242 + | `SS -> Country.ss 4243 + | `ES -> Country.es 4244 + | `LK -> Country.lk 4245 + | `SD -> Country.sd 4246 + | `SR -> Country.sr 4247 + | `SJ -> Country.sj 4248 + | `SE -> Country.se 4249 + | `CH -> Country.ch 4250 + | `SY -> Country.sy 4251 + | `TW -> Country.tw 4252 + | `TJ -> Country.tj 4253 + | `TZ -> Country.tz 4254 + | `TH -> Country.th 4255 + | `TL -> Country.tl 4256 + | `TG -> Country.tg 4257 + | `TK -> Country.tk 4258 + | `TO -> Country.to' 4259 + | `TT -> Country.tt 4260 + | `TN -> Country.tn 4261 + | `TR -> Country.tr 4262 + | `TM -> Country.tm 4263 + | `TC -> Country.tc 4264 + | `TV -> Country.tv 4265 + | `UG -> Country.ug 4266 + | `UA -> Country.ua 4267 + | `AE -> Country.ae 4268 + | `GB -> Country.gb 4269 + | `US -> Country.us 4270 + | `UM -> Country.um 4271 + | `UY -> Country.uy 4272 + | `UZ -> Country.uz 4273 + | `VU -> Country.vu 4274 + | `VE -> Country.ve 4275 + | `VN -> Country.vn 4276 + | `VG -> Country.vg 4277 + | `VI -> Country.vi 4278 + | `WF -> Country.wf 4279 + | `EH -> Country.eh 4280 + | `YE -> Country.ye 4281 + | `ZM -> Country.zm 4282 + | `ZW -> Country.zw 4283 + 4284 + let alpha3_to_country = function 4285 + | `AFG -> Country.af 4286 + | `ALA -> Country.ax 4287 + | `ALB -> Country.al 4288 + | `DZA -> Country.dz 4289 + | `ASM -> Country.as' 4290 + | `AND -> Country.ad 4291 + | `AGO -> Country.ao 4292 + | `AIA -> Country.ai 4293 + | `ATA -> Country.aq 4294 + | `ATG -> Country.ag 4295 + | `ARG -> Country.ar 4296 + | `ARM -> Country.am 4297 + | `ABW -> Country.aw 4298 + | `AUS -> Country.au 4299 + | `AUT -> Country.at 4300 + | `AZE -> Country.az 4301 + | `BHS -> Country.bs 4302 + | `BHR -> Country.bh 4303 + | `BGD -> Country.bd 4304 + | `BRB -> Country.bb 4305 + | `BLR -> Country.by 4306 + | `BEL -> Country.be 4307 + | `BLZ -> Country.bz 4308 + | `BEN -> Country.bj 4309 + | `BMU -> Country.bm 4310 + | `BTN -> Country.bt 4311 + | `BOL -> Country.bo 4312 + | `BES -> Country.bq 4313 + | `BIH -> Country.ba 4314 + | `BWA -> Country.bw 4315 + | `BVT -> Country.bv 4316 + | `BRA -> Country.br 4317 + | `IOT -> Country.io 4318 + | `BRN -> Country.bn 4319 + | `BGR -> Country.bg 4320 + | `BFA -> Country.bf 4321 + | `BDI -> Country.bi 4322 + | `CPV -> Country.cv 4323 + | `KHM -> Country.kh 4324 + | `CMR -> Country.cm 4325 + | `CAN -> Country.ca 4326 + | `CYM -> Country.ky 4327 + | `CAF -> Country.cf 4328 + | `TCD -> Country.td 4329 + | `CHL -> Country.cl 4330 + | `CHN -> Country.cn 4331 + | `CXR -> Country.cx 4332 + | `CCK -> Country.cc 4333 + | `COL -> Country.co 4334 + | `COM -> Country.km 4335 + | `COG -> Country.cg 4336 + | `COD -> Country.cd 4337 + | `COK -> Country.ck 4338 + | `CRI -> Country.cr 4339 + | `CIV -> Country.ci 4340 + | `HRV -> Country.hr 4341 + | `CUB -> Country.cu 4342 + | `CUW -> Country.cw 4343 + | `CYP -> Country.cy 4344 + | `CZE -> Country.cz 4345 + | `DNK -> Country.dk 4346 + | `DJI -> Country.dj 4347 + | `DMA -> Country.dm 4348 + | `DOM -> Country.do' 4349 + | `ECU -> Country.ec 4350 + | `EGY -> Country.eg 4351 + | `SLV -> Country.sv 4352 + | `GNQ -> Country.gq 4353 + | `ERI -> Country.er 4354 + | `EST -> Country.ee 4355 + | `SWZ -> Country.sz 4356 + | `ETH -> Country.et 4357 + | `FLK -> Country.fk 4358 + | `FRO -> Country.fo 4359 + | `FJI -> Country.fj 4360 + | `FIN -> Country.fi 4361 + | `FRA -> Country.fr 4362 + | `GUF -> Country.gf 4363 + | `PYF -> Country.pf 4364 + | `ATF -> Country.tf 4365 + | `GAB -> Country.ga 4366 + | `GMB -> Country.gm 4367 + | `GEO -> Country.ge 4368 + | `DEU -> Country.de 4369 + | `GHA -> Country.gh 4370 + | `GIB -> Country.gi 4371 + | `GRC -> Country.gr 4372 + | `GRL -> Country.gl 4373 + | `GRD -> Country.gd 4374 + | `GLP -> Country.gp 4375 + | `GUM -> Country.gu 4376 + | `GTM -> Country.gt 4377 + | `GGY -> Country.gg 4378 + | `GIN -> Country.gn 4379 + | `GNB -> Country.gw 4380 + | `GUY -> Country.gy 4381 + | `HTI -> Country.ht 4382 + | `HMD -> Country.hm 4383 + | `VAT -> Country.va 4384 + | `HND -> Country.hn 4385 + | `HKG -> Country.hk 4386 + | `HUN -> Country.hu 4387 + | `ISL -> Country.is 4388 + | `IND -> Country.in' 4389 + | `IDN -> Country.id 4390 + | `IRN -> Country.ir 4391 + | `IRQ -> Country.iq 4392 + | `IRL -> Country.ie 4393 + | `IMN -> Country.im 4394 + | `ISR -> Country.il 4395 + | `ITA -> Country.it 4396 + | `JAM -> Country.jm 4397 + | `JPN -> Country.jp 4398 + | `JEY -> Country.je 4399 + | `JOR -> Country.jo 4400 + | `KAZ -> Country.kz 4401 + | `KEN -> Country.ke 4402 + | `KIR -> Country.ki 4403 + | `PRK -> Country.kp 4404 + | `KOR -> Country.kr 4405 + | `KWT -> Country.kw 4406 + | `KGZ -> Country.kg 4407 + | `LAO -> Country.la 4408 + | `LVA -> Country.lv 4409 + | `LBN -> Country.lb 4410 + | `LSO -> Country.ls 4411 + | `LBR -> Country.lr 4412 + | `LBY -> Country.ly 4413 + | `LIE -> Country.li 4414 + | `LTU -> Country.lt 4415 + | `LUX -> Country.lu 4416 + | `MAC -> Country.mo 4417 + | `MDG -> Country.mg 4418 + | `MWI -> Country.mw 4419 + | `MYS -> Country.my 4420 + | `MDV -> Country.mv 4421 + | `MLI -> Country.ml 4422 + | `MLT -> Country.mt 4423 + | `MHL -> Country.mh 4424 + | `MTQ -> Country.mq 4425 + | `MRT -> Country.mr 4426 + | `MUS -> Country.mu 4427 + | `MYT -> Country.yt 4428 + | `MEX -> Country.mx 4429 + | `FSM -> Country.fm 4430 + | `MDA -> Country.md 4431 + | `MCO -> Country.mc 4432 + | `MNG -> Country.mn 4433 + | `MNE -> Country.me 4434 + | `MSR -> Country.ms 4435 + | `MAR -> Country.ma 4436 + | `MOZ -> Country.mz 4437 + | `MMR -> Country.mm 4438 + | `NAM -> Country.na 4439 + | `NRU -> Country.nr 4440 + | `NPL -> Country.np 4441 + | `NLD -> Country.nl 4442 + | `NCL -> Country.nc 4443 + | `NZL -> Country.nz 4444 + | `NIC -> Country.ni 4445 + | `NER -> Country.ne 4446 + | `NGA -> Country.ng 4447 + | `NIU -> Country.nu 4448 + | `NFK -> Country.nf 4449 + | `MKD -> Country.mk 4450 + | `MNP -> Country.mp 4451 + | `NOR -> Country.no 4452 + | `OMN -> Country.om 4453 + | `PAK -> Country.pk 4454 + | `PLW -> Country.pw 4455 + | `PSE -> Country.ps 4456 + | `PAN -> Country.pa 4457 + | `PNG -> Country.pg 4458 + | `PRY -> Country.py 4459 + | `PER -> Country.pe 4460 + | `PHL -> Country.ph 4461 + | `PCN -> Country.pn 4462 + | `POL -> Country.pl 4463 + | `PRT -> Country.pt 4464 + | `PRI -> Country.pr 4465 + | `QAT -> Country.qa 4466 + | `REU -> Country.re 4467 + | `ROU -> Country.ro 4468 + | `RUS -> Country.ru 4469 + | `RWA -> Country.rw 4470 + | `BLM -> Country.bl 4471 + | `SHN -> Country.sh 4472 + | `KNA -> Country.kn 4473 + | `LCA -> Country.lc 4474 + | `MAF -> Country.mf 4475 + | `SPM -> Country.pm 4476 + | `VCT -> Country.vc 4477 + | `WSM -> Country.ws 4478 + | `SMR -> Country.sm 4479 + | `STP -> Country.st 4480 + | `SAU -> Country.sa 4481 + | `SEN -> Country.sn 4482 + | `SRB -> Country.rs 4483 + | `SYC -> Country.sc 4484 + | `SLE -> Country.sl 4485 + | `SGP -> Country.sg 4486 + | `SXM -> Country.sx 4487 + | `SVK -> Country.sk 4488 + | `SVN -> Country.si 4489 + | `SLB -> Country.sb 4490 + | `SOM -> Country.so 4491 + | `ZAF -> Country.za 4492 + | `SGS -> Country.gs 4493 + | `SSD -> Country.ss 4494 + | `ESP -> Country.es 4495 + | `LKA -> Country.lk 4496 + | `SDN -> Country.sd 4497 + | `SUR -> Country.sr 4498 + | `SJM -> Country.sj 4499 + | `SWE -> Country.se 4500 + | `CHE -> Country.ch 4501 + | `SYR -> Country.sy 4502 + | `TWN -> Country.tw 4503 + | `TJK -> Country.tj 4504 + | `TZA -> Country.tz 4505 + | `THA -> Country.th 4506 + | `TLS -> Country.tl 4507 + | `TGO -> Country.tg 4508 + | `TKL -> Country.tk 4509 + | `TON -> Country.to' 4510 + | `TTO -> Country.tt 4511 + | `TUN -> Country.tn 4512 + | `TUR -> Country.tr 4513 + | `TKM -> Country.tm 4514 + | `TCA -> Country.tc 4515 + | `TUV -> Country.tv 4516 + | `UGA -> Country.ug 4517 + | `UKR -> Country.ua 4518 + | `ARE -> Country.ae 4519 + | `GBR -> Country.gb 4520 + | `USA -> Country.us 4521 + | `UMI -> Country.um 4522 + | `URY -> Country.uy 4523 + | `UZB -> Country.uz 4524 + | `VUT -> Country.vu 4525 + | `VEN -> Country.ve 4526 + | `VNM -> Country.vn 4527 + | `VGB -> Country.vg 4528 + | `VIR -> Country.vi 4529 + | `WLF -> Country.wf 4530 + | `ESH -> Country.eh 4531 + | `YEM -> Country.ye 4532 + | `ZMB -> Country.zm 4533 + | `ZWE -> Country.zw 4534 + 4535 + let numeric_to_country = function 4536 + | 4 -> Country.af 4537 + | 248 -> Country.ax 4538 + | 8 -> Country.al 4539 + | 12 -> Country.dz 4540 + | 16 -> Country.as' 4541 + | 20 -> Country.ad 4542 + | 24 -> Country.ao 4543 + | 660 -> Country.ai 4544 + | 10 -> Country.aq 4545 + | 28 -> Country.ag 4546 + | 32 -> Country.ar 4547 + | 51 -> Country.am 4548 + | 533 -> Country.aw 4549 + | 36 -> Country.au 4550 + | 40 -> Country.at 4551 + | 31 -> Country.az 4552 + | 44 -> Country.bs 4553 + | 48 -> Country.bh 4554 + | 50 -> Country.bd 4555 + | 52 -> Country.bb 4556 + | 112 -> Country.by 4557 + | 56 -> Country.be 4558 + | 84 -> Country.bz 4559 + | 204 -> Country.bj 4560 + | 60 -> Country.bm 4561 + | 64 -> Country.bt 4562 + | 68 -> Country.bo 4563 + | 535 -> Country.bq 4564 + | 70 -> Country.ba 4565 + | 72 -> Country.bw 4566 + | 74 -> Country.bv 4567 + | 76 -> Country.br 4568 + | 86 -> Country.io 4569 + | 96 -> Country.bn 4570 + | 100 -> Country.bg 4571 + | 854 -> Country.bf 4572 + | 108 -> Country.bi 4573 + | 132 -> Country.cv 4574 + | 116 -> Country.kh 4575 + | 120 -> Country.cm 4576 + | 124 -> Country.ca 4577 + | 136 -> Country.ky 4578 + | 140 -> Country.cf 4579 + | 148 -> Country.td 4580 + | 152 -> Country.cl 4581 + | 156 -> Country.cn 4582 + | 162 -> Country.cx 4583 + | 166 -> Country.cc 4584 + | 170 -> Country.co 4585 + | 174 -> Country.km 4586 + | 178 -> Country.cg 4587 + | 180 -> Country.cd 4588 + | 184 -> Country.ck 4589 + | 188 -> Country.cr 4590 + | 384 -> Country.ci 4591 + | 191 -> Country.hr 4592 + | 192 -> Country.cu 4593 + | 531 -> Country.cw 4594 + | 196 -> Country.cy 4595 + | 203 -> Country.cz 4596 + | 208 -> Country.dk 4597 + | 262 -> Country.dj 4598 + | 212 -> Country.dm 4599 + | 214 -> Country.do' 4600 + | 218 -> Country.ec 4601 + | 818 -> Country.eg 4602 + | 222 -> Country.sv 4603 + | 226 -> Country.gq 4604 + | 232 -> Country.er 4605 + | 233 -> Country.ee 4606 + | 748 -> Country.sz 4607 + | 231 -> Country.et 4608 + | 238 -> Country.fk 4609 + | 234 -> Country.fo 4610 + | 242 -> Country.fj 4611 + | 246 -> Country.fi 4612 + | 250 -> Country.fr 4613 + | 254 -> Country.gf 4614 + | 258 -> Country.pf 4615 + | 260 -> Country.tf 4616 + | 266 -> Country.ga 4617 + | 270 -> Country.gm 4618 + | 268 -> Country.ge 4619 + | 276 -> Country.de 4620 + | 288 -> Country.gh 4621 + | 292 -> Country.gi 4622 + | 300 -> Country.gr 4623 + | 304 -> Country.gl 4624 + | 308 -> Country.gd 4625 + | 312 -> Country.gp 4626 + | 316 -> Country.gu 4627 + | 320 -> Country.gt 4628 + | 831 -> Country.gg 4629 + | 324 -> Country.gn 4630 + | 624 -> Country.gw 4631 + | 328 -> Country.gy 4632 + | 332 -> Country.ht 4633 + | 334 -> Country.hm 4634 + | 336 -> Country.va 4635 + | 340 -> Country.hn 4636 + | 344 -> Country.hk 4637 + | 348 -> Country.hu 4638 + | 352 -> Country.is 4639 + | 356 -> Country.in' 4640 + | 360 -> Country.id 4641 + | 364 -> Country.ir 4642 + | 368 -> Country.iq 4643 + | 372 -> Country.ie 4644 + | 833 -> Country.im 4645 + | 376 -> Country.il 4646 + | 380 -> Country.it 4647 + | 388 -> Country.jm 4648 + | 392 -> Country.jp 4649 + | 832 -> Country.je 4650 + | 400 -> Country.jo 4651 + | 398 -> Country.kz 4652 + | 404 -> Country.ke 4653 + | 296 -> Country.ki 4654 + | 408 -> Country.kp 4655 + | 410 -> Country.kr 4656 + | 414 -> Country.kw 4657 + | 417 -> Country.kg 4658 + | 418 -> Country.la 4659 + | 428 -> Country.lv 4660 + | 422 -> Country.lb 4661 + | 426 -> Country.ls 4662 + | 430 -> Country.lr 4663 + | 434 -> Country.ly 4664 + | 438 -> Country.li 4665 + | 440 -> Country.lt 4666 + | 442 -> Country.lu 4667 + | 446 -> Country.mo 4668 + | 450 -> Country.mg 4669 + | 454 -> Country.mw 4670 + | 458 -> Country.my 4671 + | 462 -> Country.mv 4672 + | 466 -> Country.ml 4673 + | 470 -> Country.mt 4674 + | 584 -> Country.mh 4675 + | 474 -> Country.mq 4676 + | 478 -> Country.mr 4677 + | 480 -> Country.mu 4678 + | 175 -> Country.yt 4679 + | 484 -> Country.mx 4680 + | 583 -> Country.fm 4681 + | 498 -> Country.md 4682 + | 492 -> Country.mc 4683 + | 496 -> Country.mn 4684 + | 499 -> Country.me 4685 + | 500 -> Country.ms 4686 + | 504 -> Country.ma 4687 + | 508 -> Country.mz 4688 + | 104 -> Country.mm 4689 + | 516 -> Country.na 4690 + | 520 -> Country.nr 4691 + | 524 -> Country.np 4692 + | 528 -> Country.nl 4693 + | 540 -> Country.nc 4694 + | 554 -> Country.nz 4695 + | 558 -> Country.ni 4696 + | 562 -> Country.ne 4697 + | 566 -> Country.ng 4698 + | 570 -> Country.nu 4699 + | 574 -> Country.nf 4700 + | 807 -> Country.mk 4701 + | 580 -> Country.mp 4702 + | 578 -> Country.no 4703 + | 512 -> Country.om 4704 + | 586 -> Country.pk 4705 + | 585 -> Country.pw 4706 + | 275 -> Country.ps 4707 + | 591 -> Country.pa 4708 + | 598 -> Country.pg 4709 + | 600 -> Country.py 4710 + | 604 -> Country.pe 4711 + | 608 -> Country.ph 4712 + | 612 -> Country.pn 4713 + | 616 -> Country.pl 4714 + | 620 -> Country.pt 4715 + | 630 -> Country.pr 4716 + | 634 -> Country.qa 4717 + | 638 -> Country.re 4718 + | 642 -> Country.ro 4719 + | 643 -> Country.ru 4720 + | 646 -> Country.rw 4721 + | 652 -> Country.bl 4722 + | 654 -> Country.sh 4723 + | 659 -> Country.kn 4724 + | 662 -> Country.lc 4725 + | 663 -> Country.mf 4726 + | 666 -> Country.pm 4727 + | 670 -> Country.vc 4728 + | 882 -> Country.ws 4729 + | 674 -> Country.sm 4730 + | 678 -> Country.st 4731 + | 682 -> Country.sa 4732 + | 686 -> Country.sn 4733 + | 688 -> Country.rs 4734 + | 690 -> Country.sc 4735 + | 694 -> Country.sl 4736 + | 702 -> Country.sg 4737 + | 534 -> Country.sx 4738 + | 703 -> Country.sk 4739 + | 705 -> Country.si 4740 + | 90 -> Country.sb 4741 + | 706 -> Country.so 4742 + | 710 -> Country.za 4743 + | 239 -> Country.gs 4744 + | 728 -> Country.ss 4745 + | 724 -> Country.es 4746 + | 144 -> Country.lk 4747 + | 729 -> Country.sd 4748 + | 740 -> Country.sr 4749 + | 744 -> Country.sj 4750 + | 752 -> Country.se 4751 + | 756 -> Country.ch 4752 + | 760 -> Country.sy 4753 + | 158 -> Country.tw 4754 + | 762 -> Country.tj 4755 + | 834 -> Country.tz 4756 + | 764 -> Country.th 4757 + | 626 -> Country.tl 4758 + | 768 -> Country.tg 4759 + | 772 -> Country.tk 4760 + | 776 -> Country.to' 4761 + | 780 -> Country.tt 4762 + | 788 -> Country.tn 4763 + | 792 -> Country.tr 4764 + | 795 -> Country.tm 4765 + | 796 -> Country.tc 4766 + | 798 -> Country.tv 4767 + | 800 -> Country.ug 4768 + | 804 -> Country.ua 4769 + | 784 -> Country.ae 4770 + | 826 -> Country.gb 4771 + | 840 -> Country.us 4772 + | 581 -> Country.um 4773 + | 858 -> Country.uy 4774 + | 860 -> Country.uz 4775 + | 548 -> Country.vu 4776 + | 862 -> Country.ve 4777 + | 704 -> Country.vn 4778 + | 92 -> Country.vg 4779 + | 850 -> Country.vi 4780 + | 876 -> Country.wf 4781 + | 732 -> Country.eh 4782 + | 887 -> Country.ye 4783 + | 894 -> Country.zm 4784 + | 716 -> Country.zw 4785 + | _ -> invalid_arg "No such country with numerical code"
+1299
vendor/opam/ISO3166/src/lib/ISO3166.mli
··· 1 + type alpha2 = 2 + [ `AF 3 + | `AX 4 + | `AL 5 + | `DZ 6 + | `AS 7 + | `AD 8 + | `AO 9 + | `AI 10 + | `AQ 11 + | `AG 12 + | `AR 13 + | `AM 14 + | `AW 15 + | `AU 16 + | `AT 17 + | `AZ 18 + | `BS 19 + | `BH 20 + | `BD 21 + | `BB 22 + | `BY 23 + | `BE 24 + | `BZ 25 + | `BJ 26 + | `BM 27 + | `BT 28 + | `BO 29 + | `BQ 30 + | `BA 31 + | `BW 32 + | `BV 33 + | `BR 34 + | `IO 35 + | `BN 36 + | `BG 37 + | `BF 38 + | `BI 39 + | `CV 40 + | `KH 41 + | `CM 42 + | `CA 43 + | `KY 44 + | `CF 45 + | `TD 46 + | `CL 47 + | `CN 48 + | `CX 49 + | `CC 50 + | `CO 51 + | `KM 52 + | `CG 53 + | `CD 54 + | `CK 55 + | `CR 56 + | `CI 57 + | `HR 58 + | `CU 59 + | `CW 60 + | `CY 61 + | `CZ 62 + | `DK 63 + | `DJ 64 + | `DM 65 + | `DO 66 + | `EC 67 + | `EG 68 + | `SV 69 + | `GQ 70 + | `ER 71 + | `EE 72 + | `SZ 73 + | `ET 74 + | `FK 75 + | `FO 76 + | `FJ 77 + | `FI 78 + | `FR 79 + | `GF 80 + | `PF 81 + | `TF 82 + | `GA 83 + | `GM 84 + | `GE 85 + | `DE 86 + | `GH 87 + | `GI 88 + | `GR 89 + | `GL 90 + | `GD 91 + | `GP 92 + | `GU 93 + | `GT 94 + | `GG 95 + | `GN 96 + | `GW 97 + | `GY 98 + | `HT 99 + | `HM 100 + | `VA 101 + | `HN 102 + | `HK 103 + | `HU 104 + | `IS 105 + | `IN 106 + | `ID 107 + | `IR 108 + | `IQ 109 + | `IE 110 + | `IM 111 + | `IL 112 + | `IT 113 + | `JM 114 + | `JP 115 + | `JE 116 + | `JO 117 + | `KZ 118 + | `KE 119 + | `KI 120 + | `KP 121 + | `KR 122 + | `KW 123 + | `KG 124 + | `LA 125 + | `LV 126 + | `LB 127 + | `LS 128 + | `LR 129 + | `LY 130 + | `LI 131 + | `LT 132 + | `LU 133 + | `MO 134 + | `MG 135 + | `MW 136 + | `MY 137 + | `MV 138 + | `ML 139 + | `MT 140 + | `MH 141 + | `MQ 142 + | `MR 143 + | `MU 144 + | `YT 145 + | `MX 146 + | `FM 147 + | `MD 148 + | `MC 149 + | `MN 150 + | `ME 151 + | `MS 152 + | `MA 153 + | `MZ 154 + | `MM 155 + | `NA 156 + | `NR 157 + | `NP 158 + | `NL 159 + | `NC 160 + | `NZ 161 + | `NI 162 + | `NE 163 + | `NG 164 + | `NU 165 + | `NF 166 + | `MK 167 + | `MP 168 + | `NO 169 + | `OM 170 + | `PK 171 + | `PW 172 + | `PS 173 + | `PA 174 + | `PG 175 + | `PY 176 + | `PE 177 + | `PH 178 + | `PN 179 + | `PL 180 + | `PT 181 + | `PR 182 + | `QA 183 + | `RE 184 + | `RO 185 + | `RU 186 + | `RW 187 + | `BL 188 + | `SH 189 + | `KN 190 + | `LC 191 + | `MF 192 + | `PM 193 + | `VC 194 + | `WS 195 + | `SM 196 + | `ST 197 + | `SA 198 + | `SN 199 + | `RS 200 + | `SC 201 + | `SL 202 + | `SG 203 + | `SX 204 + | `SK 205 + | `SI 206 + | `SB 207 + | `SO 208 + | `ZA 209 + | `GS 210 + | `SS 211 + | `ES 212 + | `LK 213 + | `SD 214 + | `SR 215 + | `SJ 216 + | `SE 217 + | `CH 218 + | `SY 219 + | `TW 220 + | `TJ 221 + | `TZ 222 + | `TH 223 + | `TL 224 + | `TG 225 + | `TK 226 + | `TO 227 + | `TT 228 + | `TN 229 + | `TR 230 + | `TM 231 + | `TC 232 + | `TV 233 + | `UG 234 + | `UA 235 + | `AE 236 + | `GB 237 + | `US 238 + | `UM 239 + | `UY 240 + | `UZ 241 + | `VU 242 + | `VE 243 + | `VN 244 + | `VG 245 + | `VI 246 + | `WF 247 + | `EH 248 + | `YE 249 + | `ZM 250 + | `ZW ] 251 + 252 + val alpha2_to_string : alpha2 -> string 253 + val alpha2_of_string : string -> alpha2 254 + 255 + type alpha3 = 256 + [ `AFG 257 + | `ALA 258 + | `ALB 259 + | `DZA 260 + | `ASM 261 + | `AND 262 + | `AGO 263 + | `AIA 264 + | `ATA 265 + | `ATG 266 + | `ARG 267 + | `ARM 268 + | `ABW 269 + | `AUS 270 + | `AUT 271 + | `AZE 272 + | `BHS 273 + | `BHR 274 + | `BGD 275 + | `BRB 276 + | `BLR 277 + | `BEL 278 + | `BLZ 279 + | `BEN 280 + | `BMU 281 + | `BTN 282 + | `BOL 283 + | `BES 284 + | `BIH 285 + | `BWA 286 + | `BVT 287 + | `BRA 288 + | `IOT 289 + | `BRN 290 + | `BGR 291 + | `BFA 292 + | `BDI 293 + | `CPV 294 + | `KHM 295 + | `CMR 296 + | `CAN 297 + | `CYM 298 + | `CAF 299 + | `TCD 300 + | `CHL 301 + | `CHN 302 + | `CXR 303 + | `CCK 304 + | `COL 305 + | `COM 306 + | `COG 307 + | `COD 308 + | `COK 309 + | `CRI 310 + | `CIV 311 + | `HRV 312 + | `CUB 313 + | `CUW 314 + | `CYP 315 + | `CZE 316 + | `DNK 317 + | `DJI 318 + | `DMA 319 + | `DOM 320 + | `ECU 321 + | `EGY 322 + | `SLV 323 + | `GNQ 324 + | `ERI 325 + | `EST 326 + | `SWZ 327 + | `ETH 328 + | `FLK 329 + | `FRO 330 + | `FJI 331 + | `FIN 332 + | `FRA 333 + | `GUF 334 + | `PYF 335 + | `ATF 336 + | `GAB 337 + | `GMB 338 + | `GEO 339 + | `DEU 340 + | `GHA 341 + | `GIB 342 + | `GRC 343 + | `GRL 344 + | `GRD 345 + | `GLP 346 + | `GUM 347 + | `GTM 348 + | `GGY 349 + | `GIN 350 + | `GNB 351 + | `GUY 352 + | `HTI 353 + | `HMD 354 + | `VAT 355 + | `HND 356 + | `HKG 357 + | `HUN 358 + | `ISL 359 + | `IND 360 + | `IDN 361 + | `IRN 362 + | `IRQ 363 + | `IRL 364 + | `IMN 365 + | `ISR 366 + | `ITA 367 + | `JAM 368 + | `JPN 369 + | `JEY 370 + | `JOR 371 + | `KAZ 372 + | `KEN 373 + | `KIR 374 + | `PRK 375 + | `KOR 376 + | `KWT 377 + | `KGZ 378 + | `LAO 379 + | `LVA 380 + | `LBN 381 + | `LSO 382 + | `LBR 383 + | `LBY 384 + | `LIE 385 + | `LTU 386 + | `LUX 387 + | `MAC 388 + | `MDG 389 + | `MWI 390 + | `MYS 391 + | `MDV 392 + | `MLI 393 + | `MLT 394 + | `MHL 395 + | `MTQ 396 + | `MRT 397 + | `MUS 398 + | `MYT 399 + | `MEX 400 + | `FSM 401 + | `MDA 402 + | `MCO 403 + | `MNG 404 + | `MNE 405 + | `MSR 406 + | `MAR 407 + | `MOZ 408 + | `MMR 409 + | `NAM 410 + | `NRU 411 + | `NPL 412 + | `NLD 413 + | `NCL 414 + | `NZL 415 + | `NIC 416 + | `NER 417 + | `NGA 418 + | `NIU 419 + | `NFK 420 + | `MKD 421 + | `MNP 422 + | `NOR 423 + | `OMN 424 + | `PAK 425 + | `PLW 426 + | `PSE 427 + | `PAN 428 + | `PNG 429 + | `PRY 430 + | `PER 431 + | `PHL 432 + | `PCN 433 + | `POL 434 + | `PRT 435 + | `PRI 436 + | `QAT 437 + | `REU 438 + | `ROU 439 + | `RUS 440 + | `RWA 441 + | `BLM 442 + | `SHN 443 + | `KNA 444 + | `LCA 445 + | `MAF 446 + | `SPM 447 + | `VCT 448 + | `WSM 449 + | `SMR 450 + | `STP 451 + | `SAU 452 + | `SEN 453 + | `SRB 454 + | `SYC 455 + | `SLE 456 + | `SGP 457 + | `SXM 458 + | `SVK 459 + | `SVN 460 + | `SLB 461 + | `SOM 462 + | `ZAF 463 + | `SGS 464 + | `SSD 465 + | `ESP 466 + | `LKA 467 + | `SDN 468 + | `SUR 469 + | `SJM 470 + | `SWE 471 + | `CHE 472 + | `SYR 473 + | `TWN 474 + | `TJK 475 + | `TZA 476 + | `THA 477 + | `TLS 478 + | `TGO 479 + | `TKL 480 + | `TON 481 + | `TTO 482 + | `TUN 483 + | `TUR 484 + | `TKM 485 + | `TCA 486 + | `TUV 487 + | `UGA 488 + | `UKR 489 + | `ARE 490 + | `GBR 491 + | `USA 492 + | `UMI 493 + | `URY 494 + | `UZB 495 + | `VUT 496 + | `VEN 497 + | `VNM 498 + | `VGB 499 + | `VIR 500 + | `WLF 501 + | `ESH 502 + | `YEM 503 + | `ZMB 504 + | `ZWE ] 505 + 506 + val alpha3_to_string : alpha3 -> string 507 + val alpha3_of_string : string -> alpha3 508 + 509 + type numeric 510 + (** An abstract type to represent a three-digit country code. *) 511 + 512 + val numeric_to_int : numeric -> int 513 + (** The integer representation of the three-digit code. Note this won't be 514 + three-digits if less than [100]. Use {! numeric_to_string} if you need that. *) 515 + 516 + val numeric_of_int : int -> numeric 517 + (** Convert from an integer, this will only check that the number falls between [0-999] 518 + and raise [Invalid_argument] if it doesn't. There is no check that the integer is in fact 519 + a valid, assigned numeric country code. *) 520 + 521 + val numeric_to_string : numeric -> string 522 + (** Conversion to a three-digit string representation. *) 523 + 524 + val numeric_of_string : string -> numeric 525 + (** This is [numeric_of_int (int_of_string v)]. *) 526 + 527 + module Country : sig 528 + type t 529 + (** A country as defined by ISO3166. *) 530 + 531 + val alpha2 : t -> alpha2 532 + (** The two letter country code. *) 533 + 534 + val alpha3 : t -> alpha3 535 + (** The three letter country code. *) 536 + 537 + val numeric : t -> numeric 538 + (** The numeric country code. *) 539 + 540 + val name : t -> string 541 + (** The english name of the country *) 542 + 543 + val region : t -> string option 544 + (** The {{: https://unstats.un.org/unsd/methodology/m49/overview} english region} name for the country. *) 545 + 546 + val sub_region : t -> string option 547 + (** The {{: https://unstats.un.org/unsd/methodology/m49/overview} english sub-region} name for the country. *) 548 + 549 + val af : t 550 + (** Country information for Afghanistan. *) 551 + 552 + val ax : t 553 + (** Country information for Åland Islands. *) 554 + 555 + val al : t 556 + (** Country information for Albania. *) 557 + 558 + val dz : t 559 + (** Country information for Algeria. *) 560 + 561 + val as' : t 562 + (** Country information for American Samoa. *) 563 + 564 + val ad : t 565 + (** Country information for Andorra. *) 566 + 567 + val ao : t 568 + (** Country information for Angola. *) 569 + 570 + val ai : t 571 + (** Country information for Anguilla. *) 572 + 573 + val aq : t 574 + (** Country information for Antarctica. *) 575 + 576 + val ag : t 577 + (** Country information for Antigua and Barbuda. *) 578 + 579 + val ar : t 580 + (** Country information for Argentina. *) 581 + 582 + val am : t 583 + (** Country information for Armenia. *) 584 + 585 + val aw : t 586 + (** Country information for Aruba. *) 587 + 588 + val au : t 589 + (** Country information for Australia. *) 590 + 591 + val at : t 592 + (** Country information for Austria. *) 593 + 594 + val az : t 595 + (** Country information for Azerbaijan. *) 596 + 597 + val bs : t 598 + (** Country information for Bahamas. *) 599 + 600 + val bh : t 601 + (** Country information for Bahrain. *) 602 + 603 + val bd : t 604 + (** Country information for Bangladesh. *) 605 + 606 + val bb : t 607 + (** Country information for Barbados. *) 608 + 609 + val by : t 610 + (** Country information for Belarus. *) 611 + 612 + val be : t 613 + (** Country information for Belgium. *) 614 + 615 + val bz : t 616 + (** Country information for Belize. *) 617 + 618 + val bj : t 619 + (** Country information for Benin. *) 620 + 621 + val bm : t 622 + (** Country information for Bermuda. *) 623 + 624 + val bt : t 625 + (** Country information for Bhutan. *) 626 + 627 + val bo : t 628 + (** Country information for Bolivia (Plurinational State of). *) 629 + 630 + val bq : t 631 + (** Country information for Bonaire Sint Eustatius and Saba. *) 632 + 633 + val ba : t 634 + (** Country information for Bosnia and Herzegovina. *) 635 + 636 + val bw : t 637 + (** Country information for Botswana. *) 638 + 639 + val bv : t 640 + (** Country information for Bouvet Island. *) 641 + 642 + val br : t 643 + (** Country information for Brazil. *) 644 + 645 + val io : t 646 + (** Country information for British Indian Ocean Territory. *) 647 + 648 + val bn : t 649 + (** Country information for Brunei Darussalam. *) 650 + 651 + val bg : t 652 + (** Country information for Bulgaria. *) 653 + 654 + val bf : t 655 + (** Country information for Burkina Faso. *) 656 + 657 + val bi : t 658 + (** Country information for Burundi. *) 659 + 660 + val cv : t 661 + (** Country information for Cabo Verde. *) 662 + 663 + val kh : t 664 + (** Country information for Cambodia. *) 665 + 666 + val cm : t 667 + (** Country information for Cameroon. *) 668 + 669 + val ca : t 670 + (** Country information for Canada. *) 671 + 672 + val ky : t 673 + (** Country information for Cayman Islands. *) 674 + 675 + val cf : t 676 + (** Country information for Central African Republic. *) 677 + 678 + val td : t 679 + (** Country information for Chad. *) 680 + 681 + val cl : t 682 + (** Country information for Chile. *) 683 + 684 + val cn : t 685 + (** Country information for China. *) 686 + 687 + val cx : t 688 + (** Country information for Christmas Island. *) 689 + 690 + val cc : t 691 + (** Country information for Cocos (Keeling) Islands. *) 692 + 693 + val co : t 694 + (** Country information for Colombia. *) 695 + 696 + val km : t 697 + (** Country information for Comoros. *) 698 + 699 + val cg : t 700 + (** Country information for Congo. *) 701 + 702 + val cd : t 703 + (** Country information for Congo Democratic Republic of the. *) 704 + 705 + val ck : t 706 + (** Country information for Cook Islands. *) 707 + 708 + val cr : t 709 + (** Country information for Costa Rica. *) 710 + 711 + val ci : t 712 + (** Country information for Côte d'Ivoire. *) 713 + 714 + val hr : t 715 + (** Country information for Croatia. *) 716 + 717 + val cu : t 718 + (** Country information for Cuba. *) 719 + 720 + val cw : t 721 + (** Country information for Curaçao. *) 722 + 723 + val cy : t 724 + (** Country information for Cyprus. *) 725 + 726 + val cz : t 727 + (** Country information for Czechia. *) 728 + 729 + val dk : t 730 + (** Country information for Denmark. *) 731 + 732 + val dj : t 733 + (** Country information for Djibouti. *) 734 + 735 + val dm : t 736 + (** Country information for Dominica. *) 737 + 738 + val do' : t 739 + (** Country information for Dominican Republic. *) 740 + 741 + val ec : t 742 + (** Country information for Ecuador. *) 743 + 744 + val eg : t 745 + (** Country information for Egypt. *) 746 + 747 + val sv : t 748 + (** Country information for El Salvador. *) 749 + 750 + val gq : t 751 + (** Country information for Equatorial Guinea. *) 752 + 753 + val er : t 754 + (** Country information for Eritrea. *) 755 + 756 + val ee : t 757 + (** Country information for Estonia. *) 758 + 759 + val sz : t 760 + (** Country information for Eswatini. *) 761 + 762 + val et : t 763 + (** Country information for Ethiopia. *) 764 + 765 + val fk : t 766 + (** Country information for Falkland Islands (Malvinas). *) 767 + 768 + val fo : t 769 + (** Country information for Faroe Islands. *) 770 + 771 + val fj : t 772 + (** Country information for Fiji. *) 773 + 774 + val fi : t 775 + (** Country information for Finland. *) 776 + 777 + val fr : t 778 + (** Country information for France. *) 779 + 780 + val gf : t 781 + (** Country information for French Guiana. *) 782 + 783 + val pf : t 784 + (** Country information for French Polynesia. *) 785 + 786 + val tf : t 787 + (** Country information for French Southern Territories. *) 788 + 789 + val ga : t 790 + (** Country information for Gabon. *) 791 + 792 + val gm : t 793 + (** Country information for Gambia. *) 794 + 795 + val ge : t 796 + (** Country information for Georgia. *) 797 + 798 + val de : t 799 + (** Country information for Germany. *) 800 + 801 + val gh : t 802 + (** Country information for Ghana. *) 803 + 804 + val gi : t 805 + (** Country information for Gibraltar. *) 806 + 807 + val gr : t 808 + (** Country information for Greece. *) 809 + 810 + val gl : t 811 + (** Country information for Greenland. *) 812 + 813 + val gd : t 814 + (** Country information for Grenada. *) 815 + 816 + val gp : t 817 + (** Country information for Guadeloupe. *) 818 + 819 + val gu : t 820 + (** Country information for Guam. *) 821 + 822 + val gt : t 823 + (** Country information for Guatemala. *) 824 + 825 + val gg : t 826 + (** Country information for Guernsey. *) 827 + 828 + val gn : t 829 + (** Country information for Guinea. *) 830 + 831 + val gw : t 832 + (** Country information for Guinea-Bissau. *) 833 + 834 + val gy : t 835 + (** Country information for Guyana. *) 836 + 837 + val ht : t 838 + (** Country information for Haiti. *) 839 + 840 + val hm : t 841 + (** Country information for Heard Island and McDonald Islands. *) 842 + 843 + val va : t 844 + (** Country information for Holy See. *) 845 + 846 + val hn : t 847 + (** Country information for Honduras. *) 848 + 849 + val hk : t 850 + (** Country information for Hong Kong. *) 851 + 852 + val hu : t 853 + (** Country information for Hungary. *) 854 + 855 + val is : t 856 + (** Country information for Iceland. *) 857 + 858 + val in' : t 859 + (** Country information for India. *) 860 + 861 + val id : t 862 + (** Country information for Indonesia. *) 863 + 864 + val ir : t 865 + (** Country information for Iran (Islamic Republic of). *) 866 + 867 + val iq : t 868 + (** Country information for Iraq. *) 869 + 870 + val ie : t 871 + (** Country information for Ireland. *) 872 + 873 + val im : t 874 + (** Country information for Isle of Man. *) 875 + 876 + val il : t 877 + (** Country information for Israel. *) 878 + 879 + val it : t 880 + (** Country information for Italy. *) 881 + 882 + val jm : t 883 + (** Country information for Jamaica. *) 884 + 885 + val jp : t 886 + (** Country information for Japan. *) 887 + 888 + val je : t 889 + (** Country information for Jersey. *) 890 + 891 + val jo : t 892 + (** Country information for Jordan. *) 893 + 894 + val kz : t 895 + (** Country information for Kazakhstan. *) 896 + 897 + val ke : t 898 + (** Country information for Kenya. *) 899 + 900 + val ki : t 901 + (** Country information for Kiribati. *) 902 + 903 + val kp : t 904 + (** Country information for Korea (Democratic People's Republic of). *) 905 + 906 + val kr : t 907 + (** Country information for Korea Republic of. *) 908 + 909 + val kw : t 910 + (** Country information for Kuwait. *) 911 + 912 + val kg : t 913 + (** Country information for Kyrgyzstan. *) 914 + 915 + val la : t 916 + (** Country information for Lao People's Democratic Republic. *) 917 + 918 + val lv : t 919 + (** Country information for Latvia. *) 920 + 921 + val lb : t 922 + (** Country information for Lebanon. *) 923 + 924 + val ls : t 925 + (** Country information for Lesotho. *) 926 + 927 + val lr : t 928 + (** Country information for Liberia. *) 929 + 930 + val ly : t 931 + (** Country information for Libya. *) 932 + 933 + val li : t 934 + (** Country information for Liechtenstein. *) 935 + 936 + val lt : t 937 + (** Country information for Lithuania. *) 938 + 939 + val lu : t 940 + (** Country information for Luxembourg. *) 941 + 942 + val mo : t 943 + (** Country information for Macao. *) 944 + 945 + val mg : t 946 + (** Country information for Madagascar. *) 947 + 948 + val mw : t 949 + (** Country information for Malawi. *) 950 + 951 + val my : t 952 + (** Country information for Malaysia. *) 953 + 954 + val mv : t 955 + (** Country information for Maldives. *) 956 + 957 + val ml : t 958 + (** Country information for Mali. *) 959 + 960 + val mt : t 961 + (** Country information for Malta. *) 962 + 963 + val mh : t 964 + (** Country information for Marshall Islands. *) 965 + 966 + val mq : t 967 + (** Country information for Martinique. *) 968 + 969 + val mr : t 970 + (** Country information for Mauritania. *) 971 + 972 + val mu : t 973 + (** Country information for Mauritius. *) 974 + 975 + val yt : t 976 + (** Country information for Mayotte. *) 977 + 978 + val mx : t 979 + (** Country information for Mexico. *) 980 + 981 + val fm : t 982 + (** Country information for Micronesia (Federated States of). *) 983 + 984 + val md : t 985 + (** Country information for Moldova Republic of. *) 986 + 987 + val mc : t 988 + (** Country information for Monaco. *) 989 + 990 + val mn : t 991 + (** Country information for Mongolia. *) 992 + 993 + val me : t 994 + (** Country information for Montenegro. *) 995 + 996 + val ms : t 997 + (** Country information for Montserrat. *) 998 + 999 + val ma : t 1000 + (** Country information for Morocco. *) 1001 + 1002 + val mz : t 1003 + (** Country information for Mozambique. *) 1004 + 1005 + val mm : t 1006 + (** Country information for Myanmar. *) 1007 + 1008 + val na : t 1009 + (** Country information for Namibia. *) 1010 + 1011 + val nr : t 1012 + (** Country information for Nauru. *) 1013 + 1014 + val np : t 1015 + (** Country information for Nepal. *) 1016 + 1017 + val nl : t 1018 + (** Country information for Netherlands. *) 1019 + 1020 + val nc : t 1021 + (** Country information for New Caledonia. *) 1022 + 1023 + val nz : t 1024 + (** Country information for New Zealand. *) 1025 + 1026 + val ni : t 1027 + (** Country information for Nicaragua. *) 1028 + 1029 + val ne : t 1030 + (** Country information for Niger. *) 1031 + 1032 + val ng : t 1033 + (** Country information for Nigeria. *) 1034 + 1035 + val nu : t 1036 + (** Country information for Niue. *) 1037 + 1038 + val nf : t 1039 + (** Country information for Norfolk Island. *) 1040 + 1041 + val mk : t 1042 + (** Country information for North Macedonia. *) 1043 + 1044 + val mp : t 1045 + (** Country information for Northern Mariana Islands. *) 1046 + 1047 + val no : t 1048 + (** Country information for Norway. *) 1049 + 1050 + val om : t 1051 + (** Country information for Oman. *) 1052 + 1053 + val pk : t 1054 + (** Country information for Pakistan. *) 1055 + 1056 + val pw : t 1057 + (** Country information for Palau. *) 1058 + 1059 + val ps : t 1060 + (** Country information for Palestine State of. *) 1061 + 1062 + val pa : t 1063 + (** Country information for Panama. *) 1064 + 1065 + val pg : t 1066 + (** Country information for Papua New Guinea. *) 1067 + 1068 + val py : t 1069 + (** Country information for Paraguay. *) 1070 + 1071 + val pe : t 1072 + (** Country information for Peru. *) 1073 + 1074 + val ph : t 1075 + (** Country information for Philippines. *) 1076 + 1077 + val pn : t 1078 + (** Country information for Pitcairn. *) 1079 + 1080 + val pl : t 1081 + (** Country information for Poland. *) 1082 + 1083 + val pt : t 1084 + (** Country information for Portugal. *) 1085 + 1086 + val pr : t 1087 + (** Country information for Puerto Rico. *) 1088 + 1089 + val qa : t 1090 + (** Country information for Qatar. *) 1091 + 1092 + val re : t 1093 + (** Country information for Réunion. *) 1094 + 1095 + val ro : t 1096 + (** Country information for Romania. *) 1097 + 1098 + val ru : t 1099 + (** Country information for Russian Federation. *) 1100 + 1101 + val rw : t 1102 + (** Country information for Rwanda. *) 1103 + 1104 + val bl : t 1105 + (** Country information for Saint Barthélemy. *) 1106 + 1107 + val sh : t 1108 + (** Country information for Saint Helena Ascension and Tristan da Cunha. *) 1109 + 1110 + val kn : t 1111 + (** Country information for Saint Kitts and Nevis. *) 1112 + 1113 + val lc : t 1114 + (** Country information for Saint Lucia. *) 1115 + 1116 + val mf : t 1117 + (** Country information for Saint Martin (French part). *) 1118 + 1119 + val pm : t 1120 + (** Country information for Saint Pierre and Miquelon. *) 1121 + 1122 + val vc : t 1123 + (** Country information for Saint Vincent and the Grenadines. *) 1124 + 1125 + val ws : t 1126 + (** Country information for Samoa. *) 1127 + 1128 + val sm : t 1129 + (** Country information for San Marino. *) 1130 + 1131 + val st : t 1132 + (** Country information for Sao Tome and Principe. *) 1133 + 1134 + val sa : t 1135 + (** Country information for Saudi Arabia. *) 1136 + 1137 + val sn : t 1138 + (** Country information for Senegal. *) 1139 + 1140 + val rs : t 1141 + (** Country information for Serbia. *) 1142 + 1143 + val sc : t 1144 + (** Country information for Seychelles. *) 1145 + 1146 + val sl : t 1147 + (** Country information for Sierra Leone. *) 1148 + 1149 + val sg : t 1150 + (** Country information for Singapore. *) 1151 + 1152 + val sx : t 1153 + (** Country information for Sint Maarten (Dutch part). *) 1154 + 1155 + val sk : t 1156 + (** Country information for Slovakia. *) 1157 + 1158 + val si : t 1159 + (** Country information for Slovenia. *) 1160 + 1161 + val sb : t 1162 + (** Country information for Solomon Islands. *) 1163 + 1164 + val so : t 1165 + (** Country information for Somalia. *) 1166 + 1167 + val za : t 1168 + (** Country information for South Africa. *) 1169 + 1170 + val gs : t 1171 + (** Country information for South Georgia and the South Sandwich Islands. *) 1172 + 1173 + val ss : t 1174 + (** Country information for South Sudan. *) 1175 + 1176 + val es : t 1177 + (** Country information for Spain. *) 1178 + 1179 + val lk : t 1180 + (** Country information for Sri Lanka. *) 1181 + 1182 + val sd : t 1183 + (** Country information for Sudan. *) 1184 + 1185 + val sr : t 1186 + (** Country information for Suriname. *) 1187 + 1188 + val sj : t 1189 + (** Country information for Svalbard and Jan Mayen. *) 1190 + 1191 + val se : t 1192 + (** Country information for Sweden. *) 1193 + 1194 + val ch : t 1195 + (** Country information for Switzerland. *) 1196 + 1197 + val sy : t 1198 + (** Country information for Syrian Arab Republic. *) 1199 + 1200 + val tw : t 1201 + (** Country information for Taiwan Province of China. *) 1202 + 1203 + val tj : t 1204 + (** Country information for Tajikistan. *) 1205 + 1206 + val tz : t 1207 + (** Country information for Tanzania United Republic of. *) 1208 + 1209 + val th : t 1210 + (** Country information for Thailand. *) 1211 + 1212 + val tl : t 1213 + (** Country information for Timor-Leste. *) 1214 + 1215 + val tg : t 1216 + (** Country information for Togo. *) 1217 + 1218 + val tk : t 1219 + (** Country information for Tokelau. *) 1220 + 1221 + val to' : t 1222 + (** Country information for Tonga. *) 1223 + 1224 + val tt : t 1225 + (** Country information for Trinidad and Tobago. *) 1226 + 1227 + val tn : t 1228 + (** Country information for Tunisia. *) 1229 + 1230 + val tr : t 1231 + (** Country information for Turkey. *) 1232 + 1233 + val tm : t 1234 + (** Country information for Turkmenistan. *) 1235 + 1236 + val tc : t 1237 + (** Country information for Turks and Caicos Islands. *) 1238 + 1239 + val tv : t 1240 + (** Country information for Tuvalu. *) 1241 + 1242 + val ug : t 1243 + (** Country information for Uganda. *) 1244 + 1245 + val ua : t 1246 + (** Country information for Ukraine. *) 1247 + 1248 + val ae : t 1249 + (** Country information for United Arab Emirates. *) 1250 + 1251 + val gb : t 1252 + (** Country information for United Kingdom of Great Britain and Northern Ireland. *) 1253 + 1254 + val us : t 1255 + (** Country information for United States of America. *) 1256 + 1257 + val um : t 1258 + (** Country information for United States Minor Outlying Islands. *) 1259 + 1260 + val uy : t 1261 + (** Country information for Uruguay. *) 1262 + 1263 + val uz : t 1264 + (** Country information for Uzbekistan. *) 1265 + 1266 + val vu : t 1267 + (** Country information for Vanuatu. *) 1268 + 1269 + val ve : t 1270 + (** Country information for Venezuela (Bolivarian Republic of). *) 1271 + 1272 + val vn : t 1273 + (** Country information for Viet Nam. *) 1274 + 1275 + val vg : t 1276 + (** Country information for Virgin Islands (British). *) 1277 + 1278 + val vi : t 1279 + (** Country information for Virgin Islands (U.S.). *) 1280 + 1281 + val wf : t 1282 + (** Country information for Wallis and Futuna. *) 1283 + 1284 + val eh : t 1285 + (** Country information for Western Sahara. *) 1286 + 1287 + val ye : t 1288 + (** Country information for Yemen. *) 1289 + 1290 + val zm : t 1291 + (** Country information for Zambia. *) 1292 + 1293 + val zw : t 1294 + (** Country information for Zimbabwe. *) 1295 + end 1296 + 1297 + val alpha2_to_country : alpha2 -> Country.t 1298 + val alpha3_to_country : alpha3 -> Country.t 1299 + val numeric_to_country : int -> Country.t
+30
vendor/opam/ISO3166/src/lib/dune
··· 1 + (library 2 + (name ISO3166) 3 + (public_name ISO3166)) 4 + 5 + (documentation 6 + (package ISO3166)) 7 + 8 + ; There's probably a nicer way to do this, but for releasing 9 + ; or pushing code to the repo, we disable the generation code. 10 + ; When developing locally, uncomment the following stanzas. 11 + 12 + ; (rule 13 + ; (alias default) 14 + ; (deps ../gen/main.exe) 15 + ; (targets ISO3166.ml) 16 + ; (mode promote) 17 + ; (action 18 + ; (with-stdout-to 19 + ; ISO3166.ml 20 + ; (run ../gen/main.exe)))) 21 + 22 + ; (rule 23 + ; (alias default) 24 + ; (deps ../gen/main.exe) 25 + ; (targets ISO3166.mli) 26 + ; (mode promote) 27 + ; (action 28 + ; (with-stdout-to 29 + ; ISO3166.mli 30 + ; (run ../gen/main.exe mli))))
+42
vendor/opam/ISO3166/src/lib/index.mld
··· 1 + {1 ISO3166} 2 + 3 + This library provides an interface to the {{: https://www.iso.org/iso-3166-country-codes.html} ISO3166} standard. This defines "country codes". 4 + These are short, unique codes that identify a given country. In the ISO3166-1 standard 5 + there are three kinds of codes. 6 + 7 + {ul {- {! ISO3166.alpha2}: This is a two-letter country code. } 8 + {- {! ISO3166.alpha3}: This is a three-letter country code. This is usually more closely related to the country's name. } 9 + {- {! ISO3166.numeric}: This is a three-digit country code which is useful for systems using non-Latin scripts. } 10 + } 11 + 12 + {2 Usage} 13 + 14 + {3 Public APIs} 15 + 16 + The library provides a few different ways of interacting with this information. One useful way to use the library 17 + is when wrapping public APIs that might uses [alpha2] to refine access to some resource in a country-specific way. 18 + You might then wish to type this in you OCaml API. 19 + 20 + {[ 21 + val get_population : ISO3166.alpha2 -> int 22 + ]} 23 + 24 + Which might then have an implementation along the lines of: 25 + 26 + {[ 27 + let get_population alpha2 = 28 + Client.get (Endpoint.population ^ "/" ^ ISO3166.alpha2_to_string alpha2) 29 + ]} 30 + 31 + {3 Low-level Country Information} 32 + 33 + The library also encodes all of the country information in the {! ISO3166.Country} module. 34 + This could be used as a way to provide another means to getting country-specific information. 35 + 36 + For example, you could extract the numeric code but ask a user to provide a {! ISO3166.Country.t} instead. 37 + 38 + {[ 39 + let num_fr = ISO3166.Country.fr |> ISO3166.Country.numeric |> ISO3166.numeric_to_string 40 + ]} 41 + 42 + In this small example [num_fr] will be ["250"].