
    Mh                    0    d dl mZ d dlmZ dddZddZdS )    )annotations)
get_globalF	territorystrregionalboolde_factoreturntuple[str, ...]c                   t          |                                           } dh|r                    d           |r                    d           t          d                              | i           }fd|                                D             }|                    d           t          d |D                       S )	a^  
    Get the official language(s) for the given territory.

    The language codes, if any are known, are returned in order of descending popularity.

    If the `regional` flag is set, then languages which are regionally official are also returned.

    If the `de_facto` flag is set, then languages which are "de facto" official are also returned.

    .. warning:: Note that the data is as up to date as the current version of the CLDR used
                 by Babel.  If you need scientifically accurate information, use another source!

    :param territory: Territory code
    :type territory: str
    :param regional: Whether to return regionally official languages too
    :type regional: bool
    :param de_facto: Whether to return de-facto official languages too
    :type de_facto: bool
    :return: Tuple of language codes
    :rtype: tuple[str]
    officialofficial_regionalde_facto_officialterritory_languagesc                X    g | ]&\  }}|                     d           v |d         |f'S )official_statuspopulation_percent)get).0languageinfoallowed_statis      O/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/babel/languages.py
<listcomp>z*get_official_languages.<locals>.<listcomp>%   sJ       Hd88%&&-77 
"	#X.777    T)reversec              3      K   | ]	\  }}|V  
d S )N )r   _langs      r   	<genexpr>z)get_official_languages.<locals>.<genexpr>+   s&      ++'!T++++++r   )r   upperaddr   r   itemssorttuple)r   r   r	   	languagespairsr   s        @r   get_official_languagesr)      s    . I$$&&ILM /-... /-...01155iDDI   'oo//  E
 
JJtJ++U++++++r   (dict[str, dict[str, float | str | None]]c                    t          |                                           } t          d                              | i                                           S )a!  
    Get a dictionary of language information for a territory.

    The dictionary is keyed by language code; the values are dicts with more information.

    The following keys are currently known for the values:

    * `population_percent`: The percentage of the territory's population speaking the
                            language.
    * `official_status`: An optional string describing the officiality status of the language.
                         Known values are "official", "official_regional" and "de_facto_official".

    .. warning:: Note that the data is as up to date as the current version of the CLDR used
                 by Babel.  If you need scientifically accurate information, use another source!

    .. note:: Note that the format of the dict returned may change between Babel versions.

    See https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html

    :param territory: Territory code
    :type territory: str
    :return: Language information dictionary
    :rtype: dict[str, dict]
    r   )r   r"   r   r   copy)r   s    r   get_territory_language_infor-   .   sF    2 I$$&&I+,,00B??DDFFFr   N)FF)r   r   r   r   r	   r   r
   r   )r   r   r
   r*   )
__future__r   
babel.corer   r)   r-   r   r   r   <module>r0      sg    " " " " " " ! ! ! ! ! !%, %, %, %, %,PG G G G G Gr   