+
    4iZ                         ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	 R t
R tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%R t&R# )     N)	IPAddress	IPNetworkIPRangeIPSetcidr_excludec                  r   \        R R4      p \        R 4      R\        R4      \        R4      \        R4      RR\        R4      \        R	4      \        R
4      .
p\        V P	                  4       4      p\        V4      pV\        . RO4      8X  g   Q hW#8X  g   Q hVP                  4       V9   g   Q hW#8w  g   Q hR# )	192.0.2.1
192.0.2.15192.0.2.2/31z192.0.2.4/31	192.0.2.6	192.0.2.7	192.0.2.8	192.0.2.9
192.0.2.10
192.0.2.11z192.0.2.12/30N)z192.0.2.1/32r   z192.0.2.4/30z192.0.2.8/29)r   r   r   r   cidrspop)range1ip_listset1set2s       ?/usr/lib/python3/dist-packages/netaddr/tests/ip/test_ip_sets.pytest_ipset_basic_apir   
   s    [,/F 	+.!++,,/"G  D>D5	
    <<88:<<    c                      \        4       \        . 4      8X  g   Q h\        . 4      p \        . 4      V 8X  g   Q h\        V 4      ^ 8X  g   Q hR# )r   N)r   len)	empty_sets    r   test_ipset_emptyr   ,   sC    7eBib	I9	!!!y>Qr   c                     \        R .4      \        R.4      8X  g   Q h\        \        R 4      .4      \        R.4      8X  g   Q h\        \        R 4      .4      \        R.4      8X  g   Q h\        \        R4      4      \        R.4      8X  g   Q h\        \        R4      .4      \        R.4      8X  g   Q h\        \        R.4      4      \        R.4      8X  g   Q h\        \        RR4      4      \        RR.4      8X  g   Q h\        \        RR	4      4      \        R
.4      8X  g   Q h\        \        RR4      .4      \        \        RR4      4      8X  g   Q hR# )	192.0.2.0192.0.2.0/32z	1234::/32192.0.2.0/2410.0.0.0z	10.0.1.3110.0.0.0/24z10.0.1.0/270.0.0.0255.255.255.255	0.0.0.0/0N)r   r   r   r    r   r   test_ipset_constructorr)   3   s:   +5.)9#::::)K()*e^4D.EEEE)K()*e^4D.EEEE;'(E;-,@@@@)N+,-7G1HHHH'()UN3C-DDDD[12e]M<Z6[[[[$5675+;OOOO'*k234gjR]>^8____r   c                      \        \        R R.4      4      . \        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R	4      N\        R
4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R 4      N\        R!4      N8X  g   Q hR"# )#192.0.2.0/28z::192.0.2.0/124r    r	   	192.0.2.2	192.0.2.3	192.0.2.4	192.0.2.5r   r   r   r   r   r   
192.0.2.12
192.0.2.13
192.0.2.14r
   ::192.0.2.0z::192.0.2.1::192.0.2.2z::192.0.2.3::192.0.2.4z::192.0.2.5z::192.0.2.6z::192.0.2.7z::192.0.2.8z::192.0.2.9z::192.0.2.10z::192.0.2.11z::192.0.2.12z::192.0.2.13z::192.0.2.14z::192.0.2.15N)listr   r   r(   r   r   test_ipset_iterationr7   ?   s(   ~'89:; !@+!@+!@ 	+!@ 	+	!@
 	+!@ 	+!@ 	+!@ 	+!@ 	+!@ 	+!@ 	,!@ 	,!@ 	,!@ 	,!@ 	,!@  	,!!@" 	- #!@$ 	- %!@& 	- '!@( 	- )!@* 	- +!@, 	- -!@. 	- /!@0 	- 1!@2 	- 3!@4 	- 5!@6 	.!7!@8 	.!9!@: 	.!;!@< 	.!=!@> 	.!?!@@ 	.!A!@ ! ! !r   c                  `   \        4       p V P                  R 4       V \        R.4      8X  g   Q hV P                  R 4       V \        . 4      8X  g   Q hV P                  \        RR4      4       V \        R.4      8X  g   Q hV P                  \        RR4      4       V \        R.4      8X  g   Q hR# )	r    r!   r#   
10.0.0.255r$   z
10.0.0.128z10.10.10.1010.0.0.0/25N)r   addremover   s1s    r   (test_ipset_member_insertion_and_deletionr?   d   s    	BFF;'((((IIkr??FF7:|,-''''IIglM23''''r   c                      \        R R4      p V P                  4       \        R4      \        R4      \        R4      .8X  g   Q h\        R.4      pV  Uu. uF  p\	        V4      W!9   3NK  	  up. RO8X  g   Q hR# u upi )192.0.1.255
192.0.2.16z192.0.1.255/32r+   z192.0.2.16/32N))rA   F)r    T)r	   T)r,   T)r-   T)r.   T)r/   T)r   T)r   T)r   T)r   T)r   T)r   T)r0   T)r1   T)r2   T)r
   T)rB   F)r   r   r   r   str)iprangeipsetips      r   test_ipset_membershiprG   s   s    m\2G==?"#.!/"    >"#E-45WrSWbk"W5 :   5s   A8c                      \        R .4      p \        R4      V 9   g   Q h\        R4      V 9   g   Q h\        R4      V 9   g   Q h\        R4      V 9   g   Q h\        R4      V 9  g   Q hR# )r'   10.0.0.1r%   z255.255.255.0r$   ::1Nr   r   r   rE   s    r   test_ipset_membership_largestrM      sm    ;- EZ E)))Y5(((_%...]#u,,,U5(((r   c                      \        R .4      p \        R4      V 9   g   Q h\        R 4      V 9   g   Q h\        R4      V 9  g   Q h\        R4      V 9  g   Q h\        R4      V 9  g   Q hR# )z10.0.0.42/32z	10.0.0.42z	10.0.0.41z	10.0.0.43z10.0.0.42/31NrK   rL   s    r   test_set_membership_smallestrO      sn    >"#E[!U***^$---[!...[!...^$E111r   c                     \        R .4      \        R.4      8X  g   Q h\        R .4      \        R.4      ,          \        R.4      8X  g   Q h\        R .4      \        R.4      ,          \        R.4      ,          \        RR.4      8X  g   Q h\        R .4      \        R.4      ,          \        R.4      ,          \        R.4      8X  g   Q h\        R .4      \        R.4      ,          \        R.4      ,          \        R.4      8X  g   Q h\        R	.4      \        R
