
    Mh,                        S SK r S SKrS SKrS SKrS SKJr  S SKJs  J	r
  S SKJrJr  S SKJr  S SKJr  S SKJr  \R*                  " S5        \" 5       (       a  \R,                  R.                  rS r\R,                  R5                  SS	S
/5      S 5       rS/ SQSSS.4S/ SQSSS.4SSS/S4SSS/S4SSS/S4SSS/S4SS /S!4S"S#S$/S%4S&S#S'/SS(S.4S)S#S'/S*4S+/ S,QS-4S./ S,QS/4S0/ S,QS14S2/ S,QS34S4/ S,QS54S6/ S,QS74S8/ S,QS94S:/ S;QSSS.4S</ S=QS74S>/ S?QSSS.4S</ S@QS74S>/ SAQSSS.4S</ SBQS74S>/ SCQSSS.4S</ S,QS74S>/ S;QSSS.4SD/ S,QSE4/r\R,                  R5                  SS	S
/5      \R,                  R5                  SF\5      SG 5       5       r\R,                  R5                  SS	S
/5      \R,                  R5                  SF\5      SH 5       5       r/ SIQr\R,                  R5                  SS	S
/5      \R,                  R5                  SJ\5      SK 5       5       r SL r!\R,                  R.                  \
RD                  SM 5       5       r#g)N    N)is_platform_windows)	DataFrame
read_excel)ExcelWriter)ExcelFormatterjinja2c                    U R                   R                  UR                   R                  :X  d   eU R                  R                  UR                  R                  :X  d   eU R                  R                  UR                  R                  :X  d   eU R                  R                  UR                  R                  :X  d   eU R
                  UR
                  :X  d   eU R                  R                  UR                  R                  :X  d   eg N)	alignment__dict__borderfillfontnumber_format
