§
    �’j4  ã                   ó.  — d Z ddlZddl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 dd	lmZmZmZmZmZmZ ej        d
k    rddlmZ n G d„ dee¦  «        ZerddlmZ e G d„ de¦  «        ¦   «         Z G d„ dee¦  «        Z G d„ de¦  «        ZdS )zAction typesé    N)ÚABC)ÚEnumÚunique)ÚTYPE_CHECKINGÚcasté   )Úlogger_warning)Ú
ParseError)ÚArrayObjectÚDictionaryObjectÚ
NameObjectÚ
NullObjectÚTextStringObjectÚis_null_or_none)é   é   )ÚStrEnumc                   ó   — e Zd Zdefd„ZdS )r   Úreturnc                 ó*   — t          | j        ¦  «        S )N)ÚstrÚvalue)Úselfs    úDC:\Projects\DSCons\.venv\Lib\site-packages\pypdf\actions\_actions.pyÚ__str__zStrEnum.__str__   s   € Ý�t”z‘?”?Ð"ó    N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r      s/   € € € € € ð	#˜Sð 	#ð 	#ð 	#ð 	#ð 	#ð 	#r   r   )Ú
PageObjectc                   ó:   — e Zd ZdZdZ	 dZ	 edefd„¦   «         ZdS )ÚPageTriggerzGTrigger event entries in a page object's additional-actions dictionary.ÚopenÚcloser   c                 óz   — t           j        t          d¦  «        t           j        t          d¦  «        i}||          S )z5Returns the corresponding NameObject for the trigger.z/Oz/C)r#   ÚOPENr   ÚCLOSE)r   Úmappings     r   Ú_name_objectzPageTrigger._name_object(   s7   € õ Ô�j¨Ñ.Ô.ÝÔ�z¨$Ñ/Ô/ð
ˆð �tŒ}Ðr   N)	r   r   r   Ú__doc__r'   r(   Úpropertyr   r*   r    r   r   r#   r#       sO   € € € € € àQÐQØ€DØ4Ø€EØ4àð˜jð ð ð ñ „Xðð ð r   r#   c            	       óp   ‡ — e Zd ZdZdˆ fd„Zedddedd ddfd	„¦   «         Zedddeddfd
„¦   «         Zˆ xZ	S )ÚActionzLAn action dictionary defines the characteristics and behaviour of an action.r   Nc                 óÂ   •— t          ¦   «                              ¦   «          t          d¦  «        | t          d¦  «        <   t          ¦   «         | t          d¦  «        <   d S )Nz/Actionz/Typeú/Next)ÚsuperÚ__init__r   r   )r   Ú	__class__s    €r   r2   zAction.__init__4   sQ   ø€ Ý‰Œ×ÒÑÔÐÝ$.¨yÑ$9Ô$9ˆ�Z˜Ñ Ô Ñ!õ %/¡L¤Lˆ�Z˜Ñ Ô Ñ!Ð!Ð!r   Úpager!   ÚtriggerÚactionc                 ó  — |j         }d|vr#t          ||i¦  «        |t          d¦  «        <   dS t          |d         t          ¦  «        rt          ¦   «         |t          d¦  «        <   t          |d                              ¦   «         t          ¦  «        sct          |d         ¦  «        j        }|j        �)t          |j        dd¦  «        rt          d|› d�¦  «        ‚t          dt          |¬¦  «         dS t          t          |d         ¦  «        }t          |                     |¦  «        ¦  «        r|                     ||i¦  «         dS |                     |¦  «        x}}t          |t          ¦  «        s%t          dt          |¦  «        j        › d�¦  «        ‚t          t          |¦  «        }t!          ¦   «         }		 |                     d
d¦  «        }
t          |
¦  «        rn¢t          |
t"          t          f¦  «        s%t%          dt          |
¦  «        j        › d�¦  «        ‚t'          |
¦  «        }||	v rt          dt          |¬¦  «         n6|	                     |¦  «         t          |
t"          ¦  «        r	|
d         }n|
}ŒÈt          |                     d
¦  «        x}
¦  «        s(t'          |
¦  «        |	v rt          dt          |¬¦  «         ||t          d
¦  «        <   |                     ||i¦  «         dS )z×
        Create a new action and add it to the page.

        Args:
            page: The page to add the action to.
            trigger: An open or close trigger.
            action: The action to be done.
        ú/AANÚstrictFz]The type in a page object's additional-actions key must be a DictionaryObject: received type ú.zfThe type in a page object's additional-actions key must be a DictionaryObject: received type %(type)s.)ÚsourceÚtypeTr0   us   An action dictionaryâ€™s Next entry must be an Action dictionary or an array of Action dictionaries: received type z1Detected cycle in the action tree for %(current)s)r;   Úcurrentéÿÿÿÿ)r*   r   r   Ú
