
    sg~                     .   d dl mZmZmZ d dlZ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 d dlmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ  eej<                  j?                  d	d
            Z d Z!d Z"g ejF                   e$        e%       ddddfejL                  d e%       ddddfejN                   e$       ddiddddfejP                  dddidddd fejP                   e$        e%       dddd fejP                   e$       ddidddd fejR                   e$        e%       dddd fejT                   e$        e%       dddd fejV                  d e%       dddd fejX                   e$        e%       dddd  fejZ                   e$        e%       dddd! fej\                   e$        e%       dddd" fej^                   e$        e%       dddd# fej`                   e$        e%       dddd$ fejb                   e$        e%       dddd% fejd                   e$        e%       dddd& fejd                   e$        e%ddg'      ddddfejf                   e$        e%       ddddfejh                   e
jj                  d g      f e%       dd(de!fejl                   e$        e%       dd(de!fejn                   e$        e%       dd(de!f e"ejh                        d) e%       ddddf e"ejl                         e$        e%       ddddf e"ejn                         e$        e%       ddddfejp                   e$        e%       dddd* fejr                   e$        e%       dddd+ fejt                   e$        e%       dddd, fejv                   e$        e%       ddddfejx                   e$        e%d-.      ddddfejz                   e$       i ddddfej|                   e$       i ddddfej~                   e       j                  f e%       dd/dd0 fej                   e$        e%       dd/dd1 fej                   e       j                  f e%       dd/dd2 fej                   e$        e%       dd/dd3 fej                   e$       i ddddfej                   e$       d4d5d6ddddfej                   e$       i ddddfej                   e$        e%       dddd7 fej                   e$        e%       dddd8 fej                   e$        e%       ddddfej                   e$        e%       ddddfej                   e$        e%       ddddfej                  d e%       dddd9 fej                   e$        e%       dddd: fej                   e$        e%       ddddfej                   e$       i ddddfej                   e$       i dddd; fej                   e$       i dddd< fej                   e$       i dddd= fej                   e$       i dddd> fej                   e$       i dddd? fej                   e$       i dddd@ fej                   e$        e%       ddddA fej                   e$        e%       ddddB fej                   e$        e%       ddddC fej                   e$       i ddddfej                   e$       i ddddD fej                   e$       i ddddfZZh dEZ[dFdGhZ\ejp                  hZ]ej                  hZ^ej                  hZ_	 ddHZ`	 ddIZaddJdddKdLZbej                  j                  dM      ej                  j                  dN      ej                  j                  dO      ej                  j                  dP      ej                  j                  dQ      ej                  j                  dR      ej                  j                  dSeZ      ej                  j                  dTdU      ej                  j                  dVdW      ej                  j                  dXdY      dZ                                                                       Zfe r:ej                  j                  dM      ej                  j                  dN      ej                  j                  dO      ej                  j                  d[      ej                  j                  dQ      ej                  j                  dR      ej                  j                  dSeZ      ej                  j                  dTdU      ej                  j                  dV egd\d            ej                  j                  dXd]      d^                                                                       Zhd_ Ziej                  j                  dSeZ      ej                  j                  dTdU      ej                  j                  dXd`      da                      Zjej                  j                  db      ej                  j                  dc      ej                  j                  dd      ej                  j                  de      ej                  j                  dTdf      ej                  j                  dgejR                   e$        e%       ddh fejN                   e$       ddiddfejh                  d) e%       de!ff      ej                  j                  didj      dk                                                  Zkej                  j                  dlej`                  dfejb                  dfg      dm        Zlej                  j                  dVdn      do        Zmdp Zndq Zoej                  j                  dSeZ      dr        Zpds Zqdt Zrej                  j                  ej                  j                  dSeZ      du               Ztdv Zuedw        Zvdx Zwej                  j                  dc      ej                  j                  dy      eej                  j                  dV egd\d            dz                             Zxej                  j                  dc      ej                  j                  dy      ed{                      Zyej                  j                  dc      ej                  j                  dy      ed|                      Zzd} Z{d~ Z|ej                  j                  dV e} e egd\d      d            dgz         d        Z~ej                  j                  dc      ej                  j                  dy      eej                  j                  ddd fdd fdd fdd fg      d                             Zd Zej                  j                  de
j                  e
j                  e
j                  g      d        Zy)    )productcombinations_with_replacementpermutationsN)assert_allcloseassert_equal)stats)norm) _masked_arrays_2_sentinel_arraysSmallSampleWarningtoo_small_nd_omittoo_small_nd_not_omittoo_small_1d_omittoo_small_1d_not_omit)	AxisError)skip_xp_invalid_argSCIPY_XSLOW0c                     | j                         \  }}| j                  | j                  | j                  | j                  | j
                  ||fS N)confidence_interval	statisticpvaluedf_standard_error	_estimate)reslowhighs      Y/var/www/html/venv/lib/python3.12/site-packages/scipy/stats/tests/test_axis_nan_policy.pyunpack_ttest_resultr       sD    '')ICMM3::svvs/B/BMM3& &    c                       fd}|S )Nc                  4     | i |}|j                         S r   )r   )argskwargsr   ttests      r   ttest_ciz_get_ttest_ci.<locals>.ttest_ci%   s!    T$V$&&((r!    )r&   r'   s   ` r   _get_ttest_cir)   #   s    ) Or!         F)lessmethod
asymptotic)prattmodeautoTc                 2    | j                   | j                  fS r   r   r   r   s    r   <lambda>r5   3       #--, r!      c                 2    | j                   | j                  fS r   r3   r4   s    r   r5   r5   5   r6   r!   approxc                 H    | j                   | j                  | j                  fS r   )r   r   
zstatisticr4   s    r   r5   r5   7   s    #--S^^< r!   c                     | fS r   r(   xs    r   r5   r5   8       1$ r!   c                     | fS r   r(   r=   s    r   r5   r5   9   r?   r!   )gQ?c                     | fS r   r(   r=   s    r   r5   r5   :   r?   r!   c                     | fS r   r(   r=   s    r   r5   r5   ;        r!   c                     | fS r   r(   r=   s    r   r5   r5   <   rC   r!   c                     | fS r   r(   r=   s    r   r5   r5   =       aT r!   c                     | fS r   r(   r=   s    r   r5   r5   >   s    ! r!   c                     | fS r   r(   r=   s    r   r5   r5   ?   r?   r!   c                     | fS r   r(   r=   s    r   r5   r5   @   rF   r!   c                     | fS r   r(   r=   s    r   r5   r5   A       A4 r!   )order   )r   c                 2    | j                   | j                  fS r   )r0   countr=   s    r   r5   r5   K   s    8I r!   c                     | fS r   r(   r=   s    r   r5   r5   L   s    ! r!   c                     | fS r   r(   r=   s    r   r5   r5   M   s    qd r!   normal)distribution   c                 <    g | | j                   | j                  S r   statistic_locationstatistic_signr4   s    r   r5   r5   S   "    C3C..C0B0BC r!   c                 <    g | | j                   | j                  S r   rV   r4   s    r   r5   r5   U   rY   r!   c                 <    g | | j                   | j                  S r   rV   r4   s    r   r5   r5   W   rY   r!   c                 <    g | | j                   | j                  S r   rV   r4   s    r   r5   r5   Y   rY   r!   trimmedg{Gz?)centerproportiontocutc                     | fS r   r(   r=   s    r   r5   r5   ^       QD r!   c                     | fS r   r(   r=   s    r   r5   r5   _   rK   r!   c                 2    | j                   | j                  fS r   r3   r4   s    r   r5   r5   d   r6   r!   c                 2    | j                   | j                  fS r   r3   r4   s    r   r5   r5   f   r6   r!   c                     | fS r   r(   r=   s    r   r5   r5   i   s    qd r!   c                     | fS r   r(   r=   s    r   r5   r5   j       aT r!   c                     | fS r   r(   r=   s    r   r5   r5   k   rg   r!   c                     | fS r   r(   r=   s    r   r5   r5   l   rg   r!   c                     | fS r   r(   r=   s    r   r5   r5   m   rg   r!   c                     | fS r   r(   r=   s    r   r5   r5   n   rg   r!   c                     | fS r   r(   r=   s    r   r5   r5   o   rF   r!   c                     | fS r   r(   r=   s    r   r5   r5   p   ra   r!   c                     | fS r   r(   r=   s    r   r5   r5   q   ra   r!   c                 2    | j                   | j                  fS r   r3   r4   s    r   r5   r5   t   r6   r!   >   division by zeroMean of empty sliceNot enough observations.divide by zero encounteredData input must not be emptyNot enough test observations`skewtest` requires at leastNot enough other observationsData must be at least length 3 `kurtosistest` requires at least!Degrees of freedom <= 0 for slice!x and y must contain at least two#No array values within given limits$At least one observation is required$The sample must contain at least two$`x` and `y` must be of nonzero size.'x and y should have at least 5 elements)Data passed to ks_2samp must not be empty*attempt to get argmax of an empty sequence+Input sample size must be greater than one.+The exact distribution of the Wilcoxon test+Window length (0) must be positive and less+Window length (1) must be positive and less+Window length (2) must be positive and less.zero-size array to reduction operation maximuminvalid value encounteredz-Precision loss occurred in moment calculationz/Sample size too small for normal approximation.c           
      $   g }t        |       D ]  }d}|rdnd|z   }t        j                  |||f      t        j                  z  }	t        |      D ]k  }