protection)cell1cell2s     R/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/excel/test_style.pyassert_equal_cell_stylesr      s    ??##u'?'????<<  ELL$9$9999::%**"5"5555::%**"5"5555%"5"5555$$(8(8(A(AAAA    engine
xlsxwriteropenpyxlc                 J   [         R                  " U 5        [        [        R                  R                  S5      R                  S5      5      n[        R                  " S5       n[        X S9 nUR                  USS9  UR                  R                  USS9  S S S 5        [         R                  " S5      n[        R                  " UR                  U5      5       n[        US   R                   US   R                   5       HZ  u  pg[#        U5      [#        U5      :X  d   e[        Xg5       H,  u  pUR$                  U	R$                  :X  d   e['        X5        M.     M\     S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)	N   )r   r   .xlsxr   	dataframe
sheet_nameunstyledr   )pytestimportorskipr   nprandomdefault_rngstandard_normaltmensure_cleanr   to_excelstyle
contextlibclosingload_workbookzipcolumnslenvaluer   )
r   dfpathwriterr   wbcol1col2r   r   s
             r   test_styler_to_excel_unstyledr9   &   s9    	299((+;;FC	DB		!T-KK;K7HHf< . &&z2 6 6t <=!"[/"9"92j>;Q;QR
4yCI---$'OLE ;;%++555,U: %4 S > 
"	!--
 >= 
"	!s>   $
F.+E2AFBF!F2
F 	<F
F	F
F"zbackground-color: #111222)r   fgColorrgbFF11122200111222)r   r   zcolor: #111222)r   colorr2   zfont-family: Arial;r   namearialzfont-weight: bold;bTzfont-style: italic;iztext-decoration: underline;usingleznumber-format: $??,???.00;r   z
$??,???.00ztext-align: left;r   
horizontalleftzvertical-align: bottom;verticalbottomzvertical-align: middle;centerzborder-left: 2pt solid redr   rF   r+   mediumzborder-left: 1pt dotted reddottedzborder-left: 2pt dotted redmediumDashDotDotzborder-left: 1pt dashed reddashedzborder-left: 2pt dashed redmediumDashedzborder-left: 1pt solid redthinzborder-left: 3pt solid redthickzborder-left: 2pt solid #111222)r   rF   r>   r;   zborder: 1pt solid red)r   topr+   zborder: 1pt solid #111222)r   rR   r>   r;   )r   rightr+   )r   rS   r>   r;   )r   rH   r+   )r   rH   r>   r;   z1border-left-style: hair; border-left-color: blackhairzcss, attrs, expectedc                   ^ [         R                  " U 5        [        [        R                  R                  S5      R                  S5      5      nUR                  R                  U4S j5      n[        R                  " S5       n[        X`S9 nUR                  USS9  UR                  USS9  S S S 5        [         R                  " S	5      n[        R                  " UR                  U5      5       n	U	S   R!                  SS5      U	S   R!                  SS5      pS S S 5        U H  n[#        W
US 5      [#        WU5      pM     [%        U[&        5      (       a  W
b
  XU    :w  d   eWX0   :X  d   eOW
b  X:w  d   eWU:X  d   eS S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)
Nr      rW   c                    > T$ r
    xcsss    r   <lambda>,test_styler_to_excel_basic.<locals>.<lambda>       Cr   r   r   r   r   styledr   r"   r#   r   r$   r%   r&   r'   r+   mapr(   r)   r   r*   r,   r-   r.   cellgetattr
isinstancedict)r   r\   attrsexpectedr3   stylerr4   r5   r   r6   u_cells_cellattrs    `           r   test_styler_to_excel_basicrm      sz    	299((+;;FC	DBXX\\-(F		!T-KK;K7OOFxO8 . &&z2 6 6t <=  _11!Q7H9J9J1a9PF > D$VT48'&$:OF  h%%>V/?%???X---->V%777X%%%% 
"	!--
 >= 
"	!s>   
F/!F/AF/2*FA(F/
F	F/
F,	(F//
F=c                    ^ [         R                  " U 5        [        [        R                  R                  S5      R                  S5      5      nUR                  nUR                  U4S jSS9  UR                  U4S jSS9  UR                  nUR                  S 5        UR                  S	 SS9  UR                  S
 SS9  [        R                  " S5       n[        XpS9 nUR                  USS9  UR                  USS9  S S S 5        [         R                  " S5      n	[        R                  " U	R!                  U5      5       n
U
S   R#                  SS5      U
S   R#                  SS5      pU
S   R#                  SS5      U
S   R#                  SS5      pS S S 5        U H3  n[%        WUS 5      [%        WU5      p[%        WUS 5      [%        WU5      pM5     ['        U[(        5      (       a/  Wb
  XU    :w  d   eWX0   :X  d   eWb
  XU    :w  d   eWX0   :X  d   eO$Wb  X:w  d   eWU:X  d   eWb  X:w  d   eWU:X  d   eS S S 5        g ! , (       d  f       GNO= f! , (       d  f       N= f! , (       d  f       g = f)Nr   rV   c                    > T$ r
   rY   rZ   s    r   r]   4test_styler_to_excel_basic_indexes.<locals>.<lambda>       sr   r   axisc                    > T$ r
   rY   rZ   s    r   r]   rp      rq   r   rW   c                     gNz
null: css;rY   r[   s    r   r]   rp      s    lr   c                     grv   rY   rw   s    r   r]   rp          Lr   c                     grv   rY   rw   s    r   r]   rp      ry   r   r   r   null_styledr   r`   r   )r"   r#   r   r$   r%   r&   r'   r+   	map_indexrb   r(   r)   r   r*   r,   r-   r.   rc   rd   re   rf   )r   r\   rg   rh   r3   ri   null_stylerr4   r5   r   r6   ui_cellsi_celluc_cellsc_cellrl   s    `              r   "test_styler_to_excel_basic_indexesr      s`    	299((+;;FC	DBXXF
]+
]+((KOO*+0q90q9		!T-  M BOOFxO8 . &&z2 6 6t <=  "-055a;R\=N=NqRS=TW!-055a;R\=N=NqRS=TW	 >
 D&wd;WWd=SW&wd;WWd=SW  h%%?g&1A&AAAh....?g&1A&AAAh....?g&999h&&&?g&999h&&&1 
"	!--
 >= 
"	!s?   
I/#!IAI/AIB)I/
I	I/
I,	(I//
I=)
rN   mediumDashDot
dashDotDotrT   rL   rM   doubledashDotslantDashDotrO   border_stylec                   ^ SU S3m/ SQnUn[         R                  " U 5        [        [        R                  R                  S5      R                  S5      5      nUR                  R                  U4S j5      n[        R                  " S5       n[        X`S9 nUR                  US	S
9  UR                  USS
9  S S S 5        [         R                  " S5      n[        R                  " UR                  U5      5       n	U	S	   R!                  SS5      U	S   R!                  SS5      pS S S 5        U H  n[#        W
US 5      [#        WU5      pM     [%        U[&        5      (       a  W
b
  XU    :w  d   eWX0   :X  d   eOW
b  X:w  d   eWU:X  d   eS S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzborder-left: z black thinrJ   r   rV   c                    > T$ r
   rY   rZ   s    r   r]   3test_styler_to_excel_border_style.<locals>.<lambda>   r_   r   r   r   r   r   r`   r   ra   )r   r   rg   rh   r3   ri   r4   r5   r   r6   rj   rk   rl   r\   s                @r   !test_styler_to_excel_border_styler      s    ,{
3C'EH
	299((+;;FC	DBXX\\-(F		!T-KK;K7OOFxO8 . &&z2 6 6t <=  _11!Q7H9J9J1a9PF > D$VT48'&$:OF  h%%>V/?%???X---->V%777X%%%% 
"	!--
 >= 
"	!s>   
F;!F;AF;>*F*(A(F;
F'	#F;*
F8	4F;;
G	c                     [         R                  " S5      n S n[        [        R                  R                  S5      R                  S5      5      nUR                  R                  S 5      n[        R                  " S5       n[        USS9 n[        X1S9R                  US	S
9  S S S 5        [        R                  " U R!                  U5      5       nUS	   R#                  SS5      R$                  R&                  R(                  S:X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nr   c                     SSSS000$ )Nr   r>   r;   111222rY   )r\   s    r   custom_converter6test_styler_custom_converter.<locals>.custom_converter  s    5("3455r   r   rV   c                     g)Nzcolor: #888999rY   rw   s    r   r]   .test_styler_custom_converter.<locals>.<lambda>  s    $4r   r   r   )style_convertercustomr   r=   )r"   r#   r   r$   r%   r&   r'   r+   rb   r(   r)   r   r   writer,   r-   r.   rc   r   r>   r2   )r   r   r3   ri   r4   r5   r6   s          r   test_styler_custom_converterr     s   "":.H6 
299((+;;FC	DBXX\\45F		!Tj1V6DJJ8 K  2
  6 6t <=h<$$Q*//55;;zIII > 
"	!11
 >= 
"	!s<   ED&-E:D0E
D-	)E0
D>	:E
Ec                    U R                   Sp2[        / SQ/ SQS.5      nUR                  R                  SS9nUR	                  SU SU 3US	9  S
n US U R
                  R                  5        5       ;   a  g [        R                  " S5        US-  nUS:  d   S5       e[        SU SU 3SUS9n[        R                  " Xt5        Mw  )Nz	test.xlsx)rW   r      )r         )r[   yindexrr   zs3:///)storage_options   c              3   8   #    U  H  oR                   v   M     g 7fr
   )key).0objs     r   	<genexpr>$test_styler_to_s3.<locals>.<genexpr>"  s     M.Ls77.Ls   g?r   z,Timed out waiting for file to appear on moto)	index_colr   )r?   r   r+   
set_stickyr*   objectsalltimesleepr   r(   assert_frame_equal)s3_public_buckets3somock_bucket_nametarget_filer3   ri   timeoutresults           r   test_styler_to_s3r     s    
 %5$9$9;k	3	4BXX  g .F
OOe,-Q{m<dOSG
M.>.F.F.J.J.LMM

33{JJJ{$%Q{m4SW
 	f) r   )$r,   r   numpyr$   r"   pandas.compatr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   pandas._testing_testingr(   pandas.io.excelr   pandas.io.formats.excelr   r#   mark
single_cpu
pytestmarkr   parametrizer9   shared_style_paramsrm   r   excel_border_stylesr   r   skip_if_not_us_localer   rY   r   r   <module>r      sK       - ) )  ' 2   H 
 ''JB :;	;( 	$"!z: 	"!z:
 VV,g6FC=$/VSM40"VSM8<!O#4lC;5v>!	j!2
 j 98D!#>I"$?J"$?AST"$?J"$?P!#>G!#>H 	)*!z:
 8&A#)!z:
 :FC#+!z:
 ;VD#,!z:
 96B#*!z: 	<#}C L : /1DE& F	
&4 : /1DE%' F	
%'V " : )<=& >	
&<J$ *  *r   