§
    'ê[fpE  ã                   ó  — d dl Z d dlmZ d dlmZ d dlT d dlT d dlmZ d dl	m
Z
  G d„ de¦  «        Z G d	„ d
¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Ze G d„ de¦  «        ¦   «         Z G d„ d¦  «        ZdS )é    N)Útotal_ordering)ÚElementTree)Ú*)Úraise_unorderable_types)ÚTreec                   óR   — e Zd ZdZ	 	 	 	 	 dd„Zdd„Zd„ Zd„ Zdd	„Zd
„ Z	d„ fd„Z
dS )ÚPropbankCorpusReadera•  
    Corpus reader for the propbank corpus, which augments the Penn
    Treebank with information about the predicate argument structure
    of every verb instance.  The corpus consists of two parts: the
    predicate-argument annotations themselves, and a set of "frameset
    files" which define the argument labels used by the annotations,
    on a per-verb basis.  Each "frameset file" contains one or more
    predicates, such as ``'turn'`` or ``'turn_on'``, each of which is
    divided into coarse-grained word senses called "rolesets".  For
    each "roleset", the frameset file provides descriptions of the
    argument roles, along with examples.
    Ú NÚutf8c                 óø   — t          |t          ¦  «        rt          ||¦  «        }t          |¦  «        }t                               | |||g|z   |¦  «         || _        || _        || _        || _	        || _
        dS )aÜ  
        :param root: The root directory for this corpus.
        :param propfile: The name of the file containing the predicate-
            argument annotations (relative to ``root``).
        :param framefiles: A list or regexp specifying the frameset
            fileids for this corpus.
        :param parse_fileid_xform: A transform that should be applied
            to the fileids in this corpus.  This should be a function
            of one argument (a fileid) that returns a string (the new
            fileid).
        :param parse_corpus: The corpus containing the parse trees
            corresponding to this corpus.  These parse trees are
            necessary to resolve the tree pointers used by propbank.
        N)Ú
isinstanceÚstrÚfind_corpus_fileidsÚlistÚCorpusReaderÚ__init__Ú	_propfileÚ_framefilesÚ
_verbsfileÚ_parse_fileid_xformÚ_parse_corpus)ÚselfÚrootÚpropfileÚ
framefilesÚ	verbsfileÚparse_fileid_xformÚparse_corpusÚencodings           úO/var/www/piapp/venv/lib/python3.11/site-packages/nltk/corpus/reader/propbank.pyr   zPropbankCorpusReader.__init__    s„   € õ2 �j¥#Ñ&Ô&ð 	?Ý,¨T°:Ñ>Ô>ˆJÝ˜*Ñ%Ô%ˆ
å×Ò˜d D¨8°YÐ*?À*Ñ*LÈhÑWÔWÐWð "ˆŒØ%ˆÔØ#ˆŒØ#5ˆÔ Ø)ˆÔÐÐó    c                 ó¬   ‡ ‡‡— i Š‰�ˆfd„‰d<   t          ‰                      ‰ j        ¦  «        ˆˆ fd„‰                      ‰ j        ¦  «        ¬¦  «        S )zŠ
        :return: a corpus view that acts as a list of
            ``PropBankInstance`` objects, one for each noun in the corpus.
        Nc                 ó   •— | j         ‰k    S ©N)Úbaseform)Úinstr%   s    €r    ú<lambda>z0PropbankCorpusReader.instances.<locals>.<lambda>M   s   ø€ °T´]ÀhÒ5N€ r!   Úinstance_filterc                 ó    •—  ‰j         | fi ‰¤ŽS r$   )Ú_read_instance_block)ÚstreamÚkwargsr   s    €€r    r'   z0PropbankCorpusReader.instances.<locals>.<lambda>P   s   ø€ Ð4˜4Ô4°VÐFÐF¸vÐFÐF€ r!   ©r   )ÚStreamBackedCorpusViewÚabspathr   r   )r   r%   r,   s   ``@r    Ú	instanceszPropbankCorpusReader.instancesF   sn   øøø€ ð
 ˆØÐØ(NÐ(NÐ(NÐ(NˆFÐ$Ñ%Ý%Ø�LŠL˜œÑ(Ô(ØFÐFÐFÐFÐFØ—]’] 4¤>Ñ2Ô2ð
ñ 
ô 
ð 	
r!   c                 ó�   — t          |                      | j        ¦  «        t          |                      | j        ¦  «        ¬¦  «        S )z‘
        :return: a corpus view that acts as a list of strings, one for
            each line in the predicate-argument annotation file.
        r-   )r.   r/   r   Úread_line_blockr   ©r   s    r    ÚlineszPropbankCorpusReader.linesT   s@   € õ
 &Ø�LŠL˜œÑ(Ô(ÝØ—]’] 4¤>Ñ2Ô2ð
ñ 
ô 
ð 	
r!   c                 óÆ  — |                      d¦  «        d         }d|z  }|| j        vrt          d|z  ¦  «        ‚|                      |¦  «                             ¦   «         5 }t          j        |¦  «                             ¦   «         }ddd¦  «         n# 1 swxY w Y   |                     d¦  «        D ]}|j	        d         |k    r|c S Œt          d|› d	|› �¦  «        ‚)
zE
        :return: the xml description for the given roleset.
        ú.r   úframes/%s.xmlúFrameset file for %s not foundNúpredicate/rolesetÚidzRoleset z not found in )
