Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/locale.pyo

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@s?!dZddlZddlZddlZddlZddlZddlZy
eZWn'e	k
r�de
fd��YZnXddddd	d
ddd
ddddddddddddddgZyddlTWnne
k
rKdZdZdZd Zd!Zd"Zd#Zd$ZeZd%�Zdd&�Zd'�Zd(�ZnXeZiZeje�d)��Zd*�Z e!d+�Z"d,�Z#ej$d-�Z%e!e!d.�Z&e!e!d/�Z'e!d0�Z(e)e!e!d1�Z*d2�Z+e,d3�Z-d4�Z.d5�Z/eZ0d6j1d7�e2d8�D��Z3d9�Z4d:�Z5d;�Z6d<�Z7d�d?�Z8ed@�Z9ddA�ZedB�Z:ej;j<dC�r�e)dD�Z=n4ye>Wne	k
r�e)dE�Z=n
Xe)dF�Z=idGdH6dGdI6dJdK6dLdM6dLdN6dOdP6dJdQ6dJdR6dJdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dLdp6dqdr6dsdt6dOdu6dvdw6dxdy6dzd{6d|d}6Z?iZd~d6d~d�6d~d�6d~d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�d��d��d��d��d��d��d��d��d��d���6d���6d�6d�6d�d�GdI6d�6d�6dGd�Gd��d�Gd�Gd6dd6dd6dd6dd6dd6d	d
6dd6dd6dd
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d d"6d#d$6d d%6dd&6d�d'6d�d(6d)d*6d+d,6d-d.6d/d06d/d16d/d26d/d36d/d46d5d66d5d76d5d86d9d:6d;d<6d;d=6d/d>6d/d?6d/d@6dAdB6dCdD6dAdE6dAdF6dCdG6dAdH6dCdI6dCdJ6dAdK6dAdL6dAdM6dNdO6dPdQ6dRdS6dRdT6dUdV6dUdW6dXdY6dUdZ6d[d\6d[d]6d^d_6d^d`6dadb6d^dc6ddde6dddf6dgdh6dgdi6dNdj6dNdk6dPdl6dPdm6dNdn6dPdo6dPdp6dqdr6dPds6dtdu6dtdv6dwdx6dwdy6dzd{6dwd|6dNd}6d~d6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�dK6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6dGd�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�d��d��d��d��d��d��d��d��d��d�����6d�6d�6d�6d�������6d�6d�6d�6dd6dd6dd6dd6dd6dd	6d
d6d
d6d
d6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd!6d"d#6d"d$6d%d&6d%d'6d(d)6d(d*6d+d,6d+d-6d.d/6d.d06d1d26d1d36d4d56d4d66d�d76d8d96d8d:6d�d;6d<d=6d8d>6d?d@6d8dA6dBdC6dBdD6dBdE6dFdG6dFdH6dIdJ6dFdK6dLdM6dLdN6dOdP6dQdR6dQdS6dQdT6dUdV6dUdW6dQdX6dQdY6dZd[6dQd\6dUd]6dUd^6d_d`6d_da6d_db6dcdd6dcde6dfdg6dhdi6djdk6djdl6djdm6dndo6dndp6dqdr6dnds6d�6d�6d�6dwdx6dwdy6dzd{6dzd|6dzd}6d~d6d~d�6dfd�6dfd�6dfd�6dhd�6dhd�6d�d�6dhd�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6dfd�6dfd�6dfd�6dfd�6dzd�6dfd�6dfd�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6dNd�6dNd�6dNd�6ddd�6dNd�6dNd�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d-d�6d-d�6d-d�d-d�d��d��d��d��d��d��d��d��d��d��d��d�����6d�6d�d��d��d��d��d��d��6d�6d�6d�6dd6dd6d�6d�6d�6d�6d�6d
d6d�6d�6d�6dd6dd6dd6d�d6d�d6d�d6dd6dd6dd6dd6dd6dd6dd6dd 6dd!6dd"6dd#6dd$6dd%6dd&6dd'6dd(6dd)6dd*6dd+6dd,6dd-6d.d/6d.d06d.d16d2d36d.d46d5d66d5d76d5d86d9d:6d9d;6d<d=6d>d?6d>d@6dAdB6dAdC6dAdD6dAdE6dAdF6dAdG6dHdI6dHdJ6dKdL6dMdN6dMdO6dMdP6dQdR6dSdT6dSdU6dVdW6dVdX6dYdZ6d[d\6d[d]6d^d_6d^d`6d[da6dYdb6dYdc6dYdd6dedf6dgdh6dgdi6dgdj6dkdl6dmdn6dmdo6dpdq6dpdr6dpds6dtdu6dtdv6dwdx6dtdy6dwdz6d{d|6d{d}6d~d6d~d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d��6d��6d��6d��6d�d�6d�d�6d�d�6d~d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d~d�6d~d�6d~d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�d�d�d�d�d��d��d��d��d��d��d��d��d��d�����6d�6dGd�Gd��6d�6d�6d���6d�6d�6d�6dd6dd6d�6d�6d�6d�6d�6d	d
6d�6dd
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd!6dd"6dd#6d$d%6d$d&6d$d'6d(d)6d*d+6d(d,6d*d-6d.d/6d0d16d0d26d3d46d5d66d-d76d3d86d0d96d:d;6d:d<6d:d=6d>d?6d>d@6d>dA6dBdC6dDdE6dBdF6dBdG6d>dH6dBdI6dBdJ6dKdL6dKdM6d�N6d�O6d�P6d�Q6dRdS6dRdT6dRdU6dVdW6dVdX6d0dY6dZd[6d\d]6d3d^6d3d_6dKd`6dZda6dZdb6dcdd6dVde6d0df6d0dg6d0dh6d3di6d0dj6dkdl6d3dm6dKdn6dKdo6dkdp6dVdq6dVdr6dsdt6dsdu6dsdv6dwdx6dwdy6dwdz6d{d|6d}d~6dd�6dd�6d�d�6d�d�6d�d�6d�d�6d{d�6d{d�6d{d�6d}d�6d}d�6d{d�6d{d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�d��d��d��d��d��d��d��d��d��d��d��d����)d��6d�6d)d��6d�6d�6d�6d�6d�6d�6d�6d�6d+d6d+d6dd6dd	6dd
6Z@i�dd6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d7d96d:d;6d<d=6d>d?6d@dA6dBdC6dBdD6dEdF6dGdH6dIdJ6dKd"6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6d~d6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d��d��d��d��d��d��d��d��d�6d�6d�6d�6d�6d�6d�6d�6dd6dd6dd6dd6dd	6d
d6dd
6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d0d46d2d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6d@dD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6d�d�6ZAd��ZByeWne	k
r!nXejCd��eDd�kr;!d�GHHeB�Hd�GHHe/�ndS(�s� Locale support.

    The module provides low-level access to the C lib's locale APIs
    and adds high level number formatting APIs as well as a locale
    aliasing engine to complement these.

    The aliasing engine includes support for many commonly used locale
    names and maps them to values suitable for passing to the C lib's
    setlocale() function. It also includes default encodings for all
    supported locale names.

i�Nt_unicodecBseZRS((t__name__t
__module__(((s/sys/lib/python2.7/locale.pyRst	getlocaletgetdefaultlocaletgetpreferredencodingtErrort	setlocaletresetlocalet
localeconvtstrcolltstrxfrmtstrtatoftatoitformatt
format_stringtcurrencyt	normalizetLC_CTYPEt
LC_COLLATEtLC_TIMEtLC_MONETARYt
LC_NUMERICtLC_ALLtCHAR_MAX(t*iiiiiiiicCs�idgd6dd6dd6dd6dd6gd6dd	6d
d6dd6dd
6dd6dd6dd6dd6dd6dd6dd6dd6S(sd localeconv() -> dict.
            Returns numeric and monetary locale-specific parameters.
        itgroupingttcurrency_symboltn_sign_posnt
p_cs_precedest
n_cs_precedestmon_groupingtn_sep_by_spacet.t
decimal_pointt
negative_signt
positive_signtp_sep_by_spacetint_curr_symboltp_sign_posnt
thousands_septmon_thousands_septfrac_digitstmon_decimal_pointtint_frac_digits((((s/sys/lib/python2.7/locale.pyR	;s$
cCs|dkrtd�ndS(sd setlocale(integer,string=None) -> string.
            Activates/queries locale processing.
        RtCs*_locale emulation only supports "C" localeN(NRR/(tNoneR(tcategorytvalue((s/sys/lib/python2.7/locale.pyRSscCs
t||�S(sb strcoll(string,string) -> int.
            Compares two strings according to the locale.
        (tcmp(tatb((s/sys/lib/python2.7/locale.pyR
[scCs|S(sd strxfrm(string) -> string.
            Returns a string that behaves for cmp locale-aware.
        ((ts((s/sys/lib/python2.7/locale.pyRascCs#t�}tr|jt�n|S(N(t_localeconvt_override_localeconvtupdate(td((s/sys/lib/python2.7/locale.pyR	ns	ccsrd}xe|D]]}|tkr#dS|dkr_|dkrJtd��nxtr[|VqMWn|V|}q
WdS(Nisinvalid grouping(R0Rt
ValueErrortTrue(Rt
last_intervaltinterval((s/sys/lib/python2.7/locale.pyt_grouping_intervals|s
	c
Cs6t�}||rdpd}||r.dp1d}|sE|dfS|ddkrz|j�}|t|�}|}nd}d}g}xXt|�D]J}	|s�|dd	kr�|}d}Pn|j||	�||	 }q�W|r�j|�n|j�||j|�|t|�t|�d
fS(NR+R*R!Rii�t Rt
0123456789i(R	trstriptlenR?tappendtreversetjoin(
R6tmonetarytconvR*Rtstrippedtright_spacestleft_spacestgroupsR>((s/sys/lib/python2.7/locale.pyt_group�s0	
	
cCs�d}x.|r6||dkr6|d7}|d8}q	Wt|�d}x.|rw||dkrw|d8}|d8}qJW|||d!S(NiR@i(RC(R6tamounttlpostrpos((s/sys/lib/python2.7/locale.pyt_strip_padding�s

sG%(?:\((?P<key>.*?)\))?(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]cGsctj|�}|s4t|j��t|�krMtdt|���nt|||||�S(s�Returns the locale-aware substitution of a %? specifier
    (percent).

    additional is for format strings which contain one or more
    '*' modifiers.sHformat() must be given exactly one %%char format specifier, %s not valid(t_percent_retmatchRCtgroupR;treprt_format(tpercentR2RRGt
additionalRS((s/sys/lib/python2.7/locale.pyR�s
%c	Gs|r||f|}n
||}|ddkr�d}|jd�}|rrt|dd|�\|d<}nt�|r�dp�d}|j|�}|rt||�}qnR|ddkrd}|r�|d|�\}}n|rt||�}qn|S(	Ni�teEfFgGiR#RGR-R$tdiu(tsplitRMR	RFRQ(	RWR2RRGRXt	formattedtsepstpartsR$((s/sys/lib/python2.7/locale.pyRV�s(
#c	Csittj|��}tjd|�}tj|�r�g}x|D]K}|j�ddkro|jd�qC|jt|j�||��qCWn�t	|t
�s�|f}ng}d}x�|D]�}|j�ddkr�jd�q�|jd�jd�}|jt|j�|||t
||d|d|!��|d|7}q�Wt
|�}||S(s�Formats a string in the same way that the % formatting would use,
    but takes the current locale into account.
    Grouping is applied if the third parameter is true.s%si�t%it	modifiersRi(tlistRRtfinditertsubtoperatort
isMappingTypeRTRDRt
isinstancettupletcountRVtFalse(	tftvalRtpercentstnew_ftnew_valtperctit	starcount((s/sys/lib/python2.7/locale.pyR�s0
&
cCs�t�}||rdpd}|dkr:td��ntd|t|�|dt�}d|d}|r�|rd	p�d
}||dkr�dp�d
}||dkr�dp�d}	|r�|	r�dp�d|}q�|	r�p�|}n||dkrdpd}
||dkr/dp2d}|
dkrSd|d}n~|
dkrl||}ne|
dkr�||}nL|
dkr�|jd|�}n+|
dkr�|jd|�}n
||}|jdd�jdd�S(sIFormats val according to the currency settings
    in the current locale.R.R,is9Currency formatting is not possible using the 'C' locale.s%%.%ifRGt<t>R(RiR RR"R'R@RRR)R%R&t(t)iiii(R	R;RtabsR<treplace(RktsymbolRt
internationalRHtdigitsR6tsmbtprecedest	separatedtsign_postsign((s/sys/lib/python2.7/locale.pyRs6	"


cCs
td|�S(s9Convert float to integer, taking the locale into account.s%.12g(R(Rk((s/sys/lib/python2.7/locale.pyR-scCsZt�d}|r(|j|d�}nt�d}|rP|j|d�}n||�S(s<Parses a string as a float according to the locale settings.R*RR$R#(R	Rw(tstringtfuncttstdd((s/sys/lib/python2.7/locale.pyR
1s

cCs
t|t�S(sAConverts a string to an integer according to the locale settings.(R
tint(R((s/sys/lib/python2.7/locale.pyR>scCsUttd�tddd�}|GdGt|�GHtd�}|GdGt|�GHdS(NRs%di�itisg�Q�	@(RRRRRR
(ts1((s/sys/lib/python2.7/locale.pyt_testBs

RccsI|]?}t|td�kr:|td�kr:|dn|�VqdS(tAtZi N(tchrtord(t.0tx((s/sys/lib/python2.7/locale.pys	<genexpr>WsicCsmd|kr"||jd� }n|}tj|�}tjjj||�}tj||�}|d|S(NR#(tindext	encodingstnormalize_encodingtaliasestgettlocale_encoding_alias(tcodetencodingtlangnamet
norm_encoding((s/sys/lib/python2.7/locale.pyt_replace_encoding[s			c	Cs�t|t�r!|jd�}n|jt�}d|krQ|jdd�}nd|krx|jdd�\}}nd}d|kr�|jd�d \}}n|}d}|}|r�jdd�}|jd	d�}|d|7}n|}|r|d|7}ntj|d
�}|d
k	r2|S|r�tj|d
�}|d
k	r�d|krn|d|S|jdd�djt�|kr�|Sq�n|r�|}|r�|d|7}ntj|d
�}|d
k	r$d|kr�||�S|jdd�\}}t
||�d|S|r�tj|d
�}|d
k	r�d|krit
||�d|S|jdd�\}}|jt�|kr�t
||�d|Sq�q�n|S(s� Returns a normalized locale code for the given locale
        name.

        The returned locale code is formatted for use with
        setlocale().

        If normalization fails, the original name is returned
        unchanged.

        If the given encoding is not known, the function defaults to
        the default encoding for the locale code just like setlocale()
        does.

    tasciit:R#t@iRit-t_N(RfRtencodet	translatet_ascii_lower_mapRwR[tlocale_aliasR�R0R�(	t
localenameR�tmodifierR�R�tlang_encR�tlookup_nametdefmod((s/sys/lib/python2.7/locale.pyRksb%

cCs�t|�}d|krU|jdd�\}}|dkrUd|krU|dfSnd|krxt|jd�d �S|dkr�d
Std|�d	S(s� Parses the locale code for localename and returns the
        result as tuple (language code, encoding).

        The localename is normalized and passed through the locale
        alias engine. A ValueError is raised in case the locale name
        cannot be parsed.

        The language code corresponds to RFC 1766.  code and encoding
        can be None in case the values cannot be determined or are
        unknown to this implementation.

    R�iteuroR#siso-8859-15iR/sunknown locale: %sN(NN(RR[RgR0R;(R�R�R�((s/sys/lib/python2.7/locale.pyt_parse_localename�s
cCsA|\}}|dkr!d}n|dkr1|S|d|SdS(s� Builds a locale code from the given tuple (language code,
        encoding).

        No aliasing or normalizing takes place.

    R/R#N(R0(tlocaletupletlanguageR�((s/sys/lib/python2.7/locale.pyt_build_localename�s	tLANGtLANGUAGEcCs�y"ddl}|j�\}}Wnttfk
r;nKXtjdkr||r||d dkr|tjt|d��}n||fSddl	}|j
j}xO|D]A}||d�}|r�|dkr�jd�d}nPq�q�Wd	}t
|�S(
s� Tries to determine the default locale settings and returns
        them as tuple (language code, encoding).

        According to POSIX, a program which has not called
        setlocale(LC_ALL, "") runs using the portable 'C' locale.
        Calling setlocale(LC_ALL, "") lets it use the default locale as
        defined by the LANG variable. Since we don't want to interfere
        with the current locale setting we thus emulate the behavior
        in the way described above.

        To maintain compatibility with other platforms, not only the
        LANG variable is tested, but a list of variables given as
        envvars parameter. The first found to be defined will be
        used. envvars defaults to the search path used in GNU gettext;
        it must always contain the variable name 'LANG'.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    i�Ntwin32it0xiR�R�R/(t_localet_getdefaultlocaletImportErrortAttributeErrortsystplatformtwindows_localeR�R�tostenvironR0R[R�(tenvvarsR�R�R�R�tlookuptvariableR�((s/sys/lib/python2.7/locale.pyR�s$%

cCs:t|�}|tkr0d|kr0td�nt|�S(sp Returns the current setting for the given locale category as
        tuple (language code, encoding).

        category may be one of the LC_* value except LC_ALL. It
        defaults to LC_CTYPE.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    t;s category LC_ALL is not supported(t
_setlocaleRt	TypeErrorR�(R1R�((s/sys/lib/python2.7/locale.pyR"s
cCs@|r3t|�td�k	r3tt|��}nt||�S(s^ Set the locale for the given category.  The locale can be
        a string, an iterable of two strings (language code and encoding),
        or None.

        Iterables are converted to strings using the locale aliasing
        engine.  Locale strings are passed directly to the C lib.

        category may be given as one of the LC_* values.

    R(ttypeRR�R�(R1tlocale((s/sys/lib/python2.7/locale.pyR4scCst|tt���dS(s� Sets the locale for category to the default setting.

        The default setting is determined by calling
        getdefaultlocale(). category defaults to LC_ALL.

    N(R�R�R(R1((s/sys/lib/python2.7/locale.pyREstwincCsddl}|j�dS(s1Return the charset that the user is likely using.i�Ni(R�R�(tdo_setlocaleR�((s/sys/lib/python2.7/locale.pyRQscCst�dS(sbReturn the charset that the user is likely using,
            by looking at environment variables.i(R(R�((s/sys/lib/python2.7/locale.pyR[scCsb|rTtt�}yttd�Wntk
r6nXtt�}tt|�|Stt�SdS(sdReturn the charset that the user is likely using,
            according to the system configuration.RN(RRRtnl_langinfotCODESET(R�toldloctresult((s/sys/lib/python2.7/locale.pyR`s

R/t437tcs	ISO8859-1tentJIS7tjistjis7teucJPtajecR�tlatin_1t	iso8859_1s
ISO8859-10t
iso8859_10s
ISO8859-11t
iso8859_11s
ISO8859-13t
iso8859_13s
ISO8859-14t
iso8859_14s
ISO8859-15t
iso8859_15s
ISO8859-16t
iso8859_16s	ISO8859-2t	iso8859_2s	ISO8859-3t	iso8859_3s	ISO8859-4t	iso8859_4s	ISO8859-5t	iso8859_5s	ISO8859-6t	iso8859_6s	ISO8859-7t	iso8859_7s	ISO8859-8t	iso8859_8s	ISO8859-9t	iso8859_9t
iso2022_jptSJISt	shift_jistTACTISttactisteuc_jpteucKRteuc_krsUTF-8tutf_8sKOI8-Rtkoi8_rsKOI8-Utkoi8_usaz_AZ.KOI8-Cta3ta3_azsa3_az.koi8cs
a3_az.koicsaf_ZA.ISO8859-1taftaf_zasaf_za.iso88591sam_ET.UTF-8tamtam_etsen_US.ISO8859-1tamericansamerican.iso88591sar_AA.ISO8859-6tartar_aasar_aa.iso88596sar_AE.ISO8859-6tar_aesar_ae.iso88596sar_BH.ISO8859-6tar_bhsar_bh.iso88596sar_DZ.ISO8859-6tar_dzsar_dz.iso88596sar_EG.ISO8859-6tar_egsar_eg.iso88596sar_IN.UTF-8tar_insar_IQ.ISO8859-6tar_iqsar_iq.iso88596sar_JO.ISO8859-6tar_josar_jo.iso88596sar_KW.ISO8859-6tar_kwsar_kw.iso88596sar_LB.ISO8859-6tar_lbsar_lb.iso88596sar_LY.ISO8859-6tar_lysar_ly.iso88596sar_MA.ISO8859-6tar_masar_ma.iso88596sar_OM.ISO8859-6tar_omsar_om.iso88596sar_QA.ISO8859-6tar_qasar_qa.iso88596sar_SA.ISO8859-6tar_sasar_sa.iso88596sar_SD.ISO8859-6tar_sdsar_sd.iso88596sar_SY.ISO8859-6tar_sysar_sy.iso88596sar_TN.ISO8859-6tar_tnsar_tn.iso88596sar_YE.ISO8859-6tar_yesar_ye.iso88596tarabicsarabic.iso88596sas_IN.UTF-8tastas_insaz_AZ.ISO8859-9Etaztaz_azsaz_az.iso88599esbe_BY.CP1251tbesbe_BY.UTF-8@latinsbe@latintbe_bysbe_by.cp1251sbe_by.microsoftcp1251sbe_by.utf8@latinsbe_by@latinsbg_BG.CP1251tbgtbg_bgsbg_bg.cp1251sbg_BG.ISO8859-5sbg_bg.iso88595sbg_BG.KOI8-Rsbg_bg.koi8rsbg_bg.microsoftcp1251sbn_IN.UTF-8tbn_insbo_IN.UTF-8tbo_insnb_NO.ISO8859-1tbokmalsbokm�br_FR.ISO8859-1tbrtbr_frsbr_fr.iso88591sbr_FR.ISO8859-14sbr_fr.iso885914sbr_FR.ISO8859-15sbr_fr.iso885915sbr_fr.iso885915@eurosbr_FR.UTF-8sbr_fr.utf8@euros
br_fr@eurosbs_BA.ISO8859-2tbstbs_basbs_ba.iso88592t	bulgariansfr_CA.ISO8859-1sc-frenchsc-french.iso88591sc.asciisc.ens
c.iso88591tc_csc_c.csca_ES.ISO8859-1tcasca_AD.ISO8859-1tca_adsca_ad.iso88591sca_AD.ISO8859-15sca_ad.iso885915sca_ad.iso885915@eurosca_AD.UTF-8sca_ad.utf8@euros
ca_ad@eurotca_essca_es.iso88591sca_ES.ISO8859-15sca_es.iso885915sca_es.iso885915@eurosca_ES.UTF-8sca_es.utf8@euros
ca_es@eurosca_FR.ISO8859-1tca_frsca_fr.iso88591sca_FR.ISO8859-15sca_fr.iso885915sca_fr.iso885915@eurosca_FR.UTF-8sca_fr.utf8@euros
ca_fr@eurosca_IT.ISO8859-1tca_itsca_it.iso88591sca_IT.ISO8859-15sca_it.iso885915sca_it.iso885915@eurosca_IT.UTF-8sca_it.utf8@euros
ca_it@eurotcatalantcextends
cextend.enszh_CN.eucCNs	chinese-sszh_TW.eucTWs	chinese-tshr_HR.ISO8859-2tcroatianscs_CZ.ISO8859-2tcstcs_csscs_cs.iso88592tcs_czscs_cz.iso88592scy_GB.ISO8859-1tcytcy_gbscy_gb.iso88591scy_GB.ISO8859-14scy_gb.iso885914scy_GB.ISO8859-15scy_gb.iso885915s
cy_gb@eurotcztcz_cztczechsda_DK.ISO8859-1tdasda_DK.ISO8859-15sda.iso885915tda_dksda_dk.88591sda_dk.885915sda_dk.iso88591sda_dk.iso885915s
da_dk@eurotdanishsdanish.iso88591tdansksde_DE.ISO8859-1tdesde_DE.ISO8859-15sde.iso885915sde_AT.ISO8859-1tde_atsde_at.iso88591sde_AT.ISO8859-15sde_at.iso885915sde_at.iso885915@eurosde_AT.UTF-8sde_at.utf8@euros
de_at@eurosde_BE.ISO8859-1tde_besde_be.iso88591sde_BE.ISO8859-15sde_be.iso885915sde_be.iso885915@eurosde_BE.UTF-8sde_be.utf8@euros
de_be@eurosde_CH.ISO8859-1tde_chsde_ch.iso88591sde_CH.ISO8859-15sde_ch.iso885915s
de_ch@eurotde_desde_de.88591sde_de.885915sde_de.885915@eurosde_de.iso88591sde_de.iso885915sde_de.iso885915@eurosde_DE.UTF-8sde_de.utf8@euros
de_de@eurosde_LU.ISO8859-1tde_lusde_lu.iso88591sde_LU.ISO8859-15sde_lu.iso885915sde_lu.iso885915@eurosde_LU.UTF-8sde_lu.utf8@euros
de_lu@eurotdeutschsnl_NL.ISO8859-1tdutchsnl_BE.ISO8859-1sdutch.iso88591see_EE.ISO8859-4teetee_eesee_ee.iso88594set_EE.ISO8859-1teestisel_GR.ISO8859-7teltel_grsel_gr.iso88597sel_GR.ISO8859-15s
el_gr@eurosen.iso88591sen_AU.ISO8859-1ten_ausen_au.iso88591sen_BE.ISO8859-1ten_besen_BE.ISO8859-15s
en_be@eurosen_BW.ISO8859-1ten_bwsen_bw.iso88591sen_CA.ISO8859-1ten_casen_ca.iso88591sen_GB.ISO8859-1ten_gbsen_gb.88591sen_gb.iso88591sen_GB.ISO8859-15sen_gb.iso885915s
en_gb@eurosen_HK.ISO8859-1ten_hksen_hk.iso88591sen_IE.ISO8859-1ten_iesen_ie.iso88591sen_IE.ISO8859-15sen_ie.iso885915sen_ie.iso885915@eurosen_IE.UTF-8sen_ie.utf8@euros
en_ie@eurosen_IN.ISO8859-1ten_insen_NZ.ISO8859-1ten_nzsen_nz.iso88591sen_PH.ISO8859-1ten_phsen_ph.iso88591sen_SG.ISO8859-1ten_sgsen_sg.iso88591ten_ukten_ussen_us.88591sen_US.ISO8859-15sen_us.885915sen_us.iso88591sen_us.iso885915sen_us.iso885915@euros
en_us@eurosen_us@euro@eurosen_ZA.ISO8859-1ten_zasen_za.88591sen_za.iso88591sen_ZA.ISO8859-15sen_za.iso885915s
en_za@eurosen_ZW.ISO8859-1ten_zwsen_zw.iso88591teng_gbseng_gb.8859sen_EN.ISO8859-1tenglishsenglish.iso88591t
english_uksenglish_uk.8859senglish_united-statessenglish_united-states.437t
english_ussenglish_us.8859senglish_us.asciiseo_XX.ISO8859-3teoseo_EO.ISO8859-3teo_eoseo_eo.iso88593teo_xxseo_xx.iso88593ses_ES.ISO8859-1tesses_AR.ISO8859-1tes_arses_ar.iso88591ses_BO.ISO8859-1tes_boses_bo.iso88591ses_CL.ISO8859-1tes_clses_cl.iso88591ses_CO.ISO8859-1tes_coses_co.iso88591ses_CR.ISO8859-1tes_crses_cr.iso88591ses_DO.ISO8859-1tes_doses_do.iso88591ses_EC.ISO8859-1tes_ecses_ec.iso88591tes_esses_es.88591ses_es.iso88591ses_ES.ISO8859-15ses_es.iso885915ses_es.iso885915@euroses_ES.UTF-8ses_es.utf8@euros
es_es@euroses_GT.ISO8859-1tes_gtses_gt.iso88591ses_HN.ISO8859-1tes_hnses_hn.iso88591ses_MX.ISO8859-1tes_mxses_mx.iso88591ses_NI.ISO8859-1tes_nises_ni.iso88591ses_PA.ISO8859-1tes_pases_pa.iso88591ses_PA.ISO8859-15ses_pa.iso885915s
es_pa@euroses_PE.ISO8859-1tes_peses_pe.iso88591ses_PE.ISO8859-15ses_pe.iso885915s
es_pe@euroses_PR.ISO8859-1tes_prses_pr.iso88591ses_PY.ISO8859-1tes_pyses_py.iso88591ses_PY.ISO8859-15ses_py.iso885915s
es_py@euroses_SV.ISO8859-1tes_svses_sv.iso88591ses_SV.ISO8859-15ses_sv.iso885915s
es_sv@euroses_US.ISO8859-1tes_usses_us.iso88591ses_UY.ISO8859-1tes_uyses_uy.iso88591ses_UY.ISO8859-15ses_uy.iso885915s
es_uy@euroses_VE.ISO8859-1tes_veses_ve.iso88591ses_VE.ISO8859-15ses_ve.iso885915s
es_ve@eurotestonianset_EE.ISO8859-15tettet_eeset_ee.iso88591set_EE.ISO8859-13set_ee.iso885913set_ee.iso885915set_EE.ISO8859-4set_ee.iso88594s
et_ee@euroseu_ES.ISO8859-1teuteu_esseu_es.iso88591seu_ES.ISO8859-15seu_es.iso885915seu_es.iso885915@euroseu_ES.UTF-8seu_es.utf8@euros
eu_es@eurosfa_IR.UTF-8tfatfa_irsfa_IR.ISIRI-3342sfa_ir.isiri3342sfi_FI.ISO8859-15tfisfi.iso885915tfi_fisfi_FI.ISO8859-1sfi_fi.88591sfi_fi.iso88591sfi_fi.iso885915sfi_fi.iso885915@eurosfi_FI.UTF-8sfi_fi.utf8@euros
fi_fi@eurotfinnishsfinnish.iso88591sfo_FO.ISO8859-1tfotfo_fosfo_fo.iso88591sfo_FO.ISO8859-15sfo_fo.iso885915s
fo_fo@eurosfr_FR.ISO8859-1tfrsfr_FR.ISO8859-15sfr.iso885915sfr_BE.ISO8859-1tfr_besfr_be.88591sfr_be.iso88591sfr_BE.ISO8859-15sfr_be.iso885915sfr_be.iso885915@eurosfr_BE.UTF-8sfr_be.utf8@euros
fr_be@eurotfr_casfr_ca.88591sfr_ca.iso88591sfr_CA.ISO8859-15sfr_ca.iso885915s
fr_ca@eurosfr_CH.ISO8859-1tfr_chsfr_ch.88591sfr_ch.iso88591sfr_CH.ISO8859-15sfr_ch.iso885915s
fr_ch@eurotfr_frsfr_fr.88591sfr_fr.iso88591sfr_fr.iso885915sfr_fr.iso885915@eurosfr_FR.UTF-8sfr_fr.utf8@euros
fr_fr@eurosfr_LU.ISO8859-1tfr_lusfr_lu.88591sfr_lu.iso88591sfr_LU.ISO8859-15sfr_lu.iso885915sfr_lu.iso885915@eurosfr_LU.UTF-8sfr_lu.utf8@euros
fr_lu@eurosfran�stfre_frsfre_fr.8859tfrenchsfrench.iso88591t
french_francesfrench_france.8859sga_IE.ISO8859-1tgatga_iesga_ie.iso88591sga_IE.ISO8859-14sga_ie.iso885914sga_IE.ISO8859-15sga_ie.iso885915sga_ie.iso885915@eurosga_IE.UTF-8sga_ie.utf8@euros
ga_ie@eurosgl_ES.ISO8859-1tgalegotgaliciansgd_GB.ISO8859-1tgdtgd_gbsgd_gb.iso88591sgd_GB.ISO8859-14sgd_gb.iso885914sgd_GB.ISO8859-15sgd_gb.iso885915s
gd_gb@eurotger_desger_de.8859tgermansgerman.iso88591tgerman_germanysgerman_germany.8859tgltgl_essgl_es.iso88591sgl_ES.ISO8859-15sgl_es.iso885915sgl_es.iso885915@eurosgl_ES.UTF-8sgl_es.utf8@euros
gl_es@eurotgreeksgreek.iso88597sgu_IN.UTF-8tgu_insgv_GB.ISO8859-1tgvtgv_gbsgv_gb.iso88591sgv_GB.ISO8859-14sgv_gb.iso885914sgv_GB.ISO8859-15sgv_gb.iso885915s
gv_gb@euroshe_IL.ISO8859-8thethe_ilshe_IL.CP1255she_il.cp1255she_il.iso88598she_il.microsoftcp1255thebrewshebrew.iso88598shi_IN.ISCII-DEVthithi_inshi_in.isciidevshne_IN.UTF-8thnethne_inthrthr_hrshr_hr.iso88592thrvatskishu_HU.ISO8859-2thuthu_hushu_hu.iso88592t	hungariansis_IS.ISO8859-1t	icelandicsicelandic.iso88591sid_ID.ISO8859-1tidtid_idtintin_idR�tis_issis_is.iso88591sis_IS.ISO8859-15sis_is.iso885915s
is_is@euros
iso-8859-1siso-8859-15s	iso8859-1s
iso8859-15t
iso_8859_1tiso_8859_15sit_IT.ISO8859-1titsit_IT.ISO8859-15sit.iso885915sit_CH.ISO8859-1tit_chsit_ch.iso88591sit_CH.ISO8859-15sit_ch.iso885915s
it_ch@eurotit_itsit_it.88591sit_it.iso88591sit_it.iso885915sit_it.iso885915@eurosit_IT.UTF-8sit_it.utf8@euros
it_it@eurotitaliansitalian.iso88591siu_CA.NUNACOM-8tiutiu_casiu_ca.nunacom8tiwtiw_ilsiw_il.iso88598sja_JP.eucJPtjas
ja_JP.JIS7sja.jiss
ja_JP.SJISsja.sjistja_jps
ja_jp.ajecs	ja_jp.eucsja_jp.eucjpsja_jp.iso-2022-jpsja_jp.iso2022jps	ja_jp.jiss
ja_jp.jis7sja_jp.mscodes	ja_jp.pcks
ja_jp.sjiss
ja_jp.ujistjapantjapanesesjapanese-eucsjapanese.eucs
japanese.sjistjp_jpska_GE.GEORGIAN-ACADEMYtkatka_geska_ge.georgianacademyska_GE.GEORGIAN-PSska_ge.georgianpsska_ge.georgianrsskl_GL.ISO8859-1tkltkl_glskl_gl.iso88591skl_GL.ISO8859-15skl_gl.iso885915s
kl_gl@euroskm_KH.UTF-8tkm_khskn_IN.UTF-8tkntkn_insko_KR.eucKRtkotko_krs	ko_kr.eucsko_kr.euckrtkoreans
korean.eucsks_IN.UTF-8tkstks_insks_IN.UTF-8@devanagarisks_in@devanagariskw_GB.ISO8859-1tkwtkw_gbskw_gb.iso88591skw_GB.ISO8859-14skw_gb.iso885914skw_GB.ISO8859-15skw_gb.iso885915s
kw_gb@eurosky_KG.UTF-8tkytky_kgslt_LT.ISO8859-13t
lithuanianslo_LA.MULELAO-1tlotlo_laslo_LA.IBM-CP1133slo_la.cp1133slo_la.ibmcp1133slo_la.mulelao1tlttlt_ltslt_lt.iso885913slt_LT.ISO8859-4slt_lt.iso88594slv_LV.ISO8859-13tlvtlv_lvslv_lv.iso885913slv_LV.ISO8859-4slv_lv.iso88594smai_IN.UTF-8tmaitmai_insmi_NZ.ISO8859-1tmitmi_nzsmi_nz.iso88591smk_MK.ISO8859-5tmktmk_mksmk_MK.CP1251smk_mk.cp1251smk_mk.iso88595smk_mk.microsoftcp1251sml_IN.UTF-8tmltml_insmr_IN.UTF-8tmrtmr_insms_MY.ISO8859-1tmstms_mysms_my.iso88591smt_MT.ISO8859-3tmttmt_mtsmt_mt.iso88593tnbtnb_nosnb_no.88591snb_no.iso88591snb_NO.ISO8859-15snb_no.iso885915s
nb_no@eurosne_NP.UTF-8tne_nptnlsnl_NL.ISO8859-15snl.iso885915tnl_besnl_be.88591snl_be.iso88591snl_BE.ISO8859-15snl_be.iso885915snl_be.iso885915@eurosnl_BE.UTF-8snl_be.utf8@euros
nl_be@eurotnl_nlsnl_nl.88591snl_nl.iso88591snl_nl.iso885915snl_nl.iso885915@eurosnl_NL.UTF-8snl_nl.utf8@euros
nl_nl@eurosnn_NO.ISO8859-1tnntnn_nosnn_no.88591snn_no.iso88591snn_NO.ISO8859-15snn_no.iso885915s
nn_no@eurosno_NO.ISO8859-1tnosny_NO.ISO8859-1s
no@nynorsktno_nosno_no.88591sno_no.iso88591sno_NO.ISO8859-15sno_no.iso885915sno_no.iso88591@bokmalsno_no.iso88591@nynorsks
no_no@eurot	norwegiansnorwegian.iso88591snr_ZA.ISO8859-1tnrtnr_zasnr_za.iso88591snso_ZA.ISO8859-15tnsotnso_zasnso_za.iso885915tnytny_nosny_no.88591sny_no.iso88591sny_NO.ISO8859-15sny_no.iso885915s
ny_no@eurotnynorsksoc_FR.ISO8859-1toctoc_frsoc_fr.iso88591soc_FR.ISO8859-15soc_fr.iso885915s
oc_fr@eurosor_IN.UTF-8tortor_inspa_IN.UTF-8tpatpa_inspd_US.ISO8859-1tpdspd_DE.ISO8859-1tpd_despd_de.iso88591spd_DE.ISO8859-15spd_de.iso885915s
pd_de@eurotpd_usspd_us.iso88591spd_US.ISO8859-15spd_us.iso885915s
pd_us@eurosph_PH.ISO8859-1tphtph_phsph_ph.iso88591spl_PL.ISO8859-2tpltpl_plspl_pl.iso88592tpolishspt_PT.ISO8859-1t
portuguesesportuguese.iso88591spt_BR.ISO8859-1tportuguese_brazilsportuguese_brazil.8859tposixs
posix-utf2spp_AN.ISO8859-1tpptpp_anspp_an.iso88591tptspt_PT.ISO8859-15spt.iso885915tpt_brspt_br.88591spt_br.iso88591spt_BR.ISO8859-15spt_br.iso885915s
pt_br@eurotpt_ptspt_pt.88591spt_pt.iso88591spt_pt.iso885915spt_pt.iso885915@eurospt_PT.UTF-8spt_pt.utf8@euros
pt_pt@eurosro_RO.ISO8859-2trotro_rosro_ro.iso88592tromaniansru_RU.UTF-8trusru_RU.KOI8-Rsru.koi8rtru_rusru_RU.CP1251sru_ru.cp1251sru_RU.ISO8859-5sru_ru.iso88595sru_ru.koi8rsru_ru.microsoftcp1251sru_UA.KOI8-Utru_uasru_UA.CP1251sru_ua.cp1251sru_ua.koi8usru_ua.microsoftcp1251trumaniantrussiansrw_RW.ISO8859-1trwtrw_rwsrw_rw.iso88591ssd_IN.UTF-8tsdssd_IN.UTF-8@devanagaris
sd@devanagaritsd_inssd_in@devanagarisse_NO.UTF-8tse_nossr_RS.UTF-8@latint
serbocroatiantshssr_CS.ISO8859-2ssh_ba.iso88592@bosniassh_HR.ISO8859-2tsh_hrssh_hr.iso88592tsh_sptsh_yussi_LK.UTF-8tsitsi_lktsinhalassk_SK.ISO8859-2tsktsk_skssk_sk.iso88592ssl_SI.ISO8859-2tslssl_CS.ISO8859-2tsl_cstsl_sissl_si.iso88592tslovaktslovenet	slovenianssr_CS.ISO8859-5tsptsp_yutspanishsspanish.iso88591t
spanish_spainsspanish_spain.8859ssq_AL.ISO8859-2tsqtsq_alssq_al.iso88592ssr_RS.UTF-8tsrssr@cyrillicssr@latinssr_CS.UTF-8@latinssr@latnssr_CS.UTF-8tsr_csssr_cs.iso88592ssr_cs.iso88592@latnssr_cs.iso88595ssr_cs.utf8@latns
sr_cs@latnssr_ME.UTF-8tsr_metsr_rsssr_rs.utf8@latnssr_rs@latins
sr_rs@latntsr_sptsr_yussr_CS.CP1251ssr_yu.cp1251@cyrillicssr_yu.iso88592ssr_yu.iso88595ssr_yu.iso88595@cyrillicssr_yu.microsoftcp1251@cyrillicssr_yu.utf8@cyrillicssr_yu@cyrillicsss_ZA.ISO8859-1tsstss_zasss_za.iso88591sst_ZA.ISO8859-1tsttst_zasst_za.iso88591ssv_SE.ISO8859-1tsvssv_SE.ISO8859-15ssv.iso885915ssv_FI.ISO8859-1tsv_fissv_fi.iso88591ssv_FI.ISO8859-15ssv_fi.iso885915ssv_fi.iso885915@eurossv_FI.UTF-8ssv_fi.utf8@euros
sv_fi@eurotsv_sessv_se.88591ssv_se.iso88591ssv_se.iso885915s
sv_se@eurotswedishsswedish.iso88591s
ta_IN.TSCII-0ttatta_insta_in.tsciista_in.tscii0ste_IN.UTF-8ttestg_TJ.KOI8-Cttgttg_tjstg_tj.koi8csth_TH.ISO8859-11tthtth_thsth_th.iso885911sth_TH.TIS620sth_th.tactissth_th.tis620tthaistl_PH.ISO8859-1ttlttl_phstl_ph.iso88591stn_ZA.ISO8859-15ttnttn_zastn_za.iso885915str_TR.ISO8859-9ttrttr_trstr_tr.iso88599sts_ZA.ISO8859-1R�tts_zasts_za.iso88591stt_RU.TATAR-CYRtttttt_rustt_RU.KOI8-Cstt_ru.koi8cstt_ru.tatarcyrtturkishsturkish.iso88599suk_UA.KOI8-Utuktuk_uasuk_UA.CP1251suk_ua.cp1251suk_UA.ISO8859-5suk_ua.iso88595suk_ua.koi8usuk_ua.microsoftcp1251s	en_US.utftunivt	universalsen_US.UTF-8suniversal.utf8@ucs4sur_PK.CP1256tursur_IN.UTF-8tur_intur_pksur_pk.cp1256sur_pk.microsoftcp1256suz_UZ.UTF-8tuztuz_uzsuz_UZ.ISO8859-1suz_uz.iso88591suz_uz.utf8@cyrillicsuz_uz@cyrillicsve_ZA.UTF-8tvetve_zas
vi_VN.TCVNtvitvi_vns
vi_vn.tcvnsvi_vn.tcvn5712svi_VN.VISCIIsvi_vn.visciisvi_vn.viscii111swa_BE.ISO8859-1twatwa_beswa_be.iso88591swa_BE.ISO8859-15swa_be.iso885915swa_be.iso885915@euros
wa_be@eurosxh_ZA.ISO8859-1txhtxh_zasxh_za.iso88591syi_US.CP1255tyityi_ussyi_us.cp1255syi_us.microsoftcp1255tzhszh_CN.gb2312tzh_cns
zh_TW.big5s
zh_cn.big5s	zh_cn.eucs
zh_CN.gb18030s
zh_cn.gb18030szh_cn.gb2312s	zh_CN.gbks	zh_cn.gbkszh_HK.big5hkscstzh_hks
zh_HK.big5s
zh_hk.big5szh_hk.big5hkszh_hk.big5hkscstzh_tws
zh_tw.big5s	zh_tw.eucszh_tw.euctwszu_ZA.ISO8859-1tzutzu_zaszu_za.iso88591taf_ZAi6tsq_ALitgsw_FRi�tam_ETi^tar_SAitar_IQitar_EGitar_LYitar_DZitar_MAitar_TNitar_OMi tar_YEi$tar_SYi(tar_JOi,tar_LBi0tar_KWi4tar_AEi8tar_BHi<tar_QAi@thy_AMi+tas_INiMtaz_AZi,i,tba_RUimteu_ESi-tbe_BYi#tbn_INiEtbs_BAi itbr_FRi~tbg_BGitca_ESitzh_CHStzh_TWitzh_CNitzh_HKitzh_SGitzh_MOitzh_CHTi|tco_FRi�thr_HRithr_BAitcs_CZitda_DKitgbz_AFi�tdiv_MVietnl_NLitnl_BEiten_USi	ten_GBi	ten_AUi	ten_CAi	ten_NZi	ten_IEi	ten_ZAi	ten_JAi	 ten_CBi	$ten_BZi	(ten_TTi	,ten_ZWi	0ten_PHi	4ten_INi	@ten_MYi	Di	Htet_EEi%tfo_FOi8tfil_PHidtfi_FIitfr_FRitfr_BEitfr_CAitfr_CHitfr_LUitfr_MCitfy_NLibtgl_ESiVtka_GEi7tde_DEitde_CHitde_ATitde_LUitde_LIitel_GRitkl_GLiotgu_INiGtha_NGihthe_ILi
thi_INi9thu_HUitis_ISitid_IDi!tiu_CAi]i]tga_IEi<tit_ITitit_CHitja_JPitkn_INiKtkk_KZi?tkh_KHiStqut_GTi�trw_RWi�tkok_INiWtko_KRitky_KGi@tlo_LAiTtlv_LVi&tlt_LTi'tdsb_DEi.tlb_LUintmk_MKi/tms_MYi>tms_BNi>tml_INiLtmt_MTi:tmi_NZi�tarn_CLiztmr_INiNtmoh_CAi|tmn_MNiPtmn_CNiPtne_NPiatnb_NOitnn_NOitoc_FRi�tor_INiHtps_AFictfa_IRi)tpl_PLitpt_BRitpt_PTitpa_INiFtquz_BOiktquz_ECiktquz_PEiktro_ROitrm_CHitru_RUitsmn_FIi;$tsmj_NOi;tsmj_SEi;tse_NOi;tse_SEi;tse_FIi;tsms_FIi; tsma_NOi;tsma_SEi;tsa_INiOtsr_SPitsr_BAiiitsi_LKi[tns_ZAilttn_ZAi2tsk_SKitsl_SIi$tes_ESi
tes_MXi
i
tes_GTi
tes_CRi
tes_PAi
tes_DOi
tes_VEi
 tes_COi
$tes_PEi
(tes_ARi
,tes_ECi
0tes_CLi
4tes_URi
8tes_PYi
<tes_BOi
@tes_SVi
Dtes_HNi
Htes_NIi
Ltes_PRi
Ptes_USi
Ttsw_KEiAtsv_SEitsv_FIitsyr_SYiZttg_TJi(ttmz_DZi_tta_INiIttt_RUiDtte_INiJtth_THitbo_BTiQtbo_CNiQttr_TRittk_TMiBtug_CNi�tuk_UAi"twen_DEi.tur_PKi tur_INi tuz_UZiCiCtvi_VNi*tcy_GBiRtwo_SNi�txh_ZAi4tsah_RUi�tii_CNixtyo_NGijtzu_ZAi5cCs�i}|d�}|�|d=dGHddGHt�\}}dG|pJdGHdG|pYdGHHd	GHddGHxT|j�D]F\}}|Gd
GHt|�\}}dG|p�dGHdG|p�dGHHqwWHd
GHddGHt�xT|j�D]F\}}|Gd
GHt|�\}}dG|pdGHdG|p'dGHHq�yttd�WndGHdGHdGHngXHdGHddGHxT|j�D]F\}}|Gd
GHt|�\}}dG|p�dGHdG|p�dGHHqtWdS(s Test function.
    cSsAx:t�j�D])\}}|d dkr|||<qqWdS(NitLC_(tglobalstitems(t
categoriestktv((s/sys/lib/python2.7/locale.pyt_init_categoriesXsRs4Locale defaults as determined by getdefaultlocale():R�iHs
Language: s(undefined)s
Encoding: sLocale settings on startup:s...s
   Language: s
   Encoding: s,Locale settings after calling resetlocale():RsNOTE:s9setlocale(LC_ALL, "") does not support the default locales&given in the OS environment variables.s4Locale settings after calling setlocale(LC_ALL, ""):N(RRRRRR(RR tlangtenctnameR1((s/sys/lib/python2.7/locale.pyt
_print_localeSsV								tLC_MESSAGESt__main__sLocale aliasing:sNumber formatting:(sLC_ALLsLC_CTYPER�sLANGUAGE(Et__doc__R�R�tencodings.aliasestreRdt	functoolstunicodeRt	NameErrortobjectt__all__R�R�RRRRR%RRRR;RR	R0RR
RR7R8twrapsR?RiRMRQtcompileRRRRVRR<RRtfloatR
RR�R�RFtrangeR�R�RR�R�RRRR�t
startswithRR�R�R�R�R$RDR(((s/sys/lib/python2.7/locale.pyt<module>s6	

	
		
		
"-	
				T		5


r

	:



Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].