
    Wh                     j    d dl mZmZmZ ddlmZ d dlZd dlZddddee	   fdZ
dded	edee	   fd
Zy)    )OptionalAnyDict   )EmailUndeliverableErrorN)timeoutcacher   c                     | ddl m} |} t        j                  j	                         }|xs t        j                  j                         |_        | |_        |S )Nr   DEFAULT_TIMEOUT) r   dnsresolverResolverLRUCacher	   lifetime)r   r	   r   r   s       i/var/www/html/api.bullseye.mysouth.io/venv/lib/python3.12/site-packages/email_validator/deliverability.pycaching_resolverr   	   sG    %!||$$&H5cll335HNHO    domaindomain_i18nc           	      &   |0ddl m} ||}t        j                  j	                         }||_        n|t        d      i }	 	 |j                  | d      }t        |D cg c]2  }|j                  t        |j                        j                  d      f4 c}      }|D 	
cg c]  \  }	}
|
dk7  r|	|
f }}	}
t        |      dk(  rt        d| d	      ||d
<   d |d<   |S c c}w c c}
}	w # t        j                  j                  $ rf 	 |j                  | d      }|D cg c]  }dt        |      f nc c}w c}|d
<   d|d<   n# t        j                  j                  $ rp 	 |j                  | d      }|D cg c]  }dt        |      f nc c}w c}|d
<   d|d<   n0# t        j                  j                  $ r t        d| d	      w xY wY nw xY w	 |j                  | d      }|D ]Y  }dj!                  |j"                        }|j%                  d      s0|j'                  dd      |d<   |dk(  sLt        d| d       n## t        j                  j                  $ r Y nw xY wY |S w xY w# t        j                  j(                  $ r t        d| d      t        j                  j*                  $ r ddicY S t        j,                  j.                  $ r ddicY S t        $ r  t0        $ r}t        dt        |      z         d }~ww xY w)Nr   r   z5It's not valid to pass both timeout and dns_resolver.MX.r   r   zThe domain name z does not accept email.mxmx_fallback_typeAAAAATXTr   s   v=spf1 asciireplace)errorsspfs   v=spf1 -allz does not send email.z does not exist.zunknown-deliverabilityno_nameserversr   zZThere was an error while checking if the domain name in the email address is deliverable: )r   r   r   r   get_default_resolverr   
ValueErrorresolvesorted
preferencestrexchangerstriplenr   NoAnswerjoinstrings
startswithdecodeNXDOMAINNoNameservers	exceptionTimeout	Exception)r   r   r   dns_resolverr   deliverability_inforesponsermtasr)   r+   recvaluees                 r   validate_email_deliverabilityr@      sf    %?%G||88: '		PQQ*,V
9	#++FD9H PXY1ALL#ajj/*@*@*EFYZD HL '/Cz82~  * 'D '4yA~-0@Md.eff(,%6: 23L e Z' ||$$ &	k'//<BJ,KQaQ[,K,K#D):=#$67<<(( k
k+33FFCHFN0O!SV0O0O'->D'(:;||,, k
 24D[MQh2ijjk <k*
'//># qCHHS[[1E''
35:\\'R[\5\+E2 N2"9<L[MYn:o"ppq <<(( @ I&	P <<   X &(8EU&VWW<<%% 
 %&6
 	
 ==   
 %i
 	
 #  
%hknopkqq
 	

s   C, 7C!C, "C&5*C, !C, ,I0E!D65EI0G%F!;FF! G!-GGI0GI0AI	I	8I	I0	I)&I0(I))I0,I3 /I00I3 3AL L#L4LL)NN)typingr   r   r   exceptions_typesr   dns.resolverr   dns.exceptionintr   r*   r@    r   r   <module>rG      sN    & & 5   26T # l# lC l(SV- lr   