+
    ¶¬‚j{*  ã                   ó&  a € R t$0 t ^ RIt^ RIt^ RIt^ RIt^ RIHtHtHt ^RI	H
t
Ht Rt ^ RIt]! ]P                  R4      t]P$                  ]P&                  ,          t]P*                  ]P,                  ,          t]P0                  t]! ]R4      '       d   ]]P4                  ,          t]P6                  R	8H  tR
 R lt ! R R]
4      t ! R R]
4      t ! R R4      t ]!]],          ,          t"]'       d   ]M]t#] ^ k R#   ] d    RtRt LÌi ; i)é    N)ÚAnyÚFinalÚOptional)ÚAbstractResolverÚResolveResultÚThreadedResolverÚAsyncResolverÚgetaddrinfoFÚAI_MASKÚwin32c                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚhostÚreturn)ÚstrÚbool)Úformats   "ÚM/Users/cheyod/AIGC/DSH/.venv/lib/python3.14/site-packages/aiohttp/resolver.pyÚ__annotate__r      s   € ÷ Fñ F¤ð F¬ñ Fó    c                 ób   € \         ;'       d#    V P                  R 4      P                  4       R8H  # )Ú.Ú	localhost)Ú_IS_WINDOWSÚrstripÚcasefold)r   s   &r   Ú_is_windows_localhostr      s'   € Ü×EÐE˜4Ÿ;™; sÓ+×4Ñ4Ó6¸+ÑEÐEr   c                   óz   a € ] tR t^!t o RtR
V 3R lR llt^ ]P                  3V 3R lR lltV 3R lR lt	R	t
V tR# )r   z„Threaded resolver.

