ALFRED
      The ALlele FREquency Database   
A resource of gene frequency data on human populations
supported by the U. S. National Science Foundation.

ALFRED Sites per Population Summary - ordered by #sites typed

Population (UID)Sites typed
Mbuti (PO000006G)17040  
Melanesian, Nasioi (PO000012D)16829  
African Americans (PO000098R)13602  
Quechua (PO000069P)13143  
European Americans (PO000329O)11682  
Spaniards (PO000321G)11558  
Brahmin (PO000181K)11548  
Mala (PO000363M)11517  
Asian, Mixed (PO000641L)11473  
Burunge (PO000637Q)11470  
Altaian (PO000639S)11467  
Puerto Rican (PO000638R)11466  
Nahuas (PO000508N)11464  
Mende (PO000640K)11452  
Han (PO000009J)6312  
Japanese (PO000010B)5823  
Maya, Yucatan (PO000013E)5766  
Cambodians, Khmer (PO000022E)5714  
Biaka (PO000005F)5622  
Druze (PO000008I)5532  
Surui (PO000014F)5457  
Yakut (PO000011C)5445  
Yoruba (PO000036J)5359  
Pima, Mexico (PO000034H)5318  
Russians (PO000019K)5313  
Adygei (PO000017I)5288  
Karitiana (PO000028K)5284  
Mongolian (PO000502H)4356  
Palestinian (PO000572O)4309  
Papuan New Guinean (PO000084M)4270  
Uyghur (PO000399V)4260  
French (PO000111D)4258  
Italians (PO000137L)4255  
Pashtun (PO000355N)4219  
Sardinian (PO000411G)4218  
Basque (PO000042G)4125  
Bantu speakers (PO000041F)4114  
Amerindians (PO000264M)4092  
Burusho (PO000450J)4090  
Kalash (PO000449R)4090  
Oroqen (PO000541K)4088  
Bedouin (PO000571N)4085  
Balochi (PO000574Q)4081  
Mandenka (PO000543M)4081  
Hezhe (PO000579V)4081  
Sindhi (PO000576S)4081  
Xibe (PO000580N)4081  
Orcadian (PO000586T)4080  
Mozabite (PO000570M)4080  
Daur (PO000578U)4078  
Dai (PO000464O)4076  
Tujia (PO000486S)4076  
Miao (PO000487T)4073  
Lahu (PO000581O)4072  
She (PO000582P)4072  
Yi (PO000577T)4071  
Tu (PO000584R)4070  
Naxi (PO000583Q)4068  
Hazara (PO000575R)3933  
San (PO000073K)3892  
Brahui (PO000573P)3792  
Tamil (PO000354M)2838  
Bengali (PO000839U)2810  
Europeans, Mixed (PO000020C)2632  
Ibo (PO000096P)2372  
Hausa (PO000097Q)2371  
Danes (PO000007H)2205  
Ami (PO000002C)2054  
Jews, Ashkenazi (PO000038L)2051  
Jews, Ethiopian (PO000015G)2046  
Atayal (PO000021D)2045  
Irish (PO000057M)2038  
Finns (PO000018J)2023  
Jews, Yemenite (PO000085N)2017  
Hakka (PO000003D)2008  
Ticuna (PO000027J)2008  
Cheyenne (PO000023F)2008  
Pima, Arizona (PO000033G)2007  
Micronesians (PO000063J)2007  
Samaritans (PO000095O)1987  
Chagga (PO000324J)1967  
Chuvash (PO000327M)1961  
Komi-Zyrian (PO000326L)1945  
Khanty (PO000325K)1937  
Koreans (PO000030D)1881  
Masai (PO000456P)1724  
Sandawe (PO000661N)1381  
Hungarian (PO000453M)1300  
Lao Loum (PO000671O)1289  
Keralite (PO000672P)574  
Malaysians (PO000094N)353  
Somali (PO000075M)202  
Kazakh (PO000089R)189  
Zaramo (PO000807P)182  
Greeks (PO000136K)170  
Kachari (PO000040E)166  
Qiang (PO000463N)162  
Li (PO000752O)161  
Samoans (PO000072J)160  
Khamba (PO000737R)160  
Hmong (PO000740L)159  
Baima Dee (PO000736Q)158  
Hispanic American (PO000119L)152  
Indian, Mixed (PO000144J)149  
Negroid Makrani (PO000707O)142  
Mohanna (PO000708P)142  
Guihiba (PO000055K)137  
Kuwaiti (PO000759V)132  
Jews, Sephardic (PO000164L)132  
Lissongo (PO000782R)131  
Thoti (PO000077O)129  
Pakistani (PO000348P)125  
Czech (PO000491O)120  
Germans (PO000135J)117  
Vietnamese (PO000110C)114  
Turks (PO000213G)110  
Tsonga (PO000035I)107  
Thai (PO000143I)106  
Nguni (PO000108J)102  
Alur (PO000686U)100  
Nande (PO000687V)100  
Hema (PO000688W)100  
Sotho-Tswana (PO000107I)99  
Gond (PO000185O)74  
Taiwanese (PO000356O)69  
Santal (PO000365O)66  
Brazilian (PO000407L)62  
Yadava (PO000367Q)61  
Irula (PO000358Q)59  
Kshatriya (PO000361K)54  
Kapu (PO000359R)53  
Greenlander (PO000682Q)52  
Madiga (PO000362L)48  
Vysya (PO000366P)48  
Australian Aborigines (PO000148N)45  
Javanese (PO000195P)45  
Filipino (PO000197R)43  
Moroccans (PO000105G)43  
Swiss (PO000334K)42  
Cypriot, Greek (PO000331H)40  
Southwest Amerindians (PO000024G)39  
!Kung San (PO000091K)39  
Badaga (PO000468S)38  
Poles (PO000459S)38  
Portuguese (PO000302F)36  
Agharia (PO000368R)36  
Polynesians (PO000147M)36  
Roma (PO000116I)36  
Chamar (PO000370K)36  
Rajput (PO000375P)36  
Mahishya (PO000373N)36  
Zhuang (PO000568T)35  
Relli (PO000364N)35  
Arabs (PO000278R)35  
Khonda Dora (PO000360J)35  
Lambadi (PO000295Q)35  
Chenchu (PO000294P)34  
Dong (PO000741M)34  
Va (PO000754Q)34  
Croatian (PO000203F)34  
Argentine (PO000446O)32  
Ewenki (PO000542L)32  
Wu (PO000739T)31  
Tsat (PO000774S)31  
Laka (PO000751N)31  
Lamet (PO000770O)30  
Saek (PO000753P)30  
Laven (PO000773R)30  
Khammu (PO000755R)30  
Katu (PO000772Q)30  
Bo (PO000771P)30  
Phunoi (PO000738S)30  
Tatar (PO000565Q)29  
Colombian (PO000503I)29  
Jordanian (PO000385Q)28  
Toda (PO000429P)28  
Costa Rican (PO000523K)28  
Inuit, Greenland (PO000330G)28  
Kotas (PO000386R)28  
Cypriot, Turkish (PO000332I)28  
Bretons (PO000341I)28  
Kurumba (PO000424K)28  
Hui (PO000518O)28  
Egyptians (PO000048M)28  
Indonesian (PO000562N)27  
Albanian (PO000475Q)27  
Yanomami (PO000129M)27  
Galician (PO000460K)27  
Alaskan Natives (PO000320F)27  
Xavante (PO000124H)27  
Tharu (PO000337N)27  
Mvskoke (PO000064K)26  
Mozambican (PO000466Q)25  
Mordvin (PO000117J)24  
Azorian (PO000513J)24  
Andalusian (PO000404I)24  
Mexican (PO000504J)24  
Catalans (PO000088Q)24  
Berber (PO000473O)24  
Emirati (PO000349Q)23  
Belgian (PO000490N)23  
Wai-Wai (PO000128L)23  
Munda (PO000374O)23  
Kayapo (PO000130E)23  
Xhosa (PO000154K)22  
Gaud (PO000371L)22  
Arara (PO000133H)22  
Omani (PO000485R)22  
Tunisian (PO000498V)22  
Wayana-Apalai (PO000131F)22  
Zoro (PO000125I)22  
Wayampi (PO000132G)22  
Lodha (PO000372M)21  
Chakma (PO000418N)21  
Vellala (PO000431I)21  
Bagdi (PO000369S)21  
Yerukula (PO000608O)21  
Kamma (PO000598W)21  
English (PO000134I)21  
Jamatiya (PO000422I)21  
Vanniyar (PO000430H)21  
French Acadians (PO000333J)21  
Ambalakarer (PO000417M)21  
Muria (PO000426M)21  
Halba (PO000419O)21  
Mog (PO000425L)21  
Reddy (PO000525M)21  
Riang (PO000428O)21  
Kamar (PO000423J)21  
Otomi (PO000506L)21  
Tanti (PO000376Q)21  
Tipperah (PO000377R)21  
Chilean (PO000554O)20  
Darghinian (PO000346N)20  
Pallan (PO000427N)20  
Gaviao (PO000127K)20  
Iranian (PO000648S)20  
Armenian (PO000343K)20  
Khalkha (PO000695U)20  
Ingush (PO000347O)19  
Navajo (PO000317L)19  
Tibetan (PO000762P)19  
Azerbaijani (PO000344L)19  
Nusa Tengarras (PO000379T)19  
Georgians (PO000342J)19  
Cherkess (PO000345M)19  
Belarusian (PO000437O)19  
Paiwan (PO000495S)19  
Ukrainian (PO000624M)19  
Koyo (PO000293O)19  
Amhara (PO000645P)19  
Canarian (PO000483P)19  
Scot (PO000496T)18  
Nigerians (PO000140F)18  
Ecuadorian (PO000676T)18  
Romanian (PO000476R)18  
Pattapu (PO000703K)18  
Sicilian (PO000204G)18  
Slovenes (PO000462M)18  
Sri Lankan (PO000391N)18  
Bhil (PO000701I)18  
Korku (PO000704L)18  
Sahariya (PO000702J)18  
Guinean (PO000545O)18  
Onge (PO000705M)18  
Kabardinian (PO000406K)18  
Moluccas (PO000378S)18  
Australian (PO000352K)18  
Afghan (PO000654P)18  
Bangladeshi (PO000663P)18  
Austrian (PO000451K)17  
Equatorial Guinean (PO000546P)17  
Ni-Vanuatu (PO000625N)17  
Orang Asli (PO000193N)17  
Fleming (PO000455O)17  
Yemeni (PO000653O)17  
Uzbek (PO000479U)17  
Ache (PO000410F)17  
Khatris (PO000182L)17  
Hutu (PO000155L)17  
Kayastha (PO000511H)17  
Venezuelan (PO000492P)17  
Jamaican (PO000530I)16  
Udmurt (PO000566R)16  
Saudi (PO000662O)16  
Sudanese (PO000646Q)16  
Fang (PO000282M)16  
Manchu (PO000684S)16  
Abazians (PO000405J)16  
Mapuche (PO000104F)16  
Bunun (PO000494R)16  
Australian, Caucasian (PO000328N)16  
Marathas (PO000532K)15  
Bauri (PO000669V)15  
Corsican (PO000539R)15  
Afro-Caribbeans (PO000336M)15  
Gope (PO000552M)15  
Dhangars (PO000533L)15  
Teli (PO000520H)15  
Cuban (PO000596U)15  
Salvadoran (PO000551L)15  
Mulao (PO000678V)15  
Karnataka (PO000221F)15  
Maghrib (PO000484Q)15  
Macedonian (PO000474P)15  
Namasudra (PO000670N)15  
Aromanian (PO000477S)15  
Sakunapakshollu (PO000526N)15  
Balinese (PO000659U)15  
Naga (PO000527O)15  
Kurmis (PO000535N)15  
Timorese (PO000636P)15  
Maonan (PO000679W)15  
Jats (PO000534M)15  
Bosnian (PO000593R)15  
Sao Tomeans (PO000461L)15  
Serb (PO000594S)15  
Yupik (PO000516M)14  
Lithuanian (PO000519P)14  
Mizo (PO000339P)14  
Bavarian (PO000465P)14  
Oraon (PO000658T)14  
Guarani (PO000243J)14  
Garfagnana (PO000296R)14  
Ho (PO000340H)14  
Huastec (PO000595T)14  
Lingayat (PO000522J)14  
Lhoba (PO000635O)14  
Kurds (PO000454N)14  
Yami (PO000561M)14  
Bhumihar (PO000524L)14  
Mari (PO000249P)14  
Kyrgyz (PO000478T)13  
Yuco (PO000394Q)13  
Thogata (PO000604K)13  
Bahamian (PO000529Q)13  
Inupiat (PO000515L)13  
Mangali (PO000606M)13  
Ediga (PO000600G)13  
Bari (PO000380L)13  
Sugali (PO000609P)13  
Ovambos (PO000457Q)13  
Asian Australian (PO000548R)13  
Khandait (PO000528P)13  
Ekila (PO000601H)13  
Jangam (PO000603J)13  
Trinidadian (PO000531J)13  
Dudekula (PO000611I)13  
Vaddi (PO000607N)13  
Athabaskan (PO000514K)13  
Sheikh (PO000612J)13  
Arrernte (PO000849V)13  
Wichi (PO000177P)13  
Apache (PO000547Q)13  
Balija (PO000599X)13  
Gowda (PO000521I)13  
Gandla (PO000602I)13  
Moldovan (PO000674R)13  
Fon (PO000283N)13  
Tajik (PO000392O)13  
Kaingang (PO000244K)13  
Chakali (PO000605L)13  
Akuthota (PO000597V)13  
Yanadi (PO000610H)13  
Sotho, North (PO000032F)12  
Bamileke (PO000101C)12  
Lolo (Lahu,Naxi,Tujia,Yizu combined) (PO000842O)12  
Hmong(Miaozu ,She combined) (PO000841N)12  
Salishans (PO000202E)12  
Ewondo (PO000100B)12  
Cameroonian (PO000667T)12  
Batak (PO000196Q)12  
Italians (HGDP Bergamo and Tuscan samples combined) (PO000843P)12  
Swedes (PO000413I)12  
Rwandan (PO000668U)12  
Gaguazes (PO000819S)12  
Toto (PO000338O)12  
European Canadians (PO000258P)12  
Bashkir (PO000564P)12  
Manchu(Hezhen,Oroqen,Xibo combined) (PO000840M)12  
Buryat (PO000393P)12  
Tehuelche (PO000175N)12  
Israeli (PO000567S)11  
Anatolian (PO000649T)11  
Baoan (PO000655Q)11  
Cajueiro (PO000245L)11  
Sotillo (PO000248O)11  
Birongo (PO000247N)11  
Wayuu (PO000123G)11  
Curiepe (PO000246M)11  
Tuva (PO000387S)10  
Honduran (PO000550K)10  
Puyuma (PO000556Q)10  
Rukai (PO000557R)10  
San, Vasekele (PO000078P)10  
So (PO000192M)10  
Norwegian (PO000441J)10  
Gabonese (PO000452L)10  
Kumyk (PO000643N)10  
Karachay (PO000642M)10  
Saharawi (PO000087P)10  
Tsou (PO000560L)10  
Ingano (PO000122F)10  
Kalmyks (PO000439Q)10  
Saisiat (PO000559T)10  
Nogay (PO000644O)10  
Padmashali (PO000664Q)10  
Sikh (PO000657S)10  
Kamsa (PO000544N)10  
Pepo (PO000563O)9  
Dungan (PO000480M)9  
Mbenzele (PO000447P)9  
Slovaks (PO000467R)9  
Sanga (PO000448Q)9  
African Pygmies (PO000335L)9  
Na-Dene (PO000090J)9  
Fulani (PO000287R)9  
Ayoreo (PO000180J)9  
Tanzanian (PO000086O)8  
Yugoslav (PO000493Q)8  
Argon (PO000499W)8  
Zulu (PO000470L)8  
Europeans, Northern (PO000112E)8  
Chukchi (PO000382N)8  
Bouyei (PO000683R)8  
Sibo (PO000400E)8  
Europeans, Southern (PO000113F)7  
Melanesian (PO000323I)7  
Balti (PO000501G)7  
Woloff, Senegal (PO000079Q)7  
Tswana (PO000471M)7  
La Alpujarra (PO000198S)7  
Barbadian (PO000656R)7  
Siberian Eskimo (PO000390M)7  
Parsi (PO000389U)7  
Sotho, South (PO000469T)7  
Drokpa (PO000500F)7  
Bahraini (PO000357P)7  
Venda (PO000472N)7  
Moor, Sri Lanka (PO000388T)6  
San, Central Kalahari (PO000029L)6  
Embera (PO000121E)6  
Luo (PO000540J)6  
Kashmiri (PO000384P)6  
Puinave (PO000592Q)6  
Bai (PO000488U)6  
Inuit, Canadian (PO000440I)6  
Bulgarian (PO000397T)6  
Cinta Larga (PO000482O)6  
Carrier-Sekani (PO000536O)6  
Chimila (PO000381M)6  
Zuni (PO000395R)6  
Paroja (PO000416L)6  
Garo (PO000512I)6  
Nukak (PO000591P)6  
Bharias (PO000553N)6  
Desano (PO000588V)6  
San Salvador de Jujuy (PO000186P)5  
Chaoxian (PO000489V)5  
Jaali (PO000692R)5  
Cayapa (PO000292N)5  
Cubeo (PO000587U)5  
Herero (PO000056L)5  
Tilacara (PO000187Q)5  
Tucano (PO000589W)5  
Abra Pampa (PO000188R)5  
Tzeltales (PO000509O)5  
British (PO000412H)5  
Purepecha (PO000507M)5  
Nama (PO000065L)5  
Pazeh (PO000555P)5  
Ugandans (PO000458R)5  
Siraya (PO000558S)5  
Curripaco (PO000590O)5  
Mixteca (PO000505K)5  
Beni Amir (PO000689X)4  
Ariaal (PO000838T)4  
Senegalese (PO000141G)4  
Parakana (PO000481N)4  
Dongxiang (PO000517N)4  
Nepalese (PO000685T)4  
Khond (PO000415K)3  
Sunni (PO000803L)3  
Yamani (PO000802K)3  
Shui (PO000822M)3  
Cretan (PO000750M)3  
Zamane (PO000767U)3  
Dhimers (PO000183M)3  
Valmiki (PO000801J)3  
Bagata (PO000800I)3  
Maori (PO000660M)3  
Deang (PO000777V)3  
Kikuyu (PO000058N)3  
Baiga (PO000184N)3  
Zime (PO000764R)3  
Toraja (PO000167O)3  
Ghanaian (PO000443L)3  
Shia (PO000804M)3  
Baka (PO000768V)3  
Qatari (PO000510G)3  
Sanaga (PO000766T)3  
Pomor (PO000783S)3  
Jino (PO000821L)3  
Kako (PO000765S)3  
Jingpo (PO000761O)3  
Bohra (PO000805N)3  
Ahom (PO000779X)3  
Anni (PO000775T)3  
Bulang (PO000776U)3  
Yao (PO000778W)3  
Beninese (PO000781Q)3  
Bidjuki (PO000763Q)3  
Gadaba (PO000414J)3  
Sanapana (PO000620I)2  
Peruvian (PO000680O)2  
Tamir (PO000780P)2  
Solomon Islander (PO000621J)2  
Akha (PO000630J)2  
Kwengo (PO000102D)2  
Ojibwa (PO000200C)2  
Bondo-Highlanders (PO000848U)2  
Sokoto (PO000267P)2  
Punjabi (PO000675S)2  
Pacific Islander (PO000622K)2  
Bugis (PO000634N)2  
Malawian (PO000650L)2  
Ewe (PO000281L)2  
Lengua (PO000179R)2  
Ket (PO000823N)2  
Shan (PO000627P)2  
Andean People (PO000623L)2  
Katuena (PO000256N)2  
Pamirian (PO000706N)2  
Nivkh (PO000744P)2  
Ainu (PO000613K)2  
Zoe (PO000252J)2  
Aymara (PO000619Q)2  
Urubu-Kaapor (PO000254L)2  
Bentong (PO000617O)2  
Cree (PO000201D)2  
Karen (PO000629R)2  
Dani (PO000616N)2  
Lisu (PO000628Q)2  
Awa-Guaja (PO000253K)2  
Sakai (PO000633M)2  
New Zealander (PO000681P)2  
Afar (PO000693S)2  
Tiryio (PO000538Q)2  
Sami (PO000673Q)2  
Mura (PO000760N)1  
Gidra (PO000817Q)1  
Avar (PO000833O)1  
Seramese (PO000813M)1  
Ngae (PO000714M)1  
Andamanese (PO000788X)1  
Manus (PO000818R)1  
Vedda (PO000614L)1  
Bugan (PO000730K)1  
Urak Lawoi (PO000632L)1  
Mansi (PO000743O)1  
Fanti (PO000445N)1  
Lebanese (PO000749U)1  
Gujarati (PO000785U)1  
Bit (PO000729S)1  
Persian (PO000698X)1  
Mlaburi (PO000808Q)1  
Xikrin of Bacaja (PO000255M)1  
Syrian (PO000756S)1  
Mlabri (PO000631K)1  
Ta'oih (PO000715N)1  
Koryak (PO000745Q)1  
Mossi (PO000286Q)1  
Easter Islander (PO000618P)1  
Cao Lan (PO000733N)1  
Araucanian (PO000700H)1  
Guamanian (PO000794U)1  
Arsario (PO000169Q)1  
Puoc (PO000728R)1  
Ekari (PO000815O)1  
Chorote (PO000178Q)1  
Katang (PO000716O)1  
Pahng (PO000734O)1  
Yolngu (PO000826Q)1  
Koreguaje (PO000172K)1  
Borneo (PO000787W)1  
Zambian (PO000793T)1  
Kahayan (PO000810J)1  
Sel'kups (PO000824O)1  
Udege (PO000846S)1  
Burmese (PO000786V)1  
Sulawesi (PO000168P)1  
Iberian (PO000626O)1  
Central African (PO000790Q)1  
Nuu-Chah-Nulth (PO000796W)1  
Fijian (PO000795V)1  
Biak (PO000816P)1  
Kang (PO000725O)1  
Meng (PO000806O)1  
Jeh (PO000713L)1  
Kenyan (PO000791R)1  
Algerian (PO000647R)1  
Manado (PO000166N)1  
Brao (PO000710I)1  
Gambian (PO000789Y)1  
Huicholes (PO000797X)1  
Asmat (PO000814N)1  
Altai-Kizhi (PO000825P)1  
Chadians (PO000289T)1  
Koch (PO000677U)1  
Aheu (PO000720J)1  
Asurini (PO000537P)1  
Songhai (PO000288S)1  
Manjak (PO000651M)1  
Mal (PO000724N)1  
Yerong (PO000732M)1  
Toucouleur (PO000290L)1  
Choctaw (PO000398U)1  
South African (PO000696V)1  
Tai Dam (PO000727Q)1  
Mayo (PO000798Y)1  
Asian Americans (PO000118K)1  
Abkhaz (PO000844Q)1  
Iraqi (PO000827R)1  
Mocovi (PO000176O)1  
Djerna (PO000280K)1  
Afars and Issas (PO000277Q)1  
Dounglawi (PO000691Q)1  
Icelander (PO000784T)1  
Manni (PO000809R)1  
Malinke (PO000284O)1  
Dayak (PO000615M)1  
Pou (PO000735P)1  
Merina (Madagascar) (PO000285P)1  
Baniwa (PO000746R)1  
Balkar (PO000845R)1  
Dutch (PO000442K)1  
Kanamari (PO000748T)1  
Lachi (PO000731L)1  
Zoroastrians (PO000829T)1  
Talieng (PO000711J)1  
Estonian (PO000742N)1  
Ica (PO000171J)1  
Oy (PO000709Q)1  
Alak (PO000712K)1  
Suy (PO000717P)1  
Bambara (PO000279S)1  
Tyrolian (PO000652N)1  
Shaigi (PO000690P)1  
Inh (PO000718Q)1  
Komi-Permyaks (PO000820K)1  
Turkman (PO000697W)1  
Bhunjia (PO000769W)1  
Berau (PO000811K)1  
Congolese (PO000291M)1  
Tutsi (PO000156M)1  
Huilliche (PO000174M)1  
Caboclos (PO000699Y)1  
Phuan (PO000722L)1  
Tai Deang (PO000726P)1  
Nanai (PO000847T)1  
Ga (PO000444M)1  
Jews, Persian (PO000830L)1  
Toba (PO000408M)1  
Mazatecan (PO000799Z)1  
Madurian (PO000812L)1  
Tai Mene (PO000721K)1  
Kogui (PO000170I)1  
Madeiran (PO000757T)1  
Rien (PO000723M)1  
Cape Verdean (PO000758U)1  
Ivoirian (PO000792S)1  
Pilaga (PO000409N)1  
Phu Thai (PO000719R)1  
Kashinawa (PO000747S)1  

© 2009 Kenneth K Kidd, Yale University. All rights reserved. The full Copyright Notification is also available.
Originally prototyped by Michael Osier with the aid of Kei Cheung
Upgrades since 2002 and maintenance by Haseena Rajeevan