
    eCiI
                        S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	  SSK
r
SSKJr  \(       a  SSKJr  SS	KJr  SS
KJr  \ " S S5      5       rg)z,Base module for statistical transformations.    )annotations)Iterable)	dataclass)ClassVarAnyN)TYPE_CHECKING)	DataFrame)GroupBy)Scalec                  n    \ rS rSr% SrSrS\S'   SS jr S       SS jjr          SS jr	S	r
g
)Stat   z>Base class for objects that apply statistical transformations.FzClassVar[bool]group_by_orientc                    [        X5      nX2;  ag  UGt pESR                  S USS  5       5      SU< 3-   nSR                  SU SU R                  R                   S	3S
U SU< S3/5      n[	        U5      eg)z9Raise when parameter value is not one of a specified set., c              3  (   #    U  H  o< v   M
     g 7fN .0xs     M/home/james-whalen/.local/lib/python3.13/site-packages/seaborn/_stats/base.py	<genexpr>+Stat._check_param_one_of.<locals>.<genexpr>&   s     "?YU8Y   Nz or  zThe `z` parameter for `z	` must bezone of z; not .)getattrjoin	__class____name__
ValueError)selfparamoptionsvaluemostlast
option_strerrs           r   _check_param_one_ofStat._check_param_one_of!   s    $!KT"?T#2Y"??D/QJ((w/0G0G/H	R*VE9A6 C S/!      c                    [        X5      n[        U5      [        U5      -
  nU(       aQ  U R                  R                   SU 3nSR	                  S U 5       5      nSU SU S3n[
        R                  " XsS9  gg)zFWarn if vars are named in parameter without being present in the data.r   r   c              3  (   #    U  H  o< v   M
     g 7fr   r   r   s     r   r   ,Stat._check_grouping_vars.<locals>.<genexpr>5   s     :	1h	r   z!Undefined variable(s) passed for z: )
stacklevelN)r   setr!   r"   r    warningswarn)r$   r%   	data_varsr2   
param_vars	undefinednamesmsgs           r   _check_grouping_varsStat._check_grouping_vars-   sw     T)

Oc)n4	~~../q8EII:	::E5eWBugQGCMM#5	 r.   c                    U$ )zIApply statistical transform to data subgroups and return combined result.r   )r$   datagroupbyorientscaless        r   __call__Stat.__call__9   s	     r.   r   N)r%   strr&   zIterable[Any]returnNone)   )r%   rD   r6   z	list[str]r2   intrE   rF   )
r>   r	   r?   r
   r@   rD   rA   zdict[str, Scale]rE   r	   )r"   
__module____qualname____firstlineno____doc__r   __annotations__r,   r;   rB   __static_attributes__r   r.   r   r   r      sw    H ',O^+
" CD
6
6%.
6<?
6	
6  	
 ! 
r.   r   )rL   
__future__r   collections.abcr   dataclassesr   typingr   r   r4   r   pandasr	   seaborn._core.groupbyr
   seaborn._core.scalesr   r   r   r.   r   <module>rV      s?    2 " $ !      -* 1 1 1r.   