§
    šŒÃi§  ã            	       ó*  — d dl mZmZmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZ erddlmZ ddlmZ ddlmZ  G d	„ d
¦  «        Z G d„ d¦  «        Zeeef         Zdddddeeeef                  fd„Zde
dddee         fd„Zdedddee         fd„ZdS )é    )ÚTYPE_CHECKINGÚOptionalÚUnionÚcasté   )Úlogger_warningé   )ÚArrayObjectÚDictionaryObjectÚIndirectObjectÚ	PdfObjectÚTextStringObjectÚis_null_or_none)Ú
PageObject)Ú	PdfReader)Ú	PdfWriterc                   óV   — e Zd ZdZdeddddfd„Zdeedf         fd„Zd	d
deddfd„Z	dS )ÚNamedReferenceLinkzGNamed reference link being preserved until we can resolve it correctly.Ú	referenceÚ
source_pdfr   ÚreturnNc                 ó"   — || _         || _        dS )z0reference: TextStringObject with named referenceN)Ú
_referenceÚ_source_pdf)Úselfr   r   s      ú]/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/pypdf/generic/_link.pyÚ__init__zNamedReferenceLink.__init__-   s   € à#ˆŒØ%ˆÔÐÐó    c                 óz   — | j         j                             t          | j        ¦  «        ¦  «        }|r|j        nd S ©N)r   Únamed_destinationsÚgetÚstrr   Úpage)r   Údestinations     r   Úfind_referenced_pagez'NamedReferenceLink.find_referenced_page2   s8   € ØÔ&Ô9×=Ò=½cÀ$Ä/Ñ>RÔ>RÑSÔSˆØ#.Ð8ˆ{ÔÐ°DÐ8r   Ú
target_pdfr   Únew_pagec                 óš   — t          | j        ¦  «        |j        vr/|                     t          | j        ¦  «        |j        ¦  «         dS dS )ú2target_pdf: PdfWriter which the new link went intoN)r#   r   r!   Úadd_named_destinationÚpage_number©r   r'   r(   s      r   Úpatch_referencez"NamedReferenceLink.patch_reference6   sN   € õ ˆtŒÑÔ zÔ'DÐDÐDØ×,Ò,­S°´Ñ-AÔ-AÀ8ÔCWÑXÔXÐXÐXÐXð EÐDr   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r&   r.   © r   r   r   r   *   s�   € € € € € ØQÐQð&Ð"2ð &Àð &ÐPTð &ð &ð &ð &ð
9 e¨N¸DÐ,@Ô&Að 9ð 9ð 9ð 9ðY¨+ð YÀð YÐTXð Yð Yð Yð Yð Yð Yr   r   c                   óB   — e Zd ZdZdeddfd„Zdefd„Zddd	eddfd
„ZdS )ÚDirectReferenceLinkzHDirect reference link being preserved until we can resolve it correctly.r   r   Nc                 ó   — || _         dS )zIreference: an ArrayObject whose first element is the Page indirect objectN©r   )r   r   s     r   r   zDirectReferenceLink.__init__@   s   € à#ˆŒˆˆr   c                 ó   — | j         d         S )Nr   r7   )r   s    r   r&   z(DirectReferenceLink.find_referenced_pageD   s   € ØŒ˜qÔ!Ð!r   r'   r   r(   c                 ó   — || j         d<   dS )r*   r   Nr7   r-   s      r   r.   z#DirectReferenceLink.patch_referenceG   s   € à%ˆŒ˜ÑÐÐr   )	r/   r0   r1   r2   r
   r   r   r&   r.   r3   r   r   r5   r5   =   s�   € € € € € ØRÐRð$ +ð $°$ð $ð $ð $ð $ð" nð "ð "ð "ð "ð&¨+ð &Àð &ÐTXð &ð &ð &ð &ð &ð &r   r5   r(   r   Úold_pager   c                 óF  ‡ ‡— ‰                       dt          ¦   «         ¦  «                             ¦   «         }‰                      dt          ¦   «         ¦  «                             ¦   «         }t          |¦  «        rt          ¦   «         }t          |¦  «        rt          ¦   «         }t	          |t          ¦  «        rt	          |t          ¦  «        st          d|› d|› d�t          ¦  «         g S ˆ fd„|D ¦   «         }ˆfd„|D ¦   «         }d„ t          ||¦  «        D ¦   «         S )z‹Extracts links from two pages on the assumption that the two pages are
    the same. Produces one list of (new link, old link) tuples.
    z/AnnotszExpected annotation arrays: ú z. Ignoring annotations.c                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS r3   ©Ú_build_link)Ú.0Úlinkr(   s     €r   ú
<listcomp>z!extract_links.<locals>.<listcomp>c   ó#   ø€ ÐIÐIÐI°•˜T 8Ñ,Ô,ÐIÐIÐIr   c                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS r3   r>   )r@   rA   r:   s     €r   rB   z!extract_links.<locals>.<listcomp>d   rC   r   c                 ó$   — g | ]\  }}|¯|¯	||f‘ŒS r3   r3   )r@   Únew_linkÚold_links      r   rB   z!extract_links.<locals>.<listcomp>f   sA   € ð ð ð Ù!5 (¨Hàðð !ðØ	�8Ððð ð r   )r"   r
   Ú
get_objectr   Ú
isinstancer   r/   Úzip)r(   r:   Únew_annotationsÚold_annotationsÚ	new_linksÚ	old_linkss   ``    r   Úextract_linksrO   O   s4  øø€ ð —l’l 9­k©m¬mÑ<Ô<×GÒGÑIÔI€OØ—l’l 9­k©m¬mÑ<Ô<×GÒGÑIÔI€OÝ�Ñ'Ô'ð (Ý%™-œ-ˆÝ�Ñ'Ô'ð (Ý%™-œ-ˆÝ�o¥{Ñ3Ô3ð ½:ÀoÕWbÑ;cÔ;cð ÝØe¨?ÐeÐe¸_ÐeÐeÐeÝñ	
ô 	
ð 	
ð ˆ	ð
 JÐIÐIÐI¸ÐIÑIÔI€IØIÐIÐIÐI¸ÐIÑIÔI€Iðð åˆy˜)Ñ$Ô$ðñ ô ð r   Úindirect_objectr$   c                 ó¾  — t          d|j        ¦  «        }t          t          |                      ¦   «         ¦  «        }t	          |t          ¦  «        r|                     d¦  «        dk    rd S d|v rRt          t          |d         ¦  «        }|                     d¦  «        dk    rd S d|vrd S t          |d         |¦  «        S d|v rt          |d         |¦  «        S d S )	Nr   z/Subtypez/Linkz/Az/Sz/GoToz/Dz/Dest)r   Úpdfr   rH   rI   r"   Ú_create_link)rP   r$   ÚsrcrA   Úactions        r   r?   r?   m   sÜ   € Ý