|	|
d d d d f   }t	        dddd|dz
  |g      D ]0  \  }}|j                  |      d | }|j                  |      |||f<   2 |j                  |d      |d d  m |gdg| z  z   |gz   }d|d|z   <   |	j                  |      }	t        j                  |	d	|      }	|j                  |	        |S )
N      r   r7   r+   r*   sizeaxis)
rangenponesnan	enumeratepermutationrandomreshapemoveaxisappend)	n_samplesn_repetitionsr   rngpaireddatai
n_patternsn_obsr>   jsampleskn_realsindices	new_shapes                   r   _mixed_data_generatorr      s<    D9 
"q&GG]J67"&&@}% 	:A1ajG (Aq!U1We(DE ?
7//%0':&)jjgj&>7
#? q9GAJ	:$ #Oqc)m3ug=		!a%IIi KK2t$A9: Kr!   c                 *   g }t        |       D ]  }|rdnd|z   }|gdg| z  z   |gz   }	d|	d|z   <   |r&t        j                  |	      t        j                  z  n|j	                  |	      }
t        j
                  |
d|      }
|j                  |
        |S )Nr   r7   r+   r   )r   r   r   r   r   r   r   )r   r   r   r   r   all_nansr   r   r   shaper>   s              r   _homogeneous_data_generatorr      s    
 D9 "q&1#i-/5'9a!e'/BGGENRVV#SZZ5FKK2t$A Kr!   raise	n_outputs
nan_policyr   _no_decoc                   |dk(  r;|D ]5  }	t        j                  t        j                  |	            s,t        d       n|dk(  r^| t        vrV|D ]P  }	t        j                  t        j                  |	            s,t        j
                  |t         j                        c S  n|dk(  r|s'|D 	cg c]  }	|	t        j                  |	           }}	n^t        j                  |d         }
|dd  D ]+  }	t        j                  |
t        j                  |	            }
- |D 	cg c]  }	|	|
    
 }}	 | | g ||d|i|      S c c}	w c c}	w )Nr   The input contains nan values	propagateomitr   r7   r   )r   anyisnan
ValueErroroverride_propagate_funcsfullr   
logical_or)hypotestdata1dunpackerr   r   r   r   r$   kwdssamplenan_masks              r   nan_policy_1dr      sF    W 	BFvvbhhv&' !@AA	B 
#66
  	2Fvvbhhv&'wwy"&&11	2 
v	>DEFfbhhv../EFExxq	*H * E==288F3CDE6<=FfhY'=F=HGfGtGhG$GHH F
 >s   / E!E
z3ignore:Sample size too small for normal:UserWarningz0ignore:`kurtosistest` p-value may be:UserWarningz5ignore:all input arrays have length 1.:RuntimeWarningz7ignore:Degrees of freedom <= 0 for slice:RuntimeWarningz2ignore:Invalid value encountered in:RuntimeWarningz0ignore:divide by zero encountered:RuntimeWarning)r   r$   r   r   r   r   r   r   )r   r   r   r   )r7   data_generator)mixedc
                     | t         j                  t         j                  hv rt        st	        j
                  d       t        | |||||||||	
       y )N	Too slow.)r   cramervonmises_2sampkruskalr   pytestskip_axis_nan_policy_test