isinstancer   Ú
get_objectr<   r   ÚpdfÚgetattrr
   r	   r   r   ÚgetÚupdateÚsetr   Ú	TypeErrorÚidÚadd)Úclsr4   r5   r6   Útrigger_nameÚcurrent_typeÚadditional_actionsÚheadr=   ÚvisitedÚ	next_nodeÚid_nexts               r   Ú_create_newzAction._create_new<   sE  € ð Ô+ˆà˜ÐÐå&6Ø˜vÐ&ñ'ô 'ˆD•˜EÑ"Ô"Ñ#ð ˆFå�d˜5”k¥:Ñ.Ô.ð 	9Ý&6Ñ&8Ô&8ˆD•˜EÑ"Ô"Ñ#å˜$˜uœ+×0Ò0Ñ2Ô2Õ4DÑEÔEð 	Ý  U¤Ñ,Ô,Ô5ˆLØŒxÐ#­°´¸(ÀEÑ(JÔ(JÐ#Ý ð5Ø%1ð5ð 5ð 5ñô ð õ ð*åØ!ð	ñ ô ð ð ˆFå!Õ"2°D¸´KÑ@Ô@ÐåÐ-×1Ò1°,Ñ?Ô?Ñ@Ô@ð 	Ø×%Ò% |°VÐ&<Ñ=Ô=Ð=ØˆFð ,×/Ò/°Ñ=Ô=Ð=ˆˆwÝ˜$Õ 0Ñ1Ô1ð 	Ýð8Ý!% d¡¤Ô!4ð8ð 8ð 8ñô ð õ Õ'¨Ñ1Ô1ˆå‘%”%ˆð	$ØŸš G¨TÑ2Ô2ˆIå˜yÑ)Ô)ð Øå˜i­+Õ7GÐ)HÑIÔIð ÝðeÝIMÈiÉÌÔIaðeð eð eñô ð õ
 ˜‘m”mˆGØ˜'Ð!Ð!ÝÐRÕ[cÐmtÐuÑuÔuÐuØØ�KŠK˜Ñ Ô Ð å˜)¥[Ñ1Ô1ð $Ø# Bœ-��à#�ð+	$õ. ¨G¯KªK¸Ñ,@Ô,@Ð@˜yÑAÔAð 	rÅbÈÁmÄmÐW^ÐF^ÐF^ÝÐNÕW_ÐipÐqÑqÔqÐqà'-ˆ•
˜7Ñ#Ô#Ñ$Ø×!Ò! <°Ð"6Ñ7Ô7Ð7Ð7Ð7r   c                 óv   — d|vrdS |j         }t          t          |d         ¦  «        }||vrdS ||= |s|d= dS dS )z 
        Delete an action from the page.

        Args:
            page: The page to delete the action.
            trigger: An open or close trigger.
        r8   N)r*   r   r   )rI   r4   r5   rJ   rL   s        r   Ú_deletezAction._delete”   sg   € ð ˜ÐÐØˆFàÔ+ˆå!Õ"2°D¸´KÑ@Ô@ÐàÐ1Ð1Ð1ØˆFà˜|Ð,à!ð 	Ø�U���ð	ð 	r   )r   N)
r   r   r   r+   r2   Úclassmethodr#   rQ   rS   Ú__classcell__©r3   s   @r   r.   r.   2   s¾   ø€ € € € € ØVÐVð1ð 1ð 1ð 1ð 1ð 1ð ðU8˜|ð U8°kð U8È8ð U8ÐX\ð U8ð U8ð U8ñ „[ðU8ðn ð˜<ð °+ð À$ð ð ð ñ „[ðð ð ð ð r   r.   c                   ó,   ‡ — e Zd ZdZdeddfˆ fd„Zˆ xZS )Ú
JavaScriptaB  
    Upon invocation of an ECMAScript action, a PDF processor shall execute a
    script that is written in the ECMAScript programming language. ECMAScript
    extensions described in ISO/DIS 21757-1 shall also be allowed.

    Args:
        java_script: A text string containing the ECMAScript script to be executed.
    Újava_scriptr   Nc                 óÄ   •— t          ¦   «                              ¦   «          t          d¦  «        | t          d¦  «        <   t          |¦  «        | t          d¦  «        <   dS )z$Initialize JavaScript with a string.z/JavaScriptz/Sz/JSN)r1   r2   r   r   )r   rY   r3   s     €r   r2   zJavaScript.__init__·   sS   ø€ å‰Œ×ÒÑÔÐÝ!+¨MÑ!:Ô!:ˆ�Z˜ÑÔÑÝ"2°;Ñ"?Ô"?ˆ�Z˜ÑÔÑÐÐr   )r   r   r   r+   r   r2   rU   rV   s   @r   rX   rX   ­   sa   ø€ € € € € ðð ð@ Cð @¨Dð @ð @ð @ð @ð @ð @ð @ð @ð @ð @r   rX   )r+   ÚsysÚabcr   Úenumr   r   Útypingr   r   Ú_utilsr	   Úerrorsr
   Úgenericr   r   r   r   r   r   Úversion_infor   r   Ú_pager!   r#   r.   rX   r    r   r   ú<module>rd      só  ðØ Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð
 $Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ô�wÒÐØÐÐÐÐÐÐð#ð #ð #ð #ð #�#�tñ #ô #ð #ð ð #Ø"Ð"Ð"Ð"Ð"Ð"ð ðð ð ð ð �'ñ ô ñ „ðð"xð xð xð xð xÐ˜sñ xô xð xðv@ð @ð @ð @ð @�ñ @ô @ð @ð @ð @r   