Afroasiatic (afa)
  ├───Berber (ber)
  ├───Chadic (cdc)
  │    ├───Central Chadic (cdc-cbm)
  │    ├───East Chadic (cdc-est)
  │    ├───Masa (cdc-mas)
  │    └───West Chadic (cdc-wst)
  ├───Cushitic (cus)
  │    ├───Central Cushitic (cus-cen)
  │    ├───East Cushitic (cus-eas)
  │    │    ├───Highland East Cushitic (cus-hec)
  │    │    └───Somaloid (cus-som)

  │    └───South Cushitic (cus-sou)

  ├───Egyptian (egx)

  ├───Omotic (omv)
  │    ├───Aroid (omv-aro)
  │    ├───Dizoid (omv-diz)
  │    ├───Gonga (omv-gon)
  │    ├───Mao (omv-mao)
  │    └───Ometo (omv-ome)
  │         ├───East Ometo (omv-eom)
  │         └───North Ometo (omv-nom)
  └───Semitic (sem)
       ├───East Semitic (sem-eas)
       └───West Semitic (sem-wes)
            ├───Central Semitic (sem-cen)
            │    ├───Arabic (sem-arb)
            │    ├───Northwest Semitic (sem-nwe)
            │    │    ├───Aramaic (sem-ara)
            │    │    │    ├───Eastern Aramaic (sem-are)
            │    │    │    │    ├───Central Neo-Aramaic (sem-cna)
            │    │    │    │    ├───Northeastern Neo-Aramaic (sem-nna)
            │    │    │    │    └───Southeastern Aramaic (sem-ase)

            │    │    │    └───Western Aramaic (sem-arw)

            │    │    └───Canaanite (sem-can)

            │    └───Old South Arabian (sem-osa)

            ├───Ethiopian Semitic (sem-eth)
            └───Modern South Arabian (sem-sar)


Algic (aql)
  └───Algonquian (alg)
       ├───Arapahoan (alg-ara)
       ├───Eastern Algonquian (alg-eas)
       │    ├───Abenaki-Penobscot (alg-abp)
       │    └───Lenape (del)

       └───Sac-Fox-Kickapoo (alg-sfk)


Arai-Samaia (paa-asa)
  └───Left May (qfa-mal)


Arawakan (awd)
  ├───Nawiki (awd-nwk)
  └───Ta-Arawakan (awd-taa)


Arnhem (aus-arn)
  └───Gunwinyguan (aus-gun)


Austroasiatic (aav)
  ├───Khasian (aav-khs)
  │    └───Pnar-Khasi-Lyngngam (aav-pkl)
  ├───Mon-Khmer (mkh)
  │    ├───Aslian (mkh-asl)
  │    ├───Bahnaric (mkh-ban)
  │    │    └───North Bahnaric (mkh-nbn)

  │    ├───Katuic (mkh-kat)
  │    ├───Khmeric (mkh-kmr)
  │    ├───Khmuic (mkh-khm)

  │    ├───Mangic (mkh-mng)
  │    │    └───Pakanic (mkh-pkn)

  │    ├───Monic (mkh-mnc)
  │    ├───Palaungic (mkh-pal)
  │    ├───Pearic (mkh-pea)
  │    └───Vietic (mkh-vie)

  ├───Munda (mun)
  └───Nicobarese (aav-nic)


Austronesian (map)
  ├───Atayalic (map-ata)
  └───Malayo-Polynesian (poz)
       ├───Borneo-Philippines (poz-bop)
       │    ├───East Barito (poz-bre)
       │    ├───Land Dayak (day)
       │    ├───North Bornean (poz-bnn)
       │    │    ├───North Sarawakan (poz-swa)
       │    │    └───Sabahan (poz-san)
       │    ├───Philippine (phi)
       │    │    ├───Kalamian (phi-kal)
       │    │    └───Manobo (mno)

       │    ├───Sama-Bajaw (poz-sbj)
       │    └───West Barito (poz-brw)

       ├───Celebic (poz-clb)
       │    ├───Bungku-Tolaki (poz-btk)
       │    ├───Kaili-Pamona (poz-kal)
       │    ├───Muna-Buton (poz-mun)
       │    ├───Saluan-Banggai (poz-slb)
       │    ├───Tomini-Tolitoli (poz-tot)
       │    └───Wotu-Wolio (poz-wot)
       ├───Central-Eastern Malayo-Polynesian (poz-cet)
       │    ├───Central Maluku (poz-cma)
       │    ├───Eastern Malayo-Polynesian (pqe)
       │    │    ├───Halmahera-Cenderawasih (poz-hce)
       │    │    └───Oceanic (poz-oce)
       │    │         ├───Admiralty Islands (poz-aay)
       │    │         ├───Central-Eastern Oceanic (poz-occ)
       │    │         │    ├───Central Pacific (poz-pcc)
       │    │         │    │    └───Polynesian (poz-pol)
       │    │         │    │         ├───Nuclear Polynesian (poz-pnp)
       │    │         │    │         │    └───Eastern Polynesian (poz-pep)

       │    │         │    │         └───Tongic (poz-ton)

       │    │         │    ├───Micronesian (poz-mic)
       │    │         │    ├───Southeast Solomonic (poz-sls)

       │    │         │    └───Southern Oceanic (poz-ocs)
       │    │         │         ├───Central Vanuatu (poz-vnc)
       │    │         │         ├───New Caledonian (poz-cln)
       │    │         │         ├───North Vanuatu (poz-vnn)
       │    │         │         └───South Vanuatu (poz-vns)

       │    │         ├───St. Matthias (poz-stm)
       │    │         ├───Temotu (poz-tem)
       │    │         └───Western Oceanic (poz-ocw)

       │    └───Timoric (poz-tim)

       ├───Lampungic (poz-lgx)

       ├───Malayo-Sumbawan (poz-msa)
       │    └───Malayo-Chamic (poz-mcm)
       │         ├───Chamic (cmc)
       │         └───Malayic (poz-mly)
       ├───Northwest Sumatran (poz-nws)
       │    └───Batak (btk)

       ├───South Sulawesi (poz-ssw)
       └───Sunda-Sulawesi (poz-sus)


Cariban (sai-car)
  ├───Guianan (sai-gui)
  │    └───Taranoan (sai-tar)

  ├───Kuikuroan (sai-kui)
  ├───Parukotoan (sai-prk)
  ├───Pekodian (sai-pek)

  ├───Venezuelan Cariban (sai-ven)
  │    ├───Mapoyan (sai-map)
  │    └───Pemongan (sai-pem)

  └───Yukpan (sai-yuk)


