
    o[weG                    J   d dl 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	m
Z d dlmZ d dlmZmZmZmZ ej        d             Zej        d             Zej        d             Zej        d             Zej        d	             Zej        d
             Zej        d             Zej        d             Z G d dej                  Zd Zd Zd Z d Z!ej"        #                    dddg          d             Z$ G d de          Z% G d de%          Z&e&'                                 d Z(ej"        #                    de%e&g          d             Z)ej"        #                    ddg dg d fdg d!g d"fg          d#             Z*d$ Z+d% Z,d& Z-d' Z.d( Z/d) Z0d* Z1d+ Z2d, Z3d- Z4dS ).    )annotationsN)base)DecimalArrayDecimalDtype	make_data
to_decimalc                     t                      S N)r        Klib/python3.11/site-packages/pandas/tests/extension/decimal/test_decimal.pydtyper      s    >>r   c                 8    t          t                                S r
   )r   r   r   r   r   datar      s    	$$$r   c                 N    t          d t          d          D                       S )Nc                6    g | ]}t          j        d           S )   )decimalDecimal).0_s     r   
<listcomp>z!data_for_twos.<locals>.<listcomp>    s"    @@@++@@@r   d   )r   ranger   r   r   data_for_twosr      s%    @@U3ZZ@@@AAAr   c                 l    t          t          j        d          t          j        d          g          S )NNaN   r   r   r   r   r   r   data_missingr    #   s)    //1C1CDEEEr   c                     t          t          j        d          t          j        d          t          j        d          g          S )N120r   r   r   r   data_for_sortingr%   (   s<    			ws33W_S5I5IJ  r   c                     t          t          j        d          t          j        d          t          j        d          g          S )Nr"   r   r$   r   r   r   r   data_missing_for_sortingr'   /   s<    			wu55ws7K7KL  r   c                     d S )Nc                R    |                                  o|                                 S r
   )is_nan)xys     r   <lambda>zna_cmp.<locals>.<lambda>8   s    

1qxxzz r   r   r   r   r   na_cmpr.   6   s    111r   c            
         t          j        d          } t          j        d          }t          j        d          }t          j        d          }t          | | ||||| |g          S )N1.0z0.02.0r   )r   r   r   )bacnas       r   data_for_groupingr6   ;   s]    AAA			BAr2q!Q2333r   c                      e Zd Zd!dZd"dZ fdZ fd	Z fd
Zd Zd Z	d Z
 fdZ fdZ fdZ fdZ fdZ fdZ fdZ fdZej                            dddg          d             Zd Zej                            d           fd            Zej                            d          ej                            dej        ej        ej        g           fd                         Z xZS )#TestDecimalArrayop_namestrreturntype[Exception] | Nonec                    d S r
   r   )selfr9   objothers       r   _get_expected_exceptionz(TestDecimalArray._get_expected_exceptionE   s	     tr   boolc                    dS )NTr   )r>   r?   r9   s      r   _supports_reductionz$TestDecimalArray._supports_reductionJ   s    tr   c                   |dk    r#t                                          |||          S  t          ||          |          } t          t          j        |          |                      }t          j        ||           d S )Ncount)skipna)supercheck_reducegetattrnpasarraytmassert_almost_equal)r>   sr9   rG   resultexpected	__class__s         r   rI   zTestDecimalArray.check_reduceM   s~    g77''7F;;;(WQ((777F6wrz!}}g6688H"6844444r   c                    |dv r?t           j                            t                    }|j                            |           t                                          |||           d S )N)kurtskewsemmedianraises)pytestmarkxfailNotImplementedErrornode