Úsplitr   Ú
ValueErrorr/   Úopenr   ÚparseÚgetrootÚfindallÚattrib)r   Ú
roleset_idr%   Ú	framefileÚfpÚetreeÚrolesets          r    rF   zPropbankCorpusReader.roleset_   s1  € ð ×#Ò# CÑ(Ô(¨Ô+ˆØ# hÑ.ˆ	Ø˜DÔ,Ð,Ð,ÝÐ=À
ÑJÑKÔKÐKð �\Š\˜)Ñ$Ô$×)Ò)Ñ+Ô+ð 	4¨rÝÔ% bÑ)Ô)×1Ò1Ñ3Ô3ˆEð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à—}’}Ð%8Ñ9Ô9ð 	ð 	ˆGØŒ~˜dÔ# zÒ1Ð1Ø���ð 2åÐI JÐIÐI¸iÐIÐIÑJÔJÐJs   Á#'BÂBÂBc                 ó¢  — |�$d|z  }|| j         vrt          d|z  ¦  «        ‚|g}n| j         }g }|D ]�}|                      |¦  «                             ¦   «         5 }t	          j        |¦  «                             ¦   «         }ddd¦  «         n# 1 swxY w Y   |                     |                     d¦  «        ¦  «         Œ�t          |¦  «        S )zA
        :return: list of xml descriptions for rolesets.
        Nr7   r8   r9   )
r   r<   r/   r=   r   r>   r?   Úappendr@   ÚLazyConcatenation)r   r%   rC   r   ÚrsetsrD   rE   s          r    ÚrolesetszPropbankCorpusReader.rolesetsq   s  € ð ÐØ'¨(Ñ2ˆIØ Ô 0Ð0Ð0Ý Ð!AÀHÑ!LÑMÔMÐMØ#˜ˆJˆJàÔ)ˆJàˆØ#ð 	=ð 	=ˆIð —’˜iÑ(Ô(×-Ò-Ñ/Ô/ð 8°2Ý#Ô)¨"Ñ-Ô-×5Ò5Ñ7Ô7�ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8à�LŠL˜ŸšÐ':Ñ;Ô;Ñ<Ô<Ð<Ð<Ý  Ñ'Ô'Ð's   Á'BÂB	ÂB	c                 ó�   — t          |                      | j        ¦  «        t          |                      | j        ¦  «        ¬¦  «        S )z…
        :return: a corpus view that acts as a list of all verb lemmas
            in this corpus (from the verbs.txt file).
        r-   )r.   r/   r   r2   r   r3   s    r    ÚverbszPropbankCorpusReader.verbs†   s@   € õ
 &Ø�LŠL˜œÑ)Ô)ÝØ—]’] 4¤?Ñ3Ô3ð