Chukotko-Kamchatkan (qfa-cka)
  └───Chukotkan (qfa-ckn)


Dene-Yeniseian (qfa-dny)
  ├───Na-Dene (xnd)
  │    └───Athabaskan (ath)
  │         ├───Apachean (apa)
  │         ├───North Athabaskan (ath-nor)
  │         │    └───Slavey (den)

  │         └───Pacific Coast Athabaskan (ath-pco)

  └───Yeniseian (qfa-yen)
       ├───Northern Yeniseian (qfa-yno)
       └───Southern Yeniseian (qfa-yso)


Dravidian (dra)
  ├───Central Dravidian (dra-cen)
  │    ├───Kolami-Naiki (dra-knk)
  │    └───Parji-Gadaba (dra-pgd)
  ├───North Dravidian (dra-nor)
  │    └───Kurukh-Malto (dra-kml)
  │         └───Malto (dra-mlo)
  └───South Dravidian (dra-sou)
       ├───South Dravidian I (dra-sdo)
       │    ├───Tamil-Kannada (dra-tkn)
       │    │    ├───Irula-Muduga (dra-imd)
       │    │    ├───Kannadoid (dra-kan)
       │    │    └───Tamil-Kodagu (dra-tkd)
       │    │         ├───Kodagu (dra-kod)
       │    │         ├───Tamil-Malayalam (dra-tml)
       │    │         │    ├───Malayalamoid (dra-mal)
       │    │         │    └───Tamiloid (dra-tam)

       │    │         └───Toda-Kota (dra-tkt)

       │    └───Tulu-Koraga (dra-tlk)
       │         └───Koraga (dra-kor)
       └───South Dravidian II (dra-sdt)
            ├───Gondi-Kui (dra-gki)
            │    ├───Gondi (dra-gon)
            │    │    ├───Madiya (dra-mdy)
            │    │    └───Muria (dra-mur)

            │    └───Konda-Kui (dra-kki)

            └───Teluguic (dra-tel)


Eskimo-Aleut (esx)
  └───Eskimo (esx-esk)
       ├───Inuit (esx-inu)
       └───Yupik (ypk)


Great Andamanese (qfa-adm)
  ├───Central Great Andamanese (qfa-adc)
  ├───Northern Great Andamanese (qfa-adn)
  └───Southern Great Andamanese (qfa-ads)


Harákmbut-Katukinan (sai-hkt)
  ├───Harákmbut (sai-har)
  └───Katukinan (sai-ktk)


Hmong-Mien (hmx)
  ├───Hmong (hmn)
  └───Mien (hmx-mie)


Hokan (hok)
  ├───Jicaquean (nai-jcq)
  ├───Pakawan (nai-pak)
  ├───Pomoan (nai-pom)
  ├───Shastan (nai-shs)
  └───Tequistlatecan (nai-tqn)


Iroquoian (iro)
  └───North Iroquoian (iro-nor)


Japonic (jpx)
  └───Ryukyuan (jpx-ryu)
       ├───Northern Ryukyuan (jpx-nry)
       └───Southern Ryukyuan (jpx-sry)


Kartvelian (ccs)
  └───Georgian-Zan (ccs-gzn)
       └───Zan (ccs-zan)


Khoe-Kwadi (khi-kkw)
  └───Khoe (khi-kho)
       ├───Kalahari Khoe (khi-kal)
       └───Khoekhoe (khi-khk)


Kra-Dai (qfa-tak)
  ├───Be-Tai (qfa-bet)
  │    ├───Be-Jizhao (qfa-bej)
  │    │    └───Be (qfa-onb)
  │    └───Tai (tai)
  │         ├───Central Tai (tai-cen)
  │         ├───Chongzuo Tai (tai-cho)
  │         ├───Northern Tai (tai-nor)
  │         └───Wenma-Southwestern Tai (tai-wen)
  │              ├───Sapa-Southwestern Tai (tai-sap)
  │              │    └───Southwestern Tai (tai-swe)

  │              └───Tày (tai-tay)

  ├───Hlai (qfa-lic)
  ├───Kam-Sui (qfa-kms)

  └───Kra (qfa-kra)
       ├───Buyang (qfa-buy)
       └───Gelao (gio)


Macro-Chibchan (qfa-mch)
  ├───Chibchan (cba)
  └───Misumalpan (nai-min)


Macro-Jê (sai-mje)
  └───(sai-jee)
       ├───Cerrado (sai-cer)
       │    ├───Central Jê (sai-cje)
       │    └───Northern Jê (sai-nje)

       └───Southern Jê (sai-sje)


Mataco-Guaicuru (sai-mgc)
  ├───Guaicuruan (sai-guc)
  └───Matacoan (sai-mtc)


