
    є jT                     N    d dl mZmZ ddlmZmZ ddlmZ  G d de          ZdS )    )AnyUnion   )FloatObjectNumberObject)ArrayObjectc                   n   e Zd ZdZded eeeeef         f         ddfdZdedee	e
f         fdZded	edd fd
ZdefdZede	fd            Zej        deddfd            Zede	fd            Zej        deddfd            Zede	fd            Zej        deddfd            Zede	fd            Zej        deddfd            Zedeeef         fd            Zej        deeef         ddfd            Zedeeef         fd            Zej        deeef         ddfd            Zedeeef         fd            Zej        deeef         ddfd            Zedeeef         fd            Zej        deeef         ddfd            Zedefd            Zedefd            ZdS )RectangleObjectap  
    This class is used to represent *page boxes* in pypdf.

    These boxes include:

    * :attr:`artbox <pypdf._page.PageObject.artbox>`
    * :attr:`bleedbox <pypdf._page.PageObject.bleedbox>`
    * :attr:`cropbox <pypdf._page.PageObject.cropbox>`
    * :attr:`mediabox <pypdf._page.PageObject.mediabox>`
    * :attr:`trimbox <pypdf._page.PageObject.trimbox>`
    arrreturnNc                 t     t          |          dk    sJ t          j          fd|D                        d S )N   c                 :    g | ]}                     |          S  _ensure_is_number.0xselfs     lC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pypdf/generic/_rectangle.py
<listcomp>z,RectangleObject.__init__.<locals>.<listcomp>   s'    #K#K#K!D$:$:1$=$=#K#K#K    )lenr   __init__)r   r   s   ` r   r   zRectangleObject.__init__   sI     3xx1}T#K#K#K#Ks#K#K#KLLLLLr   valuec                 \    t          |t          t          f          st          |          S |S N)
isinstancer   r   r   r   s     r   r   z!RectangleObject._ensure_is_number   s,    %+|!<== 	&u%%%r   sxsyc                     t          t          | j                  |z  t          | j                  |z  t          | j                  |z  t          | j                  |z  f          S r   )r
   floatleftbottomrighttop)r   r!   r"   s      r   scalezRectangleObject.scale!   s_    di  2%dk""R'dj!!B&dh"$	
 
 	
r   c                 (    dt          |           dS )NzRectangleObject())listr   s    r   __repr__zRectangleObject.__repr__+   s    1$t**1111r   c                     | d         }|S Nr   r   r    s     r   r%   zRectangleObject.left.       !!Wr   fc                 *    t          |          | d<   d S r0   r   r   r2   s     r   r%   zRectangleObject.left3       a..Qr   c                     | d         }|S Nr   r   r    s     r   r&   zRectangleObject.bottom7   r1   r   c                 *    t          |          | d<   d S r8   r4   r5   s     r   r&   zRectangleObject.bottom<   r6   r   c                     | d         }|S N   r   r    s     r   r'   zRectangleObject.right@   r1   r   c                 *    t          |          | d<   d S r;   r4   r5   s     r   r'   zRectangleObject.rightE   r6   r   c                     | d         }|S N   r   r    s     r   r(   zRectangleObject.topI   r1   r   c                 *    t          |          | d<   d S r?   r4   r5   s     r   r(   zRectangleObject.topN   r6   r   c                     | j         | j        fS )zj
        Property to read and modify the lower left coordinate of this box
        in (x,y) form.
        )r%   r&   r-   s    r   
lower_leftzRectangleObject.lower_leftR   s     y$+%%r   c                 6      fd|D             \   d<    d<   d S )Nc              3   B   K   | ]}                     |          V  d S r   r   r   s     r   	<genexpr>z-RectangleObject.lower_left.<locals>.<genexpr>\   1      EE!D22155EEEEEEr   r   r   r   r    s   ` r   rC   zRectangleObject.lower_leftZ   -    EEEEuEEEQar   c                     | j         | j        fS )zk
        Property to read and modify the lower right coordinate of this box
        in (x,y) form.
        )r'   r&   r-   s    r   lower_rightzRectangleObject.lower_right^   s     z4;&&r   c                 6      fd|D             \   d<    d<   d S )Nc              3   B   K   | ]}                     |          V  d S r   r   r   s     r   rF   z.RectangleObject.lower_right.<locals>.<genexpr>h   rG   r   r<   r   r   r    s   ` r   rJ   zRectangleObject.lower_rightf   rH   r   c                     | j         | j        fS )zj
        Property to read and modify the upper left coordinate of this box
        in (x,y) form.
        )r%   r(   r-   s    r   
upper_leftzRectangleObject.upper_leftj   s     y$(""r   c                 6      fd|D             \   d<    d<   d S )Nc              3   B   K   | ]}                     |          V  d S r   r   r   s     r   rF   z-RectangleObject.upper_left.<locals>.<genexpr>t   rG   r   r   r@   r   r    s   ` r   rN   zRectangleObject.upper_leftr   rH   r   c                     | j         | j        fS )zk
        Property to read and modify the upper right coordinate of this box
        in (x,y) form.
        )r'   r(   r-   s    r   upper_rightzRectangleObject.upper_rightv   s     z48##r   c                 6      fd|D             \   d<    d<   d S )Nc              3   B   K   | ]}                     |          V  d S r   r   r   s     r   rF   z.RectangleObject.upper_right.<locals>.<genexpr>   rG   r   r<   r@   r   r    s   ` r   rR   zRectangleObject.upper_right~   rH   r   c                      | j         | j        z
  S r   )r'   r%   r-   s    r   widthzRectangleObject.width   s    zDI%%r   c                      | j         | j        z
  S r   )r(   r&   r-   s    r   heightzRectangleObject.height   s    x$+%%r   )__name__
__module____qualname____doc__r   tupler$   r   r   r   r   r   r)   strr.   propertyr%   setterr&   r'   r(   rC   rJ   rN   rR   rV   rX   r   r   r   r
   r
      s@       
 
M*E%u2L,MMNM	M M M Ms u[,5N/O    

 
5 
-> 
 
 
 
2# 2 2 2 2 k    X 
[!e ! ! ! ! [!     X ]! !$ ! ! ! ]! {    X \!u ! ! ! ! \! [    X 	Z!U !t ! ! ! Z! &E%,/ & & & X& FeUl 3 F F F F F 'U5%<0 ' ' ' X' Fue|!4 F F F F F #E%,/ # # # X# FeUl 3 F F F F F $U5%<0 $ $ $ X$ Fue|!4 F F F F F &u & & & X& & & & & X& & &r   r
   N)	typingr   r   _baser   r   _data_structuresr   r
   r   r   r   <module>rd      s            , , , , , , , , ) ) ) ) ) )A& A& A& A& A&k A& A& A& A& A&r   