ñ 
ô 
ð 	
r!   c                 ó   — dS )NT© )r&   s    r    r'   zPropbankCorpusReader.<lambda>‘   s   € È€ r!   c                 ó
  — g }t          d¦  «        D ]p}|                     ¦   «                              ¦   «         }|rFt                               || j        | j        ¦  «        } ||¦  «        r|                     |¦  «         Œq|S )Néd   )ÚrangeÚreadlineÚstripÚPropbankInstancer>   r   r   rH   )r   r+   r(   ÚblockÚiÚliner&   s          r    r*   z)PropbankCorpusReader._read_instance_block‘   s�   € Øˆõ �s‘”ð 	'ð 	'ˆAØ—?’?Ñ$Ô$×*Ò*Ñ,Ô,ˆDØð 'Ý'×-Ò-Ø˜$Ô2°DÔ4Fñô �ð #�? 4Ñ(Ô(ð 'Ø—L’L Ñ&Ô&Ð&øàˆr!   )r
   NNNr   r$   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r0   r4   rF   rK   rM   r*   rO   r!   r    r	   r	      s¹   € € € € € ðð ð" ØØØØð$*ð $*ð $*ð $*ðL
ð 
ð 
ð 
ð	
ð 	
ð 	
ðKð Kð Kð$(ð (ð (ð (ð*	
ð 	
ð 	
ð <MÐ;Lð ð ð ð ð ð r!   r	   c                   óž   — e Zd Z	 dd„Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
 ee
d	¬
¦  «        Zedd„¦   «         ZdS )rU   Nc
                 ó®   — || _         	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 t          |¦  «        | _        	 |	| _	        d S r$   )
ÚfileidÚsentnumÚwordnumÚtaggerrF   Ú
inflectionÚ	predicateÚtupleÚ	argumentsr   )
r   r_   r`   ra   rb   rF   rc   rd   rf   r   s
             r    r   zPropbankInstance.__init__§   s�   € ð ˆŒð	 ð ˆŒð	&ð ˆŒð	Dð ˆŒð	:ð ˆŒð	2ð %ˆŒð	&ð #ˆŒð	@õ ˜yÑ)Ô)ˆŒð	ð )ˆÔð	.ð 	.r!   c                 óB   — | j                              d¦  «        d         S )zThe baseform of the predicate.r6   r   ©rF   r;   r3   s    r    r%   zPropbankInstance.baseformÝ   ó   € ð Œ|×!Ò! #Ñ&Ô& qÔ)Ð)r!   c                 óB   — | j                              d¦  «        d         S )z"The sense number of the predicate.r6   é   rh   r3   s    r    ÚsensenumberzPropbankInstance.sensenumberâ   ri   r!   c                 ó   — dS )zIdentifier of the predicate.ÚrelrO   r3   s    r    ÚpredidzPropbankInstance.predidç   s	   € ð ˆur!   c                 óN   — d                      | j        | j        | j        ¦  «        S )Nz(<PropbankInstance: {}, sent {}, word {}>)Úformatr_   r`   ra   r3   s    r    Ú__repr__zPropbankInstance.__repr__ì   s)   € Ø9×@Ò@ØŒKØŒLØŒLñ