Niger-Congo (nic)
  ├───Atlantic-Congo (alv)
  │    ├───Fali (alv-fli)
  │    ├───Limba (alv-lim)
  │    ├───Mel (alv-mel)
  │    │    ├───Baga (alv-bag)
  │    │    └───Kissi (alv-kis)
  │    ├───Senegambian (alv-sng)
  │    │    ├───Bak (alv-bak)
  │    │    │    ├───Jola (alv-jol)
  │    │    │    │    └───Jola-Felupe (alv-jfe)

  │    │    │    └───Papel (alv-pap)

  │    │    ├───Fula-Wolof (alv-fwo)
  │    │    │    ├───Cangin (alv-cng)
  │    │    │    ├───Nyun (alv-nyn)
  │    │    │    │    └───Banyum (alv-bny)

  │    │    │    └───Tenda (alv-ten)

  │    │    └───Nalu (alv-nal)

  │    ├───Senufo (alv-snf)
  │    │    ├───Karaboro (alv-krb)
  │    │    ├───Senari (alv-snr)
  │    │    ├───Suppire-Mamara (alv-sma)
  │    │    └───Tagwana-Djimini (alv-tdj)
  │    ├───Talodi-Heiban (alv-the)
  │    │    ├───Heiban (alv-hei)
  │    │    └───Talodi (alv-tal)
  │    └───Volta-Congo (nic-vco)
  │         ├───Benue-Congo (nic-bco)
  │         │    ├───Bantoid-Cross (nic-bcr)
  │         │    │    ├───Bantoid (nic-bod)
  │         │    │    │    ├───Northern Bantoid (nic-bdn)
  │         │    │    │    │    ├───Dakoid (nic-dak)
  │         │    │    │    │    └───Mambiloid (nic-mmb)
  │         │    │    │    └───Southern Bantoid (nic-bds)
  │         │    │    │         ├───Bantu (bnt)
  │         │    │    │         │    ├───Bafia (bnt-baf)
  │         │    │    │         │    ├───Bangi-Tetela (bnt-bte)
  │         │    │    │         │    │    ├───Bangi-Ntomba (bnt-bnm)
  │         │    │    │         │    │    │    ├───Bangi-Moi (bnt-bmo)
  │         │    │    │         │    │    │    ├───Mongo (bnt-mon)
  │         │    │    │         │    │    │    └───Zamba-Binza (bnt-zbi)

  │         │    │    │         │    │    ├───Bushoong (bnt-bsh)
  │         │    │    │         │    │    ├───Soko-Kele (bnt-ske)
  │         │    │    │         │    │    └───Tetela (bnt-tet)

  │         │    │    │         │    ├───Basaa (bnt-bsa)
  │         │    │    │         │    ├───Beti (bnt-btb)

  │         │    │    │         │    ├───Boan (bnt-boa)
  │         │    │    │         │    │    ├───Bati-Angba (bnt-bta)
  │         │    │    │         │    │    └───Komo-Bira (bnt-kbi)

  │         │    │    │         │    ├───Boma-Dzing (bnt-bdz)
  │         │    │    │         │    ├───Botatwe (bnt-bot)
  │         │    │    │         │    ├───Chokwe-Luchazi (bnt-clu)

  │         │    │    │         │    ├───Kavango-Southwest Bantu (bnt-ksb)
  │         │    │    │         │    │    ├───Kavango (bnt-kav)
  │         │    │    │         │    │    └───Southwest Bantu (bnt-swb)
  │         │    │    │         │    │         └───Ovambo (bnt-ova)
  │         │    │    │         │    ├───Kele-Tsogo (bnt-kts)
  │         │    │    │         │    │    ├───Kele (bnt-kel)
  │         │    │    │         │    │    └───Tsogo (bnt-tso)

  │         │    │    │         │    ├───Kilombero (bnt-kil)
  │         │    │    │         │    ├───Kimbundu (bnt-kmb)
  │         │    │    │         │    ├───Kongo (bnt-kng)

  │         │    │    │         │    ├───Lebonya (bnt-leb)
  │         │    │    │         │    │    └───Nyali (bnt-nya)

  │         │    │    │         │    ├───Lega-Binja (bnt-lgb)

  │         │    │    │         │    ├───Luban (bnt-lbn)
  │         │    │    │         │    │    └───Luba (bnt-lub)

  │         │    │    │         │    ├───Lunda (bnt-lun)
  │         │    │    │         │    ├───Manenguba (bnt-mne)
  │         │    │    │         │    ├───Mbole-Enya (bnt-mbe)

  │         │    │    │         │    ├───Mboshi-Buja (bnt-mbb)
  │         │    │    │         │    │    ├───Buja-Ngombe (bnt-bun)
  │         │    │    │         │    │    ├───Mboshi (bnt-mbo)
  │         │    │    │         │    │    └───Ngondi-Ngiri (bnt-ngn)

  │         │    │    │         │    ├───Mbugwe-Rangi (bnt-mra)

  │         │    │    │         │    ├───Northeast Bantu (bnt-bne)
  │         │    │    │         │    │    ├───Bena-Kinga (bnt-bki)
  │         │    │    │         │    │    ├───Chaga-Taita (bnt-cht)
  │         │    │    │         │    │    │    └───Chaga (bnt-chg)
  │         │    │    │         │    │    ├───Great Lakes Bantu (bnt-glb)
  │         │    │    │         │    │    │    ├───Haya-Jita (bnt-haj)
  │         │    │    │         │    │    │    ├───Logooli-Kuria (bnt-lok)
  │         │    │    │         │    │    │    ├───Masaba-Luhya (bnt-msl)
  │         │    │    │         │    │    │    ├───Nyoro-Ganda (bnt-nyg)
  │         │    │    │         │    │    │    └───Shi-Havu (bnt-shh)

  │         │    │    │         │    │    ├───Kikuyu-Kamba (bnt-kka)

  │         │    │    │         │    │    ├───Northeast Coast Bantu (bnt-ncb)
  │         │    │    │         │    │    │    ├───Pare (bnt-par)
  │         │    │    │         │    │    │    ├───Ruvu (bnt-ruv)
  │         │    │    │         │    │    │    ├───Sabaki (bnt-sab)
  │         │    │    │         │    │    │    │    ├───Comorian (bnt-com)
  │         │    │    │         │    │    │    │    ├───Mijikenda (bnt-mij)
  │         │    │    │         │    │    │    │    └───Swahili (bnt-swh)

  │         │    │    │         │    │    │    └───Seuta (bnt-seu)

  │         │    │    │         │    │    └───Takama (bnt-tkm)

  │         │    │    │         │    ├───Nyanga-Buyi (bnt-nyb)

  │         │    │    │         │    ├───Nyasa (bnt-nys)
  │         │    │    │         │    │    └───Sena (bnt-sna)

  │         │    │    │         │    ├───Pende (bnt-pen)

  │         │    │    │         │    ├───Pomo-Bomwali (bnt-pob)
  │         │    │    │         │    │    ├───Kako (bnt-kak)
  │         │    │    │         │    │    └───Makaa-Njem (bnt-mnj)
  │         │    │    │         │    │         └───Ndzem-Bomwali (bnt-ndb)
  │         │    │    │         │    │              ├───Bekwilic (bnt-bek)
  │         │    │    │         │    │              └───Makaa (bnt-mka)
  │         │    │    │         │    ├───Rufiji-Ruvuma (bnt-rur)
  │         │    │    │         │    │    ├───Mbinga (bnt-mbi)
  │         │    │    │         │    │    └───Ruvuma (bnt-rvm)
  │         │    │    │         │    ├───Rukwa (bnt-ruk)
  │         │    │    │         │    │    ├───Mbeya (bnt-mby)
  │         │    │    │         │    │    ├───Mwika (bnt-mwi)
  │         │    │    │         │    │    └───Rungwe (bnt-run)

  │         │    │    │         │    ├───Sabi (bnt-sbi)

  │         │    │    │         │    ├───Sawabantu (bnt-saw)
  │         │    │    │         │    │    ├───Bafo-Bonkeng (bnt-bbo)
  │         │    │    │         │    │    ├───Kpwe (bnt-kpw)
  │         │    │    │         │    │    └───Yasa-Kombe (bnt-yko)

  │         │    │    │         │    ├───Shona (bnt-sho)
  │         │    │    │         │    ├───Sira (bnt-sir)

  │         │    │    │         │    ├───Southern Bantu (bnt-bso)
  │         │    │    │         │    │    ├───Makua (bnt-mak)
  │         │    │    │         │    │    ├───Nguni (bnt-ngu)
  │         │    │    │         │    │    ├───Sotho-Tswana (bnt-sts)
  │         │    │    │         │    │    └───Tswa-Ronga (bnt-tsr)
  │         │    │    │         │    ├───Teke-Mbede (bnt-tmb)
  │         │    │    │         │    │    ├───Mbete (bnt-mbt)
  │         │    │    │         │    │    ├───Nzebi (bnt-nze)
  │         │    │    │         │    │    └───Teke (bnt-tek)
  │         │    │    │         │    │         └───Central Teke (bnt-tkc)

  │         │    │    │         │    └───Yaka (bnt-yak)

  │         │    │    │         ├───Beboid (nic-beb)
  │         │    │    │         │    └───Eastern Beboid (nic-bbe)

  │         │    │    │         ├───Ekoid (nic-eko)
  │         │    │    │         ├───Furu (nic-fru)

  │         │    │    │         ├───Grassfields (nic-grf)
  │         │    │    │         │    ├───Eastern Grassfields (nic-gre)
  │         │    │    │         │    │    ├───Bamileke (bai)
  │         │    │    │         │    │    ├───Ngemba (nic-nge)
  │         │    │    │         │    │    ├───Nkambe (nic-nka)
  │         │    │    │         │    │    └───Nun (nic-nun)

  │         │    │    │         │    ├───Momo (nic-mom)

  │         │    │    │         │    ├───Ring (nic-rng)
  │         │    │    │         │    │    ├───Central Ring (nic-rnc)
  │         │    │    │         │    │    ├───Northern Ring (nic-rnn)
  │         │    │    │         │    │    └───Western Ring (nic-rnw)

  │         │    │    │         │    └───Southwest Grassfields (nic-grs)

  │         │    │    │         ├───Mamfe (nic-mam)

  │         │    │    │         ├───Mbam (nic-mba)
  │         │    │    │         │    ├───Jarawan (nic-jrn)
  │         │    │    │         │    │    └───Jarawa (nic-jrw)

  │         │    │    │         │    ├───West Mbam (nic-mbw)
  │         │    │    │         │    └───Yambasa (nic-ymb)

  │         │    │    │         └───Tivoid (nic-tiv)
  │         │    │    │              ├───Central Tivoid (nic-tvc)
  │         │    │    │              └───Northern Tivoid (nic-tvn)

  │         │    │    ├───Bendi (nic-ben)

  │         │    │    └───Cross River (nic-cri)
  │         │    │         ├───Central Delta (nic-cde)
  │         │    │         ├───Lower Cross River (nic-lcr)
  │         │    │         │    └───Ibibio-Efik (nic-ief)

  │         │    │         ├───Ogoni (nic-ogo)

  │         │    │         └───Upper Cross River (nic-ucr)
  │         │    │              ├───East-West Upper Cross River (nic-uce)
  │         │    │              └───North-South Upper Cross River (nic-ucn)
  │         │    └───Platoid (nic-pla)
  │         │         ├───Jukunoid (nic-jkn)
  │         │         ├───Kainji (nic-knj)
  │         │         │    ├───Basa (nic-bas)
  │         │         │    ├───East Kainji (nic-kne)
  │         │         │    │    ├───Jera (nic-jer)
  │         │         │    │    └───Kauru (nic-kau)

  │         │         │    ├───Kambari (nic-kam)
  │         │         │    ├───Kamuku (nic-kmk)
  │         │         │    ├───Northwest Kainji (nic-knn)
  │         │         │    └───Shiroro (nic-shi)

  │         │         └───Plateau (nic-plt)
  │         │              ├───Alumic (nic-alu)
  │         │              ├───Beromic (nic-beo)
  │         │              ├───Central Plateau (nic-plc)
  │         │              ├───East Plateau (nic-ple)
  │         │              ├───Ninzic (nic-nin)
  │         │              ├───South Plateau (nic-pls)
  │         │              ├───Tarokoid (nic-tar)
  │         │              └───Yukubenic (nic-ykb)
  │         ├───Kru (kro)
  │         │    ├───Aizi (kro-aiz)
  │         │    ├───Eastern Kru (kro-ekr)
  │         │    │    ├───Bété (kro-bet)
  │         │    │    └───Dida (kro-did)
  │         │    └───Western Kru (kro-wkr)
  │         │         ├───Grebo (kro-grb)
  │         │         └───Wee (kro-wee)
  │         ├───Kwa (alv-kwa)
  │         │    ├───Ga-Dangme (alv-gda)
  │         │    ├───Ghana-Togo Mountain (alv-gtm)
  │         │    │    ├───Ka-Togo (alv-ktg)
  │         │    │    └───Na-Togo (alv-ntg)

  │         │    ├───Lagoon (alv-lag)

  │         │    └───Potou-Tano (alv-ptn)
  │         │         ├───Central Tano (alv-ctn)
  │         │         └───Guang (alv-gng)
  │         ├───Savanna (alv-sav)
  │         │    ├───Adamawa (alv-ada)
  │         │    │    ├───Bambukic (alv-bam)
  │         │    │    │    ├───Bikwin-Jen (alv-bwj)
  │         │    │    │    └───Yungur (alv-yun)
  │         │    │    ├───Leko-Nimbari (alv-lni)
  │         │    │    │    ├───Duru (alv-dur)
  │         │    │    │    ├───Leko (alv-lek)
  │         │    │    │    └───Mumuye-Yendang (alv-mye)
  │         │    │    │         └───Mumuye (alv-mum)
  │         │    │    ├───Mbum-Day (alv-mbd)
  │         │    │    │    ├───Bua (alv-bua)
  │         │    │    │    ├───Kim (alv-kim)
  │         │    │    │    └───Mbum (alv-mbm)

  │         │    │    └───Waja-Kam (alv-wjk)

  │         │    ├───Gbaya (gba)
  │         │    │    ├───Eastern Gbaya (gba-eas)
  │         │    │    ├───Southern Gbaya (gba-sou)
  │         │    │    └───Western Gbaya (gba-wes)
  │         │    ├───Gur (nic-gur)
  │         │    │    ├───Bwa (nic-bwa)
  │         │    │    ├───Gurunsi (nic-gns)
  │         │    │    │    ├───Eastern Gurunsi (nic-gne)
  │         │    │    │    ├───Northern Gurunsi (nic-gnn)
  │         │    │    │    └───Western Gurunsi (nic-gnw)
  │         │    │    │         └───Sisaala (nic-sis)
  │         │    │    └───Oti-Volta (nic-ovo)
  │         │    │         ├───Buli-Koma (nic-buk)
  │         │    │         ├───Eastern Oti-Volta (nic-eov)
  │         │    │         ├───Gurma (nic-grm)
  │         │    │         ├───Western Oti-Volta (nic-wov)
  │         │    │         │    ├───Dagbani (nic-dag)
  │         │    │         │    └───Moré (nic-mre)

  │         │    │         └───Yom-Nawdm (nic-yon)

  │         │    ├───Kulango (alv-kul)
  │         │    └───Wara-Natyoro (alv-wan)

  │         ├───Ubangian (nic-ubg)
  │         │    ├───Banda (bad)
  │         │    │    └───Central Banda (bad-cnt)

  │         │    ├───Mba (nic-mbc)

  │         │    ├───Ngbaka (nic-ngk)
  │         │    │    ├───Eastern Ngbaka (nic-nke)
  │         │    │    └───Western Ngbaka (nic-nkw)
  │         │    │         ├───Baka (nic-nkb)
  │         │    │         ├───Gbanziri (nic-nkg)
  │         │    │         ├───Kpala (nic-nkk)
  │         │    │         └───Mbaka (nic-nkm)

  │         │    ├───Ngbandi (nic-ngd)
  │         │    ├───Sere (nic-ser)
  │         │    └───Zande (znd)

  │         └───Volta-Niger (alv-von)
  │              ├───Ayere-Ahan (alv-aah)
  │              ├───Edoid (alv-edo)
  │              │    ├───Delta Edoid (alv-dlt)
  │              │    ├───North-Central Edoid (alv-nce)
  │              │    │    ├───Edo-Esan-Ora (alv-eeo)
  │              │    │    └───Yekhee (alv-yek)

  │              │    ├───Northwestern Edoid (alv-nwd)
  │              │    └───Southwestern Edoid (alv-swd)

  │              ├───Gbe (alv-gbe)
  │              │    └───Phla-Pherá (alv-pph)

  │              ├───Idomoid (alv-ido)
  │              ├───Igboid (alv-igb)

  │              ├───Nupoid (alv-nup)
  │              │    └───Nupe-Gbagyi (alv-ngb)
  │              └───Yoruboid (alv-yrd)
  │                   └───Edekiri (alv-edk)
  │                        └───Yoruba (alv-yor)
  │                             └───Ede (alv-ede)
  ├───Dogon (qfa-dgn)
  │    ├───Escarpment Dogon (nic-dge)
  │    ├───Nanga-Walo (nic-nwa)
  │    ├───North Plateau Dogon (nic-npd)
  │    ├───Plains Dogon (nic-pld)
  │    └───West Dogon (nic-dgw)

  ├───Ijoid (ijo)
  ├───Katloid (nic-ktl)

  ├───Mande (dmn)
  │    ├───Eastern Mande (dmn-mde)
  │    │    ├───Bisa-Busa (dmn-bbu)
  │    │    │    └───Samo (dmn-sam)
  │    │    └───Southeastern Mande (dmn-mse)
  │    │         ├───Mano-Dan (dmn-mda)
  │    │         └───Nwa-Beng (dmn-nbe)
  │    └───Western Mande (dmn-mdw)
  │         ├───Central Mande (dmn-mdc)
  │         │    ├───Manding-Jogo (dmn-mjo)
  │         │    │    ├───Jogo-Jeri (dmn-jje)
  │         │    │    └───Manding-Vai (dmn-mva)
  │         │    │         ├───Manding-Mokole (dmn-mmo)
  │         │    │         │    ├───Manding (dmn-man)
  │         │    │         │    │    ├───East Manding (dmn-emn)
  │         │    │         │    │    │    └───Maninka (dmn-mnk)

  │         │    │         │    │    └───West Manding (dmn-wmn)

  │         │    │         │    └───Mokole (dmn-mok)

  │         │    │         └───Vai-Kono (dmn-vak)

  │         │    └───Susu-Yalunka (dmn-sya)

  │         ├───Northwestern Mande (dmn-mnw)
  │         │    ├───Samogo (dmn-smg)
  │         │    └───Soninke-Bobo (dmn-snb)

  │         └───Southwestern Mande (dmn-msw)

  └───Rashad (nic-ras)


