
    3vj9C                     F    d Z ddlmZmZ ddlmZ ddlmZmZ d Z	d Z
d Zy	)
zLayout for columns.    )floorinf   )absolute_layout)
percentageresolve_percentagesc                    ddl m}m}m}m}m} |j                  }|d   }|d   }|d   }|}d| _        |d   dk(  rg }|j                  |j                        }|xj                   ||      z  c_
        |d	k7  rg|j                  d
k7  rX|j                  j                         dk(  sJ d}| j                  |j                         z
  |j                  z
  }t!        ||      }nd} |||       |d   dk(  r|d   }n$t#        |d   |j                  |j$                        }|d	k(  r(|d	k7  r#t!        d|j$                  |dz
  |z  z
        |z  }n|d	k7  rC|d	k(  r>t!        dt'        |j$                  |z   ||z   z              }|j$                  |z   |z  |z
  }nGt!        dt)        |t'        |j$                  |z   ||z   z                    }|j$                  |z   |z  |z
  }g }g }|r|j+                         nd\  }t-        |j                  |d |      D ]{  \  }}|j                  d   dk(  rE|r|j/                  |t1        |      z
  |f       |j/                  ||j3                         f       g }]|j/                  |j3                                } |r"|j/                  dz   t1        |      z
  |f       |rd||   i}|j                  sddd}d}g }|j                         }g }d} d}!d}"| j4                  j6                  d	k(  rdn| j4                  j9                         g}#d}$|D ]  \  }%}&t;        |&t<              s|&}'t?        |'|       |jA                         |'_!        ||'_
         || |'||||||||	|
      \  }(})}}}*}*d}|(d}!d}" nP|j/                  |(       |(jE                         |(jG                         z   }|j/                  |(jH                         |)r	d}!d}"|)}  nd}|&}| ||      z  }g }tK        |||||      }+| j                  |z
  |z
  x}},|} tL        }-| jN                  dd }.|}/dx}x}0}1	 t1        | jN                        t1        |.      kD  r<| jN                  jQ                          t1        | jN                        t1        |.      kD  r<|} g }2g }3tS        |      D ]J  } || |+| j                  |z
  |z
  | ||xs |1 g g g |	|
dd      \  }4})}}*}*}*|4ddi}  n|3j/                  |4       |)} |4j                  D cg c]  }|jU                         r| }5}|5r|5d   j9                         |5d   j                  z   |z
  }6||6z
  }|6|5d   jH                  z  }6d}7| rb || |+tL        | |dg g g |	|
dd      d   }8|8j                  D ]$  }|jU                         s|j9                         }7 n  || |8gg g        ndx}6x}}7|2j/                  |6       |7|z
  dkD  rt)        |-|7|z
        }-|)K n | j4                  j6                  d	k(  rdn| j4                  j9                         }$ || |3g g        |!rn|1r| n}|-tL        k(  rdn|-}9||9z  }||,kD  rd|,}d}0na|$|#vr||$|#d   z
  z  }|#j/                  |$       C|  xr t!        |2      |,k  }:|:r%|d   dk(  s|%|d   d   k  rd}1tW        |2      |z  }nnd}0nt!        || j                  |z
  |z
        }d}d};g }<	 tK        |||||      }+|d   dk(  r/|+xjB                  |j$                  |dz   |z  z
  ||z  z
  z  c_!        n|+xjB                  |||z   z  z  c_!         || |+||||/||d|	|
dd      \  }(} }=}*}*}*|(g }<d}"nB|=}| }|<j/                  |(       t!        |;|(j9                               };||}n|dz  }||k(  r|sn|t)        |,|;      z  }|<D ]  }>|;|>_        |j/                  |>        d}d}|0s n tY        | |#d          |j                  r|sd| _        dddddg dfS ||_	        | ||      z  }||j                         z
  }|j6                  d	k(  r
||_        d}?n|j6                  |z
  }?|jZ                  d	k7  rF|jZ                  |j6                  kD  r-|?|jZ                  |j6                  z
  z  }?|jZ                  |_        |ddd   D ]%  }|j\                  r|xj6                  |?z  c_        % n |d   dk(  r|D ]  }@t_        | |@|||d        | r| j+                         \  }%|z   | |   i}n|"r%di}| j4                  j6                  d	k7  rE| xj                  |#d   z  c_        | xj                  | j4                  j9                         z  c_        d| _        ||g dfS c c}w ) zLay out a multi-column ``box``.r   )block_box_layoutblock_level_layoutblock_level_widthcollapse_marginremove_placeholderscolumn_widthcolumn_countheightTpositionrelativeauto%pxF
column_gapnormal	font_sizer   )r   N)startcolumn_spanallany)breakpage)discard	max_linescolumn_fillbalance	directionrtl)r   N)
skip_stack)0blockr
   r   r   r   r   style	in_columncopy_with_childrenchildren