ô 
ð 	
r!   c                 óÚ   — d                      | j        | j        | j        | j        | j        | j        ¦  «        }| j        | j        dffz   }t          |¦  «        D ]\  }}|d|› d|› �z  }Œ|S )Nz{} {} {} {} {} {}rn   Ú Ú-)
rq   r_   r`   ra   rb   rF   rc   rf   rd   Úsorted)r   ÚsÚitemsÚarglocÚargids        r    Ú__str__zPropbankInstance.__str__ó   sˆ   € Ø×&Ò&ØŒKØŒLØŒLØŒKØŒLØŒOñ
ô 
ˆð ” 4¤>°5Ð"9Ð!;Ñ;ˆÝ% e™}œ}ð 	&ð 	&‰OˆV�UØÐ%�VÐ%Ð%˜eÐ%Ð%Ñ%ˆAˆAØˆr!   c                 ó¬   — | j         €d S | j        | j                              ¦   «         vrd S | j                              | j        ¦  «        | j                 S r$   )r   r_   ÚfileidsÚparsed_sentsr`   r3   s    r    Ú	_get_treezPropbankInstance._get_tree  sQ   € ØÔÐ$Ø�4ØŒ;˜dÔ/×7Ò7Ñ9Ô9Ð9Ð9Ø�4ØÔ ×-Ò-¨d¬kÑ:Ô:¸4¼<ÔHÐHr!   zs
        The parse tree corresponding to this instance, or None if
        the corresponding tree is not available.)Údocc                 óÖ  — |                       ¦   «         }t          |¦  «        dk     rt          d| z  ¦  «        ‚|d d…         \  }}}}}}	d„ |dd …         D ¦   «         }
