
    Eh                     >    d dl mZ d dlmZ d Zd Z G d de      Zy)    )chain)utilsc                 B   t        d      D cg c]  }t        |        c}\  }}}}|j                  dd| d   dd       |j                  dd| d   | d   z   | d	   dd
       |j                  dd| d   dd       |j                  dd| d   dd       ||||gS c c}w )N   	rect_edger   y1h)object_typeheighty0orientationdoctopr   r   )r
   r   r   r   r   x0v)r
   widthx1r   r   )r
   r   r   r   )rangedictupdate)rectxtopbottomleftrights         U/var/www/html/bid_assistant/venv/lib/python3.12/site-packages/pdfplumber/container.pyrect_to_edgesr      s    5:1X?d?CuJJ"4j	  MM"x.4>14j  	KK"4j	  
LL"4j	  &$''5  @s   Bc                 @    t        |       }| d   | d   k(  rdnd|d<   |S )Nr   r   r	   r   r   )r   )lineedges     r   line_to_edger!   !   s+    :D"&t*T
":#DK    c                       e Zd Zg dZddZed        Zed        Zed        Zed        Z	ed        Z
ed	        Zed
        Zed        Zy)	Container)_rect_edges_edges_objectsNc                 j    |d k(  r| j                   n|}|D ]  }t        | |      st        | |        y N)cached_propertieshasattrdelattr)self
propertiespropsps       r   flush_cachezContainer.flush_cache)   s9    *4*<&&* 	!AtQa 	!r"   c                 :    | j                   j                  dg       S )Nr   objectsgetr-   s    r   rectszContainer.rects/       ||++r"   c                 :    | j                   j                  dg       S )Nr   r3   r6   s    r   lineszContainer.lines3   r8   r"   c                 :    | j                   j                  dg       S )Nimager3   r6   s    r   imageszContainer.images7   s    ||,,r"   c                 :    | j                   j                  dg       S )Nfigurer3   r6   s    r   figureszContainer.figures;   s    ||"--r"   c                 :    | j                   j                  dg       S )Ncharr3   r6   s    r   charszContainer.chars?   r8   r"   c                 :    | j                   j                  dg       S )Nannor3   r6   s    r   annoszContainer.annosC   r8   r"   c                     t        | d      r| j                  S d | j                  D        }t        t	        |       | _        | j
                  S )Nr%   c              3   2   K   | ]  }t        |        y wr)   )r   ).0rs     r   	<genexpr>z'Container.rect_edges.<locals>.<genexpr>J   s     ?q-*?s   )r+   r&   r7   listr   r%   )r-   rect_edges_gens     r   
rect_edgeszContainer.rect_edgesG   sA    4');?DJJ?~ 67r"   c                     t        | d      r| j                  S t        t        t        | j
                              }| j                  |z   | _        | j                  S )Nr&   )r+   r&   rL   mapr!   r:   rN   )r-   
line_edgess     r   edgeszContainer.edgesN   sD    4"4;;$6#lDJJ78
oo
2{{r"   r)   )__name__
__module____qualname__r*   r1   propertyr7   r:   r=   r@   rC   rF   rN   rR    r"   r   r$   r$   &   s    ?! , , , , - - . . , , , ,      r"   r$   N)	itertoolsr   
pdfplumberr   r   r!   objectr$   rW   r"   r   <module>r[      s!     (:
- -r"   