Ë
    ©2Úiµ6  ã                   ó–   — d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZ  G d	„ d
«      Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zy)z'Absolutely positioned boxes management.é   )Úboxesé   )Úhandle_min_max_width)Úresolve_percentagesÚresolve_position_percentages)Úshrink_to_fit)Ú inline_replaced_box_width_height)Útable_wrapper_widthc                   ó<   — e Zd ZdZd„ Zd„ Zd
d„Zd„ Zd„ Zd„ Z	d„ Z
y	)ÚAbsolutePlaceholderzBLeft where an absolutely-positioned box was taken out of the flow.c                 ó„   — t        |t        «      rJ ‚t        j                  | d|«       t        j                  | dd«       y )NÚ_boxÚ_layout_doneF)Ú
isinstancer   ÚobjectÚ__setattr__)ÚselfÚboxs     úQ/var/www/html/acx/venv/lib/python3.12/site-packages/weasyprint/layout/absolute.pyÚ__init__zAbsolutePlaceholder.__init__   s7   € Ü˜cÔ#6Ô7Ð7Ð7ä×Ñ˜4 ¨Ô-Ü×Ñ˜4 °Õ7ó    c                 ó`   — t         j                  | d|«       t         j                  | dd«       y )Nr   r   T)r   r   )r   Únew_boxs     r   Úset_laid_out_boxz$AbsolutePlaceholder.set_laid_out_box   s&   € Ü×Ñ˜4 ¨Ô1Ü×Ñ˜4 °Õ6r   c                 óî   — ||cxk(  rdk(  ry  | j                   r| j                  j                  |||«       y | j                  xj                  |z  c_        | j                  xj                  |z  c_        y )Né    )r   r   Ú	translateÚ
position_xÚ
position_y)r   ÚdxÚdyÚignore_floatss       r   r   zAbsolutePlaceholder.translate   s`   € Ø�Œ=�qŠ=Øð à×ÒØ�I‰I×Ñ  B¨Õ6ð �I‰I× Ò  BÑ&Õ Ø�I‰I× Ò  BÑ&Ö r   c                 óŽ   — t        | j                  j                  «       «      }t        j	                  |d| j
                  «       |S )Nr   )r   r   Úcopyr   r   r   )r   Únew_placeholders     r   r$   zAbsolutePlaceholder.copy!   s5   € Ü-¨d¯i©i¯n©nÓ.>Ó?ˆÜ×Ñ˜?¨N¸D×<MÑ<MÔNØÐr   c                 ó.   — t        | j                  |«      S ©N)Úgetattrr   )r   Únames     r   Ú__getattr__zAbsolutePlaceholder.__getattr__'   s   € Ü�t—y‘y $Ó'Ð'r   c                 ó2   — t        | j                  ||«       y r'   )Úsetattrr   )r   r)   Úvalues      r   r   zAbsolutePlaceholder.__setattr__*   s   € Ü�—	‘	˜4 Õ'r   c                 ó    — d| j                   z  S )Nz<Placeholder %r>)r   )r   s    r   Ú__repr__zAbsolutePlaceholder.__repr__-   s   € Ø! D§I¡IÑ-Ð-r   N)r   r   F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r$   r*   r   r/   © r   r   r   r      s(   „ ÙLò8ò7ó'òò(ò(ó.r   r   c                 óp  — | j                   j                  d u xs | j                   j                  d   dk(  }| j                  | j                  z   | j                  z   | j
                  z   }d}d}	|| j                  z
  }
| j                  | j                  cxk(  r| j                  cxk(  rdk(  rn n|| j                  dk(  rd| _
        | j                  dk(  rd| _        ||| j                  z   | j                  z   z
  }t        || |«      | _	        | j                  r|}	|	|fS |sd}	|
|z   }|	|fS | j                  dk7  �r| j                  dk7  �r| j                  dk7  rõ|| j                  | j                  z   | j                  z   |z   z
  }| j                  | j                  cxk(  rdk(  rXn nU| j                  |z   | j                  z   | j                  z   |k  r|dz  x| _
        | _        nV|rdn|| _
        |r|nd| _        n?| j                  dk(  r|| _
        n(| j                  dk(  r|| _        n|r|| _        n|| _
        | j                  |
z   }|	|fS | j                  dk(  rd| _
        | j                  dk(  rd| _        || j                  z   | j                  z   }| j                  | j                  cxk(  rdk(  r@n n=t        || ||z
  | j                  z
  «      | _	        || j                  z
  |z
  |
z   }d}	|	|fS | j                  | j                  cxk(  rdk(  r/n n,|s&||| j                  z   | j                  z   z
  }d}	|
|z   }|	|fS | j                  | j                  cxk(  rdk(  r8n n5t        || ||z
  | j                  z
  «      | _	        | j                  |
z   }|	|fS | j                  dk(  r&||
z   | j                  |z   | j                  z   z
  }|	|fS | j                  dk(  r7|| j                  z
  | j                  z
  |z
  | _	        | j                  |
z   }|	|fS | j                  dk(  r| j                  |
z   }|	|fS )NÚ	directionÚltrr   FÚautoTr   )ÚstyleÚparent_styleÚpadding_leftÚpadding_rightÚborder_left_widthÚborder_right_widthr   ÚleftÚrightÚwidthÚmargin_leftÚmargin_rightr   Úis_outside_marker)r   ÚcontextÚcb_xÚcb_yÚcb_widthÚ	cb_heightr7   Úpaddings_bordersÚtranslate_xÚtranslate_box_widthÚdefault_translate_xÚavailable_widthÚwidth_for_marginsÚspacings                 r   Úabsolute_widthrQ   1   sV  € ð 	�	‰	×Ñ $Ð&ò 	5Ø�	‰	×Ñ˜{Ñ+¨uÑ4ð ð 	×Ñ˜3×,Ñ,Ñ,Ø×Ññ	Ø #× 6Ñ 6ñ	7ð ð €KØÐØ §¡Ñ/Ðà
‡x�x�3—9‘9Ô3 §	¡	Ô3¨VÕ3Ø�?‰?˜fÒ$ØˆCŒOØ×Ñ˜vÒ%Ø ˆCÔØ"Ø˜sŸ™Ñ.°×1AÑ1AÑAñCˆä! '¨3°Ó@ˆŒ	Ø× Ò Ø"%Ððh  Ð+Ð+ñg Ø"&ÐØ-°Ñ?ˆKðb  Ð+Ð+ða 
�‰�VÓ	 §	¡	¨VÓ 3¸¿	¹	ÀVÒ8KØ$Ø�I‰I˜Ÿ™Ñ  3§9¡9Ñ,Ð/?Ñ?ñAÐà�?‰?˜c×.Ñ.Ô8°&Õ8Ø�y‰yÐ+Ñ+¨c¯i©iÑ7¸#¿(¹(ÑBÀhÒNØ5FÈÑ5JÐJ�” #Õ"2á'*¡!Ð0A�”Ù8;Ñ#4À�Õ Ø�_‰_ Ò&Ø/ˆC�OØ×Ñ Ò'Ø0ˆCÕÙØ0ˆCÕà/ˆCŒOØ—h‘hÐ!4Ñ4ˆð>  Ð+Ð+ð; �?‰?˜fÒ$ØˆCŒOØ×Ñ˜vÒ%Ø ˆCÔØ" S§_¡_Ñ4°s×7GÑ7GÑGˆØ�8‰8�s—y‘yÔ* FÕ*Ü%Ø˜˜h¨Ñ0°3·9±9Ñ<ó>ˆCŒIà" S§Y¡YÑ.°Ñ8Ð;NÑNˆKØ"&Ðð(  Ð+Ð+ð' �X‰X˜Ÿ™Ô, fÕ,ÙØ"*Ø$ s§¡Ñ6¸×9IÑ9IÑIñ#K�à&*Ð#Ø1°OÑC�ð  Ð+Ð+ð �Y‰Y˜#Ÿ)™)Ô- vÕ-Ü%Ø˜˜h¨Ñ0°3·8±8Ñ;ó=ˆCŒIàŸ(™(Ð%8Ñ8ˆKð  Ð+Ð+ð �X‰X˜ÒØ"Ð%8Ñ8Ø—	‘	˜GÑ# c§i¡iÑ/ñ1ˆKð  Ð+Ð+ð �Y‰Y˜&Ò Ø  3§9¡9Ñ,¨s¯x©xÑ7¸'ÑAˆCŒIØŸ(™(Ð%8Ñ8ˆKð  Ð+Ð+ð �Y‰Y˜&Ò ØŸ(™(Ð%8Ñ8ˆKà Ð+Ð+r   c                 óè  — | j                   | j                  z   | j                  z   | j                  z   }d}d}|| j                  z
  }	| j
                  | j                  cxk(  r| j                  cxk(  rdk(  r3n n0| j                  dk(  rd| _        | j                  dk(  rd| _	        ||fS d| j
                  | j                  | j                  fvr¨|| j
                  | j                  z   | j                  z   |z   z
  }
| j                  | j                  cxk(  rdk(  rn n|
dz  x| _        | _	        n5| j                  dk(  r|
| _        n| j                  dk(  r|
| _	        n|
| _	        | j
                  |	z   }||fS | j                  dk(  rd| _        | j                  dk(  rd| _	        || j                  z   | j                  z   }| j
                  | j                  cxk(  rdk(  rn n|| j                  z
  |z
  |	z   }d}||fS | j
                  | j                  cxk(  rdk(  rn n	 ||fS | j                  | j                  cxk(  rdk(  rn n| j
                  |	z   }||fS | j
                  dk(  r&||	z   | j                  |z   | j                  z   z
  }||fS | j                  dk(  r7|| j                  z
  | j
                  z
  |z
  | _        | j
                  |	z   }||fS | j                  dk(  r| j
                  |	z   }||fS )Nr   Fr8   r   T)
Úpadding_topÚpadding_bottomÚborder_top_widthÚborder_bottom_widthr   ÚtopÚbottomÚheightÚ
margin_topÚmargin_bottom)r   rE   rF   rG   rH   rI   rJ   Útranslate_yÚtranslate_box_heightÚdefault_translate_yÚheight_for_marginsrP   s               r   Úabsolute_heightr`   ~   sû  € ð 	�‰˜#×,Ñ,Ñ,Ø×Ññ	Ø"×6Ñ6ñ	7ð ð €KØ ÐØ §¡Ñ/Ðà
‡w�w�#—*‘*Ô4 §
¡
Ô4¨fÕ4à�>‰>˜VÒ#ØˆCŒNØ×Ñ Ò&Ø !ˆCÔðH   Ð,Ð,ðG 
˜Ÿ™ §¡¨S¯Z©ZÐ8Ñ	8Ø&Ø�G‰G�c—j‘jÑ  3§:¡:Ñ-Ð0@Ñ@ñBÐà�>‰>˜S×.Ñ.Ô8°&Õ8Ø1CÀaÑ1GÐGˆCŒN˜SÕ.Ø�^‰^˜vÒ%Ø/ˆC�NØ×Ñ &Ò(Ø 2ˆCÕà 2ˆCÔØ—g‘gÐ 3Ñ3ˆð0   Ð,Ð,ð- �>‰>˜VÒ#ØˆCŒNØ×Ñ Ò&Ø !ˆCÔØ" S§^¡^Ñ3°c×6GÑ6GÑGˆØ�7‰7�c—j‘jÔ* FÕ*à˜CŸJ™JÑ&¨Ñ0Ð3FÑFð à#'Ð ð   Ð,Ð,ð �W‰W˜Ÿ
™
Ô, fÕ,Øð   Ð,Ð,ð �Z‰Z˜3Ÿ:™:Ô/¨Õ/ØŸ'™'Ð$7Ñ7ˆKð   Ð,Ð,ð �W‰W˜ÒØ#Ð&9Ñ9Ø—
‘
˜WÑ$ s§z¡zÑ1ñ3ˆKð   Ð,Ð,ð �Z‰Z˜6Ò!Ø" S§Z¡ZÑ/°#·'±'Ñ9¸GÑCˆCŒJØŸ'™'Ð$7Ñ7ˆKð   Ð,Ð,ð �Z‰Z˜6Ò!ØŸ'™'Ð$7Ñ7ˆKà Ð,Ð,r   c
                 ó´  — ddl m}
 ddlm} ddlm} t        || ||||	«      \  }}|rd\  }}nt        || ||||	«      \  }}||r|j                   n|z  }g }|j                  rt        | |||	f«       t        |t        j                  «      r |