add_markerrH   test_reduce_series_numeric)r>   r   all_numeric_reductionsrG   requestr[   rR   s         r   r`   z+TestDecimalArray.test_reduce_series_numericU   sa    !%FFF;$$,?$@@DL##D)))**41GPPPPPr   c                    |}|dv r?t           j                            t                    }|j                            |           t                                          |||          S )N)rU   rW   rX   )rZ   r[   r\   r]   r^   r_   rH   test_reduce_frame)r>   r   ra   rG   rb   r9   r[   rR   s          r   rd   z"TestDecimalArray.test_reduce_frame[   s`    ((((;$$,?$@@DL##D)))ww((/EvNNNr   c                ^    t          j        |          }|                     |||d           d S )N      ?)pdSeries_compare_other)r>   r   comparison_opsers       r   test_compare_scalarz$TestDecimalArray.test_compare_scalarc   s/    iooC}c:::::r   c                $   t          j        |          }t          j                            d                              g dt          |                    }t          j        |          d |D             z  }|                     ||||           d S )Nr   )r   r   c                R    g | ]$}t          j        t          d |                    %S )g       @)r   r   pow)r   is     r   r   z7TestDecimalArray.test_compare_array.<locals>.<listcomp>l   s*    "O"O"OA7?3sA;;#?#?"O"O"Or   )rg   rh   rK   randomdefault_rngchoicelenri   )r>   r   rj   rk   alterr@   s         r   test_compare_arrayz#TestDecimalArray.test_compare_arrayg   s    ioo	%%a((//


CIIFF	$"O"O"O"O"OOC}e<<<<<r   c                V   |}t          j        |          }t          j                    }|j        t          j                 }|j        t          j                 }d|j        t          j        <   d|j        t          j        <   t          j        d |D                       }|                     |||           d|vr|                     |||dz             |                     ||d           |                     ||d           ||j        t          j        <   ||j        t          j        <   d S )Nr   c                2    g | ]}t          |d z            S )r   )int)r   ds     r   r   zATestDecimalArray.test_arith_series_with_array.<locals>.<listcomp>z   s"    666A3q3w<<666r   modr      )rg   rh   r   
getcontexttrapsDivisionByZeroInvalidOperationcheck_opname)	r>   r   all_arithmetic_operatorsr9   rk   contextdivbyzerotrapinvalidoptrapr@   s	            r   test_arith_series_with_arrayz-TestDecimalArray.test_arith_series_with_arrayo   s   *ioo$&&g&<=g&>?01g,-23g./ 	6666677#w...c7C!G444#w***#w***0=g,-2?g.///r   c                    d}t          j        t          |d          5  t                                          |           d d d            d S # 1 swxY w Y   d S Nz,ExtensionArray.fillna added a 'copy' keywordFmatchcheck_stacklevel)rM   assert_produces_warningDeprecationWarningrH   test_fillna_framer>   r    msgrR   s      r   r   z"TestDecimalArray.test_fillna_frame   s    <'cE
 
 
 	4 	4 GG%%l333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4   "AAAc                j   d}t          j        t          |dd          5  t                                          |           d d d            n# 1 swxY w Y   d}t          j        t
          |dd          5  t                                          |           d d d            d S # 1 swxY w Y   d S )N4ExtensionArray.fillna 'method' keyword is deprecatedFr   r   raise_on_extra_warnings9The 'method' keyword in DecimalArray.fillna is deprecated)rM   r   r   rH   test_fillna_limit_padFutureWarningr   s      r   r   z&TestDecimalArray.test_fillna_limit_pad   sE   D'"$)	
 
 
 	8 	8 GG)),777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 J'"$)	
 
 
 	8 	8 GG)),777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s#   "AAA9"B((B,/B,c                   d}t          j        t          |dd          5  t                                          |           d d d            n# 1 swxY w Y   d}t          j        t
          |dd          5  t                                          |           d d d            n# 1 swxY w Y   d}t          j        t          |dd          5  t                                          |           d d d            d S # 1 swxY w Y   d S )Nz)Series.fillna with 'method' is deprecatedFr   r   r   )rM   r   r   rH   test_fillna_limit_backfillr   r   s      r   r   z+TestDecimalArray.test_fillna_limit_backfill   s   9'"$)	
 
 
 	= 	= GG..|<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= E'"$)	
 
 
 	= 	= GG..|<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= J'"$)	
 
 
 	= 	= GG..|<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s5   "AAA9"B''B+.B+"D  DDc                    d                     ddg          }t          j        t          t          f|d          5  t                                          |           d d d            d S # 1 swxY w Y   d S N|r   r   Fr   )joinrM   r   r   r   rH   test_fillna_no_op_returns_copy)r>   r   r   rR   s      r   r   z/TestDecimalArray.test_fillna_no_op_returns_copy   s    hhFK
 
 './sU
 
 
 	9 	9 GG224888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   "A++A/2A/c                    d}t          j        t          |d          5  t                                          |           d d d            d S # 1 swxY w Y   d S r   )rM   r   r   rH   test_fillna_seriesr   s      r   r   z#TestDecimalArray.test_fillna_series   s    <'cE
 
 
 	5 	5 GG&&|444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5r   c                    d                     ddg          }t          j        t          t          f|d          5  t                                          ||           d d d            d S # 1 swxY w Y   d S r   )r   rM   r   r   r   rH   test_fillna_series_method)r>   r    fillna_methodr   rR   s       r   r   z*TestDecimalArray.test_fillna_series_method   s    hhFK
 
 './sU
 
 
 	K 	K GG--lMJJJ	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	Ks   #A,,A03A0c                    |st           nd }d}t          j        ||d          5  t                                          |           d d d            d S # 1 swxY w Y   d S r   )r   rM   r   rH   test_fillna_copy_framer>   r    using_copy_on_writewarnr   rR   s        r   r   z'TestDecimalArray.test_fillna_copy_frame   s    )<F!!$<'C%PPP 	9 	9GG**<888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9   "AAAc                    |st           nd }d}t          j        ||d          5  t                                          |           d d d            d S # 1 swxY w Y   d S r   )r   rM   r   rH   test_fillna_copy_seriesr   s        r   r   z(TestDecimalArray.test_fillna_copy_series   s    )<F!!$<'C%PPP 	: 	:GG++L999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:r   dropnaTFc                   |d d         }|r.t          j        ||                                                    }n|}t          j        |                              |          }t          j        |                              |          }t          j                    5 }d|j        t          j	        <   |
                                }|
                                }	d d d            n# 1 swxY w Y   t          j        ||	           d S )N
   )r   F)rK   arrayisnarg   rh   value_countsr   localcontextr   r   
