+
    yȇiI                        ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIt	^ RIH
t
Ht ^ RIHt ^ RIHt ]P"                  R 4       t]P"                  R 4       t]P"                  R 4       t ! R	 R
4      t ! R R4      tR tR tR tR t]P6                  P9                  R. ROR^ 3. ROR^3. ROR^3. R OR^3. R!ORR"3. RR"3. R#OR^ 3. R#O^^3. R#O^^3. R#O^R"3. R$O^ ^3. R$O^^3.4      R 4       t]P6                  P9                  R^^]P<                  ]P<                  .^]P<                  ^]P<                  .^^]P<                  .]P<                  ^^ ^ ]P<                  ^.]P<                  ^ ^ ^^^..4      ]P6                  P9                  R]P<                  ^ ^.4      R 4       4       tR t R t!R t"]P6                  P9                  R]P<                  ^.4      R 4       t#R t$R t%R t&R# )%    N)IntIndex)np_version_gt2)SparseDtypeisnaSparseArrayc                     \         P                  ! \         P                  \         P                  ^^^\         P                  ^^\         P                  ^.
4      # )z<Fixture returning numpy array with valid and missing entries)nparraynan     u/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/arrays/sparse/test_array.pyarr_datar      s8     88RVVRVVQ1bffaBFFAFGGr   c                    \        V 4      # )z-Fixture returning SparseArray from 'arr_data'r   )r   s   &r   arrr      s     x  r   c                      \        . RO^ R7      # )zEFixture returning SparseArray with integer entries and 'fill_value=0'
fill_value)
r   r            r         r      r   r   r   r   zarrr      s     5!DDr   c            
       L  a  ] tR t^$t o ]P
                  P                  R^ R]P                  .4      R 4       t	R t
]P
                  P                  R. RO]P                  ! ^^.4      R.4      R 4       tR tR t]P
                  P                  R	. RORR3. RR3^ .RR3R
R
]P                  R.R]3.4      R 4       t]P
                  P                  R]P                  ]P                  ]P                  ]P                  ]P                  .^]P                  ]P                  ^]P                  .^]P                  ^ ^^ ..4      ]P
                  P                  RR^ .4      R 4       4       t]P
                  P                  RRR.4      R 4       tR tR tR tR tR tRtV tR# )TestSparseArrayr   Nc           	     8   \        \        P                  ! . RO4      RR7      pVP                  ^VR7      p\	        V4      '       d   VP
                  P                  p\        \        P                  ! V^^ ^ ^.4      RR7      p\        P                  ! W44       R# )r   g       @r   N)r   r   r   r   r   )	r   r
   r   shiftr   dtypena_valuetmassert_sp_array_equal)selfr   sparseresexps   &&   r   test_shift_fill_value%TestSparseArray.test_shift_fill_value%   ss     RXXo63Gll1l4
++J"((J1a#;<M
  *r   c                   \        R \        P                  R.\        P                  R7      p^Vn        VP                  ^8X  g   Q h\        . R
O^ \        P                  R7      p^Vn        VP                  ^8X  g   Q hRp\
        P                  ! \        VR7      ;_uu_ 4        RVn        RRR4       VP                  ^8X  g   Q h\        P                  Vn        \        P                  ! VP                  4      '       g   Q h\        . ROR	\        P                  R7      pRVn        VP                  RJ g   Q h\
        P                  ! \        VR7      ;_uu_ 4        ^ Vn        RRR4       VP                  RJ g   Q h\        P                  Vn        \        P                  ! VP                  4      '       g   Q hR#   + '       g   i     EL; i  + '       g   i     Lu; i)      ?g       @r   r   r!   z<fill_value must be a valid value for the SparseDtype.subtypematchg@NTF)r   r   r   TFT)
r   r
   r   r   int64pytestraises