Nilo-Saharan (ssa)
  ├───Central Sudanic (csu)
  │    ├───Birri-Kresh (csu-bkr)
  │    ├───Bongo-Bagirmi (csu-bba)
  │    │    ├───Bagirmi (csu-bgr)
  │    │    ├───Bongo-Baka (csu-bbk)
  │    │    ├───Kaba (csu-kab)
  │    │    ├───Sara (csu-sar)
  │    │    └───Vale (csu-val)
  │    └───Eastern Central Sudanic (csu-ecs)
  │         ├───Lendu (csu-lnd)
  │         ├───Mangbetu (csu-maa)
  │         ├───Mangbutu-Lese (csu-mle)
  │         └───Moru-Madi (csu-mma)
  ├───Eastern Sudanic (sdv)
  │    ├───Daju (sdv-daj)
  │    ├───Eastern Jebel (sdv-eje)
  │    ├───Nilotic (sdv-nil)
  │    │    ├───Eastern Nilotic (sdv-nie)
  │    │    │    ├───Bari (sdv-bri)
  │    │    │    ├───Lotuko-Maa (sdv-lma)
  │    │    │    └───Teso-Turkana (sdv-ttu)
  │    │    ├───Southern Nilotic (sdv-nis)
  │    │    │    └───Kalenjin (sdv-kln)
  │    │    │         └───Nandi-Markweta (sdv-nma)
  │    │    └───Western Nilotic (sdv-niw)
  │    │         ├───Dinka-Nuer (sdv-dnu)
  │    │         └───Luo (sdv-luo)
  │    │              ├───Northern Luo (sdv-lon)
  │    │              └───Southern Luo (sdv-los)
  │    └───Northern Eastern Sudanic (sdv-nes)
  │         ├───Nubian (nub)
  │         │    └───Hill Nubian (nub-hil)

  │         ├───Nyima (sdv-nyi)
  │         └───Taman (sdv-tmn)

  ├───Fur (ssa-fur)
  ├───Koman (ssa-kom)
  ├───Kuliak (ssa-klk)
  ├───Saharan (ssa-sah)
  └───Songhay (son)


