
    gKC                        d Z ddlZddlmZ ddlmZ  ej                  d      ZdJdZdKdZ	d Z
d	 ZdJd
Zd Zd Z ej                           eej                         Zi dddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.i d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPi dQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdri dsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddēddƓddȓddʓdd̓ddΓddГddғddԓdd֓ddؓi ddړddܓddޓddddddddddddddddddddddddddddi dddddd ddddddddd	d
ddddddddddddddddddi dddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>i d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndoZi dpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddÓdĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓdԐdՓi d֐dדdؐdٓdڐdۓdܐdݓdސdߓddddddddddddddddddddddddi ddddddddd ddddddddd	d
dddddddddddddddi ddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;i d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]i d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~di ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddÓi dĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓdԐdՓd֐dדdؐdٓdڐdۓdܐdݓdސdߓddddddi ddddddddddddddddddddddddddd dddddddi dd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)i d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKi dLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmi dndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddÓdĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓi dԐdՓd֐dדdؐdٓdڐdۓdܐdݓdސdߓddddddddddddddddddddddi ddddddddddd ddddddddd	d
dddddddddddddi ddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIZ ee      Z ee      Zy(L  a  
Translate between language names and language codes.

The iso639-3 language codes were downloaded from the registration authority at
https://iso639-3.sil.org/

The iso639-3 codeset is evolving, so retired language codes are kept in the
"iso639retired" dictionary, which is used as fallback by the wrapper functions
"langname" and "langcode", in order to support the lookup of retired codes.

The "langcode" function returns the current iso639-3 code if there is one,
and falls back to the retired code otherwise. As specified by BCP-47,
it returns the shortest (2-letter) code by default, but 3-letter codes
are also available:

    >>> import nltk.langnames as lgn
    >>> lgn.langname('fri')          #'fri' is a retired code
    'Western Frisian'

    The current code is different from the retired one:
    >>> lgn.langcode('Western Frisian')
    'fy'

    >>> lgn.langcode('Western Frisian', typ = 3)
    'fry'

    N)warn)bcp47z[a-z][a-z][a-z]?c                    | j                  d      }|d   j                         }t        j                  |      r|t        v r	t        |   S |t
        v r4t
        |   }t        d|d|d       dj                  |g|dd z         } t        j                  |       }|d	k(  r|S |r|j                  d
      d   S yt        d|d       y)z
    Convert a composite BCP-47 tag to a language name

    >>> from nltk.langnames import langname
    >>> langname('ca-Latn-ES-valencia')
    'Catalan: Latin: Spain: Valencian'

    >>> langname('ca-Latn-ES-valencia', typ="short")
    'Catalan'
    -r   zShortening z to    
stacklevel   Nfull:zCould not find code in )
splitlowercodepattern	fullmatchiso639retirediso639shortr   joinr   name)tagtyptagscodecode2r   s         C/var/www/openai/venv/lib/python3.12/site-packages/nltk/langnames.pylangnamer   .   s     99S>D7==?DT"=  &&[ %E;thd5)4C((E7T!"X-.Czz#&=K::c?1%%  	&th/A>    c                     | t         j                  v r+t         j                  |    }|dk(  r|t        v r	t        |   }|S | t        v r	t        |    S t	        d| d       y)ai  
    Convert language name to iso639-3 language code. Returns the short 2-letter
    code by default, if one is available, and the 3-letter code otherwise:

    >>> from nltk.langnames import langcode
    >>> langcode('Modern Greek (1453-)')
    'el'

    Specify 'typ=3' to get the 3-letter code:

    >>> langcode('Modern Greek (1453-)', typ=3)
    'ell'
       zCould not find language in r   r   N)r   langcode
