
    i&                     v   d dl mZmZmZ d dlZddlmZ ddlmZ ddl	m
Z
mZmZmZmZ ddlmZ erd dlZej        j        ZneZddddddddddddd	eeef         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ee         dee         defdZdS )    )OptionalUnionTYPE_CHECKINGN   )EmailSyntaxError)ValidatedEmail)split_emailvalidate_email_local_partvalidate_email_domain_namevalidate_email_domain_literalvalidate_email_length)CASE_INSENSITIVE_MAILBOX_NAMES)allow_smtputf8allow_empty_localallow_quoted_localallow_domain_literalallow_display_namestrictcheck_deliverabilitytest_environmentglobally_deliverabletimeoutdns_resolveremailr   r   r   r   r   r   r   r   r   r   r   returnc                  ddl m}m}m}m}m}m}m}m}m	}m
} ||}||}||}||}||}||}||}||}|	|}	|
||}
t          | t                    rn]t          | t                    r9	 |                     d          } n1# t          $ r}t!          d          |d}~ww xY wt#          d          t%          |           \  }}}}|rt'          j        d|          }t+                      }|s|nd|z   dz   d	z   |z   |_        ||_        t1          |||||
          }|d         |_        |d         |_        |d         |_        t'          j        d|j                  }||j        k    rO	 t1          |||||
           n2# t           $ r%}t!          dt          |          z             |d}~ww xY w||_        |r|st!          d          |j        c|j                                        t:          v rC|j        <|j                                        |_        |j                                        |_        d}t=          |          dk    rt!          d          |                    d          rg|                     d          rRtC          |dd                   }|st!          d          |d         |_"        |d         |_#        |d         |_$        d}n,tK          |||	          } | d         |_"        | d         |_#        |j        d	z   |j"        z   |_&        |j        s0|j#        stO          d          |j        pdd	z   |j#        z   |_(        nd|_(        tS          |           ||st!          d          |r\|sZ|r|S ddl*m+}!  |!|j#        |j"        |
|          }"|",                    d           }#|#|#|_-        |",                    d!          |_.        |S )"z
    Given an email address, and some options, returns a ValidatedEmail instance
    with information about the address if it is valid or, if the address is not
    valid, raises an EmailNotValidError. This is the main function of the module.
    r   )
ALLOW_SMTPUTF8ALLOW_EMPTY_LOCALALLOW_QUOTED_LOCALALLOW_DOMAIN_LITERALALLOW_DISPLAY_NAMESTRICTGLOBALLY_DELIVERABLECHECK_DELIVERABILITYTEST_ENVIRONMENTDEFAULT_TIMEOUTNasciiz%The email address is not valid ASCII.zemail must be str or bytesNFC"@)r   r   quoted_local_partr   
local_partascii_local_partsmtputf8zAfter Unicode normalization: z7Quoting the part before the @-sign is not allowed here.Fr   z)There must be something after the @-sign.[]z<A bracketed IP address after the @-sign is not allowed here.domaindomain_addressT)r   r   ascii_domainzMissing ASCII domain. zRA display name and angle brackets around the email address are not permitted here.)validate_email_deliverabilitymxmx_fallback_type)/r5   r   r   r   r    r!   r"   r#   r$   r%   r&   
isinstancestrbytesdecode
ValueErrorr   	TypeErrorr	   unicodedata	normalizer   originaldisplay_namer
   r,   r-   r.   lowerr   len
startswithendswithr   r2   r4   r3   r   
normalized	Exceptionascii_emailr   deliverabilityr6   getr7   r8   )$r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   erB   r,   domain_partis_quoted_local_partretlocal_part_infonormalized_local_partis_domain_literaldomain_literal_infodomain_name_infor6   deliverability_infor7   s$                                       n/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/email_validator/validate_email.pyvalidate_emailrW      s   .^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^' -!/#3!/~#3+#3</!% 6	E5	!	! 	6	SLL))EE 	S 	S 	S"#JKKQRR	S 4555 e

 @L*k+?  B #,ULAA 

C'; 2ZZ
*S0'(CL $C 0
?MBSBV7=	? ? ?O
 %\2CN*+=>C":.CL (1%HH..	T%&;5C8I8L-3	5 5 5 5 5
   	T 	T 	T"#BSVV#KLLRSS	T.
  Z$6 ZXYYY
 '%%''+III>%"399;;--// 
;1JKKK				$	$ <)=)=c)B)B <;K"<MNN# 	c"#abbb(2
.x801AB 
 6kTd  |P  Q  Q  Q%h/
+N; ^c)CJ6CN <  	53444/52<s?OO # (:sttt K$4 K  	J 	BAAAAA;;cj'<
 
 !$$T**>CF2667IJJJs0   /B 
B$BB$.F 
F2 F--F2)typingr   r   r   r?   
exceptionsr   typesr   syntaxr	   r
   r   r   r   rfc_constantsr   dns.resolverdnsresolverResolver	_Resolverobjectr:   r;   boolintrW        rV   <module>rg      s   1 1 1 1 1 1 1 1 1 1     ( ( ( ( ( ( ! ! ! ! ! ! M  M  M  M  M  M  M  M  M  M  M  M  M  M 9 9 9 9 9 9 %III &*(,)-+/)-!+/'++/!(,A A AeA TN	A
  ~A !A #4.A !A TNA #4.A tnA #4.A c]A 9%A A A A A A Arf   