North Caucasian (ccn)
  ├───Northeast Caucasian (cau-nec)
  │    ├───Avaro-Andian (cau-ava)
  │    │    └───Andian (cau-and)

  │    ├───Dargwa (cau-drg)

  │    ├───Lezghian (cau-lzg)
  │    │    └───Samur (cau-sam)
  │    │         ├───Eastern Samur (cau-esm)
  │    │         ├───Southern Samur (cau-ssm)
  │    │         └───Western Samur (cau-wsm)
  │    ├───Nakh (cau-nkh)
  │    │    └───Vainakh (cau-vay)
  │    └───Tsezian (cau-tsz)
  │         ├───East Tsezian (cau-ets)
  │         └───West Tsezian (cau-wts)
  └───Northwest Caucasian (cau-nwc)
       ├───Abkhaz-Abaza (cau-abz)
       └───Circassian (cau-cir)


Oto-Manguean (omq)
  ├───Chinantecan (omq-chi)
  ├───Mazatecan (omq-maz)
  ├───Mixtecan (omq-mix)
  │    ├───Cuicatec (omq-cui)
  │    ├───Mixtec (omq-mxt)
  │    └───Trique (omq-tri)
  ├───Oto-Pamean (omq-otp)
  │    └───Otomian (oto)
  │         └───Otomi (oto-otm)

  ├───Popolocan (omq-pop)

  └───Zapotecan (omq-zap)
       ├───Chatino (omq-cha)
       └───Zapotec (omq-zpc)


