+
    ~j                     t    R t ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^RI
HtHtHt R R lt ! R R	]4      tR
# )z&Normalized BCP-47 language identifier.)annotations)Any)GetCoreSchemaHandler)
CoreSchemacore_schema)CODE_TO_LANGUAGE_NAMEISO_639_3_TO_1LANGUAGE_NAMES_TO_CODEc                    V ^8  d   QhRRRR/# )   codestrreturn )formats   "l/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/agents/language.py__annotate__r      s     , ,c ,c ,    c                   V P                  4       P                  4       pV\        9   d   \        V,          # V\        9   d   \        V,          pVe   V# V# VP	                  RR4      P                  R4      p\        V4      ^8  d~   V^ ,          pV.pVR,           FS  p\        V4      ^8X  d"   VP                  VP                  4       4       K4  VP                  VP                  4       4       KU  	  RP                  V4      # V# )u*  Normalize a language code/name to BCP-47 format.

Rules:
- Language names (e.g. "english") → ISO 639-1 ("en")
- ISO 639-3 (e.g. "eng") → ISO 639-1 ("en")
- ISO 639-1 (e.g. "en") → pass-through
- BCP-47 (e.g. "en-US") → normalized casing ("en-US")
- Unknown codes → lowercase pass-through
_-   NN)striplowerr	   r   replacesplitlenappend
capitalizeupperjoin)r   loweredmappedpartslangnormalized_partsparts   &      r   _normalize_languager(      s     jjl  "G ((%g.. . (M OOC%++C0E
5zQQx 6"IID4yA~ ''(9: !''

5  xx()) Nr   c                     a  ] tR t^JtRtR V 3R llt]R R l4       t]R R l4       t	]R R	 l4       t
]R
 R l4       tR R ltRtV ;t# )LanguageCodeuH  Normalized BCP-47 language identifier. Accepts any common format.

Examples::

    LanguageCode("english")  # → "en"
    LanguageCode("eng")      # → "en"
    LanguageCode("en")       # → "en"
    LanguageCode("en-US")    # → "en-US"
    LanguageCode("en_us")    # → "en-US"
    LanguageCode("multi")    # → "multi"
c                    V ^8  d   QhRRRR/# )r   r   r   r   r*   r   )r   s   "r   r   LanguageCode.__annotate__W   s     0 03 0< 0r   c                	8   < \        V4      p\        SV `	  W4      # )N)r(   super__new__)clsr   
normalized	__class__s   && r   r/   LanguageCode.__new__W   s    (.
ws//r   c               $    V ^8  d   QhRRRRRR/# )r   source_typer   handlerr   r   r   r   )r   s   "r   r   r,   \   s$     
 

(<
	
r   c                	X    \         P                  ! V \         P                  ! 4       R 7      # ))serialization)r    no_info_plain_validator_functionto_string_ser_schema)r0   r5   r6   s   &&&r   __get_pydantic_core_schema__)LanguageCode.__get_pydantic_core_schema__[   s&     ;;%::<
 	
r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r,   e   s     6 6# 6r   c                n    V P                  R4      ^ ,          p\        P                  ! V4      pVe   V# T# )zqBase language code (ISO 639-1 when possible).

E.g., ``'en'`` from ``'en-US'``, ``'zh'`` from ``'cmn-Hans-CN'``.
r   )r   r   get)selfbaser#   s   &  r   languageLanguageCode.languaged   s6     zz#q!##D)+v55r   c                   V ^8  d   QhRR/# r>   r   )r   s   "r   r   r,   o   s     E ES Er   c                    V P                  R4      pV P                  pVR,           Uu. uF  p\        V4      ^8X  g   K  VNK  	  ppV'       d   V RV^ ,           2# T# u upi )zDISO 639-1 tag with region, e.g., ``'zh-CN'`` from ``'cmn-Hans-CN'``.r   r   )r   rC   r   )rA   r$   rB   pregion_partss   &    r   isoLanguageCode.ison   s`     

3}}#(9<9aA!9<.:$qa)*DD =s   A  A c                   V ^8  d   QhRR/# r   r   z
str | Noner   )r   s   "r   r   r,   w   s      
 r   c                p    V P                  R4      pVR,           F  p\        V4      ^8X  g   K  Vu # 	  R# )z:Region code, e.g., ``'US'`` from ``'en-US'``, or ``None``.r   r   N)r   r   )rA   r$   rG   s   &  r   regionLanguageCode.regionv   s6     

3rA1v{  r   c                   V ^8  d   QhRR/# rL   r   )r   s   "r   r   r,      s     8 8* 8r   c                B    \         P                  ! V P                  4      # )zNReturn the English language name (e.g. ``'english'``), or ``None`` if unknown.)r   r@   rC   )rA   s   &r   to_language_nameLanguageCode.to_language_name   s    $((77r   r   )__name__
__module____qualname____firstlineno____doc__r/   classmethodr;   propertyrC   rI   rN   rR   __static_attributes____classcell__)r2   s   @r   r*   r*   J   sn    
0 0 
 
 6 6 E E  8 8r   r*   N)rX   
__future__r   typingr   pydanticr   pydantic_corer   r   _language_datar   r   r	   r(   r   r*   r   r   r   <module>rb      s.    - "  ) 1 Y Y,^783 78r   