.4      ,          \        R.4      ,          \        RR.4      8X  g   Q hR# )r    r!   r	   z192.0.2.0/31r-   z192.0.2.3/32z192.0.2.3/30z192.0.2.0/30z192.0.2.3/31r"   192.0.3.0/24192.0.4.0/24z192.0.2.0/23Nr   r(   r   r   test_ipset_unionsrT      sW   +5.)9#::::+%"66%@P:QQQQ+%"66}9MMQV	(R    +%"66?O9PPTY	U    +%"66?O9PPTY	U    .!"UN+;%<<unEU?VVZ_	([   r   c                     \        \        R 4      P                  ^4      4      p V R,          p\        V4      pV\        . RO4      8X  g   Q h\        R .4      V,          \        . RO4      8X  g   Q h\        R .4      V,          pV\        . RO4      8X  g   Q hW#,          \        R .4      8X  g   Q hW#,          \        . 4      8X  g   Q hW#,          \        R .4      8X  g   Q hR# )r"   :NN   N)r+   z192.0.2.32/28z192.0.2.64/28z192.0.2.96/28z192.0.2.128/28z192.0.2.160/28z192.0.2.192/28z192.0.2.224/28)z192.0.2.16/28z192.0.2.48/28z192.0.2.80/28z192.0.2.112/28z192.0.2.144/28z192.0.2.176/28z192.0.2.208/28z192.0.2.240/28)r6   r   subnetr   )	adj_cidrs
even_cidrsevensoddss       r   +test_ipset_unions_intersections_differencesr\      s    Y~.55b9:I3J*EE		
    .!"U*e		
