/opt/alt/python311/lib64/python3.11/email/__pycache__
NameSizeModeActions
base64mime.cpython-311.opt-1.pyc43650644editdlrm
base64mime.cpython-311.opt-2.pyc26140644editdlrm
base64mime.cpython-311.pyc43650644editdlrm
charset.cpython-311.opt-1.pyc159740644editdlrm
charset.cpython-311.opt-2.pyc97030644editdlrm
charset.cpython-311.pyc160350644editdlrm
contentmanager.cpython-311.opt-1.pyc138440644editdlrm
contentmanager.cpython-311.opt-2.pyc138440644editdlrm
contentmanager.cpython-311.pyc138440644editdlrm
encoders.cpython-311.opt-1.pyc24000644editdlrm
encoders.cpython-311.opt-2.pyc20710644editdlrm
encoders.cpython-311.pyc24000644editdlrm
errors.cpython-311.opt-1.pyc86780644editdlrm
errors.cpython-311.opt-2.pyc70830644editdlrm
errors.cpython-311.pyc86780644editdlrm
feedparser.cpython-311.opt-1.pyc213070644editdlrm
feedparser.cpython-311.opt-2.pyc196660644editdlrm
feedparser.cpython-311.pyc215070644editdlrm
generator.cpython-311.opt-1.pyc230250644editdlrm
generator.cpython-311.opt-2.pyc193500644editdlrm
generator.cpython-311.pyc230250644editdlrm
header.cpython-311.opt-1.pyc269900644editdlrm
header.cpython-311.opt-2.pyc214130644editdlrm
header.cpython-311.pyc269900644editdlrm
headerregistry.cpython-311.opt-1.pyc337000644editdlrm
headerregistry.cpython-311.opt-2.pyc281060644editdlrm
headerregistry.cpython-311.pyc337660644editdlrm
iterators.cpython-311.opt-1.pyc31770644editdlrm
iterators.cpython-311.opt-2.pyc25840644editdlrm
iterators.cpython-311.pyc31770644editdlrm
message.cpython-311.opt-1.pyc590690644editdlrm
message.cpython-311.opt-2.pyc427820644editdlrm
message.cpython-311.pyc590690644editdlrm
parser.cpython-311.opt-1.pyc73980644editdlrm
parser.cpython-311.opt-2.pyc44260644editdlrm
parser.cpython-311.pyc73980644editdlrm
policy.cpython-311.opt-1.pyc125560644editdlrm
policy.cpython-311.opt-2.pyc63810644editdlrm
policy.cpython-311.pyc125560644editdlrm
quoprimime.cpython-311.opt-1.pyc112510644editdlrm
quoprimime.cpython-311.opt-2.pyc78390644editdlrm
quoprimime.cpython-311.pyc112510644editdlrm
utils.cpython-311.opt-1.pyc193250644editdlrm
utils.cpython-311.opt-2.pyc157840644editdlrm
utils.cpython-311.pyc193250644editdlrm
_encoded_words.cpython-311.opt-1.pyc91310644editdlrm
_encoded_words.cpython-311.opt-2.pyc72580644editdlrm
_encoded_words.cpython-311.pyc91310644editdlrm
_header_value_parser.cpython-311.opt-1.pyc1515610644editdlrm
_header_value_parser.cpython-311.opt-2.pyc1349570644editdlrm
_header_value_parser.cpython-311.pyc1516470644editdlrm
_parseaddr.cpython-311.opt-1.pyc243140644editdlrm
_parseaddr.cpython-311.opt-2.pyc214610644editdlrm
_parseaddr.cpython-311.pyc243140644editdlrm
_policybase.cpython-311.opt-1.pyc197150644editdlrm
_policybase.cpython-311.opt-2.pyc105680644editdlrm
_policybase.cpython-311.pyc197150644editdlrm
__init__.cpython-311.opt-1.pyc21240644editdlrm
__init__.cpython-311.opt-2.pyc15280644editdlrm
__init__.cpython-311.pyc21240644editdlrm
Edit: /opt/alt/python311/lib64/python3.11/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc (24314B)
§ 1´‹ö­]Áfãó´—dZgd¢ZddlZddlZdZdZdZgd¢Zgd¢Zddddd d d d d d d d dd dœZ d„Z d„Z d„Z d„Z d„ZGd„d¦«ZGd„de¦«ZdS)zcEmail address parsing code. Lifted directly from rfc822.py. This should eventually be rewritten. )Ú mktime_tzÚ parsedateÚ parsedate_tzÚquoteéNú Úz, )ÚjanÚfebÚmarÚaprÚmayÚjunÚjulÚaugÚsepÚoctÚnovÚdecÚjanuaryÚfebruaryÚmarchÚaprilr ÚjuneÚjulyÚaugustÚ septemberÚoctoberÚnovemberÚdecember)ÚmonÚtueÚwedÚthuÚfriÚsatÚsunipþÿÿiÔþÿÿi þÿÿi¨ýÿÿiDýÿÿiàüÿÿ)ÚUTÚUTCÚGMTÚZÚASTÚADTÚESTÚEDTÚCSTÚCDTÚMSTÚMDTÚPSTÚPDTcó`—t|¦«}|sdS|d€d|d<t|¦«S)zQConvert a date string to a time tuple. Accounts for military timezones. Né r)Ú _parsedate_tzÚtuple)ÚdataÚress ú7/opt/alt/python311/lib64/python3.11/email/_parseaddr.pyrr-s<€õ ˜Ñ Ô €CØ ðØˆØ ˆ1„v€~؈ˆA‰Ý �‰:Œ:Ðóc óŠ—|sdS| ¦«}|sdS|d d¦«s!|d ¦«tvr|d=n7|d d¦«}|dkr|d|dzd…|d<t |¦«dkr;|d d¦«}t |¦«dkr ||dd…z}t |¦«dkrm|d}| d¦«}|d kr| d¦«}|dkr|d|…||d…g|dd…<n| d ¦«t |¦«d krdS|dd …}|\}}}}}|r|r|sdS| ¦«}|tvr!|| ¦«}}|tvrdSt  |¦«dz}|d kr|d z}|d dkr |dd …}| d ¦«}|dkr||}}|d dkr|dd …}|sdS|d  ¦«s||}}|d dkr |dd …}| d ¦«}t |¦«dkr|\} } d} n‹t |¦«dkr|\} } } nqt |¦«dkr\d|dvrR|d d¦«}t |¦«dkr|\} } d} nt |¦«dkr|\} } } ndSdS t|¦«}t|¦«}t| ¦«} t| ¦«} t| ¦«} n#t$rYdSwxYw|dkr|dkr|dz }n|dz }d} |  ¦«}|tvrt|} n> t|¦«} n#t$rYnwxYw| dkr| d¦«rd} | r"| dkrd } | } nd} | | dzdz| dzdzzz} |||| | | ddd | g S)a†Convert date to extended time tuple. The last (additional) element is the time zone offset in seconds, except if the timezone was specified as -0000. In that case the last element is None. This indicates a UTC timestamp that explicitly declaims knowledge of the source timezone, as opposed to a +0000 timestamp that indicates the source timezone really was UTC. Nrú,ééú-éú+éÿÿÿÿréé ú:éÚ0ú.édéDiliÐié<)ÚsplitÚendswithÚlowerÚ _daynamesÚrfindÚlenÚfindÚappendÚ _monthnamesÚindexÚisdigitÚintÚ ValueErrorÚupperÚ _timezonesÚ startswith)r9ÚiÚstuffÚsÚddÚmmÚyyÚtmÚtzÚthhÚtmmÚtssÚtzoffsetÚtzsigns r;r7r79sÆ€ð ð؈tØ �:Š:‰<Œ<€DØ ð؈tð ˆA„w×Ò˜ÑÔð$  Q¤§ ¢ ¡¤µ9Ð <Ð <à �ˆGˆGà �ŒG�MŠM˜#Ñ Ô ˆØ �Š6ˆ6ؘ1”g˜a ™c˜d˜d”mˆD�‰GÝ ˆ4�y„y�A‚~€~Ø�Q”— ’ ˜cÑ"Ô"ˆÝ ˆu‰:Œ:˜Š?ˆ?ؘ4   œ8Ñ#ˆDÝ ˆ4�y„y�A‚~€~Ø �ŒGˆØ �FŠF�3‰KŒKˆØ �Š7ˆ7Ø—’�s‘ ” ˆAØ ˆqŠ5ˆ5ؘ"˜1˜"œ˜q   œu�~ˆD���‰HˆHà �KŠK˜‰OŒOˆOÝ ˆ4�y„y�1‚}€}؈tØ ���Œ8€DØÑ€RˆˆR��RØ ð�2ð˜"ð؈tØ �ЉŒ€BØ •ÐÐØ�R—X’X‘Z”ZˆBˆØ •[Ð Ð Ø�4Ý × Ò ˜2Ñ Ô  Ñ "€BØ ˆB‚w€wØ ˆb‰ˆØ ˆ"„v�‚}€}Ø ���ŒWˆØ �Š�‰ Œ €A؈1‚u€uØ�RˆBˆØ ˆ"„v�‚}€}Ø ���ŒWˆØð Ø�4Ø ˆaŒ5�=Š=‰?Œ?ðØ�RˆBˆØ ˆ"„v�‚}€}Ø ���ŒWˆØ �Š�#‰Œ€BÝ ˆ2�w„w�!‚|€|؉ ˆˆc؈ˆÝ ˆR‰Œ�AŠˆØ‰ˆˆc�3�3Ý ˆR‰Œ�AŠˆ˜#  A¤˜,˜,à �ŒU�[Š[˜Ñ Ô ˆÝ ˆr‰7Œ7�aŠ<ˆ<؉JˆS�#؈CˆCÝ �‰WŒW˜Š\ˆ\Ø ‰OˆS�#�s�sà�4àˆtðÝ �‰WŒWˆÝ �‰WŒWˆÝ�#‰hŒhˆÝ�#‰hŒhˆÝ�#‰hŒhˆˆøÝ ððð؈tˆtðøøøð ˆC‚x€xà �Š7ˆ7Ø �$‰JˆBˆBð �$‰JˆBØ€HØ �ЉŒ€BØ �ZÐÐݘb”>ˆˆð ݘ2‘w”wˆHˆHøÝð ð ð Ø ˆDð øøøà �QŠ;ˆ;˜2Ÿ=š=¨Ñ-Ô-ˆ;؈HàðJØ �aŠ<ˆ<؈FØ �yˆHˆHàˆFؘx¨™}¨dÑ2°hÀ±nÀbÑ5HÑHÑIˆà ��B˜˜S # q¨!¨R°Ð :Ð:s%Ì6A NÎ NÎNÏO(Ï( O5Ï4O5cób—t|¦«}t|t¦«r |dd…S|S)z&Convert a time string to a time tuple.Nr6)rÚ isinstancer8©r9Úts r;rr¶s3€å�TÑÔ€AÝ�!•UÑÔðØ��!�Œuˆ àˆr<cóŽ—|d€tj|dd…dz¦«Stj|¦«}||dz S)zETurn a 10-tuple as returned by parsedate_tz() into a POSIX timestamp.r6Né)rD)ÚtimeÚmktimeÚcalendarÚtimegmrms r;rr¿sE€à ˆA„w€åŒ{˜4   œ8 eÑ+Ñ,Ô,Ð,å ŒO˜DÑ !Ô !ˆØ�4˜”7‰{Ðr<cóV—| dd¦« dd¦«S)zøPrepare string to be used in a quoted string. Turns backslash and double quote characters into quoted pairs. These are the only characters that need to be quoted inside a quoted string. Does not add the surrounding double quotes. ú\z\\ú"z\")Úreplace)Ústrs r;rrÉs(€ð �;Š;�t˜VÑ $Ô $× ,Ò ,¨S°%Ñ 8Ô 8Ð8r<cód—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z dd „Z d „Z d „Z d „Zdd„Zd„ZdS)Ú AddrlistClassaAddress parser class by Ben Escoto. To understand what this class does, it helps to have a copy of RFC 2822 in front of you. Note: this class interface is deprecated and may be removed in the future. Use email.utils.AddressList instead. cóú—d|_d|_d|_d|_|j|jz|_|j|jz|jz|_|j dd¦«|_||_g|_ dS)zƒInitialize a new instance. `field' is an unparsed address header field, containing one or more addresses. z ()<>@,:;."[]rz z rJrN) ÚspecialsÚposÚLWSÚCRÚFWSÚatomendsrxÚ phraseendsÚfieldÚ commentlist©Úselfr„s r;Ú__init__zAddrlistClass.__init__Ýsw€ð (ˆŒ ؈ŒØˆŒØˆŒØ”8˜dœgÑ%ˆŒØœ ¨¬Ñ0°4´7Ñ:ˆŒ ðœ-×/Ò/°°RÑ8Ô8ˆŒØˆŒ ؈ÔÐÐr<có—g}|jt|j¦«krÇ|j|j|jdzvrJ|j|jdvr%| |j|j¦«|xjdz c_nD|j|jdkr-|j | ¦«¦«nn|jt|j¦«k°Çt |¦«S)z&Skip white space and extract comments.z r?ú() r~rSr„rrUr…Ú getcommentÚ EMPTYSTRINGÚjoin)r‡Úwslists r;ÚgotonextzAddrlistClass.gotonextðs߀àˆØŒh�˜TœZ™œÒ(Ð(ØŒz˜$œ(Ô# t¤x°&Ñ'8Ð8Ð8Ø”:˜dœhÔ'¨vÐ5Ð5Ø—M’M $¤*¨T¬XÔ"6Ñ7Ô7Ð7Ø�”˜A‘ �”�Ø”˜DœHÔ%¨Ò,Ð,ØÔ ×'Ò'¨¯ªÑ(9Ô(9Ñ:Ô:Ð:Ð:àðŒh�˜TœZ™œÒ(Ð(õ×Ò Ñ'Ô'Ð'r<cóà—g}|jt|j¦«krN| ¦«}|r||z }n| d¦«|jt|j¦«k°N|S)zVParse all addresses. Returns a list containing all of the addresses. )rr)r~rSr„Ú getaddressrU)r‡ÚresultÚads r;Ú getaddrlistzAddrlistClass.getaddrlistþsp€ð ˆØŒh�˜TœZ™œÒ(Ð(Ø—’Ñ"Ô"ˆBØð (ؘ"‘ ��à— ’ ˜hÑ'Ô'Ð'ð Œh�˜TœZ™œÒ(Ð(ð ˆ r<có —g|_| ¦«|j}|j}| ¦«}| ¦«g}|jt |j¦«kr,|r(t  |j¦«|dfg}�n|j|jdvrF||_||_| ¦«}t  |j¦«|fg}�n¶|j|jdkr¾g}t |j¦«}|xjdz c_|jt |j¦«krz| ¦«|j|kr'|j|jdkr|xjdz c_n4||  ¦«z}|jt |j¦«k°znâ|j|jdkrx|  ¦«}|jr?t  |¦«dzd |j¦«zd z|fg}nrt  |¦«|fg}nT|r)t  |j¦«|dfg}n)|j|j|j vr|xjdz c_| ¦«|jt |j¦«kr&|j|jd kr|xjdz c_|S) zParse the next address.rz.@rGr?ú;ú) r…r�r~Ú getphraselistrSr„ÚSPACEr�Ú getaddrspecr‘Ú getrouteaddrr})r‡ÚoldposÚoldclÚplistÚ returnlistÚaddrspecÚfieldlenÚ routeaddrs r;r‘zAddrlistClass.getaddress s€àˆÔØ � Š ‰Œˆà”ˆØÔ ˆØ×"Ò"Ñ$Ô$ˆà � Š ‰ŒˆØˆ à Œ8•s˜4œ:‘”Ò &Ð &àð HÝ$Ÿzšz¨$Ô*:Ñ;Ô;¸UÀ1¼XÐFÐG� ùà ŒZ˜œÔ ! TÐ )Ð )ðˆDŒHØ$ˆDÔ Ø×'Ò'Ñ)Ô)ˆHÝ Ÿ:š: dÔ&6Ñ7Ô7¸ÐBÐCˆJ‰Jà ŒZ˜œÔ ! SÒ (Ð (àˆJå˜4œ:‘”ˆHØ ˆHŒH˜‰MˆHŒHØ”(�S ¤™_œ_Ò,Ð,Ø— ’ ‘”�Ø”8˜hÒ&Ð&¨4¬:°d´hÔ+?À3Ò+FÐ+FØ�H”H ‘M�H”HØØ'¨$¯/ª/Ñ*;Ô*;Ñ;� ð ”(�S ¤™_œ_Ò,Ð,øðŒZ˜œÔ ! SÒ (Ð (à×)Ò)Ñ+Ô+ˆIàÔð >Ý$Ÿzšz¨%Ñ0Ô0°4Ñ7Ø"Ÿxšx¨Ô(8Ñ9Ô9ñ :ØÀ#Ò*EÐ*EØ ˆHŒH˜‰MˆHŒHØÐr<cóŒ—|j|jdkrdSd}|xjdz c_| ¦«d}|jt|j¦«kræ|r| ¦«d}nœ|j|jdkr|xjdz c_n¦|j|jdkr|xjdz c_d}nL|j|jd kr|xjdz c_n%| ¦«}|xjdz c_n1| ¦«|jt|j¦«k°æ|S) z�Parse a route address (Return-path value). This method just skips all the route stuff and returns the addrspec. r—NFr?rú>ú@TrG)r„r~r�rSÚ getdomainr›)r‡Ú expectrouteÚadlists r;rœzAddrlistClass.getrouteaddrGs:€ð Œ:�d”hÔ  3Ò &Ð &Ø ˆFàˆ Ø ˆŒ�A‰ ˆŒØ � Š ‰ŒˆØˆØŒh�˜TœZ™œÒ(Ð(Øð Ø—’Ñ Ô Ð Ø#� � Ø”˜DœHÔ%¨Ò,Ð,Ø�”˜A‘ �”ØØ”˜DœHÔ%¨Ò,Ð,Ø�”˜A‘ �”Ø"� � Ø”˜DœHÔ%¨Ò,Ð,Ø�”˜A‘ �”�à×)Ò)Ñ+Ô+�Ø�”˜A‘ �”ØØ �MŠM‰OŒOˆOð!Œh�˜TœZ™œÒ(Ð(ð$ˆ r<cóÞ—g}| ¦«|jt|j¦«k�rzd}|j|jdkrX|r.|d ¦«s| ¦«| d¦«|xjdz c_d}n¿|j|jdkr8| dt| ¦«¦«z¦«nq|j|j|j vr1|r.|d ¦«s| ¦«nr| |  ¦«¦«| ¦«}|r|r| |¦«|jt|j¦«k�°z|jt|j¦«ks|j|jdkrt  |¦«S| d¦«|xjdz c_| ¦«|  ¦«}|stSt  |¦«|zS) zParse an RFC 2822 addr-spec.TrJrDr?Frwz"%s"r¦)r�r~rSr„ÚstripÚpoprUrÚgetquoter‚ÚgetatomrŒr�r§)r‡ÚaslistÚ preserve_wsÚwsÚdomains r;r›zAddrlistClass.getaddrspecgs€àˆà � Š ‰ŒˆØŒh�˜TœZ™œÒ(Ñ(؈KØŒz˜$œ(Ô# sÒ*Ð*Øð! &¨¤*×"2Ò"2Ñ"4Ô"4ð!Ø—J’J‘L”L�LØ— ’ ˜cÑ"Ô"Ð"Ø�”˜A‘ �”Ø#� � Ø”˜DœHÔ%¨Ò,Ð,Ø— ’ ˜f¥u¨T¯]ª]©_¬_Ñ'=Ô'=Ñ=Ñ>Ô>Ð>Ð>Ø”˜DœHÔ%¨¬Ð6Ð6Øð! &¨¤*×"2Ò"2Ñ"4Ô"4ð!Ø—J’J‘L”L�LØà— ’ ˜dŸlšl™nœnÑ-Ô-Ð-Ø—’‘”ˆBØð "˜rð "Ø— ’ ˜bÑ!Ô!Ð!ð%Œh�˜TœZ™œÒ(Ñ(ð( Œ8•s˜4œ:‘”Ò &Ð &¨$¬*°T´XÔ*>À#Ò*EÐ*EÝ×#Ò# FÑ+Ô+Ð +à� Š �cÑÔÐØ ˆŒ�A‰ ˆŒØ � Š ‰ŒˆØ—’Ñ!Ô!ˆØð õÐ Ý×Ò Ñ'Ô'¨&Ñ0Ð0r<có>—g}|jt|j¦«k�rd|j|j|jvr|xjdz c_�n|j|jdkr-|j | ¦«¦«nØ|j|jdkr(| | ¦«¦«nš|j|jdkr&|xjdz c_| d¦«n^|j|jdkrtS|j|j|j vrnE| |  ¦«¦«|jt|j¦«k�°dt  |¦«S)z-Get the complete domain name from an address.r?rŠú[rJr¦) r~rSr„rr…rUr‹ÚgetdomainliteralrŒr‚r®r�)r‡Úsdlists r;r§zAddrlistClass.getdomain�sd€àˆØŒh�˜TœZ™œÒ(Ñ(ØŒz˜$œ(Ô# t¤xÐ/Ð/Ø�”˜A‘ �”‘Ø”˜DœHÔ%¨Ò,Ð,ØÔ ×'Ò'¨¯ªÑ(9Ô(9Ñ:Ô:Ð:Ð:Ø”˜DœHÔ%¨Ò,Ð,Ø— ’ ˜d×3Ò3Ñ5Ô5Ñ6Ô6Ð6Ð6Ø”˜DœHÔ%¨Ò,Ð,Ø�”˜A‘ �”Ø— ’ ˜cÑ"Ô"Ð"Ð"Ø”˜DœHÔ%¨Ò,Ð,õ#Ð"Ø”˜DœHÔ%¨¬Ð6Ð6Øà— ’ ˜dŸlšl™nœnÑ-Ô-Ð-ð#Œh�˜TœZ™œÒ(Ñ(õ$×Ò Ñ'Ô'Ð'r<Tcó¾—|j|j|krdSdg}d}|xjdz c_|jt|j¦«krú|r(| |j|j¦«d}n£|j|j|vr|xjdz c_n«|r>|j|jdkr(| | ¦«¦«Œ¬|j|jdkrd}n%| |j|j¦«|xjdz c_|jt|j¦«k°út  |¦«S)aæParse a header fragment delimited by special characters. `beginchar' is the start character for the fragment. If self is not looking at an instance of `beginchar' then getdelimited returns the empty string. `endchars' is a sequence of allowable end-delimiting characters. Parsing stops when one of these is encountered. If `allowcomments' is non-zero, embedded RFC 2822 comments are allowed within the parsed fragment. rFr?rŠrvT)r„r~rSrUr‹rŒr�)r‡Ú begincharÚendcharsÚ allowcommentsÚslistrs r;Ú getdelimitedzAddrlistClass.getdelimited¤sI€ð Œ:�d”hÔ  9Ò ,Ð ,Ø�2à�ˆØˆØ ˆŒ�A‰ ˆŒØŒh�˜TœZ™œÒ(Ð(Øð 3Ø— ’ ˜TœZ¨¬Ô1Ñ2Ô2Ð2Ø��Ø”˜DœHÔ%¨Ð1Ð1Ø�”˜A‘ �”ØØð 3 4¤:¨d¬hÔ#7¸3Ò#>Ð#>Ø— ’ ˜TŸ_š_Ñ.Ô.Ñ/Ô/Ð/ØØ”˜DœHÔ%¨Ò-Ð-Ø��à— ’ ˜TœZ¨¬Ô1Ñ2Ô2Ð2Ø ˆHŒH˜‰MˆHŒHðŒh�˜TœZ™œÒ(Ð(õ ×Ò Ñ&Ô&Ð&r<có0—| ddd¦«S)z1Get a quote-delimited fragment from self's field.rwz" F©r¼©r‡s r;r­zAddrlistClass.getquoteÉs€à× Ò   e¨UÑ3Ô3Ð3r<có0—| ddd¦«S)z7Get a parenthesis-delimited fragment from self's field.rŠz) Tr¾r¿s r;r‹zAddrlistClass.getcommentÍs€à× Ò   e¨TÑ2Ô2Ð2r<có6—d| ddd¦«zS)z!Parse an RFC 2822 domain-literal.z[%s]r´z] Fr¾r¿s r;rµzAddrlistClass.getdomainliteralÑs€à˜×)Ò)¨#¨u°eÑ<Ô<Ñ<ÐräsNðððð  ð ð €ðÐÐÐÐÐÐÐà €Ø€ Ø € ðIðIðI€ ð >Ð =Ð =€ ð˜A Q¨AØ $Ø $Ø $Ø $Ø $ð ð€ ð ð ð ðz;ðz;ðz;ðzðððððð9ð9ð9ðkðkðkðkðkñkôkðkðZ -'ð-'ð-'ð-'ð-'�-ñ-'ô-'ð-'ð-'ð-'r<