
    $g                     D   d dl Z d dlZd dlmZmZmZ d Zej                            dd ed           ed           ed           ed	           ed
           ed          dfg          d             Z	d Z
d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )    N)	IPAddress	IPNetworkZEROFILLc                     t          d          } | j        dk    sJ t          |           dk    sJ t          |           dk    sJ |                                 dk    sJ t          |           dk    sJ t          |           dk    sJ t          |           dk    sJ | j        dk    sJ | 	                                dk    sJ | j
        d	k    sJ d S )
Nfe80::dead:beef   zIPAddress('fe80::dead:beef')l	   >[=          @ "0xfe8000000000000000000000deadbeefs             ޭڂ0b11111110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011110101011011011111011101111z1111111010000000:0000000000000000:0000000000000000:0000000000000000:0000000000000000:0000000000000000:1101111010101101:1011111011101111)i  r   r   r   r   r   i  i  )r   versionreprstrformatinthexbytesbinbitswordsips    [/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/netaddr/tests/ip/test_ip_v6.pytest_ipaddress_v6r      s   	$	%	%B:????8855555r77'''''99;;+++++r77=====r77:::::99[[[[[
 P	P 	P 	P 	P 			 U	U 	U 	U 	U 8;;;;;;;    )valueipaddrnetworkcidr	broadcastnetmaskhostmasksizezfe80::dead:beef/64r   fe80::z	fe80::/64zfe80::ffff:ffff:ffff:ffffffff:ffff:ffff:ffff::z::ffff:ffff:ffff:ffffl            c                     t          |           }|j        |k    sJ |j        |k    sJ |j        |k    sJ |j        |k    sJ |j        |k    sJ |j        |k    sJ |j        |k    sJ d S )N)r   r   r   r   r   r   r    r!   )	r   r   r   r   r   r   r    r!   nets	            r   test_ipnetwork_v6r&      s      E

C6V;'!!!!8t=I%%%%;'!!!!<8####8tr   c            
      2   t          t          d                                                    t          d          t          d          t          d          t          d          t          d          t          d          t          d          gk    sJ d S )	Nz::ffff:192.0.2.0/125::ffff:192.0.2.1z::ffff:192.0.2.2z::ffff:192.0.2.3z::ffff:192.0.2.4z::ffff:192.0.2.5z::ffff:192.0.2.6z::ffff:192.0.2.7)listr   
iter_hostsr    r   r   test_iterhosts_v6r,   4   s    	011<<>>??$%%$%%$%%$%%$%%$%%$%%D      r   c                  B    t          t          d                    sJ d S )Nz::/0)boolr   r+   r   r   $test_ipnetwork_boolean_evaluation_v6r/   @   s$    	&!!"""""""r   c                  >   t          d          } | d         t          d          k    sJ | d         t          d          k    sJ | j        dk    sJ t          j        t
                    5  t          | ddd                    d d d            d S # 1 swxY w Y   d S )	N	fe80::/10r   r"   z'febf:ffff:ffff:ffff:ffff:ffff:ffff:ffffl                         )r   r   r!   pytestraises	TypeErrorr)   r   s    r   test_ipnetwork_slice_v6r8   D   s    	;		Ba5Ih''''''b6YHIIIIII7:::::	y	!	!  R!AY                 s   ,BBBc                     t          d          t          d          dft          d          t          d          dft          d          t          d          dffD ]#\  } }}| |v |u sJ t          |           |v |u sJ $d S )Nzffff::1z
ffff::/127Tr1   F)r   r   r   )whatr   results      r   test_ip_network_membership_v6r<   N   s    	9		y66=	<	 	 )L"9"94@	;		<!8!8%@" 0 0gv
 F****D		W$/////0 0r   c                     t          d          t          d          k    sJ t          d          t          d          usJ t          d          t          d          k    rJ t          d          t          d          usJ d S )Nr1   r   r+   r   r   test_ip_network_equality_v6r?   X   s    [!!Y{%;%;;;;;[!!;)?)?????%%;)?)?????%%;)?)???????r   c                      t          t          d                    t          d          k    sJ t          d          t          d          k    sJ t          dd          t          d          k    sJ d S )Nz::192.0.2.0/120r   r>   r+   r   r   test_ipnetwork_constructor_v6rA   `   s{    Y01122i@Q6R6RRRRR&''95F+G+GGGGG&**i8I.J.JJJJJJJr   c                  (   t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dk    sJ t          d	                                          d