ˆ{˜DœHÑ
%Ô
%€CÝÕ  /×"<Ò"<Ñ">Ô">Ñ?Ô?€DÝ�tÕ-Ñ.Ô.ð °4·8²8¸JÑ3GÔ3GÈ7Ò3RÐ3RØˆtàˆt€|€|ÝÕ&¨¨T¬
Ñ3Ô3ˆØ�:Š:�dÑÔ˜wÒ&Ð&Ø�4à�vÐÐØ�4Ý˜F 4œL¨#Ñ.Ô.Ð.à�$€€Ý˜D œM¨3Ñ/Ô/Ð/àˆ4r   r   r   r   c                 ó˜   — t          | t          ¦  «        rt          | |¦  «        S t          | t          ¦  «        rt	          | ¦  «        S d S r    )rI   r   r   r
   r5   )r   r   s     r   rS   rS   ‚   sJ   € Ý�)Õ-Ñ.Ô.ð 9Ý! )¨ZÑ8Ô8Ð8Ý�)�[Ñ)Ô)ð .Ý" 9Ñ-Ô-Ð-Øˆ4r   N)Útypingr   r   r   r   Ú_utilsr   Ú r
   r   r   r   r   r   Ú_pager   Ú_readerr   Ú_writerr   r   r5   ÚReferenceLinkÚlistÚtuplerO   r?   rS   r3   r   r   ú<module>r`      s·  ðð> 8Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à #Ð #Ð #Ð #Ð #Ð #Ø iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iàð $Ø"Ð"Ð"Ð"Ð"Ð"Ø#Ð#Ð#Ð#Ð#Ð#Ø#Ð#Ð#Ð#Ð#Ð#ðYð Yð Yð Yð Yñ Yô Yð Yð&&ð &ð &ð &ð &ñ &ô &ð &ð Ð(Ð*=Ð=Ô>€ð˜Lð °Lð ÀTÈ%ÐP]Ð_lÐPlÔJmÔEnð ð ð ð ð< ð °|ð ÈÐQ^ÔH_ð ð ð ð ð*˜Ið °;ð À8ÈMÔCZð ð ð ð ð ð r   