iso639longiso639code_retiredr   )r   r   r   s      r   r   r   K   sa     u~~~~d#!8
*d#D	#	#!$''*4(3Br   c                 (    t         j                  |    S )z^
    Convert BCP-47 tag to Wikidata Q-code

    >>> tag2q('nds-u-sd-demv')
    'Q4289225'
    )r   wiki_q)r   s    r   tag2qr$   i   s     <<r   c                     t         |    S )z^
    Convert Wikidata Q-code to BCP-47 tag

    >>> q2tag('Q4289225')
    'nds-u-sd-demv'
    )
wiki_bcp47)qcodes    r   q2tagr(   s   s     er   c                 ,    t        t        |       |      S )z
    Convert Wikidata Q-code to BCP-47 (full or short) language name

    >>> q2name('Q4289225')
    'Low German: Mecklenburg-Vorpommern'

    >>> q2name('Q4289225', "short")
    'Low German'
    )r   r(   )r'   r   s     r   q2namer*   }   s     E%L#&&r   c                 *    t        t        |             S )zd
    Convert simple language name to Wikidata Q-code

    >>> lang2q('Low German')
    'Q25433'
    )r$   r   )r   s    r   lang2qr,      s     $  r   c                     t        | j                               t        t        | j                                     k(  r$| j	                         D ci c]  \  }}||
 c}}S t        d       yc c}}w )z3Return inverse mapping, but only if it is bijectivez1This dictionary has no bijective inverse mapping.N)lenkeyssetvaluesitemsr   )dickeyvals      r   inverse_dictr6      sU    
388:#c#**,/00+.99;7;Zc3S;77@A 8s   A-aaraaabkabafrafakaakamhamaraararganasmasavaavaveaeaymayazeazbakbabambmbelbebenbnbisbibodbobosbsbrebrbulbgcatcacescschachchecechucuchvcvcorkwcoscocrecrcymcydandadeudedivdvdzodzellelengenepoeoesteteuseueweeefaofofasfafijfjfinfifrafrfryfyfulffglagdglegaglgglglvgvgrngngujguhaththauhahbsshhebheherhzhinhihmohohrvhrhunhuhyehyiboigidoioiiiiiikuiuileieinaiaindidipkikislisitaitjavjvjpnjakalklkanknkaskskatkakaukrkazkkkhmkmkikkikinrwkirkykomkvkonkgkorkokuakjkurkulaololatlalavlvlimlilinlnlitltltzlblubluluglgmahmhmalmlmarmrmkdmkmlgmgmltmtmonmnmrimimsamsmyamynaunanavnvnblnrndendndongnepnenldnlnnonnnobnbnornonyanyociocojiojoriorormomossospanpaplipipolplporptpuspsquequrohrmronrorunrnrusrusagsgsansasinsislkskslvslsmesesmosmsnasnsndsdsomsosotstspaessqisqsrdscsrpsrsswsssunsuswaswswesvtahtytamtatatttteltetgktgtgltlthathtirtitontotsntntsotstuktkturtrtwitwuigugukuruzvevivowawoxhyiyozazhzu)ukrurduzbvenvievolwlnwolxhoyidyorzhazhozulfrizWestern Frisianauv	AuvergnatgscGasconlmsLimousinlncLanguedocienprvu
   Provençalamdu   Amapá CreolebghBoganbnhu   BanawábvszBelgian Sign LanguageccyzSouthern ZhuangcitChittagonianflmz
