§
    'ê[fR  ã                   ó¬   — d dl mZ d dlmZmZ d dlmZ  G d„ de¦  «        Z G d„ dee¦  «        Z G d„ d	ee¦  «        Z	 G d
„ dee¦  «        Z
g d¢ZdS )é    )ÚProbabilisticMixIn)ÚMultiParentedTreeÚParentedTree)ÚTreec                   óv   ‡ — e Zd Zdˆ f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d„ Zd„ Zd„ Zˆ xZS )ÚImmutableTreeNc                 ó  •— t          ¦   «                              ||¦  «         	 t          | j        t	          | ¦  «        f¦  «        | _        d S # t          t          f$ r*}t          dt          | ¦  «        j	        z  ¦  «        |‚d }~ww xY w)Nz-%s: node value and children must be immutable)
ÚsuperÚ__init__ÚhashÚ_labelÚtupleÚ_hashÚ	TypeErrorÚ
ValueErrorÚtypeÚ__name__)ÚselfÚnodeÚchildrenÚeÚ	__class__s       €úG/var/www/piapp/venv/lib/python3.11/site-packages/nltk/tree/immutable.pyr   zImmutableTree.__init__   sŒ   ø€ Ý‰Œ×Ò˜˜xÑ(Ô(Ð(ð	Ý˜tœ{­E°$©K¬KÐ8Ñ9Ô9ˆDŒJˆJˆJøÝ�:Ð&ð 	ð 	ð 	ÝØBÅTÈ$ÁZÄZÔEXÑXñô àðøøøøð	øøøs   ¥(A ÁB
Á %BÂB
c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚©Nú%s may not be modified©r   r   r   )r   ÚindexÚvalues      r   Ú__setitem__zImmutableTree.__setitem__   ó   € ÝÐ1µD¸±J´JÔ4GÑGÑHÔHÐHó    c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   )r   ÚiÚjr   s       r   Ú__setslice__zImmutableTree.__setslice__   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   )r   r   s     r   Ú__delitem__zImmutableTree.__delitem__"   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   )r   r$   r%   s      r   Ú__delslice__zImmutableTree.__delslice__%   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   ©r   Úothers     r   Ú__iadd__zImmutableTree.__iadd__(   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   r,   s     r   Ú__imul__zImmutableTree.__imul__+   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   ©r   Úvs     r   ÚappendzImmutableTree.append.   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   r2   s     r   ÚextendzImmutableTree.extend1   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   r2   s     r   ÚpopzImmutableTree.pop4   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   r2   s     r   ÚremovezImmutableTree.remove7   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   ©r   s    r   ÚreversezImmutableTree.reverse:   r!   r"   c                 óJ   — t          dt          | ¦  «        j        z  ¦  «        ‚r   r   r<   s    r   ÚsortzImmutableTree.sort=   r!   r"   c                 ó   — | j         S ©N)r   r<   s    r   Ú__hash__zImmutableTree.__hash__@   s
   € ØŒzÐr"   c                 ó|   — t          | d¦  «        r$t          dt          | ¦  «        j        z  ¦  «        ‚|| _        dS )z›
        Set the node label.  This will only succeed the first time the
        node label is set, which should occur in ImmutableTree.__init__().
        r   r   N)Úhasattrr   r   r   r   )r   r   s     r   Ú	set_labelzImmutableTree.set_labelC   s?   € õ
 �4˜Ñ"Ô"ð 	MÝÐ5½¸T¹