position_yunitlowerpage_bottomcontent_box_yvaluemaxr   widthr   minkeys	enumerateappendlencopycurrent_footnote_arear   margin_height
isinstancelistr   content_box_x
position_xborder_heightborder_box_ymargin_bottom_create_column_boxr   excluded_shapespoprangeis_in_normal_flowsum_report_footnotes
min_height	is_columnr   )Acontextboxbottom_spacer'   containing_blockpage_is_emptyabsolute_boxesfixed_boxesadjoining_marginsfirst_letter_stylefirst_line_styler
   r   r   r   r   r)   r4   countr   original_bottom_spaceheight_definedempty_spacegapcolumns_and_blockscolumn_childrenskipichild	next_pagecurrent_position_ynew_childrencolumn_skip_stack	last_loop
break_pagefootnote_area_heightslast_footnotes_heightindexcolumn_children_or_blockr(   	new_child	resume_at_
column_box
max_height
lost_spaceoriginal_excluded_shapesoriginal_page_is_emptystop_rendering	balancingconsumed_heights	new_boxesnew_boxin_flow_childrenconsumed_heightnext_box_heightnext_box
add_heighteverything_fitsmax_column_heightcolumnscolumn_next_pagecolumnheight_differenceabsolute_boxsA                                                                    K/root/.hermes/venv/lib/python3.12/site-packages/weasyprint/layout/column.pycolumns_layoutr   	   s   . . IIE.!E.!E8_F(GZJ&

 
 
.CNNo&788N FKK3.{{  "d***))C,=,=,??&,,N<5 c+,\h&K |,ciiC 5F?AsyyEAI#445=	&Uf_Aucii#o%#+>?@SE)C/As5%SUS[(I"JKLSE)C/ O!+JOOEDcll451> -5;;}%."))_--?A%%q%**,&78 Ouzz|,- !!US))?;	= D)*
<<#T2	
 **,LIJ**11V;**88:< += \''2D9,E'78"002E1E"U$9:GW!>;@Q&(8: EIy)->1
 J  	!
	*'')I,B,B,DD $$Y%<%<= 	!
$-!!M 3 	o.?@@'!?E;MO
 "447LL	N
 '
#*#:#:1#= !.5:::g--.5M1NN''++- g--.5M1NN !+!I5\ =9IZ''*<<vE%'7!2]BB@R$et:E6Iq!Q ?)*D	%  )$-! (/'7'7$2#..0 $2  $2 $ ),::<(,778:LM $ #)?":K#'7';'I'IIO '(O(#3#Z6G,dBB@R,et$M NO$P &.%6%6 &E$668272E2E2G %& ,GhZRHFGGOGkO ''8 #[014!$Z;1N!OJ ${=B 2299VC22@@B "  B;$, #-"3Q
*$J&'F%)N(0EE 36KB6OOOF)001FG *) 8()Z7   # m,	9!$6r$:1$==$(	!$%5!6!> &*No t '--0BBVKM +%"$J [!U*%%a!eu_)Dq3w)NN%%%eck)::% ZzCS*NK&(8%"	$ DI(*:Aq!  !
(I*JNN9% #!9#:#:#<!>!4FAEz.
 A F 	c*.?@@ 	(F-FM'	( 
y\~ g4R89
||L!Y% >EII  CL/*;<<#"3"3"55F
zzV
JJ/ ~~CNNSZZ$?S^^cjj88^^
dd# ??LL--L	 ZJ&* 	!LsK!	! !&&(dl$5d$;<
	T]
 $$++v54Q77w<<JJLLG
Ir500M$2s   =fc                 6   | j                   syd}| j                  j                         |kD  rA| j                  | j                   d          |dz  }| j                  j                         |kD  rA|dk\  r'| j                  d| dz
  d   }|| j                  | d yy)z4Report footnotes above the defined footnotes height.Nr   r"   r      )current_page_footnotesr;   r<   report_footnotereported_footnotes)rM   footnotes_heightr   extras       r   rJ   rJ     s    )) 

'
'
5
5
7:J
J > >r BCa 
'
'
5
5
7:J
J Q**2/A.A!.CB+FG;@""$6#6#78     c                     | j                  | |      }t        ||       d|_        ||_        | j	                         |_        ||_        |S )z-Create a column box including given children.)r,   T)anonymous_fromr   rL   r4   r?   r@   r-   )rN   rP   r,   r4   r-   rn   s         r   rD   rD     sQ    ##C(#;J
$45JJ--/J&Jr   N)__doc__mathr   r   absoluter   percentr   r   r   rJ   rD    r   r   <module>r      s#      % 4u1pA$r   