Falam Chinjapu   JaruárakobKohoroxitarimobMoinbamzfAikunhjzTlalitzlipa NahuatlnhszSoutheastern Puebla Nahuatlocc
OccidentaltmxTomyangtotzPatla-Chicontla Totonacxmiu   MiarrãyibYinglishztczLachirioag ZapotecatfAtuencebqezNavarro-Labourdin BasquebszzSouletin BasqueaexAmeraxaheAheaizAariaknAmikoanaarfArafundiazrAdzerabcxPamonabiiBisubkeBengkulubluz
Hmong NjuaboczBakung KenyahbsdzSarawak BisayabwvzBahau River KenyahbxtBuxinhuabyuBuyangccxzNorthern Zhuangcruu	   CarútanadatzDarang Dengdykz
Land DayakeniEnimfizIzeregenz
Geman DenggghzGarreh-AjuranituItutangkdszLahu ShiknhzKayan River KenyahkrgzNorth KorowaikrqKruikxgKatinganlmtLematanglntLintanglodBerawanmbgu   Northern NambikuáramdozSouthwest Gbayamhv	ArakanesemivMimimqdMadangnkyzKhiamniungan NaganxjNyaduognOganorkOrokaivapajzIpeka-TapuiapeczSouthern PesisirpenPenesakplm	PalembangpojzLower PokomopunPubianraeRanaurjb	RajbanshirwsRawassddSemendosdizSindang KelingisklSelakoslbzKahumamahon SaluansrjSerawaisufTarpiasuhSubasuuSungkaiszkSizakitlezSouthern MarakwettnjTanjongttxzTutong 1ubmzUpper Baram Kenyahvkyz
Kayu Agungvmoz	Muko-MukowreWarexahKahayanxkmzMahakam KenyahxufKunfalyiozDayao YiymjzMuji YiyplzPula YiypwzPuwa Yiywmz	Wumeng YiyymzYuanjiang-Mojiang YimlyzMalay (individual language)muwMundarixstzSilt'eopezOld PersiansccSerbianscrCroatianxskSakanmol	MoldavianaayAariyaaccu   Cubulco Achícbmz Yepocapa Southwestern CakchiquelchsChumashckczNorthern CakchiquelckdzSouth Central CakchiquelckezEastern CakchiquelckfzSouthern Cakchiquelckiu!   Santa María De Jesús Cakchiquelckjz Santo Domingo Xenacoj Cakchiquelckkz"Acatenango Southwestern CakchiquelckwzWestern Cakchiquelcnmu   Ixtatán Chujctiz	Tila Cholcunu   Cunén QuichéemlzEmiliano-Romagnoloeur	EuropantogmozGamo-Gofa-DawrohsfzSoutheastern Huastechvau   San Luís Potosí Huastecixiz
Nebaj IxilixjzChajul IxiljaizWestern JacaltecommszSouthern MammpfzTajumulco MammtzTacanecmvczCentral Mammvju   Todos Santos Cuchumatán MampoazEastern Pokomampobu   Western PokomchípouzSouthern Pokomamppvu   Papavôquju   Joyabaj Quichéqutu   West Central Quichéquuu   Eastern Quichéqxiu   San Andrés Quichésic	Malinguatstcz
Santa CruztlzzToala'tzbu   Bachajón TzeltaltzczChamula Tzotziltzeu   Chenalhó Tzotziltzsu   San Andrés Larrainzar TzotziltztzWestern Tzutujiltzuu   Huixtán Tzotziltzzu   Zinacantán TzotzilvlrVatratayuszChan Santa Cruz MayanfgNyengnfkShakaraagpParananbhkzAlbay BicolanobkbFinalligbtbzBeti (Cameroon)cjr	ChorotegacmkChimakumdrhDarkhatdrwDarwazigav	GabutamonmofzMohegan-Montauk-NarragansettmstzCataelano MandayamytzSangab Mandayarmru   CalósglzSanglechi-Ishkashimisul
SurigaononsumzSumo-Mayangnatnf	TangshewiwgwWagawagaayxzAyi (China)bjqzSouthern Betsimisaraka MalagasydhazDhanwar (India)dklzKolum So DogonmjaMaheinbfNaxinooNootkatieTingaltkkTakpabazTunenbjd
Bandjigaliccq	ChaungthackazKhumi Awa ChindapzNisi (India)dwlzWalo Kumbe Dogonelp	ElpaputihgbcGarawagioGelaohrrHoruruibiIbilojarzJarawa (Nigeria)kdvKadokghzUpper Tanudan Kalingakppz
Paku KarenkzhzKenuzi-DongolalcqLuhumgxOmatinlnzDurango NahuatlpbzPalupgyPongyongscaSansutlwzSouth WemaleunpWororawiwWiranguybdYangbyeyenYendangymaYamphedafDandjlDjiwarliggrzAghu TharnggaluilwTalurizizIzi-Ezaa-Ikwo-MgbomegMeamldMalakhelmntMaykulanmwdMudburamyqzForest ManinkanbxNguranlrNgarlapcrPanangpprPirutggTanggawitWintuxiaXiandaoyiyz
Yir YorontyosYosemoEmokggmz	Gugu MinilegLengualmmLamammhhzMaskoy Pidginpuzz
Purum Nagasapu	   SanapanáyuuYughaamAramanikadpAdapaueu   ǂKxʼauǁʼeinbmyz$Bemba (Democratic Republic of Congo)bxxz$Borna (Democratic Republic of Congo)byyBuyadzdDazagfxu   Mangetti Dune ǃXunggtizGbati-riime	ImeraguenkbfKakauhuakojz
Sara DunjokwqKwakkxeKakihumliiLingkhimmwjMaligonnxNgongounu   ǃOǃungpmuzMirpur PanjabisgoSongathxThetsfzSouthwestern TamanguokUokhaxsjSubiydszYiddish Sign LanguageymtzMator-Taygi-KaragasynhYanghobgmzBaga MbotenibtlBhatolacbe	ChipiajescbhCaguacoyCoyaimacquzChilean QuechuacumCumeraldujDhuwalggnzEastern GurungggozSouthern GondiguvGeyiapIapamaillIranunkgcKassengkoxCoximaktrzKota Marudu TinagaskvsKunggarakzjzCoastal KadazankztzTambunan DusunnadNijadalints
NatagaimasomeOmejespmcPalumatapodPonaresppaPaopryzPray 3rnaRunasvrSavaratduzTempasuk DusunthczTai Hang TongtidTidongtmpu	   Tai MènetnezTinoc KallahantoeTomedesxbazKamba (Brazil)xbxu   Kabixíxipu	   XipináwaxkhKarahawyanayriu   YaríjegJengkgdKataangkrmKrimprbzLua'pukzPu KorieRienrsizRennellese Sign LanguageskkSoksnhShinabolsgzLyons Sign LanguagemwxMediakmwyMosironcpNdaktupaiszNataoran AmisasdAsasditDiraridudz	Hun-SaarelbaLuilloKhlormydMarambamyizMina (India)nnsNingyeaohArmaayyzTayabas AytabbzzBabalia Creole Arabicbpb	BarbacoasccaCaucacdgChamaridguDegarudrrDororoekczEastern KarnicgliGuligulikjfKhalajkxlzNepali KuruxkxuzKui (India)lmzLumbeenxuNarauplpPalpasdm	SemandangtbbTapebaxrqKarrangaxtz	TasmanianzirZiriyathwThudambicBikarubijzVaghat-Ya-Bijim-LegeriblgBalaugjiGejiMuyaNgoni	PapitalaizIja-ZubaWarapuzJudeo-Tunisian Arabic
ChungmbokozLaka (Nigeria)zLango (South Sudan)PiniSamaSebuyauzKulon-PazehWardujiWyandot)mvmngopatvkiwraajtcuglaklnopiismdsnbuunwrdwya)r   )r   )__doc__rewarningsr   nltk.corpusr   compiler   r   r   r$   r(   r*   r,   r6   load_wiki_qr#   r&   r   r   r    r!    r   r   <module>r     s  8 
  bjj+,?:C<
'!B    %,,'
y	4y	4y 
4y 
4	y
 
4y 
4y 
4y 
4y 
4y 
4y 
4y 
4y 
4y 
4y 
4y  
4!y" 
4#y$ 
4%y& 
4'y( 
4)y* 
4+y, 
4-y. 
4/y0 
41y2 
43y4 
45y6 
47y8 
49y: 
4;y< 
4=y> 
4?y@ 
4AyB 
4CyD 
4EyF 
4GyH 
4IyJ 
4KyL 
4MyN 
4OyP 
4QyR 
4SyT 
4UyV 
4WyX 
4YyZ 
4[y\ 
4]y^ 
4_y` 
4ayb 
4cyd 
4eyf 
4gyh 
4iyj 
4kyl 
4myn 
4oyp 
4qyr 
4syt 
4uyv 
4wyx 
4yyz 
4{y| 
4}y~ 
4y@ 
4AyB 
4CyD 
4EyF 
4GyH 
4IyJ 
4KyL 
4MyN 
4OyP 
4QyR 
4SyT 
4UyV 
4WyX 
4YyZ 
4[y\ 
4]y^ 
4_y` 
4ayb 
4cyd 
4eyf 
4gyh 
4iyj 
4kyl 
4myn 
4oyp 
4qyr 
4syt 
4uyv 
4wyx 
4yyz 
4{y| 
4}y~ 
4y@ 
4AyB 
4CyD 
4EyF 
4GyH 
4IyJ 
4KyL 
4MyN 
4OyP 
4QyR 
4SyT 
4UyV 
4WyX 
4YyZ 
4[y\ 
4]y^ 
4_y` 
4ayb 
4cyd 
4eyf 
4gyh 
4iyj 
4kyl 
4myn 
4oyp 
4qyr 
4syt 
4uyv 
4wyx 
4yyz 
4{y| 
4}y~ 
4y@ 
4AyB 
4CyD 
4EyF 
4GyH 
4IyJ 
4KyL 
4MyN 
4OyP 
4QyR 
4SyT 
4UyV 
4WyX 
4YyZ 
4[y\ 
4]y^ 
4_y` 
4ayb 
4cyd 
4eyf 
4gyh 
4iyj 
4kyl 
4myn 
4oyp 
4qyr 
4syt 
4uyv 
4wyx 
4yyz 
4{y| 
4}y~ 
4y@ 
4AyB 
4CyD 
4EyF 
4GyH 
4IyJ 
4KyL 
4MyN 
4OyP 
4QyR 
4SyT 
4UyV qyxu	u	;u 
8u 
:	u
 