¼
Ô8KÑKÑLÔLÐLØˆŒˆˆr"   rA   )r   Ú
__module__Ú__qualname__r   r    r&   r(   r*   r.   r0   r4   r6   r8   r:   r=   r?   rB   rE   Ú__classcell__)r   s   @r   r   r      s9  ø€ € € € € ð	ð 	ð 	ð 	ð 	ð 	ðIð Ið IðIð Ið IðIð Ið IðIð Ið IðIð Ið IðIð Ið IðIð Ið IðIð Ið IðIð Ið Ið IðIð Ið IðIð Ið IðIð Ið Iðð ð ðð ð ð ð ð ð r"   r   c                   óF   — e Zd Zd	d„Zd„ Zd„ Zd„ Zd
d„Zed„ ¦   «         Z	dS )ÚImmutableProbabilisticTreeNc                 óØ   — t                                | ||¦  «         t          j        | fi |¤Ž t          | j        t          | ¦  «        |                      ¦   «         f¦  «        | _        d S rA   )r   r   r   r   r   r   Úprobr   )r   r   r   Úprob_kwargss       r   r   z#ImmutableProbabilisticTree.__init__N   s]   € Ý×Ò˜t T¨8Ñ4Ô4Ð4ÝÔ# DÐ8Ð8¨KÐ8Ð8Ð8Ý˜4œ;­¨d©¬°T·Y²Y±[´[ÐAÑBÔBˆŒ
ˆ
ˆ
r"   c                 ó   — t           S rA   )rJ   r<   s    r   Ú_frozen_classz(ImmutableProbabilisticTree._frozen_classT   s   € Ý)Ð)r"   c                 óZ   — t          j        | ¦  «        › d|                      ¦   «         › d�S )Nú [ú])r   Ú__repr__rL   r<   s    r   rS   z#ImmutableProbabilisticTree.__repr__W   s+   € Ý”- Ñ%Ô%Ð7Ð7¨¯ª©¬Ð7Ð7Ð7Ð7r"   c                 ó^   — |                       d¬¦  «        › d|                      ¦   «         › d�S )Né<   )ÚmarginrQ   rR   )ÚpformatrL   r<   s    r   Ú__str__z"ImmutableProbabilisticTree.__str__Z   s/   € Ø—,’, b�,Ñ)Ô)Ð;Ð;¨T¯YªY©[¬[Ð;Ð;Ð;Ð;r"   Fc                 ó®   — |s2 t          | ¦  «        | j        | |                      ¦   «         ¬¦  «        S t          | ¦  «                             | ¦  «        S )N©rL   )r   r   rL   Úconvert)r   Údeeps     r   ÚcopyzImmutableProbabilisticTree.copy]   sK   € Øð 	,Ø•4˜‘:”:˜dœk¨4°d·i²i±k´kÐBÑBÔBÐBå˜‘:”:×%Ò% dÑ+Ô+Ð+r"   c                 óè   ‡ — t          |t          ¦  «        r[ˆ fd„|D ¦   «         }t          |t          ¦  «        r% ‰ |j        ||                     ¦   «         ¬¦  «        S  ‰ |j        |d¬¦  «        S |S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS © )r[   )Ú.0ÚchildÚclss     €r   ú
<listcomp>z6ImmutableProbabilisticTree.convert.<locals>.<listcomp>f   s%   ø€ Ð<Ð<Ð<¨u˜Ÿš EÑ*Ô*Ð<Ð<Ð<r"   rZ   g      ð?)Ú
isinstancer   r   r   rL   )rc   Úvalr   s   `  r   r[   z"ImmutableProbabilisticTree.convertc   s€   ø€ å�c�4Ñ Ô ð 	Ø<Ð<Ð<Ð<¸Ð<Ñ<Ô<ˆHÝ˜#Õ1Ñ2Ô2ð ;Ø�s˜3œ: x°c·h²h±j´jÐAÑAÔAÐAà�s˜3œ: x°cÐ:Ñ:Ô:Ð:àˆJr"   rA   )F)
r   rF   rG   r   rO   rS   rX   r]   Úclassmethodr[   r`   r"   r   rJ   rJ   M   sˆ   € € € € € ðCð Cð Cð Cð*ð *ð *ð8ð 8ð 8ð<ð <ð <ð,ð ,ð ,ð ,ð ðð ñ „[ðð ð r"   rJ   c                   ó   — e Zd ZdS )ÚImmutableParentedTreeN©r   rF   rG   r`   r"   r   ri   ri   o   ó   € € € € € Ø€Dr"   ri   c                   ó   — e Zd ZdS )ÚImmutableMultiParentedTreeNrj   r`   r"   r   rm   rm   s   rk   r"   rm   )rJ   r   ri   rm   N)Únltk.probabilityr   Únltk.tree.parentedr   r   Únltk.tree.treer   r   rJ   ri   rm   Ú__all__r`   r"   r   ú<module>rr      s
  ðð 0Ð /Ð /Ð /Ð /Ð /Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø Ð Ð Ð Ð Ð ð:ð :ð :ð :ð :�Dñ :ô :ð :ðzð ð ð ð  Ð0Bñ ô ð ðD	ð 	ð 	ð 	ð 	˜M¨<ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 Ð0Añ 	ô 	ð 	ðð ð €€€r"   