
    ,h                      &   d dl mZmZmZ d dlZddlmZ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	eeef   d
ee   d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y)    )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_NAMESF)
allow_smtputf8allow_empty_localallow_quoted_localallow_domain_literalallow_display_namecheck_deliverabilitytest_environmentglobally_deliverabletimeoutdns_resolveremailr   r   r   r   r   r   r   r   r   r   returnc      
            ddl m}m}m}m}m}m}m}m} ||}||}||}||}||}||}||}|	|
|}	t        | t              s	 | j                  d      } t        |       \  }}}}t               }|s|nd|z   dz   dz   |z   |_        ||_        t%        ||||      }|d	   |_        |d
   |_        |d   |_        t-        j.                  d|j&                        }||j&                  k7  r	 t%        ||||       ||_        |r|st        d      |j(                  j|j(                  j1                         t2        v rJ|j&                  >|j(                  j1                         |_        |j&                  j1                         |_        d}t5        |      dk(  rt        d      |j7                  d      rM|j9                  d      r<t;        |dd       }|st        d      |d   |_        |d   |_        |d   |_         d}n"tC        |||      }|d   |_        |d   |_        |j&                  dz   |j<                  z   |_"        |j*                  s=|j>                  stG        d      |j(                  xs ddz   |j>                  z   |_$        nd|_$        tK        |       ||st        d      |r[|sY|r|S ddl&m'}  ||j>                  |j<                  |	|
      }|jQ                  d      } | | |_)        |jQ                  d       |_*        |S # t        $ r}t        d      |d}~ww xY w# t        $ r}t        dt        |      z         |d}~ww xY w)!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_QUOTED_LOCALALLOW_DOMAIN_LITERALALLOW_DISPLAY_NAMEGLOBALLY_DELIVERABLECHECK_DELIVERABILITYTEST_ENVIRONMENTDEFAULT_TIMEOUTNasciiz%The email address is not valid ASCII."@)r   r   quoted_local_part
local_partascii_local_partsmtputf8NFCz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)+r2   r   r   r   r   r    r!   r"   r#   
isinstancestrdecode
ValueErrorr   r	   r   originaldisplay_namer
   r(   r)   r*   unicodedata	normalizelowerr   len
startswithendswithr   r/   r1   r0   r   
normalized	Exceptionascii_emailr   deliverabilityr3   getr4   r5   )!r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   er;   r(   domain_partis_quoted_local_partretlocal_part_infonormalized_local_partis_domain_literaldomain_literal_infodomain_name_infor3   deliverability_infor4   s!                                    `/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/email_validator/validate_email.pyvalidate_emailrR      s   ,V V V'!/#3!/#3+#3</!
 eS!	SLL)E e
 @L*k+? 
C';Z
*S0'(CL $C 0
?MBSBVXO %\2CN*+=>C":.CL
 (11%H.	T%&;5C8I8LN /
 $6XYY
 '%%'+II>>%"3399;--/ 
;1JKK				$)=)=c)B;K"<MN#"#abb(2
.x801AB 
 6kTd  |P  Q%h/
+N; ^^c)CJJ6CN <<344//52<s?O?OO # (:stt$4 J 	B;cjj'<
 !$$T*>CF2667IJJm  	S"#JKQRR	SP   	T"#BSV#KLRSS	Ts0   L .L+ 	L(L##L(+	M4MM)typingr   r   r   r<   exceptions_typesr   r   syntaxr	   r
   r   r   r   rfc_constantsr   dns.resolverdnsresolverResolver	_Resolverobjectr7   bytesboolintrR        rQ   <module>rb      s   1 1  > M  M 9%%II &*#)-+/)-+/'++/!(,eee TN	e
 e !e #4.e !e #4.e tne #4.e c]e 9%e era   