
    g[#                     r   S r SSKrSSKrSSKrSSKrSSKrSSKrSSKr\R                  S:H  r
S r " S S5      rS r " S S	\R                  R                  5      r " S
 S\R                  R                   5      r\R"                  R%                  S5      (       ag  SSKrSSKrSSKrSSKr\R.                  r\R2                  R&                  R4                  rSSKJrJrJr   " S S\5      r  " S S\RB                  5      r"O\R                  RF                  r" " S S\R                  RH                  5      r$g)zasyncio library query support    Nwin32c                  x     [         R                  " 5       $ ! [         a    [         R                  " 5       s $ f = fN)asyncioget_running_loopAttributeErrorget_event_loop     M/home/matz/Project1/venv/lib/python3.13/site-packages/dns/_asyncio_backend.py_get_running_loopr      s4    ('')) (%%''(s    99c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
_DatagramProtocol   c                      S U l         S U l        g r   )	transportrecvfromselfs    r   __init___DatagramProtocol.__init__   s    r   c                     Xl         g r   )r   )r   r   s     r   connection_made!_DatagramProtocol.connection_made   s    "r   c                     U R                   (       a=  U R                   R                  5       (       d  U R                   R                  X45        g g g r   )r   done
set_result)r   dataaddrs      r   datagram_received#_DatagramProtocol.datagram_received    s6    ==!3!3!5!5MM$$d\2 "6=r   c                     U R                   (       a<  U R                   R                  5       (       d  U R                   R                  U5        g g g r   )r   r   set_exception)r   excs     r   error_received _DatagramProtocol.error_received$   s4    ==!3!3!5!5MM'', "6=r   c                     U R                   (       aK  U R                   R                  5       (       d+  Uc   [        S5      eU R                   R                  U5        g g g ! [         a%  nU R                   R                  U5         S nAg S nAff = f)NEOF)r   r   EOFErrorr#   )r   r$   es      r   connection_lost!_DatagramProtocol.connection_lost(   sq    ==!3!3!5!5{3"5/) ++C0 "6=
   3MM//223s   A 
B(BBc                 8    U R                   R                  5         g r   )r   closer   s    r   r.   _DatagramProtocol.close3   s    r   )r   r   N)__name__
__module____qualname____firstlineno__r   r   r    r%   r+   r.   __static_attributes__r
   r   r   r   r      s     #3-	1r   r   c                    #    Ub   [         R                  " X5      I S h  vN $ U I S h  vN $  N! [         R                   a    [        R                  R                  US9ef = f N;7f)N)timeout)r   wait_forTimeoutErrordns	exceptionTimeout)	awaitabler6   s     r   _maybe_wait_forr=   7   se     	9 )))=== 	 >## 	9--'''88	9 s/   A(1 /1 A(A&A(1 2A##A(c                   L   ^  \ rS rSrU 4S jrS rS rS rS rS r	S r
S	rU =r$ )
DatagramSocketA   c                 Z   > [         TU ]  U[        R                  5        X l        X0l        g r   )superr   socket
SOCK_DGRAMr   protocol)r   familyr   rE   	__class__s       r   r   DatagramSocket.__init__B   s"    !2!23" r   c                 V   #    U R                   R                  X5        [        U5      $ 7fr   )r   sendtolen)r   whatdestinationr6   s       r   rJ   DatagramSocket.sendtoG   s!     d04ys   ')c                 &  #    [        5       R                  5       n U R                  R                  b   eX0R                  l        [	        X25      I S h  vN   UR                  5       S U R                  l        $  N%! S U R                  l        f = f7fr   )r   create_futurerE   r   r=   result)r   sizer6   r   s       r   r   DatagramSocket.recvfromL   sr      "002	*==))111%)MM"!$000;;=%)DMM" 1 &*DMM"s.   B7A; A9A; 'B9A; ;BBc                 @   #    U R                   R                  5         g 7fr   )rE   r.   r   s    r   r.   DatagramSocket.closeW   s        c                 @   #    U R                   R                  S5      $ 7fNpeernamer   get_extra_infor   s    r   getpeernameDatagramSocket.getpeernameZ        ~~,,Z88rV   c                 @   #    U R                   R                  S5      $ 7fNsocknamerZ   r   s    r   getsocknameDatagramSocket.getsockname]   r^   rV   c                    #    [         e7fr   NotImplementedErrorr   r6   s     r   getpeercertDatagramSocket.getpeercert`   s     !!   	)rE   r   )r0   r1   r2   r3   r   rJ   r   r.   r\   rb   rh   r4   __classcell__rG   s   @r   r?   r?   A   s+    !

	*99" "r   r?   c                   L   ^  \ rS rSrU 4S jrS rS rS rS rS r	S r