| |||d||d d d dd ¬«      \  }}}}}}nbt        |t        j                  «      r || ||||d||d¬	«	      \  }}}}}n0t        |t        j                  «      r || ||||d||¬
«      \  }}}}}|D ]  }t!        | |||d ¬«       Œ |r|j"                  z  }|r|j$                  z  }j'                  ||«       |fS )Nr   )Úblock_container_layout)Úflex_layout)Úgrid_layout)Fr   TF)Úpage_is_emptyÚabsolute_boxesÚfixed_boxesÚadjoining_marginsÚfirst_letter_styleÚfirst_line_styleÚdiscardÚ	max_lines)re   rf   rg   rk   )re   rf   rg   )Ú
skip_stack)Úblockrb   Úflexrc   Úgridrd   rQ   r`   r   Úis_table_wrapperr
   r   r   ÚBlockBoxÚFlexContainerBoxÚGridContainerBoxÚabsolute_layoutrA   rY   r   )rE   r   Úcontaining_blockrg   Úbottom_spacerm   rF   rG   rH   rI   rb   rc   rd   rL   rK   r]   r\   rf   r   Ú	resume_atÚ_Úchild_placeholders                         r   Úabsolute_blockr{   ³   s¬  € å-Ý!Ý!ä'5ØˆW�d˜D (¨Ió(7Ñ$Ð˜áØ,4Ñ)Ð™kä,;Ø�˜$  h°	ó-;Ñ)Ð˜kð Ñ';�S—^‘^‘OÀÑL€Lð €Nà
×ÒÜ˜G S¨8°YÐ*?Ô@ä�#œŸ™Ô(Ù)?Ø�S˜,¨
À$Ø)°{Ø"°tÈdØ Tô	*+Ñ&ˆ�˜A˜q !¡Qô
 
�Cœ%×0Ñ0Ô	2Ù&1Ø�S˜,¨
Ð4DØ¨~Ø#¨Uô'4Ñ#ˆ�˜A˜q¡!ô 
�Cœ%×0Ñ0Ô	2Ù&1Ø�S˜,¨
Ð4DØ¨~Ø#ô'%Ñ#ˆ�˜A˜q !ð
 ,ò ÐÜØÐ&¨°¸lØö	ðñ
 Ø�w—}‘}Ñ$ˆÙØ�w—~‘~Ñ%ˆØ×Ñ�k ;Ô/à�IÐÐr   c                 ó®   — |j                   rJ ‚|j                  }t        | |||||«      \  }}|j                  |«       |r| j	                  ||||«       yy)z-Set the width of absolute positioned ``box``.N)r   r   Úabsolute_box_layoutr   Úadd_broken_out_of_flow)	rE   Úplaceholderrv   rg   rw   rm   r   r   rx   s	            r   ru   ru   è   sg   € ð ×'Ò'Ð'Ð'Ø
×
Ñ
€CÜ,Ø�Ð&¨°\À:óOÑ€GˆYà× Ñ  Ô)ÙØ×&Ñ& {°CÐ9IÈ9ÕUð r   c                 óö  — t        |t        j                  «      r9|j                  «       }|j	                  «       }|j
                  }|j                  }	n@|j                  «       }|j                  «       }|j                  «       }|j                  «       }	t        |||	f«       t        |||	f«       t        |t        j                  «      rt        | |||||	«      }
d }|
|fS t        | |||||||||	«
      \  }
}|
|fS r'   )r   r   ÚPageBoxÚcontent_box_xÚcontent_box_yrA   rY   Úpadding_box_xÚpadding_box_yÚpadding_widthÚpadding_heightr   r   ÚBlockReplacedBoxÚabsolute_replacedr{   )rE   r   rv   rg   rw   rm   rF   rG   rH   rI   r   rx   s               r   r}   r}   ô   s	  € ô Ð"¤E§M¡MÔ2Ø×-Ñ-Ó/ˆØ×-Ñ-Ó/ˆØ#×)Ñ)ˆØ$×+Ñ+‰	à×-Ñ-Ó/ˆØ×-Ñ-Ó/ˆØ#×1Ñ1Ó3ˆØ$×3Ñ3Ó5ˆ	ä˜˜h¨	Ð2Ô3Ü   x°Ð&;Ô<ä�#”u×-Ñ-Ô.Ü#Ø�S˜$  h°	ó;ˆàˆ	ð �IÐÐô	 ,Ø�SÐ*¨K¸Ø˜˜d H¨ió9Ñˆ�ð �IÐÐr   c                 óö  — t        |||||f«       |j                  j                  d u xs |j                  j                  d   dk(  }|j                  |j                  cxk(  rdk(  r1n n.|r|j
                  |z
  |_        n||z   |j
                  z
  |_        d|j                  |j                  fv rˆ|j                  dk(  rd|_        |j                  dk(  rd|_        ||j                  «       z
  }|j                  dk(  r||j                  z
  |_        |j                  dk(  �r||j                  z
  |_        �nd|j                  |j                  fv rœ||j                  «       |j                  z   |j                  z   z
  }|j                  |j                  cxk(  rdk(  r1n n.|dk\  r|dz  x|_        |_        nƒ|rdn||_        |r|nd|_        nl|j                  dk(  r||_        nU||_        nM|r&||j                  «       |j                  z   z
  |_        n%||j                  «       |j                  z   z
  |_        |j                  |j                  cxk(  rdk(  rn n|j                  |z
  |_
        d|j                  |j                  fv r†|j                  dk(  rd|_        |j                  dk(  rd|_        ||j                  «       z
  }|j                  dk(  r||j                  z
  |_
        |j                  dk(  rÔ||j                  z
  |_        n¿d|j                  |j                  fv r€||j!                  «       |j                  z   |j                  z   z
  }|j                  |j                  cxk(  rdk(  rn n|dz  x|_        |_        nD|j                  dk(  r||_        n-||_        n%||j                  «       |j                  z   z
  |_        ||j                  z   |_        ||j                  z   |_        |S )Nr6   r7   r8   r   r   )r	   r9   r:   r?   r@   r   rB   rC   Úmargin_widthÚborder_widthrW   rX   r   rZ   r[   Úmargin_heightÚborder_height)rE   r   rF   rG   rH   rI   r7   Ú	remainings           r   r‰   r‰     se  € Ü$ S¨4°°xÀÐ*KÔLà�	‰	×Ñ $Ð&ò 	5Ø�	‰	×Ñ˜{Ñ+¨uÑ4ð ð
 ‡x�x�3—9‘9Ô& Õ&áØ—~‘~¨Ñ,ˆC�Hà˜x™¨#¯.©.Ñ8ˆCŒIØ�#—(‘(˜CŸI™IÐ&Ñ&Ø�?‰?˜fÒ$ØˆCŒOØ×Ñ˜vÒ%Ø ˆCÔØ˜s×/Ñ/Ó1Ñ1ˆ	Ø�8‰8�vÒØ  3§9¡9Ñ,ˆCŒHØ�9‰9˜ÓØ! C§H¡HÑ,ˆCŽIØ	�C—O‘O S×%5Ñ%5Ð6Ñ	6Ø × 0Ñ 0Ó 2°S·X±XÑ =ÀÇ	Á	Ñ IÑJˆ	Ø�?‰?˜c×.Ñ.Ô8°&Õ8Ø˜AŠ~Ø5>À!±^ÐC�” #Õ"2á'*¡!°	�”Ù03¡9¸�Õ Ø�_‰_ Ò&Ø'ˆC�Oà(ˆCÕñ Ø  C×$4Ñ$4Ó$6¸¿¹Ñ$AÑBˆC�Ià 3×#3Ñ#3Ó#5¸¿	¹	Ñ#AÑBˆCŒHð ‡w�w�#—*‘*Ô& Õ&Ø—.‘. 4Ñ'ˆŒØ�#—'‘'˜3Ÿ:™:Ð&Ñ&Ø�>‰>˜VÒ#ØˆCŒNØ×Ñ Ò&Ø !ˆCÔØ × 1Ñ 1Ó 3Ñ3ˆ	Ø�7‰7�fÒØ #§*¡*Ñ,ˆCŒGØ�:‰:˜ÒØ" S§W¡WÑ,ˆC�JØ	�C—N‘N C×$5Ñ$5Ð6Ñ	6Ø ×!2Ñ!2Ó!4°s·w±wÑ!>ÀÇÁÑ!KÑLˆ	Ø�>‰>˜S×.Ñ.Ô8°&Õ8Ø1:¸a±Ð?ˆCŒN˜SÕ.Ø�^‰^˜vÒ%Ø&ˆC�Nà )ˆCÕð  #×"3Ñ"3Ó"5¸¿¹Ñ"?Ñ@ˆŒ
ð ˜CŸH™H‘_€C„NØ˜CŸG™G‘^€C„NØ€Jr   N)r3   Úformatting_structurer   Úmin_maxr   Úpercentr   r   Ú	preferredr   Úreplacedr	   Útabler
   r   rQ   r`   r{   ru   r}   r‰   r4   r   r   ú<module>r–      sY   ðÙ -å (Ý )ß FÝ $Ý 6Ý &÷#.ñ #.ðL ñI,ó ðI,òX2-òj2òj	Vòó>Fr   