ValueErrorisnanbool_)r%   r   msgs   &  r   test_set_fill_value#TestSparseArray.test_set_fill_value/   sO   3,@~~""")B~~"""L]]:S11 CN 2 ~~"""xx''''-%rxxP~~%%%]]:S11CN 2~~%%%xx''''# 211 21s   %G GG	G%	valc                    \        . ROR\        P                  R7      pRp\        P                  ! \
        VR7      ;_uu_ 4        Wn        RRR4       R#   + '       g   i     R# ; i)TFr-   zfill_value must be a scalarr.   Nr0   )r   r
   r6   r2   r3   r4   r   )r%   r:   r   r7   s   &&  r    test_set_fill_invalid_non_scalar0TestSparseArray.test_set_fill_invalid_non_scalarL   s?    -%rxxP+]]:S11 N 2111s   AA'	c                    VP                  4       pVP                  VP                  Jg   Q hVP                  VP                  J g   Q hR # N)copy	sp_valuessp_index)r%   r   arr2s   && r   	test_copyTestSparseArray.test_copyT   s9    xxz~~S]]222}},,,r   c                P    \         P                  ! VP                  4       V4       R # r?   )r#   assert_almost_equalto_dense)r%   r   r   s   &&&r   test_values_asarray#TestSparseArray.test_values_asarrayY   s    
s||~x8r   zdata,shape,dtypeABc                D    \        WR 7      pVP                  V8X  g   Q hR# )r!   N)r   shape)r%   datarO   r!   outs   &&&& r   
test_shapeTestSparseArray.test_shape\   s      $,yyE!!!r   valsc                    \         P                  ! V4      p\        WR 7      pVP                  4       p\        P
                  ! WA4       R# r   N)r
   r   r   rH   r#   assert_numpy_array_equal)r%   rT   r   r   r'   s   &&&  r   test_dense_reprTestSparseArray.test_dense_reprj   s4     xx~$6lln
##C.r   fixr   r   c                    VP                  V4      p\        P                  ! WC4      p\        P                  ! WT4       R # r?   )getfixturevaluer#   round_trip_pickler$   )r%   rZ   request	temp_fileobj	unpickleds   &&&&  r   test_pickleTestSparseArray.test_picklez   s0    %%c*((8	
  0r   c                    \        . RO4      p\        P                  ! R4      ;_uu_ 4        V F  pK  	  RRR4       R#   + '       g   i     R# ; i)r   Nr   r   r   )r   r#   assert_produces_warning)r%   sp_arr_s   &  r   test_generator_warnings'TestSparseArray.test_generator_warnings   s9    Y'''--  .---s   
A  A	c                   \        \        P                  R .^ R7      p\        P                  ! RR.4      pVP	                  V( ^4      p\        ^R .^ R7      p\
        P                  ! W44       \        P                  ! V4      pVP                  V( ^4      p\
        P                  ! V\        P                  ! V4      4       R# )r,   r   TFN)r   r
   r   r   _wherer#   r$   pdSerieswhereassert_series_equal)r%   r   maskr'   r(   sers   &     r   test_where_retain_fill_value,TestSparseArray.test_where_retain_fill_value   s    2663-A6xxu&jj$"1c(q1
  *iiniiq!
sBIIcN3r   c                	   \        ^\        P                  \        P                  ^\        P                  .4      pVP                  R4      p\        . ROR\        P                  R7      p\
        P                  ! W#4       \        ^\        P                  \        P                  ^\        P                  .^ R7      pVP                  R4      p\        . RO^ \        P                  R7      p\
        P                  ! W#4       \        ^\        P                  ^ ^^ .4      pVP                  R4      p\        . ROR\        P                  R7      p\
        P                  ! W#4       \        ^\        P                  ^ ^^ .^ R7      pVP                  R4      p\        . RO^ \        P                  R7      p\
        P                  ! W#4       \        \        P                  \        P                  \        P                  \        P                  .4      pVP                  R4      p\        . ROR\        P                  R7      p\
        P                  ! W#4       \        \        P                  \        P                  \        P                  \        P                  .^ R7      pVP                  R4      p\        . RO^ \        P                  R7      p\
        P                  ! W#4       \        . RO4      pVP                  R4      p\        . RORR7      p\
        P                  ! W#4       \        . R	O4      pVP                  \        \        P                  4      8X  g   Q hVP                  ^ 8X  g   Q hVP                  R4      p\
        P                  ! W!4       \        . R	O^ R7      pVP                  \        \        P                  4      8X  g   Q hVP                  ^ 8X  g   Q hVP                  R4      p\        . R	O^ R7      p\
        P                  ! W#4       \        . R	O\        P                  R7      pVP                  \        \        P                  \        P                  R7      8X  g   Q h\        P                  ! VP                  4      '       g   Q hVP                  R4      p\        . R	ORR7      p\
        P                  ! W#4       R# )
r   r-   r   N)r   rv   rv   r   rv   )r   rv   r   r   r   )rv   rv   rv   rv   )        rw   rw   rw   )r   r   r   r   )r   r
   r   fillnafloat64r#   r$   r!   r   r1   r   r5   r%   sr'   r(   s   &   r   test_fillnaTestSparseArray.test_fillna   s2   BFFBFFArvv67hhrl,2::N
  *BFFBFFArvv61Ehhrl,"**M
  *BFFAq!,-hhrl*rL
  *BFFAq!,;hhrl*q