Pama-Nyungan (aus-pam)
  ├───Arandic (aus-rnd)
  ├───Central New South Wales (aus-cww)
  ├───Dyirbalic (aus-dyb)
  ├───Karnic (aus-kar)
  ├───Paman (aus-pmn)
  ├───Southwest Pama-Nyungan (aus-psw)
  │    └───Ngayarda (aus-nga)

  ├───Yidinyic (aus-yid)
  ├───Yolngu (aus-yol)
  └───Yuin-Kuric (aus-yuk)


Pano-Tacanan (sai-pat)
  ├───Panoan (sai-pan)
  └───Tacanan (sai-tac)


Papuan Gulf (paa-pag)
  └───Kutubuan (paa-kut)


Plateau Penutian (nai-plp)
  └───Sahaptian (nai-shp)


Serbi-Mongolic (qfa-xgs)
  ├───Mongolic (xgn)
  │    ├───Central Mongolic (xgn-cen)
  │    └───Southern Mongolic (xgn-sou)
  │         └───Shirongolic (xgn-shr)
  │              └───Monguor (mjg)

  └───Para-Mongolic (qfa-xgx)


Sino-Tibetan (sit)
  ├───Angami-Pochuri (tbq-anp)
  ├───Ao (sit-aao)
  ├───Bodish (sit-bdi)
  │    ├───East Bodish (sit-ebo)
  │    ├───Tibetic (sit-tib)
  │    │    ├───Kyirong-Kagate (sit-kyk)
  │    │    ├───Ladakhi-Balti (sit-lab)
  │    │    └───Lahuli-Spiti (sit-las)

  │    └───Tshangla (sit-tsk)

  ├───Burmo-Qiangic (tbq-buq)
  │    ├───Lolo-Burmese (tbq-lob)
  │    │    ├───Burmish (tbq-brm)
  │    │    ├───Loloish (tbq-lol)
  │    │    │    ├───Kazhuoish (tbq-kzh)
  │    │    │    ├───Lahoish (tbq-lho)
  │    │    │    ├───Lawoish (tbq-lwo)
  │    │    │    ├───Lisoish (tbq-lso)
  │    │    │    │    ├───Lalo (tbq-lal)
  │    │    │    │    ├───Lipo-Lolopo (tbq-llo)
  │    │    │    │    └───Taloid (tbq-tal)
  │    │    │    ├───Nisoish (tbq-nso)
  │    │    │    │    ├───Northern Loloish (tbq-nlo)
  │    │    │    │    │    ├───Nasoid (tbq-nas)
  │    │    │    │    │    └───Nisu (tbq-nis)
  │    │    │    │    └───Southeastern Loloish (tbq-sel)
  │    │    │    │         ├───Axioid (tbq-axi)
  │    │    │    │         ├───Highland Phula (tbq-hph)
  │    │    │    │         │    ├───Muji (tbq-muj)
  │    │    │    │         │    └───Phowa (tbq-phw)
  │    │    │    │         └───Riverine Phula (tbq-rph)
  │    │    │    │              ├───Downriver Phula (tbq-drp)
  │    │    │    │              └───Upriver Phula (tbq-urp)

  │    │    │    ├───Nusoish (tbq-nus)

  │    │    │    └───Southern Loloish (tbq-slo)
  │    │    │         ├───Bi-Ka (tbq-bka)
  │    │    │         ├───Bisoid (tbq-bis)
  │    │    │         ├───Hanoid (tbq-han)
  │    │    │         ├───Jino (tbq-jin)
  │    │    │         └───Siloid (tbq-sil)

  │    │    └───Mondzish (sit-mnz)

  │    ├───Naic (sit-nax)
  │    │    └───Naish (sit-nas)
  │    └───Qiangic (sit-qia)
  │         └───Rgyalrongic (sit-rgy)

  ├───Dhimalish (sit-dhi)

  ├───Greater Magaric (sit-gma)
  │    └───Kham (sit-kha)

  ├───Greater Siangic (sit-gsi)
  ├───Hrusish (sit-hrs)
  ├───Karen (kar)

  ├───Kho-Bwa (sit-khb)
  │    └───Western Kho-Bwa (sit-khw)
  │         ├───Chug-Lish (sit-khc)
  │         └───Mey-Sartang (sit-khm)
  ├───Kiranti (sit-kir)
  │    ├───Central Kiranti (sit-kic)
  │    ├───Eastern Kiranti (sit-kie)
  │    └───Western Kiranti (sit-kiw)

  ├───Kukish (tbq-kuk)
  ├───Midzu (sit-mdz)
  ├───Mruic (sit-mru)
  ├───Newaric (sit-new)
  ├───Nungish (sit-nng)

  ├───Sal (tbq-bkj)
  │    ├───Bodo-Garo (tbq-bdg)
  │    ├───Kachin-Luic (sit-jpl)
  │    │    ├───Jingphoic (sit-jnp)
  │    │    └───Luish (sit-luu)
  │    └───Konyak (sit-kon)
  │         ├───Konyak-Chang (sit-kch)
  │         └───Tangsa-Nocte (sit-tno)
  ├───Sino-Bai (sit-sba)
  │    ├───Macro-Bai (sit-mba)
  │    │    ├───Bai (sit-bai)
  │    │    │    └───Northern Bai (sit-nba)

  │    │    └───Cai-Long (sit-cln)

  │    └───Sinitic (zhx)
  │         ├───Mandarinic (zhx-man)
  │         ├───Min (zhx-min)
  │         │    ├───Coastal Min (zhx-com)
  │         │    │    └───Southern Min (zhx-nan)

  │         │    └───Inland Min (zhx-inm)

  │         ├───Pinghua (zhx-pin)
  │         └───Yue (zhx-yue)

  ├───Tamangic (sit-tam)

  ├───Tangkhul-Maring (sit-tma)
  │    ├───Maringic (sit-mar)
  │    └───Tangkhulic (sit-tng)

  ├───Tani (sit-tan)
  ├───Tibeto-Burman (tbq)
  ├───Tujia (sit-tja)

  ├───West Himalayish (sit-whm)
  │    ├───Almora (sit-alm)
  │    └───Kinnauric (sit-kin)

  └───Zeme (sit-zem)