sort_indexrM   assert_series_equal)
r>   all_datar   rb   r@   vcsvcs_exctxrP   rQ   s
             r   test_value_countsz"TestDecimalArray.test_value_counts   s(   CRC= 	HXx}}&6788EEEi!!..f.==5!!..f.==!## 	+s27CIg./^^%%F((**H	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	vx00000s    =C))C-0C-c                    t          j        |          }|j        j        t	          |          v sJ dt	          |          v sJ d S )Nz	Decimal: )rg   rh   r   namerepr)r>   r   rk   s      r   test_series_reprz!TestDecimalArray.test_series_repr   sI     iooz$s))++++d3ii''''''r   zCLooks like the test (incorrectly) implicitly assumes int/bool dtype)reasonc                J    t                                          |           d S r
   )rH   test_invert)r>   r   rR   s     r   r   zTestDecimalArray.test_invert  s#     	D!!!!!r   z%Inconsistent array-vs-scalar behaviorufuncc                L    t                                          ||           d S r
   )rH   #test_unary_ufunc_dunder_equivalence)r>   r   r   rR   s      r   r   z4TestDecimalArray.test_unary_ufunc_dunder_equivalence  s%     	33D%@@@@@r   )r9   r:   r;   r<   )r9   r:   r;   rB   ) __name__
