Ë
    ÖÉ�j‰  ã                   ó  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z  G d„ dej                  «      Zd ej                  e«      fdej                  fdej                   fd ej                  ej"                  «      fd	 ej                  ej"                  «      fge_         ej&                  ej(                  j+                   e j,                  «       d    d
k(  rdnd«      d¬«      Zddedeej2                     fd„Zy)é    N)ÚIterableÚOptionalc                   ó   — e Zd Zy)ÚifaddrsN)Ú__name__Ú
__module__Ú__qualname__© ó    úN/home/uftp/webrtc-recorder/.venv/lib/python3.12/site-packages/ifaddr/_posix.pyr   r   #   s   „ Ør   r   Úifa_nextÚifa_nameÚ	ifa_flagsÚifa_addrÚifa_netmaskÚSunOSÚsocketÚcT)Ú	use_errnoÚinclude_unconfiguredÚreturnc                 óä  ‡—  t        j                  t        «      «       x}}t        j	                  t        j
                  |«      «      }|dk7  r3t        j                  «       }t        |t        j                  |«      «      ‚t        j                  «       Šdt        dt        t        j                     dd fˆfd„}|�r�|d   j                   j#                  d¬«      }t        j$                  |d   j&                  «      }|�r-|d   j(                  rM|d   j(                  d   j*                  s1|d   j&                  d   j*                  |d   j(                  d   _        t        j$                  |d   j(                  «      }t-        |t.        «      r7t        |d   «      }	t        j0                  t3        j4                  |	«      «      }
nG|€J d|d   j(                  › d	�«       ‚t        d
|z   «      }	t3        j6                  |	«      j8                  }
t        j                  ||
|«      } |||«       n| r	 ||d «       |d   j:                  }|r�Œ�t        j=                  |«       ‰j?                  «       S )Nr   Úadapter_nameÚipr   c                 óâ   •— | ‰vr4d }	 t        j                  | «      }t	        j
                  | | g |¬«      ‰| <   |�‰|    j                  j                  |«       y y # t        t        f$ r Y ŒOw xY w)N)Úindex)r   Úif_nametoindexÚOSErrorÚAttributeErrorÚsharedÚAdapterÚipsÚappend)r   r   r   r"   s      €r   Úadd_ipzget_adapters.<locals>.add_ip<   s   ø€ Ø˜sÑ"ØˆEðô ×-Ñ-¨lÓ;�ô !'§¡¨|¸\È2ÐUZÔ [ˆC�ÑØˆ>Ø�Ñ×!Ñ!×(Ñ(¨Õ,ð øô œ^Ð,ò Ùðús   ‰A ÁA.Á-A.zUTF-8)Úencodingzsockaddr_to_ip(z) returned Nonez0.0.0.0/) ÚctypesÚPOINTERr   ÚlibcÚ
getifaddrsÚbyrefÚ	get_errnor   ÚosÚstrerrorÚcollectionsÚOrderedDictÚstrr   r    ÚIPr   ÚdecodeÚsockaddr_to_ipr   r   Ú
sa_familiyÚ
isinstanceÚtupleÚipv6_prefixlengthÚ	ipaddressÚIPv6AddressÚIPv4NetworkÚ	prefixlenr   ÚfreeifaddrsÚvalues)r   Úaddr0ÚaddrÚretvalÚenor$   ÚnameÚip_addrÚnetmaskÚ
netmaskStrr;   r   r"   s               @r   Úget_adaptersrF   2   s  ø€ à*”6—>‘>¤'Ó*Ó,Ð,€EˆDÜ�_‰_œVŸ\™\¨$Ó/Ó0€FØ�‚{Ü×ÑÓ ˆÜ�cœ2Ÿ;™; sÓ+Ó,Ð,ä
×
!Ñ
!Ó
#€Cð-œSð -¤h¬v¯y©yÑ&9ð -¸dõ -ò Ø�A‰w×Ñ×&Ñ&°Ð&Ó8ˆÜ×'Ñ'¨¨Q©×(8Ñ(8Ó9ˆÚØ�A‰w×"Ò"¨4°©7×+>Ñ+>¸qÑ+A×+LÒ+LØ48¸±G×4DÑ4DÀQÑ4G×4RÑ4R��Q‘×#Ñ# AÑ&Ô1Ü×+Ñ+¨D°©G×,?Ñ,?Ó@ˆGÜ˜'¤5Ô)Ü  ¨¡›_�
Ü"×4Ñ4´Y×5JÑ5JÈ:Ó5VÓW‘	àÐ*Ðb¨o¸dÀ1¹g×>QÑ>QÐ=RÐRaÐ,bÓbÐ*Ü  ¨gÑ!5Ó6�
Ü%×1Ñ1°*Ó=×GÑG�	Ü—‘˜7 I¨tÓ4ˆBÙ�4˜Õá#Ù�t˜TÔ"Ø�A‰w×Ñˆó' ô* 	×Ñ�UÔà�:‰:‹<Ðr   )F)r,   Úctypes.utilr&   r8   r.   r   Útypingr   r   Úifaddr._sharedÚ_sharedr    Ú	Structurer   r'   Úc_char_pÚc_uintÚsockaddrÚ_fields_ÚCDLLÚutilÚfind_libraryÚunamer(   Úboolr!   rF   r
   r   r   ú<module>rU      sé   ðó, 
Û Û Û Û ç %å ô
	ˆf×Ñô 	ð
 ��—‘ Ó(Ð)Ø�—‘Ð!Ø�&—-‘-Ð Ø��—‘ §¡Ó0Ð1Ø�N�F—N‘N 6§?¡?Ó3Ð4ð€Ô ð €v‡{�{�6—;‘;×+Ñ+¸¸¿¹»
À1¹ÈÒ8P©HÐVYÓZÐfjÔk€ñ. tð .¸ÀÇÁÑ8Pô .r   