r   r$   r   r   r   r   r   r   r   r   s
             r   test_axis_nan_policy_fastr      sG    0 E..>>{K (D$	9f"JnFr!   z1ignore:Degrees of freedom <= 0 for:RuntimeWarning)r   
all_finiter   c
                 ,    t        | |||||||||	
       y r   )r   r   s
             r   test_axis_nan_policy_fullr   !  s"    2 	hdIy&&
D.	Jr!   c
           
      
	   |sd }t         j                  j                  d      }
d}||||
|d}|	dk(  rd}t        di |}n/|	dk(  rd}d	|d<   t	        di |}n|	d
k(  rd}d|d<   t	        di |}|gg|z  z   }D cg c]  }t        j
                  ||d       }}|D cg c])  }t        j                  |||j                  d   gz         + }}t        j                  ||gz         }t        j                  t        j                  |            D ]  \  }}|D cg c]  }||   	 }}t        |D cg c]%  }t        j                  |      j                         ' c}      }d}|dk(  rp|rnt        j                  t        |      5  t        | ||g||||d	d| d d d        t        j                  t        |      5   | g ||d|i| d d d        	 t        | ||g||||d	d|}|dk(  rE|	dk(  r@| t.        vr8t        j0                  t2        t4              5   | g ||d|i|}d d d        nr|dk(  r^|	dk(  rY| t.        vrQt         j6                  j9                         5 }|j;                  t2        t4                | g ||d|i|}d d d        n | g ||d|i|} |      }t=        ||       |||<    t        j
                  |dd      }|dk(  r<|	d
k(  s7d}t        j                  t        |      5   | g ||||d| d d d        y |dk(  rE|	dv rA| t.        vr9t        j0                  t2        t>              5   | g ||||d|}d d d        n | g ||||d|} |      }tA        ||d       y c c}w c c}w c c}w c c}w # 1 sw Y   
xY w# 1 sw Y   xY w# t        t         t"        f$ rw}t%        |      }t        t&        D cg c]  }t%        |      j)                  |       nc c}w c}      r%t        j*                  |t         j,                        }n Y d }~Ud }~ww xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w# 1 sw Y   xY w)Nc                     | S r   r(   r4   s    r   r   z'_axis_nan_policy_test.<locals>.unpackerF      Jr!   r   r*   )r   r   r   r   r   r   r   r   r+   Tr   Fr   r   r   matchr   r   r   r   r   >   r   r   g+=rtolr(   )!r   r   default_rngr   r   r   broadcast_tor   zerosndenumerater   r   r   raisesr   r   RuntimeWarningZeroDivisionErrorstrtoo_small_messages
startswithr   r   too_small_special_case_funcswarnsr   r   testingsuppress_warningsfilterr   r   r   ) r   r$   r   r   r   r   r   r   r   r   r   r   data_gen_kwdsinherent_sizer   output_shaper   data_bres_1dr   _r   contains_nanmessageres_1daeaea_strmsgr   supres_1dbres_nds                                    r   r   r   >  s    	 ))


"C M"+m!#AM $5}5	:	%$(j!*;];	<	'$)j!*;];!?m_Y%>>L
 ;??bkk&$+?F?"$ ooflfll26F5G&GH $F $XXli[01Frxx56 41*01&)11HvBHHV,002HI 2 \z9 Dh D4 D(1)3%+dD ?CDD z9 HG&G4GJG$GH 

	#Hfh J J.7/9+1DJ EIJG & ^z%A">>08IJ NMMM*MMN N F"~'@">>--/ N3

-/@AMMM*MMN N
 IFITIjIDIC3-Wg&q	i4l [[Q'F W^|%C1]]:W5 	MLdLtL*LtL	M 	f3H!H::\\,4EF 	SRDRTRt
RTRC	S 	S NNN4JNN c]FFF/g @$
 2HD DH H N,=> 	WF;MNCCK**3/NNO'')RVV4 	N N
