Ë
    Gü´jé
  ã                   óx   — d Z ddlZddlZddlmZ ddlmZ e G d„ d«      «       Z G d„ dej                  «      Z	y)	zData models for edge-tts.é    N)Ú	dataclass)ÚLiteralc            	       ót   — e Zd ZU dZeed<   eed<   eed<   eed<   ed   ed<   eded	ed
edefd„«       Zdd„Z	y)Ú	TTSConfigzU
    Represents the internal TTS configuration for edge-tts's Communicate class.
    ÚvoiceÚrateÚvolumeÚpitch)ÚWordBoundaryÚSentenceBoundaryÚboundaryÚ
param_nameÚparam_valueÚpatternÚreturnc                 ó’   — t        |t        «      st        | › d�«      ‚t        j                  ||«      €t        d| › d|› d�«      ‚|S )aZ  
        Validates the given string parameter based on type and pattern.

        Args:
            param_name (str): The name of the parameter.
            param_value (str): The value of the parameter.
            pattern (str): The pattern to validate the parameter against.

        Returns:
            str: The validated parameter.
        z must be strzInvalid z 'z'.)Ú
isinstanceÚstrÚ	TypeErrorÚreÚmatchÚ
ValueError)r   r   r   s      úS/root/workspace/ytshorts/venv/lib/python3.12/site-packages/edge_tts/data_classes.pyÚvalidate_string_paramzTTSConfig.validate_string_param   sQ   € ô ˜+¤sÔ+Ü˜z˜l¨,Ð7Ó8Ð8Ü�8‰8�G˜[Ó)Ð1Ü˜x¨
 |°2°k°]À"ÐEÓFÐFØÐó    Nc                 ó�  — t        | j                  t        «      st        d«      ‚t	        j
                  d| j                  «      }|�‹|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      dk7  r0|› d|d|j                  d«       › �}||j                  d«      dz   d }d	d
|› d|› d|› d�z   | _        | j                  d| j                  d«       | j                  d| j                  d«       | j                  d| j                  d«       | j                  d| j                  d«       y)zF
        Validates the TTSConfig object after initialization.
        zvoice must be strz$^([a-z]{2,})-([A-Z]{2,})-(.+Neural)$Né   é   é   ú-éÿÿÿÿz,Microsoft Server Speech Text to Speech Voicez (z, ú)r   z8^Microsoft Server Speech Text to Speech Voice \(.+,.+\)$r   z
^[+-]\d+%$r	   r
   z^[+-]\d+Hz$)r   r   r   r   r   r   ÚgroupÚfindr   r   r	   r
   )Úselfr   ÚlangÚregionÚnames        r   Ú__post_init__zTTSConfig.__post_init__+   s2  € ô ˜$Ÿ*™*¤cÔ*ÜÐ/Ó0Ð0Ü—‘Ð@À$Ç*Á*ÓMˆØÐØ—;‘;˜q“>ˆDØ—[‘[ “^ˆFØ—;‘;˜q“>ˆDØ�y‰y˜‹~ Ò#Ø"˜8 1 T¨/¨4¯9©9°S«>Ð%:Ð$;Ð<�Ø˜DŸI™I c›N¨QÑ.Ð0Ð1�à>Ø�t�f˜A˜f˜X R¨ v¨QÐ/ñ0ð ŒJð 	×"Ñ"ØØ�J‰JØGô	
ð
 	×"Ñ" 6¨4¯9©9°mÔDØ×"Ñ" 8¨T¯[©[¸-ÔHØ×"Ñ" 7¨D¯J©J¸ÕGr   )r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   Ústaticmethodr   r)   © r   r   r   r      s^   … ñð ƒJØ
ƒIØƒKØƒJØÐ8Ñ9Ó9àð¨#ð ¸Cð È#ð ÐRUò ó ðô$!Hr   r   c                   óv   — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<   eed
<   eed<   y)ÚUtilArgszCLI arguments.ÚtextÚfiler   Úlist_voicesr   r	   r
   Úwrite_mediaÚwrite_subtitlesÚproxyN)r*   r+   r,   r-   r   r.   Úboolr0   r   r   r2   r2   O   s:   … Ùà
ƒIØ
ƒIØƒJØÓØ
ƒIØƒKØƒJØÓØÓØ„Jr   r2   )
r-   Úargparser   Údataclassesr   Útyping_extensionsr   r   Ú	Namespacer2   r0   r   r   ú<module>r>      sE   ðÙ ó Û 	Ý !å %ð ÷?Hð ?Hó ð?HôDˆx×!Ñ!õ r   