
    g                     b   % S SK r S SKrS SKJrJrJrJrJrJrJ	r	  SSK
JrJr  Sr S SKr\" \R                   S5      r\R&                  \R(                  -  r\R,                  \R.                  -  r " S S	\5      r " S
 S\5      r\\	\\4      r\(       a  \O\r\\S'   g! \ a    SrSr Nof = f)    N)AnyDictListOptionalTupleTypeUnion   )AbstractResolverResolveResult)ThreadedResolverAsyncResolverDefaultResolvergetaddrinfoFc            
           \ rS rSrSrSS\\R                     SS4S jjrS\	R                  4S\S	\S
\	R                  S\\   4S jjrSS jrSrg)r      zThreaded resolver.

Uses an Executor for synchronous getaddrinfo() calls.
concurrent.futures.ThreadPoolExecutor is used by default.
Nloopreturnc                 J    U=(       d    [         R                  " 5       U l        g N)asyncioget_running_loop_loop)selfr   s     X/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/aiohttp/resolver.py__init__ThreadedResolver.__init__   s    7W557
    r   hostportfamilyc                   #    U R                   R                  UU[        R                  U[        R                  S9I S h  vN n/ nU H  u  p6pvnU[        R
                  :X  aY  [        U5      S:  a  M,  US   (       a6  U R                   R                  U[        5      I S h  vN u  p[        U
5      nO"US S u  pOU[        R                  :X  d   eUu  pUR                  [        UU	UUU[        S95        M     U$  N N]7f)N)typer!   flags      hostnamer   r    r!   protor$   )r   r   socketSOCK_STREAMAI_ADDRCONFIGAF_INET6lengetnameinfo_NAME_SOCKET_FLAGSintAF_INETappendr   _NUMERIC_SOCKET_FLAGS)r   r   r    r!   infoshosts_r)   addressresolved_host_ports              r   resolveThreadedResolver.resolve!   s     jj,,##&& - 
 
 &(,1(Fu(w<!# 1: 261G1G!32 ,(M u:D*1"1+'M4///&-#LL!&!/	' -2< O
&,s$   =DC= A!D!C?"AD?Dc                    #    g 7fr    r   s    r   closeThreadedResolver.closeM   s     s   )r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   AbstractEventLoopr   r*   r2   strr1   AddressFamilyr   r   r;   r@   __static_attributes__r>   r   r   r   r      sf    8Xg&?&?@ 8D 8 &'v~~**"*060D0D*	m	*Xr   r   c                       \ rS rSrSr SS\\R                     S\S\SS4S jjr	S	\
R                  4S
\S\S\
R                  S\\   4S jjrS	\
R                  4S
\S\S\S\\\\4      4S jjrSS jrSrg)r   Q   z9Use the `aiodns` package to make asynchronous DNS lookupsNr   argskwargsr   c                     [         c  [        S5      e[         R                  " U0 UD6U l        [	        U R                  S5      (       d  U R
                  U l        g g )Nz Resolver requires aiodns librarygethostbyname)aiodnsRuntimeErrorDNSResolver	_resolverhasattr_resolve_with_queryr;   )r   r   rN   rO   s       r   r   AsyncResolver.__init__T   sO     >ABB++T<V<t~~7733DL 8r   r   r   r    r!   c                   #     U R                   R                  UU[        R                  U[        R                  S9I S h  vN n/ nUR                   GH  nUR                  n	UR                  nU[        R                  :X  a  [        U	5      S:  aX  U	S   (       aN  U R                   R                  U	S   R!                  S5      /U	SS  Q7["        5      I S h  vN n
U
R$                  nOIU	S   R!                  S5      nU	S   nO/U[        R&                  :X  d   eU	S   R!                  S5      nU	S   nUR)                  [+        UUUUS[,        S95        GM     U(       d  [        S S5      eU$  GN.! [
        R                  R                   a<  n[        UR                  5      S:  a  UR                  S   OSn[        S U5      UeS nAff = f N7f)N)r    r#   r!   r$   r
   DNS lookup failedr%   r   asciir'   )rU   r   r*   r+   r,   rR   errorDNSErrorr.   rN   OSErrornodesaddrr!   r-   r/   decoder0   noder2   r3   r   r4   )r   r   r    r!   respexcmsgr6   rb   r8   resultr9   s               r   r;   AsyncResolver.resolvec   s    
	.33''** 4  D &(JJDMQYYG[[F(w<!#
 $(>>#=#= **73BgabkB*$ F %+KKM$+AJ$5$5g$>M"1:D/// '
 1 1' :qzLL!&!/	) > $ 344[ ||$$ 	.!$SXX!!3#((1+9LC$$#-	.sH   G<E1  E.E1 BGGBG.E1 1G7GGGc           
        #    U[         R                  :X  a  SnOSn U R                  R                  X5      I S h  vN n/ nU H3  n	UR                  UU	R                  UUS[         R                  S.5        M5     U(       d  [        S S5      eU$  NT! [        R
                  R                   a<  n[        UR                  5      S:  a  UR                  S   OSn[        S U5      UeS nAff = f7f)NAAAAAr
   rZ   r   r'   )r*   r-   rU   queryrR   r\   r]   r.   rN   r^   r3   r   AI_NUMERICHOST)
r   r   r    r!   qtyperc   rd   re   r6   rrs
             r   rW   !AsyncResolver._resolve_with_query   s      V__$EE	.--d::D
 BLL $GG $#22	  $ 344+ ;||$$ 	.!$SXX!!3#((1+9LC$$#-	.s9   C/B BB  AC/B C,07C''C,,C/c                 @   #    U R                   R                  5         g 7fr   )rU   cancelr?   s    r   r@   AsyncResolver.close   s     s   )rU   r;   r   rB   )rC   rD   rE   rF   rG   r   r   rH   r   r   r*   r2   rI   r1   rJ   r   r   r;   r   rW   r@   rK   r>   r   r   r   r   Q   s    C 594w0014 4 	4
 
4  &'v~~11"1060D0D1	m	1h &'fnn"03	d38n	@ r   r   r   )r   r*   typingr   r   r   r   r   r   r	   abcr   r   __all__rR   rV   rT   aiodns_defaultImportErrorrl   AI_NUMERICSERVr4   NI_NUMERICHOSTNI_NUMERICSERVr0   r   r   _DefaultTyper   __annotations__r>   r   r   <module>r}      s      @ @ @ 0
BV//?N --0E0EE **V-B-BB 7' 7tf $ f R E-)99:;1?EU U[  FNs   B! !
B.-B.