K
  *89hhrl*rL
  *8QGhhrl*q

K
  * ,-hhrl.2>
  * %ww+bhh////||q   hhrl
  (3ww+bhh////||q   hhrl,15
  * 8ww+bhh266BBBBxx%%%%hhrl,26
  *r   c                8   \        ^\        P                  \        P                  ^\        P                  .4      pVP                  ^4      p\        P                  ! . RO\        P
                  R7      p\        P                  ! VP                  4       V4       \        ^\        P                  \        P                  ^\        P                  .^ R7      pVP                  ^4      p\        . RO^ \        P
                  R7      p\        P                  ! W#4       R# )r   rN   r   r-   N)r   r   r   r   r   )
r   r
   r   rx   r   ry   r#   rW   rH   r$   rz   s   &   r   test_fillna_overlap#TestSparseArray.test_fillna_overlap   s    BFFBFFArvv67 hhqkhhbjj9
##CLLNC8BFFBFFArvv61Ehhqk/arzzJ
  *r   c                b   \        \        R 4      \        R 4      ^^ ^ ^^ ^ ^ ^^ ^ .4      p\        P                  ! . RO\        P                  R7      pVP                  4       w  p\        P                  ! W#4       \        . RO4      pVP                  4       w  p\        P                  ! W#4       R# )r   rN   N)r   r   	   )r   r   r   r   r   r   r   r   r   r   r   r   )r   floatr
   r   int32nonzeror#   rW   )r%   saexpectedresults   &   r   test_nonzeroTestSparseArray.test_nonzero   s    %,eaAq!Q1aQRST88IRXX6JJL	
##H5=>JJL	
##H5r   r   re   )r   r   r   r   r   )r   )r   )r   )r   )__name__
__module____qualname____firstlineno__r2   markparametrizer
   r   r)   r8   r   r<   rD   rI   objectrR   rX   rb   ri   rs   r|   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r   $   s    [[\AtRVV+<=+ >+(: [[UY!Q0@)$LM! N!-
9 [[dD)tS$3$dF3		
""
 [[VVRVVRVVRVVRVV4266*1a 	
 [[\D!95/ 6/ [[UUFO41 51
4:+x+	6 	6r   r   c                     a  ] tR t^t o ]P
                  P                  R]P                  ! . RO]	R7      ]
! ]P                  ! . RO4      4      3]P                  ! ^^]P                  ^^.]	R7      ]
! ]P                  ! RR]P                  RR.4      4      3.4      ]P
                  P                  RRR	.4      R
 4       4       tR tR t]P
                  P                  RR]P                  .4      R 4       tR tR tR tR tR tRtV tR# )TestSparseArrayAnalyticszdata,expectedrN   r,         @g      @g      (@numpyTFc                   V'       d   \         P                  MR  pV! \        V4      4      p\        P                  ! WR4       V! \        V\         P
                  R7      4      p\        P                  ! WR4       V! \        V^R7      4      p\        P                  ! WR4       V'       d   Rp\        P                  ! \        VR7      ;_uu_ 4        \         P                  ! \        V4      \         P                  R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \         P                  ! \        V4      VR7       RRR4       R# ^p\        P                  ! RV R	24      p\        P                  ! \        VR7      ;_uu_ 4        \        V4      P                  VR