N N&	M	S 	Ss   ?N#.NN 6*N%
N*N7O&Q/*QQ,Q8*N4	7O	QQ
0!P3Q

QQ	Q)	,Q58R)r   r   r   emptyc	           	      (   |sd }t         j                  j                  d      }	|dk(  r(t        |      D 
cg c]  }
|	j                  d       }}
n't        |      D 
cg c]  }
|	j                  d       }}
|dk(  rRt        |      D 
cg c]  }
|	j                  d      dkD   }}
t	        ||      D ]  \  }}t         j
                  ||<    n%|dk(  r |D cg c]  }|t         j
                  z   }}|D cg c]  }|j                          }}|d	k(  ro|d
vrkd}t        j                  t        |      5   | g ||d |d| d d d        t        j                  t        |      5   | g ||d |d| d d d        y t        j                         5  t        j                  d       d\  }}}	 t        | ||g||||dd|}	  | g ||d|i|}	  | g ||d |d|}d d d        ssrt%        t&        D cg c]  }t!        |      j)                  |       c}      }||sJ t*        t,        h}t!              |v sJ t!              |v sJ t        j                         5  t        j                  d        | g ||d|i|} | g ||d |d|}d d d         |       |      }}t/        ||       t1        |      t1        |      z   }t/        ||       |t1        |      z  }|D ]I  }t        j2                  |j4                  t         j6                        sJ t        j8                  |      rIJ  y c c}
w c c}
w c c}
w c c}w c c}w # 1 sw Y   "xY w# 1 sw Y   y xY w# t        t        t        f$ r}d }t!        |      }Y d }~d }~ww xY w# t"        $ r}t!        |      }Y d }~d }~ww xY w# t"        $ r}t!        |      }Y d }~d }~ww xY w# 1 sw Y   	xY wc c}w # 1 sw Y   _xY w)Nc                     | S r   r(   r4   s    r   r   z3test_axis_nan_policy_axis_is_None.<locals>.unpacker  r   r!   r   r   )r+   r   )r+   r   r   g?r   r   >   r   r   r   r   r   error)NNNTr   r   ignore)r   r   r   r   zipr   ravelr   r   r   warningscatch_warningssimplefilterr   r   r   r   r   r   r   r   r   r   r   list
issubdtypedtypenumberisscalar)r   r$   r   r   r   r   r   r   r   r   r   r   masksr   maskdata_raveledr   r   eb_strec_strres1dar   res1dbebres1dcecr   ok_msgdesired_warningsall_resultsitems                                  r   !test_axis_nan_policy_axis_is_Noner    sL    	 ))


"C ,1),<=q

6"==-29-=>

7#>> 49)4DEqG$s*EEe, 	"LFD66F4L	"	:	%.23F33156vFLLN6L6W7N!N1 ]]:W5 	$ $d $$* $"$	$ ]]:W5 	$ $l $$* $"$	$ 	 
	 	 	" g&!1	"8\8 Id I-6:*04ICGIF	R|RdRzRTRF	UtUdU*UPTUF%, 6 =OPcc&k,,S1PQ6)) ./DE6{....6{....$$& 	V!!(+R|RdRzRTRFUtUdU*UPTUF	V f%x'7FF v,f-KVV$tF|# !}}TZZ333{{4   !e >> F 46	$ 	$	$ 	" 
,=> 	FWF	 " 	WF	
 " 	WF	' 4 Q	V 	Vs   MMMM9M$8M),M6O57NN1O	!P55P)M36M?N.N)#O5)N..O51	O:OO5OO5	O2O-'O5-O22O55O?Pz ignore:All axis-slices of one...zignore:After omitting NaNs...z$ignore:divide by zero encountered...z#ignore:invalid value encountered...)r   r   )r   r$   r   r   r   c                     | fS r   r(   r=   s    r   r5   r5   ,  s    ! r!   )sample_shape
axis_cases)))r+   r*   r*   rT   )Nr   r   )r   r+   )r7   r   )r*   r7   r+   r   ))
   )r   r   ))r   r   r   r7   c           
         |sd }t         j                  j                  d      }t        |      D 	cg c]  }	|j                  |       }
}	|
D cg c]  }|j	                          }}t        |      D 	cg c]  }	|j                  |      dk   }}	t        ||      D ]  \  }}t         j                  ||<    |D ]6  }t        |      }|t        j                  t        |            }n"t        |t              rd||<   n|D ]  }d||<   	 t        |      } | | g |
||dd|      } | | g |
||dd|      } | | g |||d|d|      } | | g |||d|d|      }t        ||||      D ]o  \  }}}}|j                  |k(  sJ t        j                  ||	      }t        ||       |j                  |k(  sJ t        j                  ||	      }t        ||       q 9 y c c}	w c c}w c c}	w )
Nc                     | S r   r(   r4   s    r   r   ztest_keepdims.<locals>.unpacker:  r   r!   r   皙?r7   T)r   keepdimsF)r   r   r   r   )r   r   r   r   copyr   r   r  r   len
isinstanceinttupler   squeezer   )r   r$   r   r   r   r  r  r   r   r   r   r   nan_datar   r
  r   expected_shapeaxr   res_basenan_resnan_res_baserr_basernrn_bases                             r   test_keepdimsr1  $  sj   * 	
))


"C.3I.>?CJJ|$?D?,01&1H18=i8HI1

<(3.IHIHh/ vvt &l+<WWS%67N$$'(t$ +B)*N2&+~.x ( ( (4$ ("&( )H -d -T -u -'+- .8 ,X , ,4-1j,&*, -   !H( !HT !H274>!HBF!H I '*#x*6'8 	&"Avr777n,,,

14(AF#88~---BT*BW%	&+& @1Is   G7G<6H)funnsampc                    d\  }}t         j                  j                  d      }|j                  |||f      } | | } | |ddi} | |D cg c]  }|j                          c}      }	t	        ||       t	        ||	       y c c}w )N)   	   r   r   T)r   r   r   r   r   )
r2  r3  mnr   r>   r   res2xires3s
             r   !test_hypotest_back_compat_no_axisr<  a  s     DAq
))


"C

E1a=!A
q'C!D!DQ'r
'(Ddd (s   Br   r7   r+   c           	         d}t         j                  j                  d      }|j                  |      }|j                  |      }t        j                  ||dd|       }t        j                  ||dd|       }t        ||       d}t        j                  t        t        j                  |            5  t        j                  ||dd| |        d d d        y # 1 sw Y   y xY w)N)r5  r6  r  r   Tz	two-sidedr   z6mannwhitneyu() got multiple values for argument 'axis'r   )r   r   r   r   mannwhitneyur   r   r   	TypeErrorreescape)r   r   r   r>   yres1r9  r   s           r   .test_axis_nan_policy_decorated_positional_axisrE  p  s     E
))


"C

5A

5AaD+t<DaD+DADtFG	y		'(:	; E1a{DtDE E Es   3CC!c                     d} t         j                  j                  d      }|j                  |       }t         j                  |d<   t	        j
                  |  d}t        j                  t        t        j                  |            5  t	        j
                  |       d d d        t        j                  t        t        j                  |            5  t	        j
                  |d|i d d d        y # 1 sw Y   VxY w# 1 sw Y   y xY w)Nr*   r5  r6  r  r   r   r   r   r   z6kruskal() got an unexpected keyword argument 'samples'r   )r   r   )r   r   r   r   r   r   r   r   r@  rA  rB  )r   r   r>   r   s       r   .test_axis_nan_policy_decorated_positional_argsrI    s     E
))


"C

5AFFAjM	MM1FG	y		'(:	; !a ! 
y		'(:	; %q$!$% %! !% %s   C4D 4C= D	c                     d} t         j                  j                  d      }|j                  |       }t         j                  |d<   t	        j
                  | }t	        j
                  |d   |d         }t        ||       d}t        j                  t        t        j                  |            5  t	        j
                  ||d   |d   d d d d        y # 1 sw Y   y xY w)N)r+   r5  r6  r  r   rH  r7   )r>   rC  z/mannwhitneyu() got multiple values for argumentr   )r   r   r   r   r   r?  r   r   r   r@  rA  rB  )r   r   r>   rD  r9  r   s         r   .test_axis_nan_policy_decorated_keyword_samplesrK    s    
 E
))


"C

5AFFAjMq!D!!-Dt?G	y		'(:	; /A11./ / /s   1CC c                    d| j                   v rt        j                  d       t        j                  j                  d      }|sd }|j                  |ddf      }t        j                  |       }	t        j                  |	      }
 | | g ||dd	i|      } | |
g ||dd	i|      }t        ||d
       y )Nr'   z0Can't pickle functions defined within functions.r   c                     | S r   r(   r4   s    r   r   z8test_axis_nan_policy_decorated_pickled.<locals>.unpacker  r   r!   r+      r   r   r   g-q=r   )__name__r   r   r   r   r   uniformpickledumpsloadsr   )r   r$   r   r   r   r   r   r   r   pickled_hypotestunpickled_hypotestrD  r9  s                r   &test_axis_nan_policy_decorated_pickledrV    s     X&&&FG
))


"C 	 ;;Y2.;/D||H-&67H;d;T;;d;<D&EEtE"EEFDD$U+r!   c            	         t        d      D ]  } t        g d|       D ]  }t        t        |            D ]  }t        j                  |      f}t
        j                  j                  ||      }|<t        j                  j                         5 }|j                  t        d       |j                  t        d       |d   j                  |      }d d d        t        j                  j                  |          y # 1 sw Y   0xY w)N   r=  Mean of empty slice.r   r   r   )r   r   r"  r   r   r   _axis_nan_policy_check_empty_inputsr   r   r   r   meanr   )r   combor   r   outputr   	references          r   test_check_empty_inputsr`    s     1X ?29a@ 
	?Ec%j) 	?88E?,//CCGDHJ%557 ?3

>3IJ

>3NO$+AJOOO$>	? JJ++FI>	?
	??? ?s   AC?	?Dc                 p   t        | D cg c]  }|j                   c}      }||dk\  r| |z   n|}t        d|dz         D ]m  }| |k(  r
t               }| D ]E  }||j                  k  s|j                  |    dk7  s'|j                  |j                  |           G t        |      dkD  sm y yc c}w )Nr   r7   FT)maxndimr   setr   addr"  )arraysr   arrn_dimsdimdim_lengthss         r   _check_arrays_broadcastablerk    s     f-s#((-.F#'19$$Qq! 
44<e 	1Cchh399cT?a#7		3$0	1 {a
 ! .s   B3c           	         | t         j                  t         j                  hv rt        st	        j
                  d       | t        v rd}t	        j
                  |       |d }d }g d}	 |||	      D ]  }
t        d |
D              st        d |
D              }t        | |      D ]  }	 t         j                  j                  |
|      }t        j                  j                         5 }|j                  t         d	       |j                  t         d
       t        j"                  ||      t        j$                  z  }d d d        | t&        v rN | g g gt)        |
      z  |i |}t        j*                        }t        j,                  |      }|||<   |d   }j.                  rM| t0        vrE|dk(  rt2        nt4        }t	        j6                  t8        |      5   | g |
|d|i|}d d d        nLt        j                  j                         5 }|j                  t8        d        | g |
|d|i|}d d d         |      }t        |      D ]  }t;        ||   |          y # 1 sw Y   3xY w# 1 sw Y   DxY w# 1 sw Y   PxY w# t<        $ r t?        |
|rd n|      rJ d}t	        j@                  t<        |      5  t         j                  j                  |
||       d d d        n# 1 sw Y   nxY wt	        j@                  t<        |      5   | g |
|d|i| d d d        n# 1 sw Y   nxY wY w xY w)Nr   z4Doesn't follow the usual pattern. Tested separately.)reasonc                     | d   | d   fS )Nr   r7   r(   r4   s    r   r5   ztest_empty.<locals>.<lambda>  s    AA/ r!   c              3   |   K   d }t        |       D cg c]
  } ||       }}t        | E d {    y c c}w 7 
w)Nc              3   n   K   | D ],  }t        g d|      D ]  }t        j                  |        . y w)Nr=  )r   r   r   )rh  r   r]  s      r   small_sample_generatorzHtest_empty.<locals>.small_data_generator.<locals>.small_sample_generator  s9      *:9aH *E((5/)**s   35)r   r   )r   rh  rq  r   genss        r   small_data_generatorz(test_empty.<locals>.small_data_generator  sA     	* 9>i8HI1&v.IID>!! J!s   <5<:<r7   r+   r*   c              3   :   K   | ]  }|j                   d k(    yw)r   Nr   .0r   s     r   	<genexpr>ztest_empty.<locals>.<genexpr>  s     :6;;!#:s   c              3   4   K   | ]  }|j                     y wr   )rc  rv  s     r   rx  ztest_empty.<locals>.<genexpr>  s     9vv{{9s   rY  r   r   r(   r7   r   r   zall input arrays have length 1z/Array shapes are incompatible for broadcasting.)!r   r   friedmanchisquarer   r   r   r   r   rb  r   	_stats_py_broadcast_concatenater   r   r   r   r   r\  r   empty_special_case_funcsr"  asarrayr   r   r   r   r   r   r   r   r   rk  r   )r   r$   r   r   r   r   r   rm  rs  rh  r   max_axisr   concatr   expected	empty_valr
  r   r   r   s                        r   
test_emptyr    s3   
 EMM5#:#:;;KK ++G6"/" F'	6: 6A :'::999 8)X. -	AD+A ??NZZ113 CsJJ~/EFJJ~/JK!wwvD9BFFBHC
 77 ( MB4G+< M M MI!zz(3H88H-D%.HTN'|H==X5Q%Q8@A4$9 &8H K&JJ$JTJTJK K 557 K3

#57WX&JJ$JTJTJK smy) 3A Q23?-	A6A C CK KK K  A6w?Et4Q Q Q
 L]]:W= ROO::7D&QR R R]]:W= A@g@@4@4@A A AAs   .>J,AI2BJI?/'J&J</J2I<7J?JJJJ8M
"K:	1	M
:L?"M
!L:	1	M
:M?M
	M
c                  x   t         j                  j                  d       t         j                  j                  ddd      } t         j                  j                  d      }| dk  }t         j                  j                  | |      } t        j                  t         j                        j                  }t        j                  |t         j                         }t        j                  |t         j                         }t         j                  | d<   t         j                  | d<   || d<   t         j                  |d	<   t         j                  |d
<   ||d<   t        | |g      \  }}|\  }}	||k7  r||k7  sJ ||k(  sJ | j                  }
||
| j                  <   t         j                  j!                  ||
       |	|u sJ y )Nr   r        g      ?)r*   rT   r7   )rT   rX  r+   )rX  r   r*   r5  rM   r   )r   r   seedrandmamasked_arrayfinfofloat64rb  	nextafterinfr   r
   r   r
  r   assert_array_equal)ABr
  	max_float
max_float2
max_float3
out_arrayssentinelA_outB_outA_references              r   "test_masked_array_2_sentinel_arrayr  K  sa   IINN1
		r2r"A
		rAs7D
1d#A $((Ii"&&1Jj266'2JAgJAgJAgJ66AaD66AaDAaD <QFCJLE5 	!J(>??z!!! &&K"KJJ!!%5A::r!   c                     t        j                  t         j                        j                  } t        j                  t         j
                        j                  }t        j                  dd| gt         j                        }t         j                  j                  g dt         j                  g d      }t         j                  j                  g dt         j
                  g d      }t        ||g      \  }}|\  }}|| dz
  k(  sJ |j                  t         j                  k(  sJ t        ||d   ||d	   g       ||u sJ t        |t         j                  j                        rJ t        ||g      \  }}|\  }}	||k(  sJ |j                  t         j
                  k(  sJ t        ||d   ||d	   g       t        |t         j                  j                        rJ t        |	t         j                  j                        rJ t        j                  t         j                        j                  t        j                  t         j                        j                  }}
t        j                  |
|dz   t         j                        }t        j                   |t"              }t        j                   |t"              }d
|d<   t         j                  j                  ||      }t        |g      \  }}||
dz   k(  sJ d
|d<   t         j                  j                  ||      }d}t%        j&                  t(        |      5  t        |g       d d d        t         j                  j                  g dg dt         j*                        }t-        j.                  |      j                  t         j*                  k(  sJ y # 1 sw Y   pxY w)Nr7   r+   r  )r7   r+   r7   r   r7   r   )r  r
  r   r   r   r   r   Tr
  z7This function replaces masked elements with sentinel...r   rt  )r
  r  )r   iinfoint16rb  r  
complex128arrayr  int8r
   r  r   r#  MaskedArrayminarange
zeros_likeboolr   r   r   float32r   gmean)max16max128cabcr  r  a_outb_outc_outmin8max8mask1mask0a1a0r   s                    r   test_masked_dtyper  n  s    HHRXX""Ehhr}}%))G 	!Qbhh/A
IRWW9=A
IR]]CA <QFCJLE5uQw;;"(("""EAaD(AbE23A::%!2!2333 <QFCJLE5w;;"--'''EAaD(AbE23%!2!2333%!2!2333 "''"&&(9(=(=$D
		$Qbgg.AMM!4(EMM!4(E E!H	QU	#B;RDAJtAv E!H	QU	#BGG	z	1 /("./ 	IIRZZ@A;;q>2::---/ /s   N==Oc                     g d} g d}t        j                  | |      }dddt        j                  dg}t        j                  | |d      }t        j                  j                  ||       g d	}g d
}t        j                  j                  ||      }t        j                  | |      }t        j                  j                  ||       dddt        j                  ddg}g d}	t        j                  j                  ||	      }t        j                  | |d      }
t        j                  j                  |
|       dddt        j                  ddg}g d}t        j                  j                  ||      }t        j                  | |d      }t        j                  | |d      }t        j                  j                  ||       t        j                  j                  ||       y )N)               )r   r     r  r   r  r  r  r   )r   )r   r  r    r  )FFFTFr  r  )FFFFTF)FFFTTFr   r   )r   r?  r   r   r   r  r  r  )malesfemalesr   females2r9  females3mask3r;  females4mask4res4females5mask5res5res6s                  r   test_masked_stat_1dr    s    EG


UG
,C BBFFB'HeX&ADJJ!!$, &H.Euu!!(!7HeX.DJJ!!$, BBFFD"-H5Euu!!(!7HeX&ADJJ!!$, BBFFD"-H4Euu!!(!7HeX+FDeX'BDJJ!!$,JJ!!$,r!   z(ignore:One or more axis-slices of one...c                    t         j                  j                  d       t         j                  j                  ddd      }t         j                  j                  dd      }t         j                  j                  dd      }|dk  }g d}t         j                  j                  ||      }t         j                  j                  ||      }|j                         }t         j                  ||<   |j                         }	t         j                  |	|<   t        j                  |||	d	| 
      }
t        j                  ||||       }t         j                  j                  |
|       y )Nr   r*   rT   rX  r7   皙?)FFFTr  r   r   r   r   )r   r   r  r  r  r  r!  r   r   r   r   r  )r   r  r  r  mask_amask_ca_maskedc_maskeda_nansc_nansr   r9  s               r   test_masked_stat_3dr    s     IINN1
		q!QA
		q!A
		q!AWF(Fuu!!!&!1Huu!!!&!1HVVXFVVF6NVVXFVVF6N
--6f4
HC==1hT:DJJ!!#t,r!   c                     d\  } }d}t         j                  j                  d       t         j                  j                  | |      }t         j                  j                  | |      }t         j                  j                  | |      dk  }t         j                  j                  | |      dk  }t         j                  j                  | |      dk  }t         j                  j                  | |      dk  }d|dd d f<   |j	                         }	|j	                         }
t         j
                  |	||z  <   t         j
                  |
||z  <   t         j                  j                  ||	      }t         j                  j                  ||	      }t         j
                  ||<   t         j
                  ||<   t         j                  j                  ||	      }t         j                  j                  ||	      }t         j
                  ||<   t         j
                  ||<   t         j                  j                  |||z  	      }t         j                  j                  |||z  	      }t        j                  |	|
d
|      }t        j                  ||d
|      }t        j                  ||d
|      }t        j                  ||d|      }t        j                  ||d|      }t         j                  j                  ||       t         j                  j                  ||       t         j                  j                  ||       t         j                  j                  ||       y )Nr*   r   r   r   r  r  333333?Tr+   r  r   r  r   r   )r   r   r  r  r!  r   r  r  r   wilcoxonr   r  )r7  r8  r   r  r  mask_a1mask_a2mask_b1mask_b2r  b_nans	a_masked1	b_masked1	a_masked2	b_masked2	a_masked3	b_masked3r   rD  r9  r;  r  s                         r   test_mixed_mask_nan_1r    s    DAqDIINN1
		q!A
		q!AiinnQ"S(GiinnQ"S(GiinnQ"T)GiinnQ"T)GGAqDMVVXFVVXF "F7W "F7W""17"3I""17"3IIgIg""17"3I""17"3IIgIg""1Gg,="?I""1Gg,="?I
..F
FC>>)Y6MD>>)Y6MD>>)Y7ND>>)Y%0t=D JJ!!$,JJ!!$,JJ!!$,JJ!!$,r!   c                     dt         j                  dgt         j                  t         j                  t         j                  gg ddt         j                  dgdt         j                  dgg dg} g dg dg dg dg dg dg}t         j                  j                  | |	      }g d
g}t	        j
                  ddgg d
      }t	        j
                  g dg d
      }t	        j
                  ||dd      }t         j                  t         j                  t         j                  |j                  |j                  |j                  g}t         j                  t         j                  t         j                  |j                  |j                  |j                  g}t         j                  j                  |j                  |       t         j                  j                  |j                  |       t	        j
                  ||dd      }t         j                  t         j                  t         j                  t         j                  |j                  |j                  g}t         j                  t         j                  t         j                  t         j                  |j                  |j                  g}t         j                  j                  |j                  |       t         j                  j                  |j                  |       y )Nr7   r+   rt  r*   )r7   r   r7   r  r7   r7   r7   r  r  rT   rX  r   r   r   r  r   )
r   r   r  r  r   ranksumsr   r   r   r  )	r  r
  r  r  ref1ref2r   stat_refp_refs	            r   test_mixed_mask_nan_2r    s    RVVQ"&&"&&"&&19
RVVQ!RVVQ	4Ay)y)-Duu!!!$!/H	A>>1a&),D>>)Y/D ..1b
AC@HVVRVVRVV[[$++t{{4EJJ!!#--:JJ!!#**e4 ..12
FC8HVVRVVRVVVVT[[$++/EJJ!!#--:JJ!!#**e4r!   c                      d} t         j                  j                  d      }|j                  |       }t        j                  |dd i}t        j                  |ddi}t         j
                  j                  ||       y )NrG  r   r   r=  )r   r   r   r   r   r   r  )r   r   r>   r   r9  s        r   test_axis_None_vs_tupler  D  sc    E
))


"C

5A
--
&
&C==!,),DJJ!!#t,r!   c                  
   t         j                  j                  d      } | j                  d      }| j                  d      }t        j                  ||      \  }}t	        j
                  |j                         |j                               }t	        j
                  ||d       }t	        j
                  ||d      }t	        j
                  |j                         |j                               }||k(  sJ ||k(  sJ ||k7  sJ y )Nr   )rX  r7   )r7   rX  r   r  )r   r   r   broadcast_arraysr   r?  r   )	r   r>   rC  x2y2res0rD  r9  r;  s	            r   )test_axis_None_vs_tuple_with_broadcastingr  N  s     ))


"C

6A

6A  A&FBaggi3Da.Da0Dbhhj"((*5D4<<4<<4<<r!   )r7   c                    t         j                  j                  d      }d}d}|j                  |      }|j                  |      }| }t        | D cg c]  }|dk\  r|nd|z    c}      } t	        |       } t        t        |             t        |       k7  rRd}t        j                  t        t        j                  |            5  t        j                  |||       d d d        y | d   dk  s| d   d	kD  rRd
}t        j                  t        t        j                  |            5  t        j                  |||       d d d        y t        j                  |||      }	h dt        |       z
  }
t        t        |
            }
|}g d}||
   ||
<   t        j                   ||      }|j"                  |
   }t        j$                  || d      }t        j$                  || d      }t        j&                  ||df      }t        j&                  ||df      }t        j                  ||d      }t         j(                  j+                  |	|       y c c}w # 1 sw Y   y xY w# 1 sw Y   y xY w)Nr   r  )r7   r   r*   z*`axis` must contain only distinct elementsr   r   r   r+   z0`axis` is out of bounds for array of dimension 3>   r   r7   r+   )r7   r7   r   )r7   r+   r7   )r   r   r   r%  sortedr"  rd  r   r   r   rA  rB  r   r?  nextiterr   r   r   r   r   r  )r   r   shape_xshape_yr>   rC  axis_originalr   r   r   not_axisr  shape_y_broadcastedr  r7  r9  s                   r   test_other_axis_tuplesr  `  s	    ))


"CGG

7A

7AM D9qQ1AE)9:D$<D
3t9~T">]]9BIIg,>? 	9q!-8	9Aw{d2hlD]]9BIIg,>? 	9q!-8	9


Q
6C 3t9$HDN#H	
B#$+H$5!	/	0B
A	Rv	&B	Rv	&B	BB	 B	BB	 Bb"1-DJJ!!#t,C :
	9	9s   II(I!I!I*zweighted_fun_name, unpackerr  c                     | S r   r(   r=   s    r   r5   r5         A r!   hmeanc                     | S r   r(   r=   s    r   r5   r5     r  r!   pmeanc                     | S r   r(   r=   s    r   r5   r5     r  r!   combine_pvaluesc                 2    | j                   | j                  fS r   )r   r   r=   s    r   r5   r5     s    qxx&= r!   c                   ! | dk(  rd !nt        t        |       !!fd}d\  }}d}t        j                  j	                  d      }|j                  ||f      }|j                  ||f      }|j                  ||f      dk  }	|j                  ||f      d	k  }
|j                  ||f      d
k  }|j                  ||f      d
k  }d|	dd d f<   |j                         }|j                         }t        j                  ||	|
z  <   t        j                  |||z  <   t        j                  j                  ||	      }t        j                  j                  ||      }t        j                  ||
<   t        j                  ||<   t        j                  j                  ||
      }t        j                  j                  ||      }t        j                  ||	<   t        j                  ||<   t        j                  j                  ||	|
z        }t        j                  j                  |||z        }|	|
z  |z  |z  }t        j                  j                  ||      }t        j                  j                  ||      }t        j                  j                         5 }d}|j                  t        |        |||d|      } |||d|      } |||d|      } |||d|      } |||d|      }| dv r&t        t        j                  |       } ||||d      } d d d        t        j                  j                         t        j                  j                  |       t        j                  j                  |       t        j                  j                  |       | dv rFt        j                  j!                   j#                         |t        j$                  |                 y y # 1 sw Y   xY w)Nr
  c                 2    t        j                  | fddi|S )NpgzG?)r   r
  )r  r%   s     r   weighted_funz6test_mean_mixed_mask_nan_weights.<locals>.weighted_fun  s    ;;q3D3F33r!   c                         | i |      S r   r(   )r$   r%   r   r  s     r   funcz.test_mean_mixed_mask_nan_weights.<locals>.func  s    d5f566r!   r  r   l    r   r  r  r  Tr+   r  r   r   )weightsr   r   r   r   >   r  )r  r   r   )getattrr   r   r   r   rP  r!  r   r  r  r   r   r   r   mstatsr  r   
compressedr   )"weighted_fun_namer   r  r7  r8  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  mask_all	a_masked4	b_masked4r   r   r   rD  r9  r;  r  weighted_fun_mar  r  s"    `                               @r    test_mean_mixed_mask_nan_weightsr    s~   " G#	4 u&787 DAqD
))



+C!Q A!Q Akk1vk&,Gkk1vk&,Gkk1vk&-Gkk1vk&-GGAqDMVVXFVVXF "F7W "F7W""17"3I""17"3IIgIg""17"3I""17"3IIgIg""1Gg,="?I""1Gg,="?I'!G+g5H""18"4I""18"4I		%	%	' =3-

>7+66f4HIyV$OIyV$OIyW4PIy[tT 	)%ell4EFO"9i(,t=D=  JJ!!$,JJ!!$,JJ!!$,JJ!!$,I%


""4??#4c288C=.6IJ &)= =s   $A?O66O?c                  b   d} t        j                  t        |       5  t        j                  g dd       d d d        d} t        j                  t        |       5  t        j                  g dd       d d d        d} t        j                  t        |       5  t        j                          d d d        d	} t        j                  t        |       5  t        j                  g dd
t
        g dd       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   y xY w)Nz"got an unexpected keyword argumentr   rt  T)invalid_argz! got multiple values for argument)r  z&missing 1 required positional argumentz7takes from 1 to 4 positional arguments but 5 were givenr   r  r  )r   r   r@  r   r  float)r   s    r   test_raise_invalid_args_g17713r!    s     3G	y	0 1I401 2G	y	0 'I&' 7G	y	0  HG	y	0 8Iq%B78 81 1' ' 8 8s/   DDD"D%D
DD"%D.r  c                      G fdd      }dgdz  g dz   t        j                   ||             }|j                  dk(  sJ |j                  dk(  sJ y )Nc                        e Zd Zd Zd fd	Zy)&test_array_like_input.<locals>.ArrLikec                      || _         || _        y r   )_x_dtype)selfr>   r  s      r   __init__z/test_array_like_input.<locals>.ArrLike.__init__   s    DGDKr!   Nc                 F    t        j                  | j                        S )Nr  )r   r~  r'  )r(  r  r!  r>   s      r   	__array__z0test_array_like_input.<locals>.ArrLike.__array__  s    ::at{{33r!   )NN)rO  
__module____qualname__r)  r+  r=   s   r   ArrLiker$    s    	 	4r!   r.  r7   r+   )r*   rT   rX  r  )r   r0   rO   )r  r.  r   r>   s      @r   test_array_like_inputr/    sT    
4 4 
A	A
**WQe,
-C88q==99>>r!   )F)FT)	itertoolsr   r   r   osrA  rQ  r   r  numpyr   numpy.testingr   r   scipyr   scipy.statsr	   scipy.stats._axis_nan_policyr
   r   r   r   r   r   scipy._lib._utilr   scipy.conftestr   r$  environgetr   r    r)   r   r%  dictr  r?  r  r  r  r
  semiqrkurtosisskewkstatkstatvarmomentjarque_berattest_1sampr  	ttest_rel	ttest_indr0   differential_entropy	variationrz  brunnermunzelmoodshapiroks_1sampcdfks_2sampkstestlevenefligneransarientropyskewtestkurtosistest
normaltestcramervonmisesr   epps_singleton_2sampbartletttmeantvartmintmaxtstdtsemcircmeancircvarcircstdf_onewayalexandergovernr  axis_nan_policy_casesr   inaccuracy_messagesr   r}  r   r   r   r   markfilterwarningsparametrizer   r   r   r   r  r1  r<  rE  rI  rK  rV  r`  rk  slowr  r  r  r  r  r  r  r  r  r  r  r  r!  r  r  r  r/  r(   r!   r   <module>rk     s.   K J 	 	     7  T T ' . "**..45&K ]]EGTVQ5$7	K
 ^^Y1eT:K 8\":Aq%NK ^^Z&&!11a,.K ^^UWdfaD,.K ^^UWvx0!Q<>K [[%'461a?K [[%'461a?K [['461a?K  YYAun=!K" YYAun=#K$ ^^UWdfaE>B%K& ZZ$&!Q~>'K( [[%'461a?)K* ^^UWdfaE>B+K, \\57DFAq%@-K. \\57D1v.1eTB/K0 Aud;1K2 1#($&!Q3K6 __egtvq!T3FG7K8 __egtvq!U4GH9K: 5$$%tTVQ5$G;K< 5??#UWdfaD$G=K> 5??#UWdfaE4H?K@ ZZ$&!Q.IJAKB $&!Q~NCKD __egtvq!UNCEKF egtvq!T4@GKH %'4X#>1eTRIKJ ZZ"aE40KKL ]]EGRAud3MKN ^^dfjj]DFAq%CEOKR ^^UWdfaECESKV \\DFJJ=$&!QCEWKZ \\57DFAq%CE[K^ \\57B1eT2_K` ]]EG	dK5$aKd \\57B1eT2eKf ]]EGTVQ5.AgKh ]]EGTVQ4@iKj ^^UWdfaE48kKl $&!Qt<mKn uw1eT:oKp 9dfaE,.qKt $&!Q,.uKx $&!QtDyKz ^^UWb!Qt4{K| [[%'2q!UN;}K~ ZZ"aE>:K@ ZZ"aE>:AKB ZZ"aE>:CKD ZZ"aE>:EKF ZZ"aE>:GKH ^^UWdfaE>BIKJ ]]EGTVQ5.AKKL ]]EGTVQ5.AMKN ^^UWb!Qt4OKP EGRAu,.QKT EGRAud;UK ^5 : GHJ  "JJ<  "MM?  !&  "'$P 8<  @A$UTID QRNOST
 UV PQNO 01FH,)GH&4(*Z8F 9 ) IH P R W U P S*F  [[ UV[[ RS[[ WX
 [[ ST [[ TU[[ RS[[ 45JL[[l-KL[[fuR|4[[.@BJB 5 ML T V U Y T W,Jv0r  01FH,)GH*EG_!G IH
_!P >?;<BCAB'<=9kk57DFA~6%'Hl#;QEtvq*=>@ "(& > C D = @$(&V ) ;;* >>1-/0	0	 &9-E .E$%$/$  01FH,H,*?,B  01FHPAH PAf F 6. 6.r -F ;<FG&5Q<0- 1  H =-, ;<FG,-  H =,-^ ;<FG'5  H ='5T-$ &l5Q<;<yHJ+-J+-\ ;<FG"	+	+	+	=>	FK  H =FKR8* 288RZZ"GH Ir!   