Siouan-Catawban (nai-sca)
  ├───Catawban (nai-cat)
  └───Siouan (sio)
       ├───Mississippi Valley Siouan (sio-msv)
       │    ├───Dakotan (sio-dkt)
       │    └───Dhegihan (sio-dhe)

       ├───Missouri River Siouan (sio-mor)
       └───Ohio Valley Siouan (sio-ohv)


Trans-New Guinea (ngf)
  ├───Finisterre (ngf-fin)
  ├───Kainantu-Goroka (paa-kag)
  ├───Madang (ngf-mad)
  ├───Ok (ngf-okk)
  └───South Bird's Head (ngf-sbh)


Tungusic (tuw)
  ├───Ewenic (tuw-ewe)
  ├───Jurchenic (tuw-jrc)
  ├───Nanaic (tuw-nan)
  └───Udegheic (tuw-udg)


Tupian (tup)
  └───Tupi-Guarani (tup-gua)


Turkic (trk)
  ├───Karluk (trk-kar)
  ├───Kipchak (trk-kip)
  │    ├───Kipchak-Bulgar (trk-kbu)
  │    ├───Kipchak-Cuman (trk-kcu)
  │    ├───Kipchak-Nogai (trk-kno)
  │    └───Kyrgyz-Kipchak (trk-kkp)

  ├───Oghur (trk-ogr)
  ├───Oghuz (trk-ogz)

  └───Siberian Turkic (trk-sib)
       ├───North Siberian Turkic (trk-nsb)
       └───South Siberian Turkic (trk-ssb)


Uralic (urj)
  ├───Finnic (urj-fin)
  ├───Mari (chm)
  ├───Mordvinic (urj-mdv)
  ├───Permic (urj-prm)
  ├───Sami (smi)
  ├───Samoyedic (syd)
  │    └───Selkup (sel)
  └───Ugric (urj-ugr)
       ├───Khanty (kca)
       └───Mansi (mns)


Uto-Aztecan (azc)
  ├───Nahuan (azc-nah)
  │    ├───Durango Nahuatl (azc-dur)
  │    └───Huasteca Nahuatl (azc-hua)

  ├───Numic (azc-num)

  ├───Takic (azc-tak)
  │    └───Cupan (azc-cup)

  └───Taracahitic (azc-trc)


West Papuan (paa-wpa)
  ├───North Halmahera (paa-nha)
  └───Sentani (paa-sen)


Yok-Utian (nai-you)
  ├───Utian (nai-utn)
  └───Yokuts (yok)


sign (sgn)
  ├───French Sign Languages (sgn)
  ├───German Sign Languages (sgn)
  └───Japanese Sign Languages (sgn)


ඉන්දු-යුරෝපීය (ine)
  ├───Albanian (sqj)
  ├───Anatolian (ine-ana)
  │    └───Luwic (ine-luw)

  ├───Armenian (hyx)

  ├───Balto-Slavic (ine-bsl)
  │    ├───Baltic (bat)
  │    │    ├───East Baltic (bat-eas)
  │    │    └───West Baltic (bat-wes)
  │    └───Slavic (sla)
  │         ├───East Slavic (zle)
  │         ├───South Slavic (zls)
  │         └───West Slavic (zlw)
  │              ├───Lechitic (zlw-lch)
  │              │    └───Pomeranian (zlw-pom)

  │              └───Sorbian (wen)

  ├───Celtic (cel)
  │    ├───Hispano-Celtic (cel-his)
  │    └───Insular Celtic (cel-ins)
  │         ├───Brythonic (cel-bry)
  │         │    ├───Southwestern Brythonic (cel-brs)
  │         │    └───Western Brythonic (cel-brw)

  │         └───Goidelic (cel-gae)

  ├───Hellenic (grk)

  ├───Indo-Iranian (iir)
  │    ├───Iranian (ira)
  │    │    ├───Central Iranian (ira-cen)
  │    │    ├───Northeastern Iranian (ira-nei)
  │    │    │    ├───Scythian (xsc)
  │    │    │    │    └───Saka-Wakhi (xsc-skw)
  │    │    │    │         └───Sakan (xsc-sak)
  │    │    │    └───Sogdo-Bactrian (ira-sbc)
  │    │    │         └───Sogdic (ira-sgc)
  │    │    ├───Southeastern Iranian (ira-sei)
  │    │    │    ├───Ormuri-Parachi (ira-orp)
  │    │    │    ├───Pathan (ira-pat)
  │    │    │    ├───Sanglechi-Ishkashimi (ira-sgi)
  │    │    │    └───Shughni-Yazghulami-Munji (ira-sym)
  │    │    │         ├───Munji-Yidgha (ira-mny)
  │    │    │         └───Shughni-Yazghulami (ira-shy)
  │    │    │              └───Shughni-Roshani (ira-shr)
  │    │    └───Western Iranian (ira-wes)
  │    │         ├───Northwestern Iranian (ira-nwi)
  │    │         │    ├───Kurdish (ku)
  │    │         │    └───Medo-Parthian (ira-mpr)
  │    │         │         ├───Caspian (ira-csp)
  │    │         │         │    └───Mazanderani-Shahmirzadi (ira-msh)

  │    │         │         ├───Komisenian (ira-kms)

  │    │         │         ├───Median (xme)
  │    │         │         │    └───Tatic (xme-ttc)

  │    │         │         └───Zaza-Gorani (ira-zgr)

  │    │         └───Southwestern Iranian (ira-swi)

  │    ├───Nuristani (iir-nur)
  │    │    ├───Northern Nuristani (nur-nor)
  │    │    └───Southern Nuristani (nur-sou)
  │    └───ඉන්දු-ආර්ය (inc)
  │         ├───Central Indo-Aryan (inc-cen)
  │         │    ├───Bhil (inc-bhi)
  │         │    ├───Eastern Hindi (inc-hie)
  │         │    └───Western Hindi (inc-hiw)
  │         │         └───Hindustani (inc-hnd)
  │         ├───Dardic (inc-dar)
  │         │    ├───Chitrali (inc-chi)
  │         │    ├───Eastern Dardic (inc-dre)
  │         │    │    ├───Kashmiric (inc-kas)
  │         │    │    ├───Kohistani (inc-koh)
  │         │    │    └───Shinaic (inc-shn)

  │         │    ├───Kunar (inc-kun)
  │         │    └───Pashayi (inc-pas)

  │         ├───Eastern Indo-Aryan (inc-eas)
  │         │    ├───Bengali–Assamese (inc-bas)
  │         │    ├───Bihari (inc-bih)
  │         │    ├───Halbic (inc-hal)
  │         │    ├───KRNB lects (inc-krn)
  │         │    └───Tharu (inc-tha)

  │         ├───Insular Indo-Aryan (inc-ins)
  │         ├───Middle Indo-Aryan (inc-mid)

  │         ├───Northern Indo-Aryan (inc-nor)
  │         │    └───Pahari (inc-pah)
  │         │         └───Western Pahari (him)
  │         ├───Northwestern Indo-Aryan (inc-nwe)
  │         │    ├───Punjabic (inc-pan)
  │         │    └───Sindhi (inc-snd)

  │         ├───Old Indo-Aryan (inc-old)
  │         ├───Southern Indo-Aryan (inc-sou)

  │         └───Western Indo-Aryan (inc-wes)
  │              ├───Rajasthani (raj)
  │              └───Romani (inc-rom)
  ├───Italic (itc)
  │    ├───Osco-Umbrian (itc-sbl)
  │    └───Romance (roa)
  │         ├───Eastern Romance (roa-eas)
  │         ├───Gallo-Italic (roa-git)
  │         ├───Italo-Dalmatian (roa-itd)
  │         ├───Occitano-Romance (roa-ocr)
  │         ├───Oïl (roa-oil)
  │         ├───Rhaeto-Romance (roa-rhe)
  │         └───West Iberian (roa-ibe)

  ├───Tocharian (ine-toc)

  └───ජර්මානු (gem)
       ├───East Germanic (gme)
       ├───North Germanic (gmq)
       │    ├───East Scandinavian (gmq-eas)
       │    └───West Scandinavian (gmq-wes)
       │         └───Insular Scandinavian (gmq-ins)
       └───බටහිර ජර්මානු (gmw)
            ├───High German (gmw-hgm)
            ├───Low Franconian (gmw-frk)
            ├───Low German (gmw-lgm)
            └───ඇන්ග්ලෝ-ෆ්‍රිසියන් (gmw-afr)
                 ├───Frisian (gmw-fri)
                 └───ඇන්ග්ලික් (gmw-ang)
                      └───Irish Anglo-Norman (gmw-ian)