>u 
<u 
?u 
7u 
9u 
"u 
u 
>u 
<u 
:u 
>u  
8!u" 
6#u$ 
 %u& 
('u( 
<)u* 
9+u, 
$-u. 
9/u0 
:1u2 
3u4 
95u6 
%7u8 
9u: 
8;u< 
5=u> 
6?u@ 
:AuB 
:CuD 
8EuF 
8GuH 
6IuJ 
:KuL 
<MuN 
?OuP 
QuR 
SuT 
:UuV 
8WuX 
YuZ 
;[u\ 
=]u^ 
<_u` 
6aub 
7cud 
<euf 
?guh 
9iuj 
:kul 
mun 
?oup 
6qur 
:sut 
:uuv 
9wux 
9yuz 
!{u| 
}u~ 
;u@ 
6AuB 
8CuD 
EuF 
7GuH 
6IuJ 
:KuL 
>MuN 
OuP 
9QuR 
;SuT 
>UuV 
8WuX 
7YuZ 
;[u\ 
7]u^ 
9_u` 
aub 
8cud 
euf 
9guh 
8iuj 
6kul 
9mun 
8oup 
qur 
9sut 
:uuv 
wux 
<yuz 
;{u| 
6}u~ 
9u@ 
AuB 
8CuD 
:EuF 
9GuH 
9IuJ 
9KuL 
;MuN 
!OuP 
(QuR 
9SuT 
8UuV 
=WuX 
9YuZ 
:[u\ 
7]u^ 
;_u` 
8aub 
?cud 
-euf 
9guh 
 iuj 
%kul 
mun 
 oup 
.qur 
-sut 
/uuv 
wux 
?yuz 
;{u| 
}u~ 
u@ 
;AuB 
CuD 
!EuF 
&GuH 
<IuJ 
=KuL 
MuN 
>OuP 
?QuR 
9SuT 
=UuV 
)WuX 
YuZ 
[u\ 
]u^ 
9_u` 
aub 
!cud 
euf 
 guh 
;iuj 
<kul 
8mun 
oup 
qur 
sut 
+uuv 
wux 
yuz 
 {u| 
9}u~ 
!u@ 
7AuB 
9CuD 
9EuF 
GuH 
:IuJ 
KuL 
;MuN 
:OuP 
9QuR 
9SuT 
;UuV 
)WuX 
YuZ 
[u\ 
7]u^ 
!_u` 
<aub 
?cud 
;euf 
:guh 
=iuj 
,kul 
mun 
oup 
7qur 
6sut 
8uuv 
8wux 
7yuz 
7{u| 
<}u~ 
;u@ 
AuB 
>CuD 
EuF 
;GuH 
8IuJ 
7KuL 
8MuN 
7OuP 
QuR 
6SuT 
"UuV 
<WuX 
YuZ 
6[u\ 
7]u^ 
_u` 
6aub 
:cud 
7euf 
>guh 
8iuj 
9kul 
9mun 
9oup 
8qur 
5sut 
:uuv 
wux 
7yuz 
{u| 
5}u~ 
:u@ 
:AuB 
9CuD 
EuF 
7GuH 
8IuJ 
8KuL 
6MuN 
8OuP 
7QuR 
9SuT 
<UuV 
5WuX 
6YuZ 
;[u\ 
8]u^ 
7_u` 
?aub 
<cud 
;euf 
6guh 
:iuj 
6kul 
mun 
1oup 
1qur 
6sut 
6uuv 
!wux 
:yuz 
;{u| 
:}u~ 
<u@ 
6AuB 
9CuD 
:EuF 
8GuH 
7IuJ 
:KuL 
MuN 
7OuP 
5QuR 
 SuT 
7UuV 
6WuX 
"YuZ 
 [u\ 
8]u^ 
>_u` 
9aub 
;cud 
7euf 
9guh 
iuj 
9kul 
8mun 
oup 
qur 
5sut 
8uuv 
8wux 
9yuz 
8{u| 
 }u~ 