__module____qualname__rA   rD   rI   r`   rd   rl   rw   r   r   r   r   r   r   r   r   r   rZ   r[   parametrizer   r   r\   r   rK   positivenegativeabsr   __classcell__)rR   s   @r   r8   r8   D   s          
   5 5 5 5 5Q Q Q Q QO O O O O; ; ;= = =@ @ @,4 4 4 4 48 8 8 8 8&= = = = =8
9 
9 
9 
9 
95 5 5 5 5
K 
K 
K 
K 
K9 9 9 9 9: : : : : [Xe}551 1 651&( ( ( [T   " " " " " [EFF[Wr{BK&HIIA A A A JI GFA A A A Ar   r8   c                 \   t          t          j        d          t          j        d          g          } |                     ddgdt          j        d                    }t          t          j        d          t          j        d          g          }t	          j        ||           d S )Nr0   r1   r   rn   Tz-1.0)
allow_fill
fill_value)r   r   r   takerM   assert_extension_array_equalarrrP   rQ   s      r    test_take_na_value_other_decimalr     s    
..0F0FG
H
HCXXq"g$7?6;R;RXSSFW_U33W_V5L5LMNNH#FH55555r   c                 8   t                      } t          j        g d|           }t          t	          j        d          t	          j        d          t	          j        d          g|           }t          j        |          }t          j        ||           d S )N)r   r   r   r   r   r   r   )r   rg   rh   r   r   r   rM   r   )r   rk   r   exps       r   6test_series_constructor_coerce_data_to_extension_dtyper     s    NNE
)IIIU
+
+
+C
			W_Q//1C1CD  C )C..C3$$$$$r   c                 `   t          t          j        d          g          } t          j        | t                                }t          j        |           }t          j        ||           t          j        | d          }t          j        dg          }t          j        ||           d S )N10.0r   int64r   )r   r   r   rg   rh   r   rM   r   r   s      r   "test_series_constructor_with_dtyper      s    
//0
1
1CYs,..111Fy~~H68,,,Ys'***Fy"H68,,,,,r   c                    t          t          j        d          g          } t          j        d| it                                }t          j        d| i          }t          j        ||           t          t          j        d          g          } t          j        d| id          }t          j        ddgi          }t          j        ||           d S )Nr   Ar   r   r   )r   r   r   rg   	DataFramer   rM   assert_frame_equalr   s      r   %test_dataframe_constructor_with_dtyper   +  s    
//0
1
1C\3*LNN;;;F|S#J''H&(+++
//0
1
1C\3*G444F|S2$K((H&(+++++r   frameTFc                b   t          j        t          t          j        d          g          d          }t          j                    }d|_        | r|                                }|                    t          |                    }| r|d         }|j
        j        j        |j        k    sJ d S )Nr   r3   )r   r}   )rg   rh   r   r   r   Contextprecto_frameastyper   r   r   )r   r   r   rP   s       r   test_astype_dispatchesr   8  s     9\7?1#5#5"677cBBBD
/

CCH }}[[c**++F <$000000r   c                  *    e Zd ZdZedd            ZdS )DecimalArrayWithoutFromSequencez:Helper class for testing error handling in _from_sequence.NFc                     t          d          )NzFor the test)KeyError)clsscalarsr   copys       r   _from_sequencez.DecimalArrayWithoutFromSequence._from_sequenceP  s    ~&&&r   )NF)r   r   r   __doc__classmethodr   r   r   r   r   r   M  s8        DD' ' ' [' ' 'r   r   c                  $    e Zd Zed             ZdS )DecimalArrayWithoutCoercionc                0    |                      |d          S )NF)coerce_to_dtype)_create_method)r   ops     r   _create_arithmetic_methodz5DecimalArrayWithoutCoercion._create_arithmetic_methodV  s    !!"e!<<<r   N)r   r   r   r   r   r   r   r   r   r   U  s-        = = [= = =r   r   c                   t           }t          d             }|                     t          d|            |t	          j        d          t	          j        d          g          }t          j        |          }|                    |t          j
                  }t          j        t	          j        d          t	          j        d          gd          }t          j        ||           d S )Nc                    t           S r
   )r   )r   s    r   construct_array_typez?test_combine_from_sequence_raises.<locals>.construct_array_typeb  s    ..r   r   r0   r1   4.0objectr   )r   r   setattrr   r   r   rg   rh   combineoperatoraddrM   r   )monkeypatchr   r   r   rk   rP   rQ   s          r   !test_combine_from_sequence_raisesr  ^  s    
)C/ / [/ &<>RSSS
#wu%%wu'='=>
?
?C
)C..C[[hl++F y			!7!78  H 68,,,,,r   class_c                    | t          j        d          t          j        d          g          }||z   }t          j        t          j        d          t          j        d          gd          }t	          j        ||           d S )Nr0   r1   r   r   r   )r   r   rK   r   rM   assert_numpy_array_equal)r  r   rP   rQ   s       r   $test_scalar_ops_from_sequence_raisesr	  s  s     &'/%(('/%*@*@A
B
BC3YFx			!7!78  H 11111r   z#reverse, expected_div, expected_mod)r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   c                
   t          g d          }| rt          d|          \  }}nt          |d          \  }}t          |          }t          |          }t          j        ||           t          j        ||           d S )N)r   r         r   )r   divmodrM   r   )reverseexpected_divexpected_modr   divr|   s         r   test_divmod_arrayr    s     \\\