Uses an Executor for synchronous getaddrinfo() calls.
concurrent.futures.ThreadPoolExecutor is used by default.
Nc                óF   <€ V ^8„  d   QhRS[ P                  R,          RR/# )r   ÚloopNr   ©ÚasyncioÚAbstractEventLoop)r   Ú__classdict__s   "€r   r   ÚThreadedResolver.__annotate__(   s&   ø€ ÷ 8ñ 8™W×6Ñ6¸Õ=ð 8Èñ 8r   c                óN   € T;'       g    \         P                  ! 4       V n        R # ©N)r"   Úget_running_loopÚ_loop)Úselfr    s   &&r   Ú__init__ÚThreadedResolver.__init__(   s   € Ø×7Ð7œW×5Ò5Ó7ˆŽ
r   c          	      óV   <€ V ^8„  d   QhRS[ RS[RS[P                  RS[S[,          /# ©r   r   ÚportÚfamilyr   ©r   ÚintÚsocketÚAddressFamilyÚlistr   )r   r$   s   "€r   r   r%   +   s8   ø€ ÷ 5ñ 5Ùð5Ù"ð5Ù06×0DÑ0Dð5á	‰mÕ	ñ5r   c              ƒ  óâ  "  €  V P                   P                  VV\        P                  V\        R 7      G Rj  x€L
 p. pV F¾  w  r6rvpV\        P                  8X  dd   \        V4      ^8  d   K.  V^,          '       d7   V P                   P                  V\        4      G Rj  x€L
 w  rš\        V
4      pM'VR,          w  r’MV\        P                  8X  g   Q hVw  r’VP                  \        VV	VVV\        R7      4       KÀ  	  V#  LÌ  \        P
                   dN    \        T4      '       g   h T P                   P                  TT\        P                  T^ R 7      G Rj  x€L 
 p EL+i ; i LÊ5i))Útyper0   ÚflagsN:Nr   N©Úhostnamer   r/   r0   Úprotor8   )r)   r
   r3   ÚSOCK_STREAMÚ_AI_ADDRCONFIGÚgaierrorr   ÚAF_INET6ÚlenÚgetnameinfoÚ_NAME_SOCKET_FLAGSr2   ÚAF_INETÚappendr   Ú_NUMERIC_SOCKET_FLAGS)r*   r   r/   r0   ÚinfosÚhostsÚ_r;   ÚaddressÚresolved_hostÚ_ports   &&&&       r   ÚresolveÚThreadedResolver.resolve+   se  é € ð	ØŸ*™*×0Ñ0ØØÜ×'Ñ'ØÜ$ð 1ó ÷ ˆEð$ &(ˆÛ,1Ñ(ˆF�u ØœŸ™Ô(Ü�w“< !Ô#ñ Ø˜1—:”:ð 26·±×1GÑ1GØÔ!3ó2÷ ,Ñ(�Mô ˜u›:‘Dà*1°"­+Ñ'�M 4à¤§¡Ô/Ð/Ð/Ø&-Ñ#�Ø�L‰LÜØ!Ø&ØØ!ØÜ/ôö	ñ' -2ð< ˆñcøô �‰ô 		Ü(¨×.Ò.ØØŸ*™*×0Ñ0ØØÜ×'Ñ'ØØð 1ó ÷ ð ‹Eð		úñ,,ùsX   ‚E/„5D ¹DºD ¾A E/Á?#E/Â"E-Â#A#E/ÄD ÄAE*Å E#Å!E*Å&E/Å)E*Å*E/c                ó   <€ V ^8„  d   QhRR/# ©r   r   N© )r   r$   s   "€r   r   r%   b   s   ø€ ÷ ñ ˜Tñ r   c              ƒ  ó   "  € R # 5ir'   rP   ©r*   s   &r   ÚcloseÚThreadedResolver.closeb   s   é € Ùùs   ‚)r)   r'   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r+   r3   rC   rL   rS   Ú__static_attributes__Ú__classdictcell__©r$   s   @r   r   r   !   s4   ø‡ € ñ÷8ò 8ð &'ÀvÇ~Á~÷5ò 5÷nö r   c                   ó¨   a € ] tR t^ft o RtRV 3R lR llt^ ]P                  3V 3R lR llt^ ]P                  3V 3R lR llt	V 3R	 lR
 lt
RtV tR# )r	   z9Use the `aiodns` package to make asynchronous DNS lookupsNc                óR   <€ V ^8„  d   QhRS[ P                  R,          RS[RS[RR/# )r   r    NÚargsÚkwargsr   )r"   r#   r   )r   r$   s   "€r   r   ÚAsyncResolver.__annotate__i   s>   ø€ ÷ 4ñ 4á×'Ñ'¨$Õ.ð4ñ ð4ñ ð	4ð
 
ñ4r   c                ó¬  € \         f   \        R4      hT;'       g    \        P                  ! 4       V n        R V n        V'       g	   V'       d   \         P                  ! V/ VB V n        R # \        4       V n        V P
                  P                  W P                  4      V n        \        V P                  R4      '       g   V P                  V n        R # R # )Nz Resolver requires aiodns libraryÚgethostbyname)ÚaiodnsÚRuntimeErrorr"   r(   r)   Ú_managerÚDNSResolverÚ	_resolverÚ_DNSResolverManagerÚget_resolverÚhasattrÚ_resolve_with_queryrL   )r*   r    r_   r`   s   &&*,r   r+   ÚAsyncResolver.__init__i   sœ   € ô Š>ÜÐAÓBÐBà×7Ð7œW×5Ò5Ó7ˆŒ
Ø48ˆŒ÷ —6Ü#×/Ò/°Ð@¸Ñ@ˆDŒNÙä+Ó-ˆŒØŸ™×3Ñ3°D¿*¹*ÓEˆŒä�t—~‘~ ×7Ò7à×3Ñ3ˆDŽLñ 8r   c          	      óV   <€ V ^8„  d   QhRS[ RS[RS[P                  RS[S[,          /# r.   r1   )r   r$   s   "€r   r   ra   ‚   s8   ø€ ÷ ;ñ ;Ùð;Ù"ð;Ù06×0DÑ0Dð;á	‰mÕ	ñ;r   c              ƒ  óð  "  €   V P                   P                  VV\        P                  V\        R 7      G Rj  x€L
 p. pTP                   EF6  pTP                  p	TP                  \        P                  8X  d˜   \        T	4      ^8”  df   T	^,          '       dW   T P                   P!                  T	^ ,          P#                  R4      .T	R,          O5\$        4      G Rj  x€L
 p
T
P&                  pMdT	^ ,          P#                  R4      pT	^,          pMBTP                  \        P(                  8X  g   Q hT	^ ,          P#                  R4      pT	^,          pTP+                  \-        TTTTP                  ^ \.        R7      4       EK9  	  T'       g   \        RR4      hT#  ELd  \
        P                  P                   dN    \        T4      '       g   h T P                   P                  TT\        P                  T^ R 7      G Rj  x€L 
 p ELÍi ; i  \
        P                  P                   dB   p\        TP                  4      ^8¼  d   TP                  ^,          MRp\        RT4      ThRp?ii ; i EL”5i))r/   r7   r0   r8   NúDNS lookup failedÚascii:é   NNr9   )rh   r
   r3   r<   r=   rd   ÚerrorÚDNSErrorr   r@   r_   ÚOSErrorÚnodesÚaddrr0   r?   rA   ÚdecoderB   ÚnoderC   rD   r   rE   )r*   r   r/   r0   ÚrespÚexcÚmsgrG   ry   rI   ÚresultrJ   s   &&&&        r   rL   ÚAsyncResolver.resolve‚   s  é € ð	.ðØ!Ÿ^™^×7Ñ7ØØÜ×+Ñ+Ø!Ü(ð 8ó ÷ �ð( &(ˆØ—J•JˆDØGKÇyÁyˆGØ�{‰{œfŸo™oÔ-Ü�w“< !Ô#¨°¯
¬
ð $(§>¡>×#=Ñ#=Ø  �×*Ñ*¨7Ó3ÐB°g¸bµkÑBÜ*ó$÷ �Fð %+§K¡K‘Mà$+¨A¥J×$5Ñ$5°gÓ$>�MØ" 1�:‘Dà—{‘{¤f§n¡nÔ4Ð4Ð4Ø '¨¥
× 1Ñ 1°'Ó :�Ø˜q•z�Ø�L‰LÜØ!Ø&ØØŸ;™;ØÜ/ô÷	ñ' ÷< Ü˜$Ð 3Ó4Ð4àˆòmøô —<‘<×(Ñ(ô 	Ü,¨T×2Ò2ØØ!Ÿ^™^×7Ñ7ØØÜ×+Ñ+Ø!Øð 8ó ÷ ð “ð	ûô �|‰|×$Ñ$ô 	.Ü!$ S§X¡X£°!Ô!3�#—(‘(˜1–+Ð9LˆCÜ˜$ Ó$¨#Ð-ûð	.úòùs}   ‚I6…5F! ºF»F! ¿AI6ÂAI6ÃI3Ã B/I6ÆI6ÆF! Æ!A"HÈHÈHÈ	H È
I6ÈHÈH ÈI0È/<I+É+I0É0I6c                óX   <€ V ^8„  d   QhRS[ RS[RS[RS[S[S[ S[3,          ,          /# r.   )r   r2   r5   Údictr   )r   r$   s   "€r   r   ra   ¿   s:   ø€ ÷ ñ ÙðÙ"ðÙ03ðá	‰d‘3™�8�nÕ	ñr   c              ƒ  óú  "  € V\         P                  8X  d   R MRp V P                  P                  W4      G Rj  x€L
 p. pT F8  p	TP                  RTRT	P                  RTRTR^ R	\         P                  /4       K:  	  T'       g   \        RR4      hT#  LZ  \        P
                  P                   dB   p\        TP                  4      ^8¼  d   TP                  ^,          MRp\        RT4      ThRp?ii ; i5i)
ÚAAAAÚANrp   r:   r   r/   r0   r;   r8   )r3   r?   rh   Úqueryrd   rs   rt   r@   r_   ru   rD   r   ÚAI_NUMERICHOST)
r*   r   r/   r0   Úqtyperz   r{   r|   rG   Úrrs
   &&&&      r   rl   Ú!AsyncResolver._resolve_with_query¿   sã   é € ð "(¬6¯?©?Ô!:‘vÀˆð	.ØŸ™×-Ñ-¨dÓ:×:ˆDð
 ˆÛˆBØ�L‰Là Ø˜BŸG™GØ˜DØ˜fØ˜QØœV×2Ñ2ðö	ñ ÷ Ü˜$Ð 3Ó4Ð4àˆñ+ ;øÜ�|‰|×$Ñ$ô 	.Ü!$ S§X¡X£°!Ô!3�#—(‘(˜1–+Ð9LˆCÜ˜$ Ó$¨#Ð-ûð	.üs?   ‚C;�B »B¼B Á AC;ÂC;ÂB ÂC8Â7<C3Ã3C8Ã8C;c                ó   <€ V ^8„  d   QhRR/# rO   rP   )r   r$   s   "€r   r   ra   Ü   s   ø€ ÷ 
ñ 
˜Tñ 
r   c              ƒ  óú   "  € V P                   '       d6   V P                   P                  W P                  4       R V n         R V n        R # V P                  e   V P                  P	                  4        R V n        R # 5ir'   )rf   Úrelease_resolverr)   rh   ÚcancelrR   s   &r   rS   ÚAsyncResolver.closeÜ   sV   é € Ø�=�=ˆ=à�M‰M×*Ñ*¨4·±Ô<Ø ˆDŒMØ!ˆDŒNÙà�>‰>Ò%Ø�N‰N×!Ñ!Ô#ØˆŽùs   ‚A9A;)r)   rf   rh   rL   r'   )rU   rV   rW   rX   rY   r+   r3   rC   rL   rl   rS   rZ   r[   r\   s   @r   r	   r	   f   sG   ø‡ € ÙC÷4ò 4ð4 &'ÀvÇ~Á~÷;ò ;ð| &'°f·n±n÷ò ÷:
ö 
r   c                   óˆ   a a€ ] tR t^ét oRtRtV3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 lt	V3R lt
RtVtV ;t# )ri   z—Manager for aiodns.DNSResolver objects.

This class manages shared aiodns.DNSResolver instances
with no custom arguments across different event loops.
Nc                ó   <€ V ^8„  d   QhRR/# )r   r   ri   rP   )r   r$   s   "€r   r   Ú _DNSResolverManager.__annotate__ò   s   ø€ ÷ ñ Ð-ñ r   c                ó”   <€ V P                   f/   \        SV `	  V 4      V n         V P                   P                  4        V P                   # r'   )Ú	_instanceÚsuperÚ__new__Ú_init)ÚclsÚ	__class__s   &€r   r”   Ú_DNSResolverManager.__new__ò   s7   ø€ Ø�=‰=Ò Ü!™G™O¨CÓ0ˆCŒMØ�M‰M×ÑÔ!Ø�}‰}Ðr   c                ó   <€ V ^8„  d   QhRR/# rO   rP   )r   r$   s   "€r   r   r�   ø   s   ø€ ÷ (ñ (�tñ (r   c                ó:   € \         P                  ! 4       V n        R # r'   )ÚweakrefÚWeakKeyDictionaryÚ
_loop_datarR   s   &r   r•   Ú_DNSResolverManager._initø   s   € ô
 ×%Ò%Ó'ð 	Žr   c                ó<   <€ V ^8„  d   QhRRRS[ P                  RR/# )r   Úclientr	   r    r   zaiodns.DNSResolverr!   )r   r$   s   "€r   r   r�   ÿ   s+   ø€ ÷ ñ Ø%ðÙ-4×-FÑ-Fðà	ñr   c                óì   € W P                   9  d>   \        P                  ! VR7      p\        P                  ! 4       pW43V P                   V&   MV P                   V,          w  r4VP                  V4       V# )zþGet or create the shared aiodns.DNSResolver instance for a specific event loop.

Args:
    client: The AsyncResolver instance requesting the resolver.
           This is required to track resolver usage.
    loop: The event loop to use for the resolver.
)r    )r�   rd   rg   r›   ÚWeakSetÚadd)r*   r    r    ÚresolverÚ
client_sets   &&&  r   rj   Ú _DNSResolverManager.get_resolverÿ   sa   € ð —‘Ô&Ü×)Ò)¨tÔ4ˆHÜ9@¿ºÓ9JˆJØ%-Ð$:ˆD�O‰O˜DÒ!ð $(§?¡?°4Õ#8Ñ ˆHð 	�‰�vÔØˆr   c                ó<   <€ V ^8„  d   QhRRRS[ P                  RR/# )r   r    r	   r    r   Nr!   )r   r$   s   "€r   r   r�     s+   ø€ ÷ &ñ &Ø%ð&Ù-4×-FÑ-Fð&à	ñ&r   c                óÈ   € V P                   P                  V4      pVf   R# Vw  rEVP                  V4       V'       g$   Ve   VP                  4        V P                   V R# R# )z®Release the resolver for an AsyncResolver client when it's closed.

Args:
    client: The AsyncResolver instance to release.
    loop: The event loop the resolver was using.
N)r�   ÚgetÚdiscardrŒ   )r*   r    r    Úcurrent_loop_datar¤   r¥   s   &&&   r   r‹   Ú$_DNSResolverManager.release_resolver  s\   € ð !ŸO™O×/Ñ/°Ó5ÐØÒ$ÙØ0ÑˆØ×Ñ˜6Ô"çØÒ#Ø—‘Ô!Ø—‘ Ò%ñ r   c                ó4   <€ V ^8„  d   Qh/ S[ R,          ;R&   # )r   ri   r’   )r   )r   r$   s   "€r   r   r�   é   s   ø‡ ‚ ñ Ð-Õ.Ñ5ò r   )r�   )rU   rV   rW   rX   rY   r’   r”   r•   rj   r‹   Ú__annotate_func__rZ   r[   Ú__classcell__)r—   r$   s   @@r   ri   ri   é   sA   ù‡ € ñð 26€I÷ó ÷(ð (÷ð ÷.&ð &÷[ … r   ri   c                ó@   € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   # )r   ÚDefaultResolver)Ú__conditional_annotations__Ú_DefaultType)r   s   "r   r   r      s   € ‡�÷X	 VÒ U”Ñ UòY	 r   )r   r	   r±   )%r²   r"   r3   Úsysr›   Útypingr   r   r   Úabcr   r   Ú__all__rd   rk   rg   Úaiodns_defaultÚImportErrorr…   ÚAI_NUMERICSERVrE   ÚNI_NUMERICHOSTÚNI_NUMERICSERVrB   ÚAI_ADDRCONFIGr=   r   Úplatformr   r   r   r	   ri   r7   r³   r±   r   )r²   s   @r   Ú<module>r¿      s  øðß €Û Û 
Û ß 'Ñ 'ç 0à
B€ðÛá˜V×/Ñ/°Ó?€Nð ×-Ñ-°×0EÑ0EÕEÐ Ø×*Ñ*¨V×-BÑ-BÕBÐ Ø×%Ñ%€Ù
ˆ6�9×ÒØ�f—n‘nÕ$€NØ�l‰l˜gÑ%€õFôBÐ'ô BôJ@Ð$ô @÷F@&ñ @&ðF �MÐ$4Õ4Õ5€ß1?¡ÐEU€Õ Uøð{ ô Ø€FØ‚Nðús   ¬D ÄDÄD