k    sJ t          d                                          dk    sJ t          d                                          dk    sJ d S )N::r   z8000::r4   r#   @   z$ffff:ffff:ffff:ffff:ffff:ffff:ffff::p   z'ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe   z'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff   zfe80::1)r   netmask_bitsr+   r   r   test_ipaddress_netmask_v6rI   f   s   T??''))Q....X++--2222,--::<<BBBB;<<IIKKsRRRR>??LLNNRUUUUU>??LLNNRUUUUUY,,..#555555r   c                      t          t          d          d          rJ t          t          d          d          rJ d S )Nz::/64__dict__rC   )hasattrr   r   r+   r   r   test_objects_use_slotsrM   q   sB    y)):66666y
3333333r   c                      t          d          } | t          d          k    sJ | j        dk    sJ t          j        |           }t          j        |          }|| k    sJ |j        dk    sJ |j        dk    sJ d S )Nr(   l      r   )r   r   pickledumpsloadsr   )r   bufip2s      r   test_ipaddress_pickling_v6rT   v   s    	%	&	&B-......8&&&&
,r

C
,s

C"99999'''';!r   c                  0   t          d          } | t          d          k    sJ | j        dk    sJ | j        dk    sJ t          j        |           }t          j        |          }|| k    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ d S )Nz::ffff:192.0.2.0/120l       x   r   )r   r   	prefixlenrO   rP   rQ   r   )r   rR   cidr2s      r   test_ipnetwork_pickling_v6rY      s    +,,D93444444:((((>S    
,t

CLED====;/))))?c!!!!=Ar   c                     t          d          } | j        j        d         j        dk    sJ | j        j        d         j        dk    sJ | j        j        d         j        dk    sJ | j        j        d         j        dk    sJ | j        j        d         j        dk    sJ | j        j        d         j        dk    sJ | j        j        d         j	        dk    sJ d S )	Nz2001:1200::/23r   zGlobal Unicastz2000::/3rfc4291LACNICzwhois.lacnic.net	ALLOCATED)
r   infoIPv6
allocationprefix	referenceIPv6_unicastdescriptionwhoisstatusr   s    r   )test_ipv6_unicast_address_allocation_inforg      s    	#	$	$B7<?%)999997<?!Z////7<?$	11117")-=====7".(::::7"(,>>>>>7")[888888r   c                     t          t          d                    t          d          t          d          gk    sJ t          t          d                                                    t          d          t          d          gk    sJ t          d          j        t          d          k    sJ t          d          j        J t          d          j        t          d          k    sJ t          d          j        J t          t          d                    t          d          gk    sJ t          t          d                                                    t          d          gk    sJ d S )Nz
1234::/127z1234::z1234::1z
1234::/128)r)   r   r   r*   r   r   r+   r   r   test_rfc6164_subnetsri      sx   	,''((()-     	,''224455():     \""*i.A.AAAAAX(000 \""*i.A.AAAAA\"",444	,''((Yx-@-@,AAAAA	,''224455)H:M:M9NNNNNNNr   c                  6    t          dt                    sJ d S )Nr"   )flags)r   r   r+   r   r   1test_ipaddress_ignores_zerofill_when_parsing_ipv6rl      s!    XX........r   )rO   r5   netaddrr   r   r   r   markparametrizer&   r,   r/   r8   r<   r?   rA   rI   rM   rT   rY   rg   ri   rl   r+   r   r   <module>rp      s     2 2 2 2 2 2 2 2 2 2< < <( V !I'((IhIk""I122I-..I-.. 		
   	 	 	# # #  0 0 0@ @ @K K K6 6 64 4 4

 
 
  
9 
9 
9O O O(/ / / / /r   