
    Ng                     t    d dl mZmZmZ ddlmZmZmZmZ ddl	m
Z
mZ  ed          Z G d de          ZdS )	    )AnyListOptional   )BooleanObject
NameObjectNumberObjectis_null_or_none)ArrayObjectDictionaryObjectFc                   l    e Zd Zdedee         defdZdededdfdZdedee	         dee	         fdZ
ded	ee         de	ddfd
Zdedeee                  defdZdedee         ddfdZdedee         defdZdededdfdZede	fd            Zddededd fdZddee         ddf fdZ xZS )ViewerPreferenceskeydeftreturnc                 .    |                      ||          S Ngetselfr   r   s      U/var/www/html/ai-engine/env/lib/python3.11/site-packages/pypdf/generic/_viewerpref.py	_get_boolzViewerPreferences._get_bool*       xxT"""    vNc                 H    t          |du           | t          |          <   d S )NT)r   r   r   r   r   s      r   	_set_boolzViewerPreferences._set_bool-   s$     -a4i 8 8Z__r   c                 .    |                      ||          S r   r   r   s      r   	_get_namezViewerPreferences._get_name0   r   r   lstc                     |d         dk    rt          | d          |g k    r||vrt          | d          t          |          | t          |          <   d S )Nr   /z is not starting with '/'z  is not par of acceptable values)
ValueErrorr   )r   r   r"   r   s       r   	_set_namezViewerPreferences._set_name3   sj    Q43;;<<<==="99#CCCDDD *1Z__r   c                 P    |                      ||d nt          |                    S r   )r   r   r   s      r   _get_arrzViewerPreferences._get_arr:   s&    xxT\TT{47H7HIIIr   c                     |$	 | t          |          = n# t          $ r Y nw xY wd S t          |t                    st	          d          || t          |          <   d S )NzArrayObject is expected)r   KeyError
isinstancer   r%   r   s      r   _set_arrzViewerPreferences._set_arr=   sy    9C))   F![)) 	86777 !Z__s    
""c                 .    |                      ||          S r   r   r   s      r   _get_intzViewerPreferences._get_intH   r   r   c                 D    t          |          | t          |          <   d S r   )r	   r   r   s      r   _set_intzViewerPreferences._set_intK   s     ,QZ__r   c                      t          d          S )N/PrintScaling)r   )r   s    r   PRINT_SCALINGzViewerPreferences.PRINT_SCALINGN   s    /***r   clsvaluec                 v   dt           dt          t                   dt          fd}dt           dt          t                    dt          t
                   dt          fd}dt           dt          t                   dt          fd}dt           dt          t                   dt          fd} |d	t                    | _	         |d
t                    | _
         |dt                    | _         |dt                    | _         |dt                    | _         |dt                    | _         |dg dt          d                    | _         |dddgt          d                    | _         |dg d           | _         |dg d           | _         |dg d           | _         |dg d           | _         |dg d           | _         |dg dd           | _         |dd           | _         |dd           | _         |dd           | _         |dt                                | _        t7          j        |           S ) Nr   r   r   c           
      F     t           fd fdd d  d d          S )Nc                 0    |                                S r   )r   r   r   r   s    r   <lambda>zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>U       T^^C66 r   c                 0    |                      |          S r   )r   r   r   r   s     r   r:   zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>V   s    sA 6 6 r   *
            Returns/Modify the status of 
, Returns  if not defined
            propertyr   r   s   ``r   _add_prop_boolz1ViewerPreferences.__new__.<locals>._add_prop_boolS   sX    666666666*- 9=  	  r   r"   c                 P     t           fd fdd d  d d d          S )Nc                 0    |                                S r   )r!   r9   s    r   r:   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>a   r;   r   c                 2    |                      |          S r   )r&   )r   r   r   r"   s     r   r:   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>b   s    sC ; ; r   r>   r?   z0 if not defined.
            Acceptable values: z
            rA   )r   r"   r   s   ```r   _add_prop_namez1ViewerPreferences.__new__.<locals>._add_prop_name]   sk     66666;;;;;*- 9=  #  	  r   c           
      F     t           fd fdd d  d d          S )Nc                 0    |                                S r   )r(   r9   s    r   r:   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>l       T]]355 r   c                 0    |                      |          S r   )r,   r=   s     r   r:   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>m       c1 5 5 r   r>   r?   r@   rA   rC   s   ``r   _add_prop_arrz0ViewerPreferences.__new__.<locals>._add_prop_arrj   X    555555555*- 9=  	  r   c           
      F     t           fd fdd d  d d          S )Nc                 0    |                                S r   )r.   r9   s    r   r:   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>v   rK   r   c                 0    |                      |          S r   )r0   r=   s     r   r:   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>w   rM   r   r>   r?   r@   rA   rC   s   ``r   _add_prop_intz0ViewerPreferences.__new__.<locals>._add_prop_intt   rO   r   z/HideToolbarz/HideMenubarz/HideWindowUIz
/FitWindowz/CenterWindowz/DisplayDocTitlez/NonFullScreenPageMode)/UseNonez/UseOutlinesz
/UseThumbsz/UseOCrT   z
/Directionz/L2Rz/R2Lz	/ViewAreaz	/ViewClipz
/PrintAreaz
/PrintClipr2   z/Duplex)z/Simplexz/DuplexFlipShortEdgez/DuplexFlipLongEdgez/PickTrayByPDFSizez/PrintPageRangez
/NumCopiesz/Enforce)strr   r   rB   r   r   r   intf_objhide_toolbarhide_menubarhide_windowui
fit_windowcenter_windowdisplay_doctitlenon_fullscreen_pagemode	direction	view_area	view_clip
print_area
print_clipprint_scalingduplexpick_tray_by_pdfsizeprint_pagerange
num_copiesenforcer   __new__)r4   r5   rD   rH   rN   rS   s         r   rj   zViewerPreferences.__new__R   s   	 	8M+B 	x 	 	 	 			9	,4Z,@		 	 	 		s 	(;*? 	H 	 	 	 		s 	(3- 	H 	 	 	 	 *>.%@@)>.%@@*N?EBB'e<<*N?EBB-~.@%HH&4n$@@@z""'
 '
#
 '66*Jv,>,>
 
 '{B==&{B=='b$??'b$??*N?BEE#^RRRTX
 

 $2>2F#M#M +m,=tDD&|T::#mJ>>',,,r   objc                     t                                          |            t          |          s'|                     |                                           	 |j        | _        d S # t          $ r Y d S w xY wr   )super__init__r
   updateitemsindirect_referenceAttributeError)r   rk   	__class__s     r   rn   zViewerPreferences.__init__   s}    s## 	%KK		$$$	&)&<D### 	 	 	DD	s   A( (
A65A6r   )__name__
__module____qualname__rU   r   r   r   boolr   r   r!   r   r&   r   r	   r(   r   r,   r.   rV   r0   rB   r3   rj   r   rn   __classcell__)rs   s   @r   r   r   )   s1       #S #(? #M # # # #9S 9T 9d 9 9 9 9#S #(< #*AU # # # #.S .tCy .Z .D . . . .JC JxS	': J| J J J J	"C 	"H[$9 	"d 	" 	" 	" 	"#C #x'= #, # # # #0C 0C 0D 0 0 0 0 +z + + + X+I- I-S I- I-0C I- I- I- I-V H%56 $          r   r   N)typingr   r   r   _baser   r   r	   r
   _data_structuresr   r   rW   r    r   r   <module>r}      s   :          L K K K K K K K K K K K ; ; ; ; ; ; ; ;e{ { { { {( { { { { {r   