d„ |dd …         D ¦   «         }t          |
¦  «        dk    rt          d| z  ¦  «        ‚|� ||¦  «        }t          |¦  «        }t          |¦  «        }t                               |	¦  «        }	t                               |
d         d d…         ¦  «        }g }|D ]J}|                      d	d¦  «        \  }}|                     t                               |¦  «        |f¦  «         ŒKt          ||||||	|||¦	  «	        S )
Né   z!Badly formatted propbank line: %ré   c                 ó<   — g | ]}|                      d ¦  «        ¯|‘ŒS ©z-rel©Úendswith©Ú.0Úps     r    ú
<listcomp>z*PropbankInstance.parse.<locals>.<listcomp>  s)   € Ð;Ð;Ð;�Q¨¯
ª
°6Ñ(:Ô(:Ð;ˆqÐ;Ð;Ð;r!   c                 ó<   — g | ]}|                      d ¦  «        °|‘ŒS r…   r†   rˆ   s     r    r‹   z*PropbankInstance.parse.<locals>.<listcomp>  s)   € Ð@Ð@Ð@�a¨Q¯ZªZ¸Ñ-?Ô-?Ð@�Ð@Ð@Ð@r!   rk   r   éüÿÿÿru   )	r;   Úlenr<   ÚintÚPropbankInflectionr>   ÚPropbankTreePointerrH   rU   )rw   r   r   Úpiecesr_   r`   ra   rb   rF   rc   rn   Úargsrd   rf   Úargry   rz   s                    r    r>   zPropbankInstance.parse  s˜  € à—’‘”ˆÝˆv‰;Œ;˜Š?ˆ?ÝÐ@À1ÑDÑEÔEÐEð CIÈÈ!ÈÄ*Ñ?ˆ�˜' 6¨7°JØ;Ð;˜&   œ*Ð;Ñ;Ô;ˆØ@Ð@˜6 ! " "œ:Ð@Ñ@Ô@ˆÝˆs‰8Œ8�qŠ=ˆ=ÝÐ@À1ÑDÑEÔEÐEð Ð)Ø'Ð'¨Ñ/Ô/ˆFõ �g‘,”,ˆÝ�g‘,”,ˆõ (×-Ò-¨jÑ9Ô9ˆ
õ (×-Ò-¨c°!¬f°S°b°S¬kÑ:Ô:ˆ	ð ˆ	Øð 	Ið 	IˆCØŸIšI c¨1Ñ-Ô-‰MˆF�EØ×ÒÕ1×7Ò7¸Ñ?Ô?ÀÐGÑHÔHÐHÐHõ  ØØØØØØØØØñ

ô 

ð 
	
r!   r$   )NN)rY   rZ   r[   r   Úpropertyr%   rl   ro   rr   r{   r   ÚtreeÚstaticmethodr>   rO   r!   r    rU   rU   ¦   sï   € € € € € ð ð4.ð 4.ð 4.ð 4.ðl ð*ð *ñ „Xð*ð ð*ð *ñ „Xð*ð ðð ñ „Xðð
ð 
ð 
ðð ð ðIð Ið Ið ˆ8Øð4ðñ ô €Dð ð+
ð +
ð +
ñ „\ð+
ð +
ð +
r!   rU   c                   ó   — e Zd ZdZd„ ZdS )ÚPropbankPointera„  
    A pointer used by propbank to identify one or more constituents in
    a parse tree.  ``PropbankPointer`` is an abstract base class with
    three concrete subclasses:

      - ``PropbankTreePointer`` is used to point to single constituents.
      - ``PropbankSplitTreePointer`` is used to point to 'split'
        constituents, which consist of a sequence of two or more
        ``PropbankTreePointer`` pointers.
      - ``PropbankChainTreePointer`` is used to point to entire trace
        chains in a tree.  It consists of a sequence of pieces, which
        can be ``PropbankTreePointer`` or ``PropbankSplitTreePointer`` pointers.
    c                 óB   — | j         t          k    rt          ¦   «         ‚d S r$   )Ú	__class__r™   ÚNotImplementedErrorr3   s    r    r   zPropbankPointer.__init__M  s#   € ØŒ>�_Ò,Ð,Ý%Ñ'Ô'Ð'ð -Ð,r!   N)rY   rZ   r[   r\   r   rO   r!   r    r™   r™   >  s-   € € € € € ðð ð(ð (ð (ð (ð (r!   r™   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚPropbankChainTreePointerc                 ó   — || _         d S r$   ©r’   ©r   r’   s     r    r   z!PropbankChainTreePointer.__init__S  s   € ØˆŒð	0ð 	0r!   c                 óJ   — d                      d„ | j        D ¦   «         ¦  «        S )Nr   c              3   ó    K  — | ]	}d |z  V — Œ
dS ©z%sNrO   rˆ   s     r    ú	<genexpr>z3PropbankChainTreePointer.__str__.<locals>.<genexpr>Z  ó&   è è € Ð6Ð6 Q˜˜q™Ð6Ð6Ð6Ð6Ð6Ð6r!   ©Újoinr’   r3   s    r    r{   z PropbankChainTreePointer.__str__Y  ó%   € Ø�xŠxÐ6Ð6¨$¬+Ð6Ñ6Ô6Ñ6Ô6Ð6r!   c                 ó   — d| z  S )Nz<PropbankChainTreePointer: %s>rO   r3   s    r    rr   z!PropbankChainTreePointer.__repr__\  ó   € Ø/°$Ñ6Ð6r!   c                 óh   ‡— ‰€t          d¦  «        ‚t          dˆfd„| j        D ¦   «         ¦  «        S )NúParse tree not availablez*CHAIN*c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rO   ©Úselect©r‰   rŠ   r–   s     €r    r‹   z3PropbankChainTreePointer.select.<locals>.<listcomp>b  ó#   ø€ ÐDÐDÐD°1 §¢¨¡¤ÐDÐDÐDr!   ©r<   r   r’   ©r   r–   s    `r    r°   zPropbankChainTreePointer.select_  ó>   ø€ Øˆ<ÝÐ7Ñ8Ô8Ð8Ý�IÐDÐDÐDÐD¸¼ÐDÑDÔDÑEÔEÐEr!   N©rY   rZ   r[   r   r{   rr   r°   rO   r!   r    rž   rž   R  sU   € € € € € ð0ð 0ð 0ð7ð 7ð 7ð7ð 7ð 7ðFð Fð Fð Fð Fr!   rž   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚPropbankSplitTreePointerc                 ó   — || _         d S r$   r    r¡   s     r    r   z!PropbankSplitTreePointer.__init__f  s   € ØˆŒð	4ð 	4r!   c                 óJ   — d                      d„ | j        D ¦   «         ¦  «        S )Nú,c              3   ó    K  — | ]	}d |z  V — Œ
dS r¤   rO   rˆ   s     r    r¥   z3PropbankSplitTreePointer.__str__.<locals>.<genexpr>l  r¦   r!   r§   r3   s    r    r{   z PropbankSplitTreePointer.__str__k  r©   r!   c                 ó   — d| z  S )Nz<PropbankSplitTreePointer: %s>rO   r3   s    r    rr   z!PropbankSplitTreePointer.__repr__n  r«   r!   c                 óh   ‡— ‰€t          d¦  «        ‚t          dˆfd„| j        D ¦   «         ¦  «        S )Nr­   z*SPLIT*c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rO   r¯   r±   s     €r    r‹   z3PropbankSplitTreePointer.select.<locals>.<listcomp>t  r²   r!   r³   r´   s    `r    r°   zPropbankSplitTreePointer.selectq  rµ   r!   Nr¶   rO   r!   r    r¸   r¸   e  sU   € € € € € ð4ð 4ð 4ð
7ð 7ð 7ð7ð 7ð 7ðFð Fð Fð Fð Fr!   r¸   c                   óX   — e Zd ZdZd„ Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ ZdS )r‘   z@
    wordnum:height*wordnum:height*...
    wordnum:height,

    c                 ó"   — || _         || _        d S r$   ©ra   Úheight)r   ra   rÃ   s      r    r   zPropbankTreePointer.__init__  s   € ØˆŒØˆŒˆˆr!   c                 óæ  — |                       d¦  «        }t          |¦  «        dk    rt          d„ |D ¦   «         ¦  «        S |                       d¦  «        }t          |¦  «        dk    rt          d„ |D ¦   «         ¦  «        S |                       d¦  «        }t          |¦  «        dk    rt	          d| z  ¦  «        ‚t          t          |d	         ¦  «        t          |d         ¦  «        ¦  «        S )
Nr   rk   c                 óB   — g | ]}t                                |¦  «        ‘ŒS rO   ©r‘   r>   ©r‰   Úelts     r    r‹   z-PropbankTreePointer.parse.<locals>.<listcomp>‰  ó'   € ÐBÐBÐB°CÕ$×*Ò*¨3Ñ/Ô/ÐBÐBÐBr!   r»   c                 óB   — g | ]}t                                |¦  «        ‘ŒS rO   rÆ   rÇ   s     r    r‹   z-PropbankTreePointer.parse.<locals>.<listcomp>�  rÉ   r!   ú:é   zbad propbank pointer %rr   )r;   rŽ   rž   r¸   r<   r‘   r�   )rw   r’   s     r    r>   zPropbankTreePointer.parseƒ  sâ   € ð —’˜‘”ˆÝˆv‰;Œ;˜Š?ˆ?Ý+ØBÐB¸6ÐBÑBÔBñô ð ð
 —’˜‘”ˆÝˆv‰;Œ;˜Š?ˆ?Ý+ØBÐB¸6ÐBÑBÔBñô ð ð
 —’˜‘”ˆÝˆv‰;Œ;˜!ÒÐÝÐ6¸Ñ:Ñ;Ô;Ð;Ý"¥3 v¨a¤y¡>¤>µ3°v¸a´y±>´>ÑBÔBÐBr!   c                 ó$   — | j         › d| j        › �S )NrË   rÂ   r3   s    r    r{   zPropbankTreePointer.__str__™  s   € Ø”,Ð.Ð. ¤Ð.Ð.Ð.r!   c                 ó$   — d| j         | j        fz  S )NzPropbankTreePointer(%d, %d)rÂ   r3   s    r    rr   zPropbankTreePointer.__repr__œ  s   € Ø,°´¸d¼kÐ/JÑJÐJr!   c                 óþ   — t          |t          t          f¦  «        r)|j        d         }t          |t          t          f¦  «        °)t          |t          ¦  «        s| |u S | j        |j        k    o| j        |j        k    S ©Nr   )r   rž   r¸   r’   r‘   ra   rÃ   ©r   Úothers     r    Ú__eq__zPropbankTreePointer.__eq__Ÿ  s}   € Ý˜Õ!9Õ;SÐ TÑUÔUð 	$Ø”L ”OˆEõ ˜Õ!9Õ;SÐ TÑUÔUð 	$õ ˜%Õ!4Ñ5Ô5ð 	!Ø˜5�=Ð àŒ|˜uœ}Ò,ÐL°´ÀÄÒ1LÐLr!   c                 ó   — | |k     S r$   rO   rÑ   s     r    Ú__ne__zPropbankTreePointer.__ne__¨  s   € Ø˜5’=Ð Ð r!   c                 ó6  — t          |t          t          f¦  «        r)|j        d         }t          |t          t          f¦  «        °)t          |t          ¦  «        s t          | ¦  «        t          |¦  «        k     S | j        | j         f|j        |j         fk     S rÐ   )r   rž   r¸   r’   r‘   r:   ra   rÃ   rÑ   s     r    Ú__lt__zPropbankTreePointer.__lt__«  sŽ   € Ý˜Õ!9Õ;SÐ TÑUÔUð 	$Ø”L ”OˆEõ ˜Õ!9Õ;SÐ TÑUÔUð 	$õ ˜%Õ!4Ñ5Ô5ð 	(Ý�d‘8”8�b ™iœiÒ'Ð'à”˜tœ{˜lÐ+¨u¬}¸u¼|¸mÐ.LÒLÐLr!   c                 óZ   — |€t          d¦  «        ‚||                      |¦  «                 S )Nr­   )r<   Útreeposr´   s     r    r°   zPropbankTreePointer.select´  s-   € Øˆ<ÝÐ7Ñ8Ô8Ð8Ø�D—L’L Ñ&Ô&Ô'Ð'r!   c                 ó€  — |€t          d¦  «        ‚|g}g }d}	 t          |d         t          ¦  «        r¶t          |¦  «        t          |¦  «        k     r|                     d¦  «         n|dxx         dz  cc<   |d         t          |d         ¦  «        k     r(|                     |d         |d                  ¦  «         n||                     ¦   «          |                     ¦   «          nS|| j        k    r/t          |dt          |¦  «        | j        z
  dz
  …         ¦  «        S |dz  }|                     ¦   «          �Œ&)z}
        Convert this pointer to a standard 'tree position' pointer,
        given that it points to the given tree.
        Nr­   r   Téÿÿÿÿrk   )	r<   r   r   rŽ   rH   Úpopra   re   rÃ   )r   r–   ÚstackrÙ   ra   s        r    rÙ   zPropbankTreePointer.treepos¹  s4  € ð
 ˆ<ÝÐ7Ñ8Ô8Ð8Ø�ˆØˆàˆð	 å˜% œ)¥TÑ*Ô*ð  å�w‘<”<¥# e¡*¤*Ò,Ð,Ø—N’N 1Ñ%Ô%Ð%Ð%à˜B�K�K”K 1Ñ$�K�K‘Kà˜2”;¥ U¨2¤Y¡¤Ò/Ð/Ø—L’L  r¤¨7°2¬;Ô!7Ñ8Ô8Ð8Ð8ð —I’I‘K”K�KØ—K’K‘M”M�M�Mð ˜dœlÒ*Ð*Ý  Ð)I­3¨w©<¬<¸$¼+Ñ+EÈÑ+IÐ)IÔ!JÑKÔKÐKà˜q‘L�GØ—I’I‘K”K�Kñ+	 r!   N)rY   rZ   r[   r\   r   r—   r>   r{   rr   rÓ   rÕ   r×   r°   rÙ   rO   r!   r    r‘   r‘   w  s½   € € € € € ðð ðð ð ð ðCð Cñ „\ðCð*/ð /ð /ðKð Kð KðMð Mð Mð!ð !ð !ðMð Mð Mð(ð (ð (ð
  ð   ð   ð   ð   r!   r‘   c                   ó�   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZd	Zd
ZdZdZdd„Zd„ Zd„ Z ej        d¦  «        Zed„ ¦   «         ZdS )r�   rW   ÚgrŠ   ÚvÚfÚnÚoÚbÚ3Úaru   c                 óL   — || _         || _        || _        || _        || _        d S r$   ©ÚformÚtenseÚaspectÚpersonÚvoice)r   ré   rê   rë   rì   rí   s         r    r   zPropbankInflection.__init__ó  s)   € ØˆŒ	ØˆŒ
ØˆŒØˆŒØˆŒ
ˆ
ˆ
r!   c                 óP   — | j         | j        z   | j        z   | j        z   | j        z   S r$   rè   r3   s    r    r{   zPropbankInflection.__str__ú  s&   € ØŒy˜4œ:Ñ%¨¬Ñ3°d´kÑAÀDÄJÑNÐNr!   c                 ó   — d| z  S )Nz<PropbankInflection: %s>rO   r3   s    r    rr   zPropbankInflection.__repr__ý  s   € Ø)¨DÑ0Ð0r!   z"[igpv\-][fpn\-][pob\-][3\-][ap\-]$c                 óä   — t          | t          ¦  «        st          d¦  «        ‚t          | ¦  «        dk    st          j                             | ¦  «        st          d| z  ¦  «        ‚t	          | Ž S )Nzexpected a stringé   z!Bad propbank inflection string %r)r   r   Ú	TypeErrorrŽ   r�   Ú	_VALIDATEÚmatchr<   )rw   s    r    r>   zPropbankInflection.parse  sg   € å˜!�SÑ!Ô!ð 	1ÝÐ/Ñ0Ô0Ð0Ýˆq‰6Œ6�QŠ;ˆ;Õ0Ô:×@Ò@ÀÑCÔCˆ;ÝÐ@À1ÑDÑEÔEÐEÝ! 1Ð%Ð%r!   N)ru   ru   ru   ru   ru   )rY   rZ   r[   Ú
INFINITIVEÚGERUNDÚ
PARTICIPLEÚFINITEÚFUTUREÚPASTÚPRESENTÚPERFECTÚPROGRESSIVEÚPERFECT_AND_PROGRESSIVEÚTHIRD_PERSONÚACTIVEÚPASSIVEÚNONEr   r{   rr   ÚreÚcompileró   r—   r>   rO   r!   r    r�   r�   Ü  s½   € € € € € à€JØ€FØ€JØ€Fà€FØ€DØ€Gà€GØ€KØ!Ðà€Là€FØ€Gà€Dðð ð ð ðOð Oð Oð1ð 1ð 1ð �”
Ð@ÑAÔA€Iàð&ð &ñ „\ð&ð &ð &r!   r�   )r  Ú	functoolsr   Ú	xml.etreer   Únltk.corpus.reader.apiÚnltk.corpus.reader.utilÚnltk.internalsr   Ú	nltk.treer   r   r	   rU   r™   rž   r¸   r‘   r�   rO   r!   r    ú<module>r     sÑ  ðð 
€	€	€	Ø $Ð $Ð $Ð $Ð $Ð $Ø !Ð !Ð !Ð !Ð !Ð !à $Ð $Ð $Ð $Ø %Ð %Ð %Ð %Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð ðLð Lð Lð Lð L˜<ñ Lô Lð LðhU
ð U
ð U
ð U
ð U
ñ U
ô U
ð U
ðp(ð (ð (ð (ð (ñ (ô (ð (ð(Fð Fð Fð Fð F˜ñ Fô Fð Fð&Fð Fð Fð Fð F˜ñ Fô Fð Fð$ ða ð a ð a ð a ð a ˜/ñ a ô a ñ „ða ðH,&ð ,&ð ,&ð ,&ð ,&ñ ,&ô ,&ð ,&ð ,&ð ,&r!   