7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i  + '       g   i     R# ; i)c                 "    V P                  4       # r?   )cumsum)r{   s   &r   <lambda>6TestSparseArrayAnalytics.test_cumsum.<locals>.<lambda>   s
    188:r   r   z&the 'dtype' parameter is not supportedr.   rN   Nz$the 'out' parameter is not supported)rQ   zaxis(=z) out of bounds)axis)r
   r   r   r#   r$   r   r2   r3   r4   r1   reescape)r%   rP   r   r   r   rQ   r7   r   s   &&&&    r   test_cumsum$TestSparseArrayAnalytics.test_cumsum   sG    $)=[&'
  /["&&9:
  /[!45
  /:Cz55		+d+288< 6 9Cz55		+d+5 65 D))fTF/:;Cz55D!((d(3 65 65 655
 655s$   0G/"GG(G	G%	(G9	c           	        \        ^\        P                  ^\        P                  R.4      p\        ^\        P                  ^\        P                  ^.4      p\        P                  ! \        V4      V4       \        P                  ! \        P
                  ! V4      V4       \        . RO^R7      p\        . ROVP                  ^R7      p\        P                  ! \        V4      V4       \        P                  ! \        P
                  ! V4      V4       \        . RORR7      p\        . RO^R7      p\        P                  ! \        V4      V4       \        P                  ! \        P
                  ! V4      V4       \        ^\        P                  ^\        P                  R.4      p\        \        P                  ! ^\        P                  ^\        P                  R.4      4      p\        P                  ! \        P                  ! V4      V4       \        . RO^R7      p\        \        P                  ! . RO4      \        P                  ! ^4      R7      p\        P                  ! \        P                  ! V4      V4       \        . R	O^ R7      p\        \        P                  ! . R	O4      \        P                  ! ^ 4      R7      p\        P                  ! \        P                  ! V4      V4       R# )
r   r   )sparse_indexr   Nrv   r   rv   r   r   )r   r   r   )r   r   r   r   r   rv   r   r   )r   r
   r   r#   r$   absrB   sin)r%   r&   r   r(   s   &   r   
test_ufunc#TestSparseArrayAnalytics.test_ufunc  s   aBFFB78aBFFA67
  Vf5
  8^:YV__QRS
  Vf5
  8^;,15
  Vc2
  5aBFFB78RVVQ2662$>?@
  8^:RVVN3q	J
  8^:RVVN3q	J
  8r   c                6   \        ^\        P                  ^\        P                  R.4      p\        ^\        P                  ^\        P                  R.4      p\        P                  ! \        P
                  ! V^4      V4       \        . RO^R7      p\        . RO^R7      p\        P                  ! \        P
                  ! V^4      V4       \        . RO^ R7      p\        . RO^R7      p\        P                  ! \        P
                  ! V^4      V4       R# )	r   r   Nr   rv   r   )r   r   r   rv   r   )r   r   r   rv   )r   r
   r   r#   r$   add)r%   r&   r   s   &  r   test_ufunc_args(TestSparseArrayAnalytics.test_ufunc_args/  s    aBFFB78aBFFB78
  !2F;^:]q9
  !2F;^:]q9
  !2F;r   r   rw   c                N   \        V.^
,          RR.,           VR7      p\        P                  ! V4      w  r4\        P                  ! \        P                  ! V4      4      w  rV\        P
                  ! V\        WQR7      4       \        P
                  ! V\        WaR7      4       R# )
   g?g@r   N)r   r
   modfasarrayr#   r$   )r%   r   r&   r1r2e1e2s   &&     r   	test_modf"TestSparseArrayAnalytics.test_modf=  sr     j\B.#s;
