ó
    Ñ]j4  ã                  ó„   • S r SSKJr  SSKJr  SSKJr  SSKrSSK	J
r
  \(       a  SSKJr  SSKJr   " S	 S
5      rSS jrg)z;
Module for formatting output data in console (to string).
é    )Úannotations)Úget_terminal_size)ÚTYPE_CHECKINGN)Úpprint_thing)ÚIterable)ÚDataFrameFormatterc                  óÊ   • \ rS rSrSrSSS jjrSS jrSS jrSS jr\	SS j5       r
\	SS	 j5       rSS
 jr\	SS j5       r      SS jr      SS jrSS jrSS jrSrg)ÚStringFormatteré   z3Formatter for string representation of a dataframe.Nc                ó`   • Xl         UR                  U l        UR                  U l        X l        g ©N)ÚfmtÚadjÚframeÚ
line_width)Úselfr   r   s      ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/io/formats/string.pyÚ__init__ÚStringFormatter.__init__   s"   € ØŒØ—7‘7ˆŒØ—Y‘YˆŒ
Ø$�ó    c                ó�   • U R                  5       nU R                  R                  (       a  U U R                  R                   3nU$ r   )Ú_get_string_representationr   Úshould_show_dimensionsÚdimensions_info)r   Útexts     r   Ú	to_stringÚStringFormatter.to_string   s;   € Ø×.Ñ.Ó0ˆØ�8‰8×*×*Ø�V˜DŸH™H×4Ñ4Ð5Ð6ˆDØˆr   c                ó’   • U R                   R                  5       nU R                   R                  (       a  U R                  U5      nU$ r   )r   Úget_strcolsÚis_truncatedÚ_insert_dot_separators©r   Ústrcolss     r   Ú_get_strcolsÚStringFormatter._get_strcols#   s6   € Ø—(‘(×&Ñ&Ó(ˆØ�8‰8× × Ø×1Ñ1°'Ó:ˆGØˆr   c                ó>  • U R                   R                  R                  (       a  U R                  $ U R	                  5       nU R
                  c  U R                  R                  " S/UQ76 $ U R                  (       a  U R                  U5      $ U R                  U5      $ ©Né   )r   r   ÚemptyÚ_empty_info_liner$   r   r   ÚadjoinÚ_need_to_wrap_aroundÚ_join_multilineÚ_fit_strcols_to_terminal_widthr"   s     r   r   Ú*StringFormatter._get_string_representation)   sz   € Ø�8‰8�>‰>××Ø×(Ñ(Ð(à×#Ñ#Ó%ˆà�?‰?Ñ"à—8‘8—?’? 1Ð/ wÒ/Ð/à×$×$Ø×'Ñ'¨Ó0Ð0à×2Ñ2°7Ó;Ð;r   c                óÆ   • S[        U R                  5      R                   S[        U R                  R                  5       S[        U R                  R
                  5       3$ )NzEmpty z

Columns: z
Index: )Útyper   Ú__name__r   ÚcolumnsÚindex©r   s    r   r*   Ú StringFormatter._empty_info_line8   sY   € ð ”T˜$Ÿ*™*Ó%×.Ñ.Ð/ð 0Ü$ T§Z¡Z×%7Ñ%7Ó8Ð9ð :Ü" 4§:¡:×#3Ñ#3Ó4Ð5ð7ð	
r   c                ó„   • [        U R                  R                  S L =(       d    U R                  R                  S:„  5      $ )Nr   )Úboolr   Úmax_colsr5   s    r   r,   Ú$StringFormatter._need_to_wrap_around@   s0   € ä�D—H‘H×%Ñ%¨Ð-×F°·±×1BÑ1BÀQÑ1FÓGÐGr   c                ó*  • U R                   R                  U R                   R                  5      n[        U5      nU R                   R                  (       a  U R                  X5      nU R                   R                  (       a  U R                  X5      nU$ r   )r   Ú_get_formatted_indexÚtr_frameÚlenÚis_truncated_horizontallyÚ _insert_dot_separator_horizontalÚis_truncated_verticallyÚ_insert_dot_separator_vertical)r   r#   Ú	str_indexÚindex_lengths       r   r!   Ú&StringFormatter._insert_dot_separatorsD   sh   € Ø—H‘H×1Ñ1°$·(±(×2CÑ2CÓDˆ	Ü˜9“~ˆà�8‰8×-×-Ø×;Ñ;¸GÓRˆGà�8‰8×+×+Ø×9Ñ9¸'ÓPˆGàˆr   c                ó–   • U R                   R                  (       a  U R                   R                  S-   $ U R                   R                  $ r'   )r   r4   Ú
tr_col_numr5   s    r   Ú_adjusted_tr_col_numÚ$StringFormatter._adjusted_tr_col_numP   s0   € à*.¯(©(¯.¯.ˆt�x‰x×"Ñ" QÑ&ÐQ¸d¿h¹h×>QÑ>QÐQr   c                óF   • UR                  U R                  S/U-  5        U$ )Nz ...)ÚinsertrH   )r   r#   rD   s      r   r@   Ú0StringFormatter._insert_dot_separator_horizontalT   s$   € ð 	�‰�t×0Ñ0°6°(¸\Ñ2IÔJØˆr   c                ó  • U[        U R                  R                  5      -
  nU R                  R                  n[	        U5       HÄ  u  pVU R
                  R                  Xd   5      nU R                  R                  (       a  XPR                  :H  nOSnUS:”  d  U(       a  Sn	OSn	US:X  a  U R                  R                  (       a  Sn
OU(       a  SnSn
OSn
U R
                  R                  U	/XzS	9S   nUR                  XC-   U5        MÆ     U$ )
NFé   z...z..r   Úlefté   Úright)Úmode)r>   r   r=   Ú
tr_row_numÚ	enumerater   r?   rH   r4   ÚjustifyrK   )r   r#   rD   Ún_header_rowsÚrow_numÚixÚcolÚcwidthÚ
is_dot_colÚdotsÚdot_modeÚdot_strs               r   rB   Ú.StringFormatter._insert_dot_separator_verticalZ   sä   € ð %¤s¨4¯8©8×+<Ñ+<Ó'=Ñ=ˆØ—(‘(×%Ñ%ˆÜ  Ö)‰GˆBØ—X‘X—\‘\ #¡,Ó/ˆFà�x‰x×1×1Ø×#<Ñ#<Ñ<‘
à"�
à˜‹zžZØ‘à�à�Q‹w˜4Ÿ8™8Ÿ>Ÿ>Ø!‘ÞØ�Ø"‘à"�à—h‘h×&Ñ&¨ v¨vÐ&ÐEÀaÑHˆGØ�J‰J�wÑ.°Ö8ñ- *ð. ˆr   c                ó2  • U R                   nSn[        U5      nU R                  R                  (       ad  UR	                  S5      nU[
        R                  " U Vs/ s H  o`R                  R                  U5      PM     sn5      R                  5       U-   -  nU VVs/ s Ha  n[        U5      S:”  aM  [
        R                  " U Vs/ s H  o`R                  R                  U5      PM     sn5      R                  5       OSPMc     nnnUc   e[        X‚5      n	[        U	5      n
/ nSn[        U	5       HÁ  u  pÞXLU nU R                  R                  (       a  UR                  SW5        U
S:”  aW  [        US   5      nU[        U5      ::  a%  XÚS-
  :  a  UR                  S/S/US-
  -  -   5        OUR                  S/U-  5        UR                  U R                  R                  " U/UQ76 5        UnMÃ     SR                  U5      $ s  snf s  snf s  snnf )Nr(   r   éÿÿÿÿz \z  Ú z

)r   Úlistr   r4   ÚpopÚnpÚarrayr   r>   ÚmaxÚ_binifyrT   rK   Úappendr+   Újoin)r   Ústrcols_inputÚlwidthÚadjoin_widthr#   ÚidxÚxrY   Ú
col_widthsÚcol_binsÚnbinsÚstr_lstÚstartÚiÚendÚrowÚnrowss                    r   r-   ÚStringFormatter._join_multilinex   sÄ  € Ø—‘ˆØˆÜ�}Ó%ˆà�8‰8�>�>Ø—+‘+˜a“.ˆCØ”b—h’h¹Ó=º°A§¡§¡¨Q¦¹Ñ=Ó>×BÑBÓDÀ|ÑSÑSˆFñ ô
â�ô ?BÀ#»hÈ»lŒB�HŠH©sÓ3ªs¨!—h‘h—l‘l 1–o©sÑ3Ó4×8Ñ8Ô:ÐPQÒQÙð 	ñ 
ð
 Ñ!Ð!Ð!Ü˜:Ó.ˆÜ�H“ˆàˆØˆÜ Ö)‰FˆAØ Ð$ˆCØ�x‰x�~�~Ø—
‘
˜1˜cÔ"Ø�q‹yÜ˜C ™G›�Øœ#˜g›,Ó&¨1°q©y«=Ø—J‘J ˜w¨$¨°5¸1±9Ñ)=Ñ=Õ>à—J‘J ˜u u™}Ô-Ø�N‰N˜4Ÿ8™8Ÿ?š?¨<Ð>¸#Ò>Ô?ØŠEñ *ð �{‰{˜7Ó#Ð#ùò3  >ùò 4ùó
s   Á$H	
Â)HÃ$HÃ+HÈHc                óV  • SSK Jn  U R                  R                  " S/UQ76 R	                  S5      nU" U5      R
                  R                  5       R                  5       n[        5       u  pVXE-
  nUS-   nU" U V	s/ s H0  o’" U	5      R
                  R                  5       R                  5       PM2     sn	5      n
[        U
5      nSnUS:”  a]  US:”  aW  US-  n[        US-  5      nU
R                  U   nX®   nX�S-   -  nU
R                  U5      n
[        U
5      nUS:”  a  US:”  a  MW  X°R                  R                  -
  n[        US5      nUU R                  l        U R                  R                  5         U R                  5       nU R                  R                  " S/UQ76 $ s  sn	f )Nr   )ÚSeriesr(   Ú
é   )Úpandasr{   r   r+   ÚsplitÚstrr>   rg   r   Úroundr4   Údropr   Úmax_cols_fittedÚtruncater$   )r   r#   r{   ÚlinesÚmax_lenÚwidthÚ_ÚdifÚadj_difÚeleÚcol_lensÚn_colsÚcounterÚmidÚmid_ixÚcol_lenrƒ   s                    r   r.   Ú.StringFormatter._fit_strcols_to_terminal_widthš   sw  € Ý!à—‘—’ Ð, GÒ,×2Ñ2°4Ó8ˆÙ˜“-×#Ñ#×'Ñ'Ó)×-Ñ-Ó/ˆä$Ó&‰ˆØ‰oˆà˜‘'ˆÙÁ'ÓJÂ'¸3˜6 #›;Ÿ?™?×.Ñ.Ó0×4Ñ4Ö6Á'ÑJÓKˆÜ�X“ˆØˆØ˜‹k˜f q›jØ�q‰LˆGÜ˜ ™
Ó#ˆCØ—^‘^ CÑ(ˆFØÑ&ˆGà ‘{Ñ"ˆGØ—}‘} VÓ,ˆHÜ˜“]ˆFð ˜‹k˜f q�jð !§8¡8§>¡>Ñ1ˆä˜o¨qÓ1ˆØ#2ˆ�‰Ô ð 	�‰×ÑÔØ×#Ñ#Ó%ˆØ�x‰x�Š˜qÐ+ 7Ò+Ð+ùò/ Ks   Á<7F&)r   r   r   r   r   )r   r   r   z
int | NoneÚreturnÚNone)r“   r€   )r“   úlist[list[str]])r“   r8   )r#   r•   r“   r•   )r“   Úint)r#   r•   rD   r–   r“   r•   )rk   zIterable[list[str]]r“   r€   )r#   r•   r“   r€   )r2   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r$   r   Úpropertyr*   r,   r!   rH   r@   rB   r-   r.   Ú__static_attributes__© r   r   r
   r
      s£   † Ù=ö%ôôô<ð ó