/    .!"U*D5		
    <5.!12222<59$$$<5.!12222r   c                     \        R R.4      p \        RR.4      pV P                  V4      '       g   Q hVP                  V 4      '       g   Q hVP                  V 4      '       d   Q hV P                  V4      '       d   Q h\        R.4      p\        . RO4      p\        . RO4      pWC,          pW%,          pVP                  4        Uu. uF,  p\	        \        \        Ww^ ,          VR,          34      4      NK.  	  up. R	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<N8X  g   Q hW&,          \        . R=O4      8X  g   Q hR# u upi )>r"   rR   r    	192.0.4.0r'   N)
10.0.0.0/8172.16.0.0/12r"   192.168.0.0/16239.192.0.0/14)225.0.0.0/8226.0.0.0/7228.0.0.0/6234.0.0.0/7236.0.0.0/7238.0.0.0/8240.0.0.0/4)z	0.0.0.0/5r%   z7.255.255.255)z	8.0.0.0/7z8.0.0.0z9.255.255.255)z
11.0.0.0/8z11.0.0.0z11.255.255.255)z
12.0.0.0/6z12.0.0.0z15.255.255.255)
16.0.0.0/4z16.0.0.0z31.255.255.255)
32.0.0.0/3z32.0.0.0z63.255.255.255)
64.0.0.0/2z64.0.0.0z127.255.255.255)z128.0.0.0/3z	128.0.0.0z159.255.255.255)z160.0.0.0/5z	160.0.0.0z167.255.255.255)z168.0.0.0/6z	168.0.0.0z171.255.255.255)z172.0.0.0/12z	172.0.0.0z172.15.255.255)z172.32.0.0/11z
172.32.0.0z172.63.255.255)z172.64.0.0/10z
172.64.0.0z172.127.255.255)z172.128.0.0/9z172.128.0.0z172.255.255.255)z173.0.0.0/8z	173.0.0.0z173.255.255.255)z174.0.0.0/7z	174.0.0.0z175.255.255.255)z176.0.0.0/4z	176.0.0.0z191.255.255.255)z192.0.0.0/23z	192.0.0.0rA   )rQ   z	192.0.3.0z192.0.3.255)z192.0.4.0/22r^   z192.0.7.255)z192.0.8.0/21z	192.0.8.0z192.0.15.255)z192.0.16.0/20z
192.0.16.0z192.0.31.255)z192.0.32.0/19z
192.0.32.0z192.0.63.255)z192.0.64.0/18z
192.0.64.0z192.0.127.255)z192.0.128.0/17z192.0.128.0z192.0.255.255)z192.1.0.0/16z	192.1.0.0z192.1.255.255)z192.2.0.0/15z	192.2.0.0z192.3.255.255)z192.4.0.0/14z	192.4.0.0z192.7.255.255)z192.8.0.0/13z	192.8.0.0z192.15.255.255)z192.16.0.0/12z
192.16.0.0z192.31.255.255)z192.32.0.0/11z
192.32.0.0z192.63.255.255)z192.64.0.0/10z
192.64.0.0z192.127.255.255)z192.128.0.0/11z192.128.0.0z192.159.255.255)z192.160.0.0/13z192.160.0.0z192.167.255.255)z192.169.0.0/16z192.169.0.0z192.169.255.255)z192.170.0.0/15z192.170.0.0z192.171.255.255)z192.172.0.0/14z192.172.0.0z192.175.255.255)z192.176.0.0/12z192.176.0.0z192.191.255.255)z192.192.0.0/10z192.192.0.0z192.255.255.255)z193.0.0.0/8z	193.0.0.0z193.255.255.255)z194.0.0.0/7z	194.0.0.0z195.255.255.255)z196.0.0.0/6z	196.0.0.0z199.255.255.255)z200.0.0.0/5z	200.0.0.0z207.255.255.255)z208.0.0.0/4z	208.0.0.0z223.255.255.255)z224.0.0.0/8z	224.0.0.0z224.255.255.255)z232.0.0.0/7z	232.0.0.0z233.255.255.255)z239.0.0.0/9z	239.0.0.0z239.127.255.255)z239.128.0.0/10z239.128.0.0z239.191.255.255)z239.196.0.0/14z239.196.0.0z239.199.255.255)z239.200.0.0/13z239.200.0.0z239.207.255.255)z239.208.0.0/12z239.208.0.0z239.223.255.255)z239.224.0.0/11z239.224.0.0z239.255.255.255)r_   r`   r"   ra   rc   rd   re   rf   rg   rh   rb   ri   )r   
issupersetissubset
iter_cidrstuplemaprC   )r>   s2ipv4_addr_spaceprivatereservedunavailable	availablecidrs           r    test_ipset_supersets_and_subsetsrz      s   	/	0B	[)	*B==;;r???}}R    {{2[M*O[G 	

H $K-ICLCWCWCYZCY4E#cDq'48456CYZ 5_15_15_ 	55_ 	5	5_
 	55_ 	55_ 	65_ 	85_ 	85_ 	85_ 	85_ 	:5_ 	;5_ 	<5_ 	85_  	8!5_" 	8#5_$ 	5%5_& 	5'5_( 	5)5_* 	6+5_, 	8-5_. 	8/5_0 	915_2 	;35_4 	755_6 	775_8 	795_: 	8;5_< 	:=5_> 	:?5_@ 	;A5_B 	=C5_D 	=E5_F 	=G5_H 	=I5_J 	=K5_L 	=M5_N 	=O5_P 	8Q5_R 	8S5_T 	8U5_V 	8W5_X 	8Y5_Z 	8[5_\ 	8]5_^ 	8_5_` 	=a5_b 	=c5_d 	=e5_f 	=g5_h 	=i5_ 5 5 5n &%	