S	rU =r$ )
StreamSocketd   c                 Z   > [         TU ]  U[        R                  5        X l        X0l        g r   )rB   r   rC   SOCK_STREAMreaderwriter)r   afrr   rs   rG   s       r   r   StreamSocket.__init__e   s"    V//0r   c                    #    U R                   R                  U5        [        U R                   R                  5       U5      I S h  vN $  N7fr   )rs   writer=   drain)r   rL   r6   s      r   sendallStreamSocket.sendallj   s7     $$T[[%6%6%8'BBBBs   AAA
Ac                 h   #    [        U R                  R                  U5      U5      I S h  vN $  N7fr   )r=   rr   read)r   rR   r6   s      r   recvStreamSocket.recvn   s'     $T[[%5%5d%;WEEEEs   )202c                 @   #    U R                   R                  5         g 7fr   )rs   r.   r   s    r   r.   StreamSocket.closeq   s     rV   c                 @   #    U R                   R                  S5      $ 7frX   rs   r[   r   s    r   r\   StreamSocket.getpeernamet        {{))*55rV   c                 @   #    U R                   R                  S5      $ 7fr`   r   r   s    r   rb   StreamSocket.getsocknamew   r   rV   c                 @   #    U R                   R                  S5      $ 7f)Npeercertr   rg   s     r   rh   StreamSocket.getpeercertz   r   rV   )rr   rs   )r0   r1   r2   r3   r   ry   r}   r.   r\   rb   rh   r4   rk   rl   s   @r   rn   rn   d   s-    
CF666 6r   rn   doh)_compute_times_expiration_for_this_attempt
_remainingc                   F   ^  \ rS rSrU 4S jr SS jr SS jrS rSrU =r	$ )_NetworkBackend   c                 t   > [         TU ]  5         X l        Xl        X0l        X@l        US:w  a  [        S5      eg )Nr   z9the asyncio transport for HTTPX cannot set the local port)rB   r   _local_port	_resolver_bootstrap_address_familyrf   )r   resolver
local_portbootstrap_addressrF   rG   s        r   r   _NetworkBackend.__init__   s@    G)%N&7#!LQ)O  r   c                   #    / n[        U5      u  px[        R                  R                  U5      (       a  UR	                  U5        OU R
                  b  UR	                  U R
                  5        Oo[        U5      nU R                  n	U(       a  [        R                  R                  U5      n	U R                  R                  XUS9I S h  vN n
U
R                  5       nU Hc  n [        SU5      n[        U5      n[        R                  " U5         [        R                  " UUUS9I S h  vN nS S S 5        [!        W5      s  $    [$        R&                  e N N-! , (       d  f       N1= f! ["         a     M  f = f7f)N)rF   lifetimeg       @)remote_hostremote_port
local_host)r   r9   inet
is_addressappendr   r   r   af_for_addressr   resolve_name	addressesr   anyio
fail_afterconnect_tcp_CoreAnyIOStream	ExceptionhttpcoreConnectError)r   hostportr6   local_addresssocket_optionsr   _
expirationrF   answersaddressattempt_expirationstreams                 r   r   _NetworkBackend.connect_tcp   sP     I*73MAxx""4((  &((4  !8!89$Z0  XX44]CF $ ; ;' !< !  $--/	$)Ec:)V&();<G))'2','8'8(/(,'4( " 3 ,F33 % '''#" 32 ! s`   C	E?EE?&-E.E-E.E2E.E?E
E+	'E..
E<8E?;E<<E?c                    #    [         e7fr   re   )r   pathr6   r   s       r   connect_unix_socket#_NetworkBackend.connect_unix_socket   s      &%rj   c                 L   #    [         R                  " U5      I S h  vN   g  N7fr   )r   sleep)r   secondss     r   r   _NetworkBackend.sleep   s     ++g&&&   $"$)r   r   r   r   r   )
r0   r1   r2   r3   r   r   r   r   r4   rk   rl   s   @r   r   r      s)    		 FJ	(D 15	&
	' 	'r   r   c                   J   ^  \ rS rSrSSS\R
                  S.U 4S jjrSrU =r$ )_HTTPTransport   r   N)r   r   r   rF   c                   > Uc!  Uc  SS K nUR                  R                  5       n[        TU ]  " U0 UD6  [        X1X$5      U R                  l        g )Nr   )dns.asyncresolverasyncresolverResolverrB   r   r   _pool_network_backend)	r   r   r   r   rF   argskwargsr9   rG   s	           r   r   _HTTPTransport.__init__   sQ     $5$=(,,557Gd-f-*9&7+DJJ'r   r
   )	r0   r1   r2   r3   rC   	AF_UNSPECr   r4   rk   rl   s   @r   r   r      s!     "##	 	r   r   c                   H    \ rS rSrS r      S
S jrS rS rS rS r	S	r
g)Backend   c                     g)Nr   r
   r   s    r   nameBackend.name   s    r   Nc	                   #    [        5       n	U[        R                  :X  a\  [        (       a$  Uc!  [        R
                  R                  U5      S4nU	R                  [        UUUUS9I S h  vN u  p[        XU5      $ U[        R                  :X  aN  Uc  [        S5      e[        [        R                  " US   US   UUUUUS9U5      I S h  vN u  p[        XU5      $ [!        SSU 3-   5      e N N%7f)Nr   )rF   protoremote_addrz'destination required for stream sockets   )sslrF   r   
local_addrserver_hostnamezunsupported socket ztype )r   rC   rD   	_is_win32r9   r   
any_for_afcreate_datagram_endpointr   r?   rq   
ValueErrorr=   r   open_connectionrn   rf   )r   rt   socktyper   sourcerM   r6   ssl_contextr   loopr   rE   rws                 r   make_socketBackend.make_socket   s     !"v(((yV^ ((--b115(,(E(E!' )F ) #I ""::+++" !!JKK*''NN#%$3  FQ  q))!!eH:$66
 	
5#s%   A(C4*C0+A!C4C2$C42C4c                 L   #    [         R                  " U5      I S h  vN   g  N7fr   )r   r   )r   intervals     r   r   Backend.sleep	  s     mmH%%%r   c                     g)NFr
   r   s    r   datagram_connection_required$Backend.datagram_connection_required  s    r   c                     [         $ r   )r   r   s    r   get_transport_classBackend.get_transport_class  s    r   c                 4   #    [        X5      I S h  vN $  N7fr   )r=   )r   r<   r6   s      r   r7   Backend.wait_for  s     $Y8888s   r
   )r   NNNNN)r0   r1   r2   r3   r   r   r   r   r   r7   r4   r
   r   r   r   r      s5     -
^&9r   r   )%__doc__r   rC   sysdns._asyncbackendr9   dns._featuresdns.exceptiondns.inetplatformr   r   r   r=   _asyncbackendr?   rn   	_featureshaver   r   httpcore._backends.anyiohttpxAsyncNetworkBackend_CoreAsyncNetworkBackend	_backendsAnyIOStreamr   	dns.queryr   r   r   r   AsyncHTTPTransportr   NullTransportr   r
   r   r   <module>r     s
   $   
    LLG#	( > "S&&55  "F63$$11 64 ==e#';;))//;;RR3'2 3'j11 * &&44N=9c'' =9r   