"
"C "!S>>SS#q>>Sl++Ll++L#C666#C66666r   c                    | d d         }t          j        |t          dd                    }t          j        |          }t          j        t          j        |          t          dd                    }t          j        ||           d S )Nr}   r     index)rg   rh   r   rK   r   rM   r   )r   r3   rO   rP   rQ   s        r   test_ufunc_fallbackr    su    RaRA
	!5A;;'''AVAYYFy%1++666H68,,,,,r   c                     t          g d          } t          j        |           }t          t          j        | j                            }t	          j        ||           d S Nr   r   r  )r   rK   r   _datarM   r   )r3   rP   rQ   s      r   test_array_ufuncr    sP    999AVAYYF"&//**H#FH55555r   c                    t          g d          } t          j        |           }t          j        |          }t          j        t          t          j        | j                                      }t          j        ||           d S r  )r   rg   rh   rK   r   r  rM   r   r3   rO   rP   rQ   s       r   test_array_ufunc_seriesr    sg    999A
	!AVAYYFyBF17OO4455H68,,,,,r   c                 :   t          g d          } t          j        |           }t          j        |t          j        d                    }t          j        t          j        | t          j        d                              }t          j        ||           d S )Nr  r   )	r   rg   rh   rK   r  r   r   rM   r   r  s       r   $test_array_ufunc_series_scalar_otherr!    sy    999A
	!AVAwq))**Fy7?1#5#56677H68,,,,,r   c                 >   t          g d          } t          j        |           }t          j        t          g d                    }t          j        ||           }t          j        | |          }t          j        ||           t          j        ||           d S )Nr  )r   r     )r   rg   rh   rK   r  rM   r   )r3   rO   rQ   r1r2s        r   test_array_ufunc_series_deferr&    s    999A
	!AyIII..//H	1B	1B2x(((2x(((((r   c                    t                      d d         } t          j        g dg dt          |           d          }t          j        t          | d         | d         g                    }|                    d          d                             d	           }t          j	        ||d
           |d                             |d                                       d           }t          j	        ||d
           t          j        t          | d         | d         | d         g          t          j
                            g d                    }|                    ddg          d                             d           }t          j	        ||d
           |d                             |d         |d         g                              d           }t          j	        ||d
           t          j        ddgt          | d         | d         g          d          }|                    d                              d           }t          j        ||d
           d S )Nr}   r   r   r   r   r   )r   r   r   r   r   )id1id2decimalsr   r  r)  r+  c                    | j         d         S Nr   ilocr+   s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s     r   Fcheck_namesc                    | j         d         S r-  r.  r0  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    QVAY r   r   )r   r   )r   r   )r   r   r  r*  c                    | j         d         S r-  r.  r0  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    !&) r   c                    | j         d         S r-  r.  r0  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    !&QR) r   )r*  r+  c                    | j         d         S r-  r.  r0  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    QVAY r   )r   rg   r   r   rh   r   groupbyaggrM   r   
MultiIndexfrom_tuplesr   )r   dfrQ   rP   s       r   test_groupby_aggr=    sG    ;;rr?D	\RVEWEWXX
 
B
 yT!Wd1g$67788HZZz*../B/BCCF68????
^##BuI..223F3FGGF68???? yDGT!Wd1g.//m''(@(@(@AA  H ZZ''
3778K8KLLF68????
^##RY5	$:;;??@S@STTF68???? |QF
DGTRSWCU8V8VWWXXHZZ""#6#677F&(>>>>>>r   c                   d }|                      t          d|d           t                      d d         }t          j        g dt          |          d          }t          j        t          |d         |d	         z   |d
         z   |d         |d         z   g                    }|                    d          d                             d           }t          j
        ||d           t          j        t          |                    }t          j        g dt          j                  }|                    |                              d           }t          j
        ||d           d S )Nc                N    t          j        t          j        |                     S r
   )rK   sumr   )r>   s    r   DecimalArray__my_sumz8test_groupby_agg_ea_method.<locals>.DecimalArray__my_sum  s    vbhtnn%%%r   my_sumFraisingr}   r(  )idr+  r   r   r   r  r  rE  r+  c                4    | j                                         S r
   valuesrB  r0  s    r   r-   z,test_groupby_agg_ea_method.<locals>.<lambda>  s    8I8I r   r1  r   c                4    | j                                         S r
   rG  r0  s    r   r-   z,test_groupby_agg_ea_method.<locals>.<lambda>  s    ahoo.?.? r   )r   r   r   rg   r   rh   r   r8  r9  rM   r   rK   r   r   )r  rA  r   r<  rQ   rP   rO   groupers           r   test_groupby_agg_ea_methodrK    sW   & & & h0DeTTT;;rr?D	___,t:L:LMM	N	NByT!WtAw%6a%@$q'DQRGBS$TUUVVHZZj)--.I.IJJF68????
	,t$$%%Ahbh777GYYw##$?$?@@F68??????r   c                n   d	d}|                      t          d|d           t                      }t          j        t          |                    }t          j        |t          t          |                    d          }||dk              ||dk              |j        d          |j        d          d S )
Nc                     t          d          )Nz0tried to convert a DecimalArray to a numpy array)	Exception)r>   r   s     r   DecimalArray__array__z;test_indexing_no_materialize.<locals>.DecimalArray__array__  s    JKKKr   	__array__FrC  )r3   r2   rf   r   )r   r3   r
   )	r   r   r   rg   rh   r   r   ru   at)r  rO  r   rO   r<  s        r   test_indexing_no_materializerR    s    
L L L L k3HRWXXX;;D
	,t$$%%A	AE#a&&MM22	3	3B a#gJJq3wKKDGGE&MMMMr   c                    t          j        d          t          j        d          g} t          j        t          j        d          t          j        d          gd          }t	          j        | d          }|                    d	          }t          j        ||           t	          j        |                              d	          }t          j        ||           d S )
Nz1.1111z2.2222z1.11z2.22r   r   r   r   )r+  )	r   r   rK   r   rg   to_numpyrM   r  rh   )rH  rQ   r3   rP   s       r   test_to_numpy_keywordrU  	  s    oh'')B)BCFx		 	 '/&"9"9:(  H 	y)))AZZZ##F111Yq\\""A"..F11111r   c                   t          j        dt          j        d          t          j        d          gid          }|                    t                                }d|j        d<   | rkt          j        dt          j        d          t          j        d          git                                }t          j        |j	        |j	                   d S d S )Nr3   r   r  r   r   r   r4  )
rg   r   r   r   r   r   r/  rM   assert_equalrH  )r   r<  df2rQ   s       r   test_array_copy_on_writerY    s    	sW_Q//1C1CDEX	V	V	VB
))LNN
#
#CBGDM 5<7?1%%wq'9'9:;<>>
 
 
 	
HO44444	5 5r   )5
__future__r   r   r  numpyrK   rZ   pandasrg   pandas._testing_testingrM   pandas.tests.extensionr   $pandas.tests.extension.decimal.arrayr   r   r   r   fixturer   r   r   r    r%   r'   r.   r6   ExtensionTestsr8   r   r   r   r   r[   r   r   r   r   _add_arithmetic_opsr  r	  r  r  r  r  r!  r&  r=  rK  rR  rU  rY  r   r   r   <module>rd     s   " " " " " "                  ' ' ' ' ' '               % % % B B B F F F       2 2 2 4 4 4FA FA FA FA FAt* FA FA FAR6 6 6	% 	% 	%- - -
, 
, 
, 4-001 1 101(' ' ' ' 'l ' ' '= = = = ="A = = =  / / 1 1 1- - -* .0KL 2 2 2 )\\\<<<(4|||*LM 7 7	 7- - -6 6 6- - -- - -	) 	) 	)? ? ?@@ @ @*  *2 2 25 5 5 5 5r   