+   o [s   2Fc                  r   \        . RO4      p \        . R	O4      pW,          \        . R
O4      8X  g   Q hW,          \        . R
O4      8X  g   Q hW,          \        RR.4      8X  g   Q hW,
          \        RR.4      8X  g   Q hW,
          \        RR.4      8X  g   Q hW,          \        . RO4      8X  g   Q hR# )r    r!   192.0.2.2/32192.0.2.4/32::192.0.2.0/128::192.0.2.2/128::192.0.2.4/128Nr    r3   r,   r4   r,   r4   r.   r5   )r!   r|   r}   r~   r   r   r!   r}   r~   r   rS   r>   rs   s     r   "test_combined_ipv4_and_ipv6_ipsetsr   P  s    	G	HB	G	HB7e	
	 	 	 	 7e	
	 	 	 	 7e^->?@@@@7e^->?@@@@7e^->?@@@@7ebccccr   c                  4   \        . RO4      p \        . RO4      pW,          \        R.4      8X  g   Q hV P                  V4      '       d   Q h\        R R.4      p\        RR.4      pW#,          \        . 4      8X  g   Q hVP                  V4      '       g   Q hR# )r    r	   r-   r.   r|   N)r    r	   r,   )r,   r-   r.   )r   
isdisjointr>   rs   s3s4s       r   test_disjointed_ipsetsr   p  s    	6	7B	6	7B7e^,----}}R    	[)	*B	[)	*B7eBi==r   c                     \        R .4      p \        R.4      pV P                  V4       V \        R.4      8X  g   Q hV P                  . R
O4       V \        R.4      8X  g   Q h\        RR.4      p\        R.4      pVP                  \        RR4      4       W28X  g   Q h\        R.4      pVP                  \        RR4      \        RR4      .4       WB8X  g   Q hR	# )z192.0.2.0/25z192.0.2.128/25r"   192.0.1.0/24z192.0.0.0/22r    z192.0.2.255z192.0.2.100z
192.0.2.50N)z192.0.0.0/24r   rQ   )r   updater   )r>   rs   expectedr   r   s        r   test_ipset_updatesr   ~  s    		 B	 !	"BIIbM'((((II>?'((((nn56H		 BIIgk=12>>		 BIIw{M2GL-4XYZ>>r   c                      \        R .4      p V P                  \        RR4      4       V \        R.4      8X  g   Q hV P                  4        V \        . 4      8X  g   Q hR# )10.0.0.0/16z10.1.0.0z10.1.255.255z10.0.0.0/15N)r   r   r   clearrL   s    r   test_ipset_clearr     sQ    =/"E	LL^45E=/****	KKME"Ir   c                  ,   \        R .4      p V P                  R4       V \        . RNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!N4      8X  g   Q hV P                  4       p\        V4      ^ 8X  g   Q h\	        V4      . \        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R	4      N\        R
4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R4      N\        R 4      N\        R!4      N8X  g   Q hV\        R R4      8X  g   Q hV P                  R"4       V \        . R#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!N4      8X  g   Q h\        \	        V P                  4       4      4      ^>8X  g   Q hV P                  R4       V P                  R"4       V \        R .4      8X  g   Q hRB# )Cr'   r&   z	0.0.0.0/1z128.0.0.0/2z192.0.0.0/3z224.0.0.0/4z240.0.0.0/5z248.0.0.0/6z252.0.0.0/7z254.0.0.0/8z255.0.0.0/9z255.128.0.0/10z255.192.0.0/11z255.224.0.0/12z255.240.0.0/13z255.248.0.0/14z255.252.0.0/15z255.254.0.0/16z255.255.0.0/17z255.255.128.0/18z255.255.192.0/19z255.255.224.0/20z255.255.240.0/21z255.255.248.0/22z255.255.252.0/23z255.255.254.0/24z255.255.255.0/25z255.255.255.128/26z255.255.255.192/27z255.255.255.224/28z255.255.255.240/29z255.255.255.248/30z255.255.255.252/31z255.255.255.254/32r%   
0.0.0.1/32z
0.0.0.2/31z
0.0.0.4/30z
0.0.0.8/29z0.0.0.16/28z0.0.0.32/27z0.0.0.64/26z0.0.0.128/25z
0.0.1.0/24z
0.0.2.0/23z
0.0.4.0/22z
0.0.8.0/21z0.0.16.0/20z0.0.32.0/19z0.0.64.0/18z0.0.128.0/17z
0.1.0.0/16z
0.2.0.0/15z
0.4.0.0/14z
0.8.0.0/13z0.16.0.0/12z0.32.0.0/11z0.64.0.0/10z0.128.0.0/9z	1.0.0.0/8z	2.0.0.0/7z	4.0.0.0/6z	8.0.0.0/5rk   rl   rm   N)r   r<   rp   r   r6   r   r   r;   )r>   r   s     r   test_ipset_cidr_fracturingr     s   	}	BII !	
!	
!	
 !	
 	!	

 !	
 !	
 !	
 !	
 !	
 !	
 !	
 !	
 !	
 !	
 !	
  !!	
" #!	
$ %!	
& '!	
( )!	
* +!	
, -!	
. /!	
0 1!	
2 3!	
4 !5!	
6 !7!	
8 !9!	
: !;!	
< !=!	
> !?!	
@ !A!	
# # # #J MMOEu:; !+!- ! 	- ! 	- 	!
 	- ! 	- ! 	- ! 	- ! 	- ! 	"#! 	"#! 	"#! 	"#! 	"#! 	"#!  	"#!!" 	"##!$ 	$%%!& 	$%'!( 	$%)!* 	$%+!, 	$%-!. 	$%/!0 	$%1!2 	$%3!4 	&'5!6 	&'7!8 	&'9!: 	&';!< 	&'=!> 	&'?!@ 	&'A! ! ! !F L.?@@@@IIi?	
?	
?	
 ?	
 	?	

 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
  !?	
" #?	
$ %?	
& '?	
( )?	
* +?	
, -?	
. /?	
0 1?	
2 3?	
4 5?	
6 7?	
8 9?	
: ;?	
< =?	
> ??	
@ A?	
B C?	
D E?	
F G?	
H I?	
J K?	
L M?	
N O?	
P Q?	
R S?	
T U?	
V W?	
X Y?	
Z [?	
\ ]?	
^ _?	
` a?	
b c?	
d e?	
f g?	
h i?	
j k?	
l m?	
n o?	
p !q?	
r !s?	
t !u?	
v !w?	
x !y?	
z !{?	
| !}?	
A A A AF tBMMO$%+++FFFF9}%%%%r   c                  d   \        R R.4      p V P                  4       \        RR4      8X  g   Q hV P                  4       '       g   Q hV P	                  R4       V \        . RO4      8X  g   Q hV P                  4       '       d   Q h\
        P                  ! \        4      ;_uu_ 4        V P                  4        RRR4       \        V P                  4       4      \        RR4      \        RR4      .8X  g   Q h\        R.4      pVP                  4       '       g   Q hVP                  4       \        R	R
4      8X  g   Q h\        4       pVP                  4       '       g   Q hVP                  4       e   Q h\        \        RR4      4      pVP                  4       '       g   Q hR#   + '       g   i     L; i)r:   10.0.0.128/25r#   r9   z	10.0.0.16Nz	10.0.0.15z	10.0.0.17r'   r%   r&   z10.0.0.8)z10.0.0.0/28z10.0.0.17/32z10.0.0.18/31z10.0.0.20/30z10.0.0.24/29z10.0.0.32/27z10.0.0.64/26r   )
r   rD   r   iscontiguousr<   pytestraises
ValueErrorr6   iter_iprangesr   s       r   test_ipset_with_ipranger   8  sl   	/	0B::<7:|<<<<??IIk		
        	z	"	"


 
#   "#
K(\*(   
 
}	B??::<79.?@@@@	B??::<	wz:.	/B??# 
#	"s   &FF/	c                      \        R R.4      p \        P                  ! V 4      p\        P                  ! V4      pW8X  g   Q hR# )r   	fe80::/64N)r   pickledumpsloads)ip_databufip_data_unpickleds      r   test_ipset_picklingr   b  s:    ]K01G
,,w
CS)'''r   c                  f    \        R .4      p \        R.4      pW8  g   Q hW8  d   Q hW8w  g   Q hR# )zfc00::/2zfc00::/3NrS   r   s     r   test_ipset_comparisonr   i  s6    	
|	B	
|	B7N7w;8O8r   c                     \        R .4      p V P                  R4       V \        R.4      8X  g   Q h\        \        R4      4      p\        \        R4      4      p\        \        R4      4      p\        W.4      pV\        RR.4      8X  g   Q hVP                  V4       V\        . R	O4      8X  g   Q hVP	                  V4       V\        RR.4      8X  g   Q hVP                  V.4       V\        . R	O4      8X  g   Q hR# )
r:   r$   rI   zfe80::10.0.0.210.0.0.1/32
fe80::/12810.0.0.2/32N)r   r   r   )r   r;   intr   r<   r   )r>   integer1integer2integer3rs   s        r   ;test_ipset_adding_and_removing_members_ip_addresses_as_intsr   r  s    		BFF=''''9Z()H9X&'H9Z()H	#	$B|45555FF8CDDDDIIh}56666IIxjCDDDDr   c                  X   \        . RO4      p \        . RO4      p\        . RO4      p\        RR.4      p\        . RO4      p\        RR.4      p\        R.4      p\        V4      '       g   Q h\        \        4       4      '       d   Q hW,          \        RR.4      8X  g   Q hW#,          \        RR	.4      8X  g   Q hW2,          \        RR	.4      8X  g   Q hW%,          \        R
R.4      8X  g   Q hWR,          \        R
R.4      8X  g   Q hW#,
          \        . RO4      8X  g   Q hW2,
          \        . 4      8X  g   Q hW$,
          \        . RO4      8X  g   Q hW%,
          \        . RO4      8X  g   Q hWR,
          \        . 4      8X  g   Q hW,          \        . RO4      8X  g   Q h\        . 4      \        . 4      ,          \        . 4      8X  g   Q h\        R.4      \        . 4      ,          \        R.4      8X  g   Q h\        R.4      \        R.4      ,          \        . 4      8X  g   Q hW#,          \        . RO4      8X  g   Q hW2,          \        . RO4      8X  g   Q hW$,          \        . RO4      8X  g   Q hW%,          \        . RO4      8X  g   Q hWR,          \        . RO4      8X  g   Q hR# )r    	10.0.0.64	10.0.0.66z	10.0.0.65z	10.0.0.67z2405:8100::/32r|   r   10.0.0.64/3210.0.0.66/3210.0.0.65/3210.0.0.67/32r   Nr   r   )0.0.0.1z10.0.0.64/30z255.255.255.1)r   r   z111.111.111.111)r   r   r   255.255.255.1/32)r   r   r   r   r   )r   r   r   z111.111.111.111/32r   )r   bool)r>   rs   r   r   s4bs5s6s          r   1test_ipset_operations_with_combined_ipv4_and_ipv6r     sb   	G	HB	G	HB	;	<B	[)	*B
=
>C	[)	*B	 !	"B88O8EG}} 7e^->?@@@@7e^^<====7e^^<====7e^^<====7e^^<==== 7e^____7eBi8u_````7e^____7eBi 7ebcccc9uRy E"I---, 59,|n0EEEE, 5,#88E"IEEE7e^____7e^____8u`    7e^____7e^____r   c                  b   \        \        4       P                  4       4      . 8X  g   Q h\        \        \        R 4      .4      P                  4       4      \	        R R 4      .8X  g   Q h\        \        \        R 4      \        R4      .4      P                  4       4      \	        R R4      .8X  g   Q hR# )rI   r   N)r6   r   r   r   r   r(   r   r   "test_converting_ipsets_to_iprangesr     s    %%'(B...y,-.<<>?GJXbDcCddddy,i
.CDESSUV
J'[   r   c            	         \        \        \        R 4      \        \        P                  ^4      4      4      p \
        P                  ! \        4      ;_uu_ 4        \        V 4       RRR4       \        \        \        R 4      \        \        P                  ^,
          ^4      4      4      p\        V4      \        P                  8X  g   Q hR#   + '       g   i     Lo; i)z::0N)	r   r   r   sysmaxsizer   r   
IndexErrorr   r   s     r   3test_len_on_ipset_failure_with_large_ipv6_addressesr     s    	wy'3;;)BC	DB	z	"	"B 
# 
wy'3;;?A)FG	HBr7ckk!!!	 
#	"s   CC	c            	          \        \        \        ^^4      \        ^^4      .4      P                  4       4      \	        RR4      \	        RR4      .8X  g   Q hR# )   r   rJ   N)r6   r   r   r   r   r(   r   r   #test_ipset_ipv4_and_ipv4_separationr     sR    yA	!Q89GGIJ	9%uO   r   c                  P   \        R .4      p \        P                  ! \        4      ;_uu_ 4        \	        V 4       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  ^*4       RRR4       R#   + '       g   i     LN; i  + '       g   i     R# ; irI   N)r   r   r   	TypeErrorhashr   r=   s    r   test_ipset_exceptionsr     sd    	
|	B 
y	!	!R 
" 
y	!	!
		" 
"	!	 
"	! 
"	!	!s   B%BB	B%	c                  :    \        R .4      p V ^*8X  d   Q hV ^*8g   R# r   rS   r=   s    r   )test_ipset_comparison_with_int_is_invalidr     s!    	
|	BRx<"Hr   c                      \        \        R 4      4      p V P                  \        R4      4       \        V P	                  4       4      \        R4      \        R4      .8X  g   Q hR# )z
10.1.2.3/8z192.168.1.2/16r_   ra   Nr   r   r;   r6   rp   r=   s    r   'test_ipset_converts_to_cidr_networks_v4r     sV    	y&	'BFF9%&' ,"#%   r   c                      \        \        R 4      4      p V P                  \        R4      4       \        V P	                  4       4      \        R4      \        R4      .8X  g   Q hR# )zfe80::4242/64zfe90::4343/64r   z	fe90::/64Nr   r=   s    r   'test_ipset_converts_to_cidr_networks_v6r     sT    	y)	*BFF9_%& ++%   r   c                  B    \         P                  ! \        4       4       R # )N)weakrefrefr   r(   r   r   test_ipset_is_weak_referencabler     s    KKr   )'r   r   r   r   netaddrr   r   r   r   r   r   r   r)   r7   r?   rG   rM   rO   rT   r\   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r(   r   r   <module>r      s     
   F FD	`"J(B)2"/3daHd@*Y&x'T(E.%`P"	r   