
    ,g	                          d Z ddlmZ d Zd Zy)zLeaders management.   )boxesc                     t        | j                        D ]L  \  }}|j                  r|df|fc S t        |t        j
                        s5t        |      \  }}|F||f|fc S  y)z1Get the index of the first leader box in ``box``.N)NN)	enumeratechildren	is_leader
isinstancer   	ParentBoxleader_index)boxichildchild_leader_indexchild_leaders        p/home/viktor/gitlab-persoonlijk/factuur-applicatie/venv/lib/python3.12/site-packages/weasyprint/layout/leader.pyr
   r
      sn    cll+ =5??t9e##eU__-/;E/B,!--.<<=     c                    t        |      \  }}d}||j                  r|j                  \  }|j                  dk  ry|j                  t        d |j                  D              z
  }| j                  D ]8  }|j
                  |j                  z   |j
                  kD  s*||j                  z  }: ||j                  z   }|j                  |_        t        |j                  |j                  z        }	|j                  |j                  z   }
g }t        |	      D ]i  }|
|j                  z  }
|
|j                  k  r"|
|j                  z   |j                  |z   kD  rB|j                         }|
|_        |j                  |       k t        |      |_        |j                  d   dk(  r|j                  |        |}||j                  |d   dz   d D ]K  }|j                         s|j                  d   dk(  r|j                  |       9|j                  |        M |j                  |d      }|xj                  |z  c_        |d   }|yy)	zCFind a leader box in ``line`` and handle its text and its position.    Nc              3   \   K   | ]$  }|j                         r|j                          & y w)N)is_in_normal_flowmargin_width).0r   s     r   	<genexpr>z handle_leader.<locals>.<genexpr>   s-      3*%*&&(  3*s   *,	directionrtl)dx   ltr)r
   r   widthsumexcluded_shapes
position_yheightint
position_xrangecopyappendtuplestyle	translater   )contextlinecontaining_blockindex
leader_boxextra_widthtext_boxshapeavailable_widthnumber_of_leadersr$   r   r   r   r   s                  r   handle_leaderr5      s@   $T*E:KZ00''	 >>Q ',,s 3*.2mm3* 0* *
 ,, 	+E%,,.@u{{*	+
 &6%++
  

hnn <=__tzz1
() 	&A(..(JJ111x~~-))O;< }}H",HOOH%	& $Ho
::k"e+  [L 1 C

\\%(Q,-0 	5E&&(::k*e3OO{O3OO|O4	5 ll58$		[ 	a 
r   N)__doc__formatting_structurer   r
   r5    r   r   <module>r9      s     (	9r   