ó ð
ð óHó ðHô
ð óRó ðRðØ&ðØ69ðà	ôðØ&ðØ69ðà	ôô< $÷D!,r   r
   c                ó.  • Sn/ nSn[        U 5      S-
  n[        U 5       HW  u  pgXr-   nXH-  nXV:X  a  US-   U:„  =(       a    US:„  n	OUS-   U:„  =(       a    US:„  n	U	(       d  MD  UR                  U5        UnMY     UR                  [        U 5      5        U$ )Nr(   r   r}   )r>   rT   ri   )
Úcolsr   rm   ÚbinsÚ
curr_widthÚi_last_columnru   ÚwÚ
w_adjoinedÚwraps
             r   rh   rh   ¾   sž   € Ø€LØ€DØ€JÜ˜“I ‘M€MÜ˜$–‰ˆØÑ%ˆ
ØÑ ˆ
ØÓØ ‘> JÑ.×8°1°q±5‰Dà ‘> JÑ.×8°1°q±5ˆDßˆ4Ø�K‰K˜ŒNØ#ŠJñ  ð 	‡K�K”�D“	ÔØ€Kr   )rŸ   ú	list[int]r   r–   r“   r¦   )rš   Ú
__future__r   Úshutilr   Útypingr   Únumpyre   Úpandas.io.formats.printingr   Úcollections.abcr   Úpandas.io.formats.formatr   r
   rh   r�   r   r   Ú<module>r®      s6   ðñõ #å $Ý  ã å 3æÝ(å;÷g,ñ g,õTr   