local p = {}

local fam = mw.loadData("Module:families/data")

local function format(code)
	if code == "sgn" then
		return "<code>[[:Category:Sign languages|sign <span style=\"color:green;\">(sgn)</span>]]</code>"
	elseif code == "sgn-fsl" then
		return "<code>[[:Category:French Sign Languages|French Sign Languages <span style=\"color:green;\">(sgn)</span>]]</code>"
	elseif code == "sgn-gsl" then
		return "<code>[[:Category:German Sign Languages|German Sign Languages <span style=\"color:green;\">(sgn)</span>]]</code>"
	elseif code == "sgn-jsl" then
		return "<code>[[:Category:Japanese Sign Languages|Japanese Sign Languages <span style=\"color:green;\">(sgn)</span>]]</code>"
	else
		return "<code>[[:Category:" .. fam[code][1] .. " languages|" .. fam[code][1] .. " <span style=\"color:green;\">(" .. code .. ")</span>]]</code>"
	end
end

local function dump(data, prefix)
	if type(data) == "string" then
		return format(data)
	else
		local result = ""
		local branch = "├───"
		local next_level = prefix .. "│    "
		local current = ""
		for i,val in ipairs(data) do
			if i == #data then
				branch = "└───"
				next_level = prefix .. "     "
			end
			if #val == 0 then
				result = result .. prefix .. branch .. dump(val.name) .. "<br/>"
			else
				result = result .. "{{(!}} class=mw-collapsible style=border-collapse:collapse\n{{!}}"
				result = result .. prefix .. branch .. dump(val.name)
				result = result .. "\n{{!-}}\n{{!}}"
				result = result .. dump(val, next_level)
				result = result .. "\n{{!)}}\n"
			end	
		end	
		return result
	end	
end

local function deep_sort(current)
	local result = {}
	local is_table = {}
	for key,val in pairs(current) do
		if type(key) == "number" then
			table.insert(result, val)
		else
			is_table[key] = true
			table.insert(result, key)
		end
	end
	
	table.sort(result, function(a,b)
		return (fam[a] or error(a))[1] < (fam[b] or error(b))[1]
	end)
	
	local i = 2
	while i<#result do
		while fam[result[i-1]] == fam[result[i]] do
			table.remove(result,i)
		end
		i = i + 1
	end
	
	for i=1,#result do
		if is_table[result[i]] then
			local name = result[i]
			result[i] = deep_sort(current[result[i]])
			result[i].name = name
		else
			result[i] = {name = result[i]}
		end
	end
	
	return result
end

function p.show(frame)
	local children = {}
	
	for key,val in pairs(fam) do
		if val[3] and val[3] ~= "qfa-not" and val[3] ~= "qfa-und" then
			if children[val[3]] then
				table.insert(children[val[3]], key)
			else
				children[val[3]] = {key}
			end
		end
	end
	
	local function make_nested(data)
		local make_nil = {}
		for key,val in pairs(data) do
			if type(key) == "number" then
				if children[val] then
					data[val] = make_nested(children[val])
					table.insert(make_nil, key)
					children[val] = nil
				end
			else
				data[key] = make_nested(val)
			end
		end
		for _,key in ipairs(make_nil) do
			data[key] = nil
		end
		return data
	end
	
	children = make_nested(children)
	
	children = deep_sort(children)
	
	local result = ""
	for i=1,#children do
		result = result .. "\n\n\n{| class=mw-collapsible style=border-collapse:collapse\n|" .. format(children[i].name) .. "\n|-\n|"
		result = result .. dump(children[i], "  ")
		result = result .. "\n|}"
	end
	return frame:preprocess(result)
end

return p
"https://si.wiktionary.org/w/index.php?title=Module:families/data/hierarchy&oldid=32445" වෙතින් සම්ප්‍රවේශනය කෙරිණි