SF+,
  [%KL
  [%KLr   c                N    \        . RORR7      pVP                  pV^8X  g   Q hR# )r   integerkindN)r   r   r   r   r   r   nbytesr%   r   r   s   &  r   test_nbytes_integer,TestSparseArrayAnalytics.test_nbytes_integerF  s#    /	:||r   c                N    \        . RORR7      pVP                  pV^8X  g   Q hR# )r   blockr   N)r   r   r   r   r   r   r   s   &  r   test_nbytes_block*TestSparseArrayAnalytics.test_nbytes_blockL  s%    /8 ||r   c                t    \        \        P                  ! . RO4      4      p\        P                  ! V4       R# )2012N)r   NN2013)r   rm   to_datetimer
   r   )r%   r{   s   & r   test_asarray_datetime640TestSparseArrayAnalytics.test_asarray_datetime64S  s!    'CDE


1r   c                F    \        ^ ^.4      pVP                  R8X  g   Q hR# )r   g      ?N)r   densityr%   r   s   & r   test_density%TestSparseArrayAnalytics.test_densityW  s"    1a&!{{c!!!r   c                F    \        ^ ^.4      pVP                  ^8X  g   Q hR# r   N)r   npointsr   s   & r   test_npoints%TestSparseArrayAnalytics.test_npoints[  s"    1a&!{{ar   r   N)r   r   r   r   r   )r,   r   g      @g      $@g      .@)r   r   r   r   r2   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r      s    [[ 6BHH%@AB
 !Q1-U;BHHc3T%BCD		
 [[WtUm44 5449:< [[\C=9M :M"   r   r   c                     \        R \        P                  R .RR7      p \        P                  V n        V P	                  4       p\        P
                  ! V4      p\        P                  ! . RO4      p\        P                  ! W4       R# )r,   rw   r   N)FTF)	r   r
   r   r   r   r   r   r#   rW   r   r   r   s      r   *test_setting_fill_value_fillna_still_worksr   `  s^     sBFFC(S
9CVVCNXXZF ZZFxx,-H1r   c                  F   \        . RO4      p V P                  4       p\        . RO\        P                  R7      p\        P
                  ! W4       \        . RO4      pVP                  4       p\        . RO\        P                  R7      p\        P
                  ! WE4       R# )r   r   Nre   )r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r
   r   r#   r$   )r   r   r   rC   result2	expected2s         r    test_cumsum_integer_no_recursionr   n  sj    
i
 CZZ\F98HV. |$DkkmGLRVV<IW0r   c                      \         P                  P                  R R\        P                  R.RR7      p V P                  4       p\        . RO\        P                  R7      p\        P                  ! W4       R# )r,   rw   r   r   N)r,   r,   Ng      @)rm   arraysr   r
   r   r   r#   r$   r   s      r   !test_cumsum_float_fill_value_zeror   |  sR    
))

c2663 7C

HCZZ\F0RVVDHV.r   c                  \   \        R \        P                  .^ R7      p \        P                  V n        \         P                  ! \        P
                  ! \        P                  .4      \        ^^.4      \        \        \        P                  4      R7      p\        P                  ! W4       R# )rw   r   )sparse_arrayr   r!   N)r   r
   r   r   _simple_newr   r   r   r   r#   r$   )r   r   s     r   test_setting_fill_value_updatesr     so    
sBFFm
2CVVCN &&XXrvvh'a!%%(H
 S+r   zarr,fill_value,locc                 J    \        WR 7      P                  4       pW28X  g   Q hR# rV   )r   _first_fill_value_loc)r   r   locr   s   &&& r   test_first_fill_value_locr     s!    $ 4JJLF==r   r   r   c                 
   \        WR 7      P                  4       p\        P                  ! V 4      P                  4       p\	        V\         4      '       g   Q h\
        P                  ! V4      p\        P                  ! W#4       R# rV   )	r   uniquerm   rn   
isinstancer
   r   r#   rW   )r   r   abs   &&  r   test_unique_na_fillr     s[     	C/668A
		#Aa%%%%


1A%r   c                      \        ^ ^ .4      p V P                  4       p\        ^ .4      p\        P                  ! W4       R# r   )r   r   r#   r$   r   s      r   test_unique_all_sparser     s5    
q!f
CZZ\FA3HV.r   c            
         \        . RO4      p \        . RO^
R7      pV P                  ^ ^
^^^^/4      p\        P                  ! W!4       V P                  \        P
                  ! ^ ^
^^^^/4      4      p\        P                  ! W!4       V P                  \        P
                  ! ^ ^
^^^^/4      4      p\        . RO^
R7      p\        P                  ! W!4       R# )r   r   Nr   r   r   )r         )r   mapr#   r$   rm   rn   r   r   r   s      r   test_mapr     s    
i
 C<B7H WWaQAr*+FV. WWRYY2q"a456FV. WWRYY2q"a456F<B7HV.r   c                      \        . RO4      p \        . RO^
R7      pV P                  ^ ^
^^/4      p\        P                  ! W!4       R# )r   Nr   r   )r   r   N)r   r   r#   r$   r   s      r   test_map_missingr     s<    
i
 C>b9HWWaQ^$FV.r   c                    \        \        P                  ^.V R7      p\        R.V R7      p\        P                  ! VP                  4       V4       \        P                  ! R^ ^.RV/4      p\        P                  ! R^.RV/\        P                  ! ^.4      R7      p\        P                  ! VP                  4       V4       R# )r   r   r,   r   r   indexN)
r   r
   r   r#   r$   dropnarm   	DataFrameIndexassert_equal)r   r   r(   dfexpected_dfs   &    r   test_dropnar    s     rvvqkj
9C
se

3CSZZ\3/	sQFC-	.B,,aS#s3288QC=IKOOBIIK-r   c                  F   \         P                  ! \        P                  ! R4      4      P	                  R 4      p V P                  4       p\         P                  ! \        ^4       Uu/ uF  q"\        R.^ R7      bK  	  up4      p\        P                  ! W4       R# u upi )r   c                     \        V ^ R7      # )r   r   r   )xs   &r   r   1test_drop_duplicates_fill_value.<locals>.<lambda>  s    ARS8Tr   rw   r   N)r   r   )
rm   r   r
   zerosapplydrop_duplicatesranger   r#   assert_frame_equal)r  r   ir   s       r   test_drop_duplicates_fill_valuer    su    	bhhv&	'	-	-.T	UB!F||%PQ(S(QSEa @@(STH&+ Ts   (Bc                     \         P                  ! R \        . RO4      R. RO/4      p \         P                  ! R \        . RO4      R. RO/4      pV P                  V R,          ^8g  ,          pVP                  VR,          ^8g  ,          p\        P
                  ! W#4       \         P                  ! R \        ^ ^ .4      R^^./^ ^.R7      p\        P
                  ! W#4       R# )rK   rL   r   N)r   r   r   re   )r   r   r   )rm   r   r   r   r#   r  )df1df2r   r   s       r   test_zero_sparse_columnr    s    
,,[3S)D
EC
,,[3S)D
ECWWSX]#Fwws3x1}%H&+||S+q!f"5sQFCAq6RH&+r   c                 8   \         P                  ! V4      p\        P                  ! W 4       \         P                  ! V4      p\         P                  ! V4      p\         P                  ! W44      '       d   Q h\         P
                  ! VR R7      p\         P
                  ! VR R7      p\         P                  ! W44      '       d   Q h\        '       g   R# \        P                  ! \        RR7      ;_uu_ 4        \         P
                  ! VRR7       RRR4       \        \         P
                  ! . RO4      4      p\         P
                  ! VRR7      p\         P
                  ! VRR7      p\         P                  ! Wg4      '       g   Q hR#   + '       g   i     L; i)T)r@   Nz#Unable to avoid copy while creatingr.   Fre   )r
   r   r#   rW   may_share_memoryr   r   r2   r3   r4   r   )r   r   r   result_copy1result_copy2rC   result_nocopy1result_nocopy2s   &&      r   test_array_interfacer    s   ZZ_F1 ::c?L::c?L""<>>>> 88Cd+L88Cd+L""<>>>>> 
z)N	O	O
5! 
P rxx	*+DXXd/NXXd/N~>>>> 
P	Os   7F		F	)Nr   r   )r   Nr   )r   r   N)r   r   r   NN)r   r   r   r   rv   )Nr   r   r   Nr   )Nr   r   r   r   r   )'r   r   r
   r2   pandas._libs.sparser   pandas.compat.numpyr   pandasrm   r   r   pandas._testing_testingr#   pandas.core.arrays.sparser   fixturer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   <module>r"     s<   	   ( .   1 H H
 ! !
 E E
B6 B6Jt  t n21/
, 	tQ	tQ	tQ	a(	tR 	T2	!4+	!1a(	!1a(	!1b)	1%	1%"#"
 		
Arvvrvv	
BFFArvv	
Arvv	Aq"&&!$	Aq!Q	 1~6& 7	&//$/ {3. 4.,	,?r   