
    @wg                         d dl mZmZmZmZm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 ddlmZ  G d	 d
e      Z G d de      Zy)    )TYPE_CHECKINGAnyOptionalTupleUnion   )BooleanObject
NameObjectNumberObjectTextStringObject)ArrayObjectDictionaryObject)DEFAULT_FITFit)RectangleObject   )AnnotationDictionaryc                   n     e Zd Zdddeddeeeeeeef   f   dee	   dee
   dee   dedef fd	Z xZS )
LinkN)borderurltarget_page_indexfitrectr   r   r   r   kwargsc                   t        |   di | t        rddlm} |d u}|d u}	|s|	st        d      |r|	rt        d|d|      |`|d d D 
cg c]  }
t        |
       }}
t        |      dk(  rFt        |d   D 
cg c]  }
t        |
       c}
      }|j                  |       nt        d      gdz  }| j                  t        d	      t        d
      t        d      t        d      t        d      t        |      t        d      t        |      i       |rSt        t        d      t        d      t        d	      t        d      t        d      t        |      i      | t        d      <   |	rDt        t        |      t        |j                        |j                   d      }|| t        d      <   y y c c}
w c c}
w )Nr   )BorderArrayTypezHEither 'url' or 'target_page_index' have to be provided. Both were None.z=Either 'url' or 'target_page_index' have to be provided. url=z, target_page_index=      r   z/Typez/Annot/Subtypez/Link/Rectz/Borderz/Sz/URIz/Actionz/A)r   r   fit_argsz/Dest )super__init__r   typesr   
ValueErrorr   lenr   appendupdater
   r   r   r   fit_typer"   )selfr   r   r   r   r   r   r   is_externalis_internaln
border_arrdash_patterndest_deferred	__class__s                 `/var/www/horilla/myenv/lib/python3.12/site-packages/pypdf/annotations/_non_markup_annotations.pyr%   zLink.__init__   s    	"6"/o't3;Z  ;&-,.0  39"1:>a,q/>J>6{a*VAY+OLO+OP!!,/&q/*Q.J7#Z%9:&
7(;7#_T%:9%{:'>		
 %5t$j&8w'I)>v&(8(=&DD!" ,)56G)H%cll3 #M )6DG$% / ?+Os   F7 F<)__name__
__module____qualname__r   r   r   r   floatr   r   strintr   r   r%   __classcell__r3   s   @r4   r   r      s|    
 )-!+/<6 OU5%+E%FFG<6 %	<6
 c]<6 $C=<6 <6 <6 <6    r   c            	       V     e Zd Zddddeeeeeeef   f   dee   de	de
f fdZ xZS )	PopupNF)parentopenr   r@   rA   r   c          
      :   t        |   d	i | | j                  t        d      t        d      t        d      t	        |      t        d      t        |      i       |r	 |j                  | t        d      <   y y # t        $ r ddlm	}  |dt               Y y w xY w)
Nr    z/Popupr!   z/Openz/Parentr   )logger_warningz0Unregistered Parent object : No Parent field setr#   )r$   r%   r*   r
   r   r	   indirect_referenceAttributeError_utilsrC   r5   )r,   r   r@   rA   r   rC   r3   s         r4   r%   zPopup.__init__P   s     	"6":&
8(<7#_T%:7#]4%8	
 .4.G.GZ	*+  " 3Fs   !A; ;BB)r5   r6   r7   r   r   r   r8   r   r   boolr   r%   r;   r<   s   @r4   r?   r?   O   s[    
 .2 OU5%+E%FFG )*	
   r=   r?   N)typingr   r   r   r   r   generic._baser	   r
   r   r   generic._data_structuresr   r   generic._fitr   r   generic._rectangler   _baser   r   r?   r#   r=   r4   <module>rN      s?    = =  E + 0 '=6 =6@  r=   