:u@	 
A	uB	 
C	uD	 
:E	uF	 
<G	uH	 
8I	uJ	 
:K	uL	 
9M	uN	 
5O	uP	 
8Q	uR	 
6S	uT	 
8U	uV	 
W	uX	 
?Y	uZ	 
8[	u\	 
;]	u^	 
_	u`	 
9a	ub	 
c	ud	 
9e	uf	 
;g	uh	 
=i	uj	 
7k	ul	 
6m	un	 
9o	up	 
6q	ur	 
6s	ut	 
7u	uv	 
6w	ux	 
%y	uz	 
5{	u|	 
9}	u~	 
 	u@
 
8A
uB
 
8C
uD
 
9E
uF
 
?G
uH
 
6I
uJ
 
8K
uL
 
;M
uN
 
5O
uP
 
7Q
uR
 
9S
uT
 
>U
uV
 
8W
uX
 
6Y
uZ
 
>[
u\
 
"]
u^
 
;_
u`
 
7a
ub
 
9c
ud
 
8e
uf
 
8g
uh
 
i
uj
 
:k
ul
 
8m
un
 
>o
up
 
=q
ur
 
8s
ut
 
7u
uv
 
7w
ux
 
;y
uz
 
8{
u|
 
:}
u~
 
;
u@ 
8AuB 
8CuD 
8EuF 
#GuH 
7IuJ 
6KuL " iup +&
!-0 r   