
    :Qg#                     f    d dl Z d dlmZmZmZmZ ddlmZmZ ddl	m
Z
mZ ddlmZ  G d d	e      Zy)
    N)AnyListTupleUnion   )deprecate_no_replacementdeprecate_with_replacement   )FloatObjectNumberObject)ArrayObjectc                      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dee	e
f   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de	fdZde	fdZde	fdZde	fdZde	fdZde	fdZde	fdZde	fdZedeej>                  ej>                  f   fd       Z e j$                  de!e   ddfd       Z edeej>                  ej>                  f   fd        Z"e"j$                  de!e   ddfd!       Z"edeej>                  ej>                  f   fd"       Z#e#j$                  de!e   ddfd#       Z#edeej>                  ej>                  f   fd$       Z$e$j$                  de!e   ddfd%       Z$deej>                  ej>                  f   fd&Z%deej>                  ej>                  f   fd'Z&deej>                  ej>                  f   fd(Z'deej>                  ej>                  f   fd)Z(deeef   ddfd*Z)deeef   ddfd+Z*deeef   ddfd,Z+deeef   ddfd-Z,edej>                  fd.       Z-dej>                  fd/Z.edej>                  fd0       Z/dej>                  fd1Z0edeej>                  ej>                  f   fd2       Z1e1j$                  deej>                  ej>                  f   ddfd3       Z1edeej>                  ej>                  f   fd4       Z2e2j$                  deej>                  ej>                  f   ddfd5       Z2edeej>                  ej>                  f   fd6       Z3e3j$                  deej>                  ej>                  f   ddfd7       Z3edeej>                  ej>                  f   fd8       Z4e4j$                  deej>                  ej>                  f   ddfd9       Z4y):RectangleObjecta  
    This class is used to represent *page boxes* in PyPDF2. These boxes include:
        * :attr:`artbox <PyPDF2._page.PageObject.artbox>`
        * :attr:`bleedbox <PyPDF2._page.PageObject.bleedbox>`
        * :attr:`cropbox <PyPDF2._page.PageObject.cropbox>`
        * :attr:`mediabox <PyPDF2._page.PageObject.mediabox>`
        * :attr:`trimbox <PyPDF2._page.PageObject.trimbox>`
    arrreturnNc           	          t        |      dk(  sJ t        j                  | |D cg c]  }| j                  |       c}       y c c}w )N   )lenr   __init___ensure_is_number)selfr   xs      V/var/www/html/answerous/venv/lib/python3.12/site-packages/PyPDF2/generic/_rectangle.pyr   zRectangleObject.__init__   s=     3x1}}Ts#K!D$:$:1$=#KL#Ks   A
valuec                 H    t        |t        t        f      st        |      }|S N)
isinstancer   r   r   r   s     r   r   z!RectangleObject._ensure_is_number   s     %,!<=&E    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    sW    dii 2%dkk"R'djj!B&dhh"$	
 	
r   c                 :    t        d       | j                  |      S )NensureIsNumber)r   r   r   s     r   r*   zRectangleObject.ensureIsNumber*   s     	!!12%%e,,r   c                 2    dt        t        |              dS )NzRectangleObject())reprlistr   s    r   __repr__zRectangleObject.__repr__0   s    !$tDz"2!3155r   c                     | d   S Nr    r/   s    r   r$   zRectangleObject.left3       Awr   fc                      t        |      | d<   y r2   r   r   r5   s     r   r$   zRectangleObject.left7       a.Qr   c                     | d   S Nr
   r3   r/   s    r   r%   zRectangleObject.bottom;   r4   r   c                      t        |      | d<   y r;   r7   r8   s     r   r%   zRectangleObject.bottom?   r9   r   c                     | d   S Nr   r3   r/   s    r   r&   zRectangleObject.rightC   r4   r   c                      t        |      | d<   y r>   r7   r8   s     r   r&   zRectangleObject.rightG   r9   r   c                     | d   S N   r3   r/   s    r   r'   zRectangleObject.topK   r4   r   c                      t        |      | d<   y rA   r7   r8   s     r   r'   zRectangleObject.topO   r9   r   c                 2    t        dd       | j                  S )NgetLowerLeft_xr$   r	   r$   r/   s    r   rE   zRectangleObject.getLowerLeft_xS       "#3V<yyr   c                 2    t        dd       | j                  S )NgetLowerLeft_yr%   r	   r%   r/   s    r   rI   zRectangleObject.getLowerLeft_yW   s    "#3X>{{r   c                 2    t        dd       | j                  S )NgetUpperRight_xr&   r	   r&   r/   s    r   rL   zRectangleObject.getUpperRight_x[       "#4g>zzr   c                 2    t        dd       | j                  S )NgetUpperRight_yr'   r	   r'   r/   s    r   rP   zRectangleObject.getUpperRight_y_   s    "#4e<xxr   c                 2    t        dd       | j                  S )NgetUpperLeft_xr$   rF   r/   s    r   rS   zRectangleObject.getUpperLeft_xc   rG   r   c                 2    t        dd       | j                  S )NgetUpperLeft_yr'   rQ   r/   s    r   rU   zRectangleObject.getUpperLeft_yg   s    "#3U;xxr   c                 2    t        dd       | j                  S )NgetLowerRight_xr&   rM   r/   s    r   rW   zRectangleObject.getLowerRight_xk   rN   r   c                 2    t        dd       | j                  S )NgetLowerRight_yr%   rJ   r/   s    r   rY   zRectangleObject.getLowerRight_yo   s    "#4h?{{r   c                 2    | 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_lefts   s     yy$++%%r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r   .0r   r   s     r   	<genexpr>z-RectangleObject.lower_left.<locals>.<genexpr>}        E!D2215E   r   r
   r3   r   s   ` r   r[   zRectangleObject.lower_left{       EuEQar   c                 2    | 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     zz4;;&&r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r^   r_   s     r   ra   z.RectangleObject.lower_right.<locals>.<genexpr>   rb   rc   r   r
   r3   r   s   ` r   rf   zRectangleObject.lower_right   rd   r   c                 2    | 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_left   s     yy$((""r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r^   r_   s     r   ra   z-RectangleObject.upper_left.<locals>.<genexpr>   rb   rc   r   rB   r3   r   s   ` r   rj   zRectangleObject.upper_left   rd   r   c                 2    | 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_right   s     zz488##r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r^   r_   s     r   ra   z.RectangleObject.upper_right.<locals>.<genexpr>   rb   rc   r   rB   r3   r   s   ` r   rn   zRectangleObject.upper_right   rd   r   c                 2    t        dd       | j                  S )NgetLowerLeftr[   r	   r[   r/   s    r   rr   zRectangleObject.getLowerLeft        	#><@r   c                 2    t        dd       | j                  S )NgetLowerRightrf   r	   rf   r/   s    r   rv   zRectangleObject.getLowerRight        	#?MBr   c                 2    t        dd       | j                  S )NgetUpperLeftrj   r	   rj   r/   s    r   rz   zRectangleObject.getUpperLeft   rt   r   c                 2    t        dd       | j                  S )NgetUpperRightrn   r	   rn   r/   s    r   r}   zRectangleObject.getUpperRight   rx   r   c                 *    t        dd       || _        y )NsetLowerLeftr[   rs   r   s     r   r   zRectangleObject.setLowerLeft   s    "><@r   c                 F     t        dd        fd|D        \   d<    d<   y )NsetLowerRightrf   c              3   @   K   | ]  }j                  |        y wr   r^   r_   s     r   ra   z0RectangleObject.setLowerRight.<locals>.<genexpr>   rb   rc   r   r
   r	   r   s   ` r   r   zRectangleObject.setLowerRight   $    "?MBEuEQar   c                 F     t        dd        fd|D        \   d<    d<   y )NsetUpperLeftrj   c              3   @   K   | ]  }j                  |        y wr   r^   r_   s     r   ra   z/RectangleObject.setUpperLeft.<locals>.<genexpr>   rb   rc   r   rB   r   r   s   ` r   r   zRectangleObject.setUpperLeft   s$    "><@EuEQar   c                 F     t        dd        fd|D        \   d<    d<   y )NsetUpperRightrn   c              3   @   K   | ]  }j                  |        y wr   r^   r_   s     r   ra   z0RectangleObject.setUpperRight.<locals>.<genexpr>   rb   rc   r   rB   r   r   s   ` r   r   zRectangleObject.setUpperRight   r   r   c                 4    | j                   | j                  z
  S r   )r&   r$   r/   s    r   widthzRectangleObject.width   s    zzDII%%r   c                 2    t        dd       | j                  S )NgetWidthr   )r	   r   r/   s    r   r   zRectangleObject.getWidth   s    ":w7zzr   c                 4    | j                   | j                  z
  S r   )r'   r%   r/   s    r   heightzRectangleObject.height   s    xx$++%%r   c                 2    t        dd       | j                  S )N	getHeightr   )r	   r   r/   s    r   r   zRectangleObject.getHeight   s    ";9{{r   c                 2    t        dd       | j                  S N	lowerLeftr[   rs   r/   s    r   r   zRectangleObject.lowerLeft       ";=r   c                 *    t        dd       || _        y r   rs   r   s     r   r   zRectangleObject.lowerLeft        	#;=r   c                 2    t        dd       | j                  S N
lowerRightrf   rw   r/   s    r   r   zRectangleObject.lowerRight       "<?r   c                 *    t        dd       || _        y r   rw   r   s     r   r   zRectangleObject.lowerRight        	#<? r   c                 2    t        dd       | j                  S N	upperLeftrj   r{   r/   s    r   r   zRectangleObject.upperLeft   r   r   c                 *    t        dd       || _        y r   r{   r   s     r   r   zRectangleObject.upperLeft   r   r   c                 2    t        dd       | j                  S N
upperRightrn   r~   r/   s    r   r   zRectangleObject.upperRight   r   r   c                 *    t        dd       || _        y r   r~   r   s     r   r   zRectangleObject.upperRight  r   r   )5__name__
__module____qualname____doc__r   r   r#   r   r   r   r   r   r(   r*   strr0   propertyr$   setterr%   r&   r'   rE   rI   rL   rP   rS   rU   rW   rY   decimalDecimalr[   r   rf   rj   rn   rr   rv   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r3   r   r   r   r   	   sj   M*E%u2L,MMNM	Ms u[,5N/O 

 
5 
-> 
--	{L(	)-6# 6 k   
[[!e ! ! !    ]]! !$ ! ! {   \\!u ! ! ! [   	ZZ!U !t ! !         &E'//7??"BC & & FS	 Fd F F 'U7??GOO#CD ' ' Fc Ft F F #E'//7??"BC # # FS	 Fd F F $U7??GOO#CD $ $ Fc Ft F F	w/	0 	w/	0 	w/	0 	w/	0  %u"5  $  F5#6 F4 FF%u"5 F$ FF5#6 F4 F &w & &'//  & & &7??  5'//!AB    7??GOO;< 	     E'//7??"BC     !7??GOO;<!	! ! 5'//!AB    7??GOO;< 	     E'//7??"BC     !7??GOO;<!	! !r   r   )r   typingr   r   r   r   _utilsr   r	   _baser   r   _data_structuresr   r   r3   r   r   <module>r      s%     * * I , )@!k @!r   