Ë
    çÍ:jJÒ  ã                   óÊ  — d Z ddlZddlZddlZddlZddlZddl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mZmZmZ ddlmZmZmZmZ  G d„ d	«      Z G d
„ de«      Z G d„ de«      Z G d„ d«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z! G d„ de!«      Z" G d„ de!«      Z# G d„ de!«      Z$ G d„ de!«      Z% G d„ de!«      Z& G d „ d!e!«      Z' G d"„ d#e!«      Z( G d$„ d%e!«      Z) G d&„ d'«      Z* G d(„ d)«      Z+ G d*„ d+e,«      Z-e.d,k(  �rQ e	d-«      Z/e/ja                  d.d/d0d1d2d3¬4«       e/ja                  d5d6d7d1d2d8¬4«       e/ja                  d9d:d;d1d2d<¬4«       e/ja                  d=d>d?d1d2d@¬4«       e/jc                  «       \  Z2Z3 e4e3«      dAk7  re/jk                  dB«        e+e2jl                  ¬C«      Z7 ee7«      jq                  e3d   js                  dD«      e2jt                  e2jv                  ¬E«      Z<e<€	 e=d«       ye<j}                  «       j                  «       Z<e2j€                  r% e=e<j�                  «       jƒ                  «       «       ye<j…                  «        yy)Fa€  
An interface to Boxer.

This interface relies on the latest version of the development (subversion) version of
C&C and Boxer.

Usage
=====

Set the environment variable CANDC to the bin directory of your CandC installation.
The models directory should be in the CandC root directory.
For example::

    /path/to/candc/
    bin/
        candc
        boxer
    models/
        boxer/
é    N)Úreduce)ÚOptionParser©Úfind_binary)	ÚDRSÚDrtApplicationExpressionÚDrtEqualityExpressionÚDrtNegatedExpressionÚDrtOrExpressionÚ	DrtParserÚDrtPropositionÚ	DrtTokensÚDrtVariableExpression)ÚExpectedMoreTokensExceptionÚLogicalExpressionExceptionÚUnexpectedTokenExceptionÚVariablec                   ó~   — e Zd ZdZ	 	 	 	 	 dd„Zdd„Zdd„Zdd„Z	 dd„Z	 dd	„Z	dd
„Z
dd„Zdd„Zg dfd„Zd„ Zd„ Zy)ÚBoxerz 
    This class is an interface to Johan Bos's program Boxer, a wide-coverage
    semantic parser that produces Discourse Representation Structures (DRSs).
    NFc                 ój   — |€
t        «       }|| _        || _        || _        | j	                  ||«       y)aº  
        :param boxer_drs_interpreter: A class that converts from the
            ``AbstractBoxerDrs`` object hierarchy to a different object.  The
            default is ``NltkDrtBoxerDrsInterpreter``, which converts to the NLTK
            DRT hierarchy.
        :param elimeq: When set to true, Boxer removes all equalities from the
            DRSs and discourse referents standing in the equality relation are
            unified, but only if this can be done in a meaning-preserving manner.
        :param resolve: When set to true, Boxer will resolve all anaphoric DRSs and perform merge-reduction.
            Resolution follows Van der Sandt's theory of binding and accommodation.
        N)ÚNltkDrtBoxerDrsInterpreterÚ_boxer_drs_interpreterÚ_resolveÚ_elimeqÚset_bin_dir)ÚselfÚboxer_drs_interpreterÚelimeqÚbin_dirÚverboseÚresolves         úc/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/sem/boxer.pyÚ__init__zBoxer.__init__A   s9   € ð& !Ð(Ü$>Ó$@Ð!Ø&;ˆÔ#àˆŒØˆŒà×Ñ˜ 'Õ*ó    c                 ó  — | j                  d||«      | _        t        j                  j	                  t        j                  j                  | j                  d d d«      «      | _        | j                  d||«      | _        y )NÚcandcéûÿÿÿz	../modelsÚboxer)Ú_find_binaryÚ
_candc_binÚosÚpathÚnormpathÚjoinÚ_candc_models_pathÚ
_boxer_bin)r   r   r    s      r"   r   zBoxer.set_bin_dir]   sd   € Ø×+Ñ+¨G°W¸gÓFˆŒÜ"$§'¡'×"2Ñ"2Ü�G‰G�L‰L˜Ÿ™¨¨"Ð-¨{Ó;ó#
ˆÔð ×+Ñ+¨G°W¸gÓFˆ�r$   c                 óf   — |�|gnd}| j                  |gg|||«      \  }|st        d|› d�«      ‚|S )aI  
        Use Boxer to give a first order representation.

        :param input: str Input sentence to parse
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_id: str An identifier to be inserted to each occurrence-indexed predicate.
        :return: ``drt.DrtExpression``
        NúUnable to interpret: "ú"©Úinterpret_multi_sentsÚ	Exception©r   ÚinputÚdiscourse_idÚquestionr    Údiscourse_idsÚds          r"   Ú	interpretzBoxer.interpretd   sK   € ð +7Ð*B˜™ÈˆØ×)Ñ)¨E¨7¨)°]ÀHÈgÓV‰ˆÙÜÐ4°U°G¸1Ð=Ó>Ð>Øˆr$   c                 ód   — |�|gnd}| j                  |g|||«      \  }|st        d|› d�«      ‚|S )ah  
        Use Boxer to give a first order representation.

        :param input: list of str Input sentences to parse as a single discourse
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_id: str An identifier to be inserted to each occurrence-indexed predicate.
        :return: ``drt.DrtExpression``
        Nr2   r3   r4   r7   s          r"   Úinterpret_multizBoxer.interpret_multis   sI   € ð +7Ð*B˜™ÈˆØ×)Ñ)¨5¨'°=À(ÈGÓT‰ˆÙÜÐ4°U°G¸1Ð=Ó>Ð>Øˆr$   c                 óR   — | j                  |D �cg c]  }|g‘Œ c}|||«      S c c}w )a{  
        Use Boxer to give a first order representation.

        :param inputs: list of str Input sentences to parse as individual discourses
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_ids: list of str Identifiers to be inserted to each occurrence-indexed predicate.
        :return: list of ``drt.DrtExpression``
        )r5   )r   Úinputsr;   r:   r    r8   s         r"   Úinterpret_sentszBoxer.interpret_sents‚   s0   € ð ×)Ñ)Ø"(Ö)˜ˆeŠWÒ)¨=¸(ÀGó
ð 	
ùÚ)s   �
$c           
      óœ  — |�?t        |«      t        |«      k(  sJ ‚t        t        j                  d„ |D «       «      sJ ‚d}n-t	        t        t        t        t        |«      «      «      «      }d}| j                  ||||¬«      }| j                  ||¬«      }| j                  ||«      }|D �	cg c]  }	|j                  |	d«      ‘Œ c}	S c c}	w )ac  
        Use Boxer to give a first order representation.

        :param inputs: list of list of str Input discourses to parse
        :param occur_index: bool Should predicates be occurrence indexed?
        :param discourse_ids: list of str Identifiers to be inserted to each occurrence-indexed predicate.
        :return: ``drt.DrtExpression``
        Nc              3   ó$   K  — | ]  }|d u–— Œ
 y ­w©N© )Ú.0Úids     r"   ú	<genexpr>z.Boxer.interpret_multi_sents.<locals>.<genexpr>ž   s   è ø€ Ò)Q¸R¨"°D¬.Ñ)Qùs   ‚TF)r    )Úlenr   ÚoperatorÚand_ÚlistÚmapÚstrÚrangeÚ_call_candcÚ_call_boxerÚ_parse_to_drs_dictÚget)
r   rA   r;   r:   r    Úuse_disc_idÚ	candc_outÚ	boxer_outÚdrs_dictrH   s
             r"   r5   zBoxer.interpret_multi_sents‘   sÀ   € ð Ð$Ü�v“;¤# mÓ"4Ò4Ð4Ð4Üœ(Ÿ-™-Ñ)QÀ=Ô)QÔRÐRÐRØ‰Kä ¤¤S¬%´°F³Ó*<Ó!=Ó>ˆMØˆKà×$Ñ$ V¨]¸HÈgÐ$ÓVˆ	Ø×$Ñ$ Y¸Ð$Ó@ˆ	ð
 ×*Ñ*¨9°kÓBˆØ1>Ö?¨2�—‘˜R Õ&Ò?Ð?ùÒ?s   Â-C	c                 óø   — dt         j                  j                  | j                  ddg|   «      ddg}| j	                  dj                  t        d„ t        ||«      D «       g «      «      | j                  ||«      S )aF  
        Call the ``candc`` binary with the given input.

        :param inputs: list of list of str Input discourses to parse
        :param discourse_ids: list of str Identifiers to be inserted to each occurrence-indexed predicate.
        :param filename: str A filename for the output file
        :return: stdout
        z--modelsr(   Ú	questionsz--candc-printerú
c              3   ó6   K  — | ]  \  }}d |› d�g|z   –— Œ y­w)z<META>'ú'NrF   )rG   r<   rH   s      r"   rI   z$Boxer._call_candc.<locals>.<genexpr>¿   s$   è ø€ ÒS©u¨q°"˜ ˜t 1�oÐ&¨Õ*ÑSùs   ‚)r+   r,   r.   r/   Ú_callÚsumÚzipr*   )r   rA   r;   r:   r    Úargss         r"   rQ   zBoxer._call_candc­   s~   € ð Ü�G‰G�L‰L˜×0Ñ0°7¸KÐ2HÈÑ2RÓSØØð	
ˆð �z‰zØ�I‰IÜÙS¼¸FÀMÓ8RÔSØóóð �O‰OØØó

ð 
	
r$   c                 óÆ  — d}	 t        j                  ddd¬«      \  }}t        j                  |d«      }|j	                  |j                  d«      «       |r|j                  «        	 dd	d
ddd	dg| j                     dd	dg| j                     ddddd|g}| j                  d| j                  ||«      }t        j                  |«       |S # |r|j                  «        w w xY w)z�
        Call the ``boxer`` binary with the given input.

        :param candc_out: str output from C&C parser
        :return: stdout
        Nzboxer-z.inT)ÚprefixÚsuffixÚtextÚwúutf-8z--boxÚfalsez--semanticsÚdrsz	--resolveÚtruez--elimeqz--formatÚprologz--instantiatez--input)ÚtempfileÚmkstempr+   ÚfdopenÚwriteÚdecodeÚcloser   r   r^   r0   Úremove)r   rV   r    ÚfÚfdÚtemp_filenamera   Ústdouts           r"   rR   zBoxer._call_boxerÈ   sî   € ð ˆð	Ü (× 0Ñ 0Ø¨°Dô!ÑˆB�ô —	‘	˜"˜cÓ"ˆAØ�G‰G�I×$Ñ$ WÓ-Ô.áØ—‘•	ð ØØØàØ�fÐ˜dŸm™mÑ,ØØ�fÐ˜dŸl™lÑ+ØØØØØØð
ˆð" —‘˜D $§/¡/°4¸ÓAˆÜ
�	‰	�-Ô Øˆøñ- Ø—‘•	ð ús   „AC ÃC c           	      ó0   — t        ||dgd||dz   g|¬«      S )NÚCANDCz)http://svn.ask.it.usyd.edu.au/trac/candc/z.exe)Úpath_to_binÚenv_varsÚurlÚbinary_namesr    r   )r   Únamer   r    s       r"   r)   zBoxer._find_binaryï   s,   € ÜØØØ�YØ;Ø  v¡Ð.Øô
ð 	
r$   c                 ó  — |rEt        d|«       t        d|«       t        d|«       t        d|dz   dj                  |«      z   «       |€N|g|z   }t        j                  |t        j                  t        j                  ¬«      }|j                  «       \  }}nm|g|z   }t        j                  |t        j                  t        j                  t        j                  ¬«      }|j                  |j                  d«      ¬	«      \  }}|r4t        d
|j                  «       |rt        d|d«       |rt        d|d«       |j                  dk7  r6t        dj                  |dj                  |«      |j                  |«      «      ‚|S )a  
        Call the binary with the given input.

        :param input_str: A string whose contents are used as stdin.
        :param binary: The location of the binary to call
        :param args: A list of command-line arguments.
        :return: stdout
        zCalling:zArgs:zInput:zCommand:ú )rv   Ústderr)Ústdinrv   r€   rg   )r8   zReturn code:zstdout:
r[   zstderr:
r   z&ERROR CALLING: {} {}
Returncode: {}
{})
Úprintr.   Ú
subprocessÚPopenÚPIPEÚcommunicateÚencodeÚ
returncoder6   Úformat)	r   Ú	input_strÚbinaryra   r    ÚcmdÚprv   r€   s	            r"   r^   zBoxer._callù   sD  € ñ Ü�*˜fÔ%Ü�'˜4Ô Ü�(˜IÔ&Ü�*˜f s™l¨S¯X©X°d«^Ñ;Ô<ð ÐØ�(˜T‘/ˆCÜ× Ñ  ¬Z¯_©_ÄZÇ_Á_ÔUˆAØŸ]™]›_‰NˆF‘Fà�(˜T‘/ˆCÜ× Ñ ØÜ —o‘oÜ!—‘Ü!—‘ô	ˆAð Ÿ]™]°×1AÑ1AÀ'Ó1J˜]ÓK‰NˆF�FáÜ�. !§,¡,Ô/ÙÜ�k 6¨4Ô0ÙÜ�k 6¨4Ô0Ø�<‰<˜1ÒÜØ:×AÑAØ˜CŸH™H T›N¨A¯L©L¸&óóð ð ˆr$   c                 ó<  — |j                  d«      j                  d«      }i }d}|t        |«      k  �rh||   }|j                  d«      �r<|j	                  d«      }|d| }|d   dk(  r|d   dk(  r|d	d }||d	z   |j	                  d
«       }	|d	z  }||   }|j                  d|	› d�«      sJ ‚|dd  dk(  r|d d dz   }|j                  d«      s
J d|› �«       ‚t        d|	› d�«      }
d	}d}t        ||
d  «      D ]?  \  }}|dk(  r|d	z  }|dk(  sŒ|d	z  }|dk(  sŒ!|
|z   d	z   }|||dz    dk(  r|dz   }n|d	z   } n |dkD  sJ ‚||d j                  «       }| j                  |||«      }| j                  j                  |«      ||<   |d	z  }|t        |«      k  r�Œh|S )Nrg   r[   r   zid(ú,é   r]   éÿÿÿÿé   ú)zsem(éüÿÿÿz').'z).zcan't parse line: z,[ú[ú]z','éþÿÿÿ)rp   ÚsplitrJ   Ú
startswithÚindexÚendswithÚ	enumerateÚstripÚ
_parse_drsr   r=   )r   rW   rU   ÚlinesrX   ÚiÚlineÚ	comma_idxr9   Údrs_idÚsearch_startÚbrace_countÚ	drs_startÚjÚcÚ	drs_inputÚparseds                    r"   rS   zBoxer._parse_to_drs_dict&  s  € Ø× Ñ  Ó)×/Ñ/°Ó5ˆØˆØˆØ”#�e“*‹nØ˜‘8ˆDØ�‰˜uÕ%Ø ŸJ™J s›O�	Ø# A iÐ0�Ø ‘? cÒ)¨l¸2Ñ.>À#Ò.EØ#/°°"Ð#5�LØ˜i¨!™m¨d¯j©j¸«oÐ>�Ø�Q‘�Ø˜Q‘x�Ø—‘¨¨f¨X°QÐ'7Ô8Ð8Ð8Ø˜˜�9 Ò&Ø  ˜9 tÑ+�DØ—}‘} TÔ*ÐGÐ.@ÀÀÐ,GÓGÐ*ä" T¨&¨°Ð#4Ó5�Ø�Ø�	Ü% d¨<¨=Ð&9Ó:ò "‘D�A�qØ˜C’xØ# qÑ(˜Ø˜C“xØ# qÑ(˜Ø&¨!Ó+Ø(4°qÑ(8¸1Ñ(<˜IØ# I°	¸A±Ð>À%ÒGØ,5¸©M¡	à,5¸©M 	Ù!ð"ð ! 2’~Ð%�~à  ¨2Ð.×4Ñ4Ó6�	ØŸ™¨°LÀ+ÓN�Ø)-×)DÑ)D×)NÑ)NÈvÓ)V�˜Ñ&Ø�‰FˆAðG ”#�e“*ŒnðH ˆr$   c                 ó@   — t        d |g|   «      j                  |«      S rE   )ÚBoxerOutputDrsParserÚparse)r   Ú
drs_stringr9   rU   s       r"   rž   zBoxer._parse_drsP  s"   € Ü# T¨<Ð$8¸Ñ$EÓF×LÑLÈZÓXÐXr$   )NFNFT©F)NFF)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   r   r=   r?   rB   r5   rQ   rR   r)   r^   rS   rž   rF   r$   r"   r   r   ;   so   „ ñð #ØØØØó+ó8Góóð  CHó
ð  CHó@ó8
ó6%óN
ð -/¸ó +òZ(óTYr$   r   c                   óÊ   — e Zd Zd!d„Zd!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„ 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!y)"r¬   Nc                 óZ   — t        j                  | «       || _        d| _        dg| _        y)zz
        This class is used to parse the Prolog DRS output from Boxer into a
        hierarchy of python objects.
        N)r]   r]   ú\F)r   r#   r9   Úsentence_id_offsetÚquote_chars©r   r9   s     r"   r#   zBoxerOutputDrsParser.__init__U  s-   € ô
 	×Ñ˜4Ô Ø(ˆÔØ"&ˆÔØ3Ð4ˆÕr$   c                 ó0   — t        j                  | ||«      S rE   )r   r­   )r   ÚdataÚ	signatures      r"   r­   zBoxerOutputDrsParser.parse_  s   € Ü�‰˜t T¨9Ó5Ð5r$   c                 ó
   — g d¢S )N)ú(r“   r�   r•   r–   ú:rF   ©r   s    r"   Úget_all_symbolsz$BoxerOutputDrsParser.get_all_symbolsb  s   € Ú-Ð-r$   c                 ó$   — | j                  |«      S rE   )Ú
handle_drs)r   ÚtokÚcontexts      r"   ÚhandlezBoxerOutputDrsParser.handlee  s   € Ø�‰˜sÓ#Ð#r$   c                 ó   — |S rE   rF   ©r   Ú
expressionrÅ   s      r"   Úattempt_adjunctsz%BoxerOutputDrsParser.attempt_adjunctsh  ó   € ØÐr$   c                 ód   — | j                  «       }| j                  ||«      }|€t        |«      ‚|S )zS
        Parse a DRS condition

        :return: list of ``DrtExpression``
        )ÚtokenÚhandle_conditionr   )r   ÚindicesrÄ   Úaccums       r"   Úparse_conditionz$BoxerOutputDrsParser.parse_conditionk  s6   € ð �j‰j‹lˆØ×%Ñ% c¨7Ó3ˆØˆ=Ü*¨3Ó/Ð/Øˆr$   c                 óÆ   — |dk(  r| j                  «       S |dv r" | j                  | j                  «      d g «      S |dv r" | j                  | j                  «      d g «      S y )Nri   )ÚmergeÚsmerge)Úalfa)Ú	parse_drsÚ_handle_binary_expressionÚ_make_merge_expressionÚ_handle_alfa)r   rÄ   s     r"   rÃ   zBoxerOutputDrsParser.handle_drsw  sl   € Ø�%Š<Ø—>‘>Ó#Ð#ØÐ'Ñ'ØN�4×1Ñ1°$×2MÑ2MÓNÈtÐUWÓXÐXØ�H‰_ØA�4×$Ñ$ T×%@Ñ%@ÓAÀ$ÈÓKÐKð r$   c                 ó   ‡— |dk(  r| j                  «       gS |dk(  r| j                  | j                  «      gŠnò|dk(  r| j                  | j                  «      gŠnÐ|dk(  r| j	                  «       gŠn¹|dk(  r| j                  «       gŠn¢|dk(  r| j                  «       gŠn‹|dk(  r| j                  «       gŠnt|dk(  r| j                  «       gŠn]|d	k(  r| j                  «       ŠnG|d
k(  r| j                  «       gŠn0|dk(  r| j                  «       gŠn|dk(  r| j                  «       gŠng Št        ˆfd„| j                  |«      D «       g «      S )zx
        Handle a DRS condition

        :param indices: list of int
        :return: list of ``DrtExpression``
        ÚnotÚorÚimpÚeqÚpropÚpredÚnamedÚrelÚtimexÚcardÚwhqÚduplexc              3   ó\   •K  — | ]  \  }}‰D �cg c]  } |||«      ‘Œ c}–— Œ  y c c}w ­wrE   rF   )rG   Ú
sent_indexÚword_indicesÚcondÚcondss       €r"   rI   z8BoxerOutputDrsParser.handle_condition.<locals>.<genexpr>¦  s3   øè ø€ ò á,�J ð =BÖB°D‘�j ,Õ/ÖBñùÚBùs   ƒ,�'Ÿ,)Ú_handle_notr×   Ú_make_or_expressionÚ_make_imp_expressionÚ
_handle_eqÚ_handle_propÚ_handle_predÚ_handle_namedÚ_handle_relÚ_handle_timexÚ_handle_cardÚ_handle_whqÚ_handle_duplexr_   Ú_sent_and_word_indices)r   rÄ   rÏ   rë   s      @r"   rÎ   z%BoxerOutputDrsParser.handle_condition  sb  ø€ ð �%Š<Ø×$Ñ$Ó&Ð'Ð'à�$Š;Ø×3Ñ3°D×4LÑ4LÓMÐN‰EØ�EŠ\Ø×3Ñ3°D×4MÑ4MÓNÐO‰EØ�DŠ[Ø—_‘_Ó&Ð'‰EØ�FŠ]Ø×&Ñ&Ó(Ð)‰Eà�FŠ]Ø×&Ñ&Ó(Ð)‰EØ�GŠ^Ø×'Ñ'Ó)Ð*‰EØ�EŠ\Ø×%Ñ%Ó'Ð(‰EØ�GŠ^Ø×&Ñ&Ó(‰EØ�FŠ]Ø×&Ñ&Ó(Ð)‰Eà�EŠ\Ø×%Ñ%Ó'Ð(‰EØ�HŠ_Ø×(Ñ(Ó*Ð+‰Eð ˆEäóà04×0KÑ0KÈGÓ0Tôð ó
ð 	
r$   c                 óº   — | j                  | j                  «       d«       | j                  d «      }| j                  | j                  «       d«       t        |«      S )Nr¾   r“   )ÚassertTokenrÍ   Úprocess_next_expressionÚBoxerNot©r   ri   s     r"   rì   z BoxerOutputDrsParser._handle_not­  sH   € Ø×Ñ˜Ÿ™› sÔ+Ø×*Ñ*¨4Ó0ˆØ×Ñ˜Ÿ™› sÔ+Ü˜‹}Ðr$   c                 óô  ‡ ‡‡‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       t        ‰ j                  «       «      Š‰ j                  ‰ j                  «       d«       ˆˆˆ ˆˆfd„}|S )Nr¾   r�   r“   c           	      ó:   •— t        ‰j                  | |‰‰‰‰«      S rE   ©Ú	BoxerPredr9   )rè   ré   r}   Úposr   ÚsenseÚvariables     €€€€€r"   Ú_handle_pred_fz9BoxerOutputDrsParser._handle_pred.<locals>._handle_pred_f¿  s&   ø€ ÜØ×!Ñ! :¨|¸XÀtÈSÐRWóð r$   ©rú   rÍ   Úparse_variableÚint)r   r  r}   r  r  r  s   ` @@@@r"   rñ   z!BoxerOutputDrsParser._handle_pred³  s·   ü€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ü�D—J‘J“LÓ!ˆØ×Ñ˜Ÿ™› sÔ+÷	ð 	ð
 Ðr$   c                 ó  ‡ ‡‡‡‡— ‰ j                  ‰ j                  «       d«       g Š‰ j                  ‰ j                  «       d«       ‰ j                  ‰ j                  «       d«       ‰ j                  d «      Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  d «      Š‰ j                  ‰ j                  «       d«       ˆˆˆˆˆ fd„S )Nr¾   rå   r�   r“   c           	      ó:   •— t        ‰j                  | |‰‰‰‰«      S rE   ©ÚBoxerWhqr9   ©rè   ré   Ú	ans_typesÚd1Úd2Úrefr   s     €€€€€r"   ú<lambda>z5BoxerOutputDrsParser._handle_duplex.<locals>.<lambda>ã  ó!   ø€ ´Ø×Ñ˜z¨<¸ÀBÈÈRó1
€ r$   )rú   rÍ   rû   r  )r   r  r  r  r  s   `@@@@r"   r÷   z#BoxerOutputDrsParser._handle_duplexÆ  sÆ   ü€ à×Ñ˜Ÿ™› sÔ+àˆ	ð" 	×Ñ˜Ÿ™› uÔ-Ø×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+Ø×!Ñ!Ó#ˆØ×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 	
r$   c                 óÞ  ‡ ‡‡‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ˆˆ ˆˆˆfd„S )Nr¾   r�   r“   c           	      ó:   •— t        ‰j                  | |‰‰‰‰«      S rE   )Ú
BoxerNamedr9   )rè   ré   r}   r   r  Útyper  s     €€€€€r"   r  z4BoxerOutputDrsParser._handle_named.<locals>.<lambda>ò  s!   ø€ ´
Ø×Ñ˜z¨<¸À4ÈÈuó1
€ r$   ©rú   rÍ   r  )r   r}   r  r  r  s   `@@@@r"   rò   z"BoxerOutputDrsParser._handle_namedç  sª   ü€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø—
‘
“ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 	
r$   c                 óð  ‡ ‡‡‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       t        ‰ j                  «       «      Š‰ j                  ‰ j                  «       d«       ˆˆ ˆˆˆfd„S )Nr¾   r�   r“   c           	      ó:   •— t        ‰j                  | |‰‰‰‰«      S rE   )ÚBoxerRelr9   )rè   ré   râ   r   r  Úvar1Úvar2s     €€€€€r"   r  z2BoxerOutputDrsParser._handle_rel.<locals>.<lambda>  s!   ø€ ´Ø×Ñ˜z¨<¸¸tÀSÈ%ó1
€ r$   r  )r   râ   r  r  r  s   `@@@@r"   ró   z BoxerOutputDrsParser._handle_relö  s²   ü€ à×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+Ø�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ü�D—J‘J“LÓ!ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 	
r$   c                 ó  — | j                  | j                  «       d«       | j                  «       }| j                  | j                  «       d«       | j                  |«      }| j                  | j                  «       d«       |S )Nr¾   r�   r“   )rú   rÍ   r  Ú_handle_time_expression)r   ÚargÚ	new_condss      r"   rô   z"BoxerOutputDrsParser._handle_timex  sh   € à×Ñ˜Ÿ™› sÔ+Ø×!Ñ!Ó#ˆØ×Ñ˜Ÿ™› sÔ+Ø×0Ñ0°Ó5ˆ	Ø×Ñ˜Ÿ™› sÔ+ØÐr$   c                 óT  ‡ ‡‡— ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰dk(  r‰ j                  ‰«      }n‰dk(  r‰ j                  ‰«      }ny ‰ j                  ‰ j                  «       d«       d„ }ˆˆ ˆfd„g|D �cg c]
  } ||«      ‘Œ c}z   S c c}w )Nr¾   ÚdateÚtimer“   c                 ó   ‡ — ˆ fd„S )Nc                 ó   •— ‰S rE   rF   )rè   ré   Úxs     €r"   r  zPBoxerOutputDrsParser._handle_time_expression.<locals>.func_gen.<locals>.<lambda>  s   ø€ °A€ r$   rF   )r'  s   `r"   Úfunc_genz>BoxerOutputDrsParser._handle_time_expression.<locals>.func_gen  s	   ø€ Û5Ð5r$   c           	      ó:   •— t        ‰j                  | |‰‰dd«      S )NÚnr   r   )rè   ré   r   r   rÄ   s     €€€r"   r  z>BoxerOutputDrsParser._handle_time_expression.<locals>.<lambda>  s!   ø€ ¬YØ×!Ñ! :¨|¸SÀ#ÀsÈAó.€ r$   )rÍ   rú   Ú_handle_dateÚ_handle_time)r   r   rë   r(  rê   rÄ   s   ``   @r"   r  z,BoxerOutputDrsParser._handle_time_expression  s�   ú€ à�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ø�&Š=Ø×%Ñ% cÓ*‰EØ�FŠ]Ø×%Ñ% cÓ*‰EàØ×Ñ˜Ÿ™› sÔ+ò	6õð
ð ).Ö. ‰X�d�^Ò.ñ	/ð 	/ùò /s   ÂB%c                 ó”  — g }| j                  | j                  «       «      \  \  }}| j                  | j                  «       d«       | j                  «       }| j                  | j                  «       d«       |j	                  t        | j                  |||d|› �dd«      «       | j                  | j                  «       d«       | j                  | j                  «       «      \  \  }}| j                  «       }|dk7  r?|j                  dd	«      }|j	                  t        | j                  |||d
|› �dd«      «       | j                  | j                  «       d«       | j                  | j                  «       «      \  \  }}| j                  «       }|dk7  r-|j	                  t        | j                  |||d|› �dd«      «       | j                  | j                  «       d«       | j                  | j                  «       «      \  \  }}| j                  «       }|dk7  r-|j	                  t        | j                  |||d|› �dd«      «       |S )Nr¾   r“   Ú	date_pol_Úar   r�   ÚXXXXr¿   Ú_Ú
date_year_ÚXXÚdate_month_Ú	date_day_)rø   Ú_parse_index_listrú   rÍ   Úappendr  r9   Úreplace)	r   r   rë   rè   ré   ÚpolÚyearÚmonthÚdays	            r"   r+  z!BoxerOutputDrsParser._handle_date#  sC  € àˆØ(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*�lð 	×Ñ˜Ÿ™› sÔ+Ø�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ø�‰ÜØ×!Ñ!ØØØØ˜C˜5Ð!ØØóô
	
ð 	×Ñ˜Ÿ™› sÔ+à(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*�lð �z‰z‹|ˆØ�6Š>Ø—<‘<  SÓ)ˆDØ�L‰LÜØ×%Ñ%ØØ ØØ   Ð'ØØóô
ð 	×Ñ˜Ÿ™› sÔ+à(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*�lð —
‘
“ˆØ�DŠ=Ø�L‰LÜØ×%Ñ%ØØ ØØ! % Ð)ØØóô
ð 	×Ñ˜Ÿ™› sÔ+à(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*�lð �j‰j‹lˆØ�$Š;Ø�L‰LÜØ×%Ñ%ØØ ØØ ˜uÐ%ØØóô
ð ˆr$   c                 ó4  — g }| j                  «        | j                  «       }|dk7  r"|j                  | j                  d||«      «       | j	                  | j                  «       d«       | j                  «        | j                  «       }|dk7  r"|j                  | j                  d||«      «       | j	                  | j                  «       d«       | j                  «        | j                  «       }|dk7  r"|j                  | j                  d||«      «       |S )Nr3  Úr_hour_2r�   Úr_min_2Úr_sec_2)r6  rÍ   r7  Ú
_make_atomrú   )r   r   rë   ÚhourÚminÚsecs         r"   r,  z!BoxerOutputDrsParser._handle_timeq  sÝ   € àˆØ×ÑÔ Ø�z‰z‹|ˆØ�4Š<Ø�L‰L˜Ÿ™¨°S¸$Ó?Ô@Ø×Ñ˜Ÿ™› sÔ+à×ÑÔ Ø�j‰j‹lˆØ�$Š;Ø�L‰L˜Ÿ™¨°C¸Ó=Ô>Ø×Ñ˜Ÿ™› sÔ+à×ÑÔ Ø�j‰j‹lˆØ�$Š;Ø�L‰L˜Ÿ™¨°C¸Ó=Ô>àˆr$   c                 óz  ‡ ‡‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ˆ ˆˆˆfd„S )Nr¾   r�   r“   c                 ó8   •— t        ‰j                  | |‰‰‰«      S rE   )Ú	BoxerCardr9   )rè   ré   r   r  Úvaluer  s     €€€€r"   r  z3BoxerOutputDrsParser._handle_card.<locals>.<lambda>�  s   ø€ ´	Ø×Ñ˜z¨<¸À5È$ó1
€ r$   r  )r   r  rH  r  s   `@@@r"   rõ   z!BoxerOutputDrsParser._handle_card‡  s‰   û€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø—
‘
“ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+ö
ð 	
r$   c                 ó  ‡ ‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  d «      Š‰ j                  ‰ j                  «       d«       ˆˆ ˆfd„S )Nr¾   r�   r“   c                 ó6   •— t        ‰j                  | |‰‰«      S rE   )Ú	BoxerPropr9   )rè   ré   ri   r   r  s     €€€r"   r  z3BoxerOutputDrsParser._handle_prop.<locals>.<lambda>›  s   ø€ ´	Ø×Ñ˜z¨<¸À3ó1
€ r$   )rú   rÍ   r  rû   )r   ri   r  s   `@@r"   rð   z!BoxerOutputDrsParser._handle_prop”  sm   ú€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø×*Ñ*¨4Ó0ˆØ×Ñ˜Ÿ™› sÔ+õ
ð 	
r$   c                 ó‚  — g }| j                  | j                  «       d«       | j                  d«      dk7  rX|j                  | j                  «       «       | j                  d«      dk(  r| j                  «        | j                  d«      dk7  rŒX| j                  «        | j                  | j                  «       d«       |S )Nr•   r   r–   r�   r¿   )rú   rÍ   r7  Úparse_index)r   rÏ   s     r"   r6  z&BoxerOutputDrsParser._parse_index_listŸ  s“   € àˆØ×Ñ˜Ÿ™› sÔ+Ø�j‰j˜‹m˜sÒ"Ø�N‰N˜4×+Ñ+Ó-Ô.Ø�z‰z˜!‹} Ò#Ø—
‘
”ð �j‰j˜‹m˜sÓ"ð 	�
‰
ŒØ×Ñ˜Ÿ™› sÔ+Øˆr$   c                 ó¶  — | j                  | j                  «       d«       | j                  | j                  «       d«       t        «       }| j                  d«      dk7  rh| j                  «       }|j	                  | j                  «       «       | j                  d«      dk(  r| j                  «        | j                  d«      dk7  rŒh| j                  «        | j                  | j                  «       d«       | j                  | j                  «       d«       g }| j                  d«      dk7  ri| j                  «       }|j                  | j                  |«      «       | j                  d«      dk(  r| j                  «        | j                  d«      dk7  rŒi| j                  «        | j                  | j                  «       d«       t        t        |«      |«      S )Nr¾   r•   r   r–   r�   r“   )
rú   rÍ   Úsetr6  Úaddr  ÚextendrÑ   ÚBoxerDrsrM   )r   ÚrefsrÏ   rë   s       r"   rÖ   zBoxerOutputDrsParser.parse_drs«  sc  € ð 	×Ñ˜Ÿ™› sÔ+Ø×Ñ˜Ÿ™› sÔ+Ü‹uˆØ�j‰j˜‹m˜sÒ"Ø×,Ñ,Ó.ˆGØ�H‰H�T×(Ñ(Ó*Ô+Ø�z‰z˜!‹} Ò#Ø—
‘
”ð	 �j‰j˜‹m˜sÓ"ð
 	�
‰
ŒØ×Ñ˜Ÿ™› sÔ+Ø×Ñ˜Ÿ™› sÔ+ØˆØ�j‰j˜‹m˜sÒ"Ø×,Ñ,Ó.ˆGØ�L‰L˜×-Ñ-¨gÓ6Ô7Ø�z‰z˜!‹} Ò#Ø—
‘
”ð	 �j‰j˜‹m˜sÓ"ð
 	�
‰
ŒØ×Ñ˜Ÿ™› sÔ+Üœ˜T›
 EÓ*Ð*r$   c                 ó  ‡‡‡— | j                  | j                  «       d«       | j                  d «      Š| j                  | j                  «       d«       | j                  d «      Š| j                  | j                  «       d«       ˆˆˆfd„S )Nr¾   r�   r“   c                 ó   •—  ‰| |‰‰«      S rE   rF   ©rè   ré   Údrs1Údrs2Úmake_callbacks     €€€r"   r  z@BoxerOutputDrsParser._handle_binary_expression.<locals>.<lambda>Ê  ó   ø€ ±Ø˜ d¨Dó1
€ r$   ©rú   rÍ   rû   )r   rY  rW  rX  s    `@@r"   r×   z.BoxerOutputDrsParser._handle_binary_expressionÄ  so   ú€ Ø×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+õ
ð 	
r$   c                 óz  ‡‡‡— | j                  | j                  «       d«       | j                  «       }| j                  | j                  «       d«       | j                  d «      Š| j                  | j                  «       d«       | j                  d «      Š| j                  | j                  «       d«       ˆˆˆfd„S )Nr¾   r�   r“   c                 ó   •—  ‰| |‰‰«      S rE   rF   rV  s     €€€r"   r  z3BoxerOutputDrsParser._handle_alfa.<locals>.<lambda>Ö  rZ  r$   r[  )r   rY  r  rW  rX  s    ` @@r"   rÙ   z!BoxerOutputDrsParser._handle_alfaÎ  s�   ú€ Ø×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+õ
ð 	
r$   c                 ó  ‡ ‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  «       Š‰ j                  ‰ j                  «       d«       ˆ ˆˆfd„S )Nr¾   r�   r“   c                 ó6   •— t        ‰j                  | |‰‰«      S rE   )ÚBoxerEqr9   )rè   ré   r   r  r  s     €€€r"   r  z1BoxerOutputDrsParser._handle_eq.<locals>.<lambda>à  s   ø€ ´Ø×Ñ˜z¨<¸¸tó1
€ r$   r  )r   r  r  s   `@@r"   rï   zBoxerOutputDrsParser._handle_eqÚ  sk   ú€ Ø×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+õ
ð 	
r$   c                 óþ  ‡ ‡‡‡‡— ‰ j                  ‰ j                  «       d«       ‰ j                  ‰ j                  «       d«       g Š‰ j                  d«      dk7  rØ‰ j                  «       }‰ j                  ‰ j                  «       d«       |dk(  r ‰j                  ‰ j                  «       «       nn|dk(  rJ‰j                  d«       ‰ j                  «       }|d	k(  r‰j                  d
«       n1‰j                  |«       n‰j                  ‰ j                  «       «       ‰ j                  d«      dk7  rŒØ‰ j                  «        ‰ j                  ‰ j                  «       d«       ‰ j                  d «      Š‰ j                  ‰ j                  «       d«       ‰ j	                  «       Š‰ j                  ‰ j                  «       d«       ‰ j                  d «      Š‰ j                  ‰ j                  «       d«       ˆˆˆˆˆ fd„S )Nr¾   r•   r   r–   r¿   ÚdesÚnumÚnumberÚcouÚcountr�   r“   c           	      ó:   •— t        ‰j                  | |‰‰‰‰«      S rE   r  r  s     €€€€€r"   r  z2BoxerOutputDrsParser._handle_whq.<locals>.<lambda>ÿ  r  r$   )rú   rÍ   r7  rû   r  )r   ÚcatÚtypr  r  r  r  s   `  @@@@r"   rö   z BoxerOutputDrsParser._handle_whqä  s„  ü€ Ø×Ñ˜Ÿ™› sÔ+Ø×Ñ˜Ÿ™› sÔ+Øˆ	Ø�j‰j˜‹m˜sÒ"Ø—*‘*“,ˆCØ×Ñ˜TŸZ™Z›\¨3Ô/Ø�eŠ|Ø× Ñ  §¡£Õ.Ø˜’Ø× Ñ  Ô*Ø—j‘j“l�Ø˜%’<Ø×$Ñ$ WÕ-à×$Ñ$ SÕ)à× Ñ  §¡£Ô.ð �j‰j˜‹m˜sÓ"ð 	�
‰
Œà×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+Ø×!Ñ!Ó#ˆØ×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 	
r$   c                 óv   — t        |j                  |j                  z   |j                  |j                  z   «      S rE   ©rR  rS  rë   ©r   rè   ré   rW  rX  s        r"   rØ   z+BoxerOutputDrsParser._make_merge_expression  s)   € Ü˜Ÿ	™	 D§I¡IÑ-¨t¯z©z¸D¿J¹JÑ/FÓGÐGr$   c                 ó4   — t        | j                  ||||«      S rE   )ÚBoxerOrr9   rl  s        r"   rí   z(BoxerOutputDrsParser._make_or_expression  s   € Ü�t×(Ñ(¨*°lÀDÈ$ÓOÐOr$   c                 óD   — t        |j                  |j                  |«      S rE   rk  rl  s        r"   rî   z)BoxerOutputDrsParser._make_imp_expression	  s   € Ü˜Ÿ	™	 4§:¡:¨tÓ4Ð4r$   c                 ó`   — | j                  «       }t        j                  d|«      sJ |«       ‚|S )Nz^[exps]\d+$)rÍ   ÚreÚmatch©r   Úvars     r"   r  z#BoxerOutputDrsParser.parse_variable  s+   € Ø�j‰j‹lˆÜ�x‰x˜¨Ô,Ð1¨cÓ1Ð,Øˆ
r$   c                 ó4   — t        | j                  «       «      S rE   )r  rÍ   rÀ   s    r"   rM  z BoxerOutputDrsParser.parse_index  s   € Ü�4—:‘:“<Ó Ð r$   c                 ó  — |D �ch c]  }|dk\  sŒ	|dz  dz
  ’Œ }}|r?g }|D ]6  }|D �cg c]  }||dz  dz
  k(  sŒ|dz  dz
  ‘Œ }}|j                  ||f«       Œ8 |S |D �cg c]
  }|dz  dz
  ‘Œ }}d|fgS c c}w c c}w c c}w )zD
        :return: list of (sent_index, word_indices) tuples
        r   iè  r’   N)r7  )r   rÏ   r    Úsent_indicesÚpairsrè   ré   s          r"   rø   z+BoxerOutputDrsParser._sent_and_word_indices  sÁ   € ð 18ÖB¨1¸1À»6˜˜T™ Q›ÐBˆÐBÙØˆEØ*ò 9�
à,3ö Ø'(°zÀaÈ$ÁhÐRSÁ^Ó7S�Q˜‘X “Nð �ð  ð —‘˜j¨,Ð7Õ8ð	9ð
 ˆLà4;Ö<¨q˜Q ™X¨›NÐ<ˆLÐ<Ø˜<Ð(Ð)Ð)ùò Cùò ùò =s   …
A7�
A7©A<º
A<Á!BrE   )"r°   r±   r²   r#   r­   rÁ   rÆ   rÊ   rÑ   rÃ   rÎ   rì   rñ   r÷   rò   ró   rô   r  r+  r,  rõ   rð   r6  rÖ   r×   rÙ   rï   rö   rØ   rí   rî   r  rM  rø   rF   r$   r"   r¬   r¬   T  s¤   „ ó5ó6ò.ò$òò
òLò,
ò\òò&
òB
ò
òò/ò*Lò\ò,
ò	
ò
ò+ò2
ò

ò
ò
ò>HòPò5òò
!ó*r$   r¬   c                   ó6   — e Zd ZdZd	d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)
ÚBoxerDrsParserzD
    Reparse the str form of subclasses of ``AbstractBoxerDrs``
    Nc                 ó<   — t        j                  | «       || _        y rE   )r   r#   r9   r¹   s     r"   r#   zBoxerDrsParser.__init__+  s   € Ü×Ñ˜4Ô Ø(ˆÕr$   c                 óœ   — t         j                  t         j                  t         j                  t         j                  t         j
                  gS rE   )r   ÚOPENÚCLOSEÚCOMMAÚOPEN_BRACKETÚCLOSE_BRACKETrÀ   s    r"   rÁ   zBoxerDrsParser.get_all_symbols/  s3   € ä�N‰NÜ�O‰OÜ�O‰OÜ×"Ñ"Ü×#Ñ#ð
ð 	
r$   c                 ó   — |S rE   rF   rÈ   s      r"   rÊ   zBoxerDrsParser.attempt_adjuncts8  rË   r$   c           	      ó   — 	 |dk(  �rº| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       t        t        t        | j                  «       «      «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       | j	                  «       }| j                  t        j
                  «       | j	                  «       }| j                  t        j
                  «       t        | j	                  «       «      }	| j                  t        j                  «       t        |||||||	«      S |dk(  �rº| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       t        t        | j                  «       «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       | j	                  «       }| j                  t        j
                  «       | j	                  «       }
| j                  t        j
                  «       t        | j	                  «       «      }	| j                  t        j                  «       t        ||||||
|	«      S |dk(  �rÃ| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       t        t        t        | j                  «       «      «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       | j	                  «       }| j                  t        j
                  «       t        | j	                  «       «      }	| j                  t        j                  «       t        |||||||	«      S |dk(  �r[| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       t        t        t        | j                  «       «      «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       | j                  d «      }| j                  t        j                  «       t!        |||||«      S |dk(  rZ| j                  t        j                  «       | j                  d «      }| j                  t        j                  «       t#        |«      S |dk(  r | j                  t        j                  «       | j                  d «      }| j                  t        j
                  «       | j                  d «      }| j                  t        j                  «       t%        |j&                  |j(                  |«      S |dk(  �rA| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       t        t        | j                  «       «      }| j                  t        j
                  «       | j                  d «      }| j                  t        j
                  «       | j                  d «      }| j                  t        j                  «       t+        |||||«      S |dk(  �rZ| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       t        t        t        | j                  «       «      «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j                  «       t-        |||||«      S |d	k(  �rx| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       t        t        | j                  «       «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       | j	                  «       }| j                  t        j
                  «       | j	                  «       }
| j                  t        j                  «       t/        ||||||
«      S |d
k(  �r³| j                  t        j                  «       | j                  �| j                  n| j	                  «       }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       t        t        t        | j                  «       «      «      }| j                  t        j
                  «       | j                  «       }| j                  t        j
                  «       | j                  d «      }| j                  t        j
                  «       t        | j	                  «       «      }| j                  t        j
                  «       | j                  d «      }| j                  t        j                  «       t1        |||||||«      S 	 J t;        |«      «       ‚# t2        $ r%}t5        | j6                  t9        |«      «      |‚d }~ww xY w)Nrà   rá   râ   rß   rÛ   rÝ   rÜ   rÞ   rä   rå   )ÚassertNextTokenr   r}  r9   rÍ   r  ÚnullableIntTokenrM   rN   r  Úhandle_refsr~  r  r  r  rû   rK  rü   rR  rS  rë   rn  r`  rG  r  r6   r   Ú_currentIndexrO   Úrepr)r   rÄ   rÅ   Údisc_idÚsent_idÚword_idsr  r}   r  r  r  r  r  râ   ri   rW  rX  rt  rH  r  Úes                        r"   rÆ   zBoxerDrsParser.handle;  s«	  € ðc	Pð �f‹}Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ø×/Ñ/Ó1�Ø×$Ñ$¤Y§_¡_Ô5Ü¤¤C¨×)9Ñ)9Ó);Ó <Ó=�Ø×$Ñ$¤Y§_¡_Ô5Ü˜tŸz™z›|Ó,�Ø×$Ñ$¤Y§_¡_Ô5Ø—z‘z“|�Ø×$Ñ$¤Y§_¡_Ô5Ø—j‘j“l�Ø×$Ñ$¤Y§_¡_Ô5Ü˜DŸJ™J›LÓ)�Ø×$Ñ$¤Y§_¡_Ô5Ü  ¨'°8¸XÀtÈSÐRWÓXÐXØ˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ü˜dŸj™j›lÓ+�Ø×$Ñ$¤Y§_¡_Ô5Üœs D×$4Ñ$4Ó$6Ó7�Ø×$Ñ$¤Y§_¡_Ô5Ü˜tŸz™z›|Ó,�Ø×$Ñ$¤Y§_¡_Ô5Ø—z‘z“|�Ø×$Ñ$¤Y§_¡_Ô5Ø—z‘z“|�Ø×$Ñ$¤Y§_¡_Ô5Ü˜DŸJ™J›LÓ)�Ø×$Ñ$¤Y§_¡_Ô5Ü!Ø˜W h°¸$ÀÀeóð ð ˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ø×/Ñ/Ó1�Ø×$Ñ$¤Y§_¡_Ô5Ü¤¤C¨×)9Ñ)9Ó);Ó <Ó=�Ø×$Ñ$¤Y§_¡_Ô5Ü˜4Ÿ:™:›<Ó(�Ø×$Ñ$¤Y§_¡_Ô5Ü˜4Ÿ:™:›<Ó(�Ø×$Ñ$¤Y§_¡_Ô5Ø—j‘j“l�Ø×$Ñ$¤Y§_¡_Ô5Ü˜DŸJ™J›LÓ)�Ø×$Ñ$¤Y§_¡_Ô5Ü ¨°(¸DÀ$ÈÈUÓSÐSØ˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ü˜dŸj™j›lÓ+�Ø×$Ñ$¤Y§_¡_Ô5Ü¤¤C¨×)9Ñ)9Ó);Ó <Ó=�Ø×$Ñ$¤Y§_¡_Ô5Ü˜tŸz™z›|Ó,�Ø×$Ñ$¤Y§_¡_Ô5Ø×2Ñ2°4Ó8�Ø×$Ñ$¤Y§_¡_Ô5Ü  ¨'°8¸XÀsÓKÐKØ˜’Ø×$Ñ$¤Y§^¡^Ô4Ø×2Ñ2°4Ó8�Ø×$Ñ$¤Y§_¡_Ô5Ü “}Ð$Ø˜’Ø×$Ñ$¤Y§^¡^Ô4Ø×3Ñ3°DÓ9�Ø×$Ñ$¤Y§_¡_Ô5Ø×3Ñ3°DÓ9�Ø×$Ñ$¤Y§_¡_Ô5Ü §	¡	¨4¯:©:°tÓ<Ð<Ø˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ø×/Ñ/Ó1�Ø×$Ñ$¤Y§_¡_Ô5Üœs D×$4Ñ$4Ó$6Ó7�Ø×$Ñ$¤Y§_¡_Ô5Ø×3Ñ3°DÓ9�Ø×$Ñ$¤Y§_¡_Ô5Ø×3Ñ3°DÓ9�Ø×$Ñ$¤Y§_¡_Ô5Ü˜w¨°¸4ÀÓFÐFØ˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ø×/Ñ/Ó1�Ø×$Ñ$¤Y§_¡_Ô5Ü¤¤C¨×)9Ñ)9Ó);Ó <Ó=�Ø×$Ñ$¤Y§_¡_Ô5Ü˜4Ÿ:™:›<Ó(�Ø×$Ñ$¤Y§_¡_Ô5Ü˜4Ÿ:™:›<Ó(�Ø×$Ñ$¤Y§_¡_Ô5Ü˜w¨°¸4ÀÓFÐFØ˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ø×/Ñ/Ó1�Ø×$Ñ$¤Y§_¡_Ô5Üœs D×$4Ñ$4Ó$6Ó7�Ø×$Ñ$¤Y§_¡_Ô5Ü˜$Ÿ*™*›,Ó'�Ø×$Ñ$¤Y§_¡_Ô5ØŸ
™
›�Ø×$Ñ$¤Y§_¡_Ô5Ø—z‘z“|�Ø×$Ñ$¤Y§_¡_Ô5Ü  ¨'°8¸SÀ%ÈÓNÐNØ˜“Ø×$Ñ$¤Y§^¡^Ô4à)-×):Ñ):Ð)F�D×%Ò%ÈDÏJÉJËLð ð ×$Ñ$¤Y§_¡_Ô5Ø×/Ñ/Ó1�Ø×$Ñ$¤Y§_¡_Ô5Ü¤¤C¨×)9Ñ)9Ó);Ó <Ó=�Ø×$Ñ$¤Y§_¡_Ô5Ø ×,Ñ,Ó.�	Ø×$Ñ$¤Y§_¡_Ô5Ø×3Ñ3°DÓ9�Ø×$Ñ$¤Y§_¡_Ô5Ü˜$Ÿ*™*›,Ó'�Ø×$Ñ$¤Y§_¡_Ô5Ø×3Ñ3°DÓ9�Ø×$Ñ$¤Y§_¡_Ô5Ü ¨°(¸IÀtÈSÐRVÓWÐWð% ð* 	 ”d˜3“iÓˆuøô ò 	PÜ,¨T×-?Ñ-?ÄÀQÃÓHÈaÐOûð	PúsW   ‚F?v ÇF?v ÎGv ÕE v Ú,Av ÜB$v Þ0Ev ã7Ev éE=v ïF8v ö	wö( w÷wc                 óF   — | j                  «       }|dk7  rt        |«      S d S )NÚNone)rÍ   r  )r   Úts     r"   r…  zBoxerDrsParser.nullableIntTokenâ  s"   € Ø�J‰J‹LˆØ˜fšŒs�1‹vÐ.¨$Ð.r$   c                 ót   — 	 | j                  «       S # t        $ r}t        |j                  d«      |‚d }~ww xY w)NzVariable expected.)rÍ   r   rš   )r   ÚdescriptionrŒ  s      r"   Úget_next_token_variablez&BoxerDrsParser.get_next_token_variableæ  s;   € ð	TØ—:‘:“<ÐøÜ*ò 	TÜ-¨a¯g©gÐ7KÓLÐRSÐSûð	Tús   ‚ ’	7›2²7rE   )
r°   r±   r²   r³   r#   rÁ   rÊ   rÆ   r…  r’  rF   r$   r"   rz  rz  &  s(   „ ñó)ò
òòe òN/óTr$   rz  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚAbstractBoxerDrsc                 óF   — | j                  «       \  }}}|||z  z
  |||z
  fS ©zK
        :return: (set<variables>, set<events>, set<propositions>)
        )Ú
_variables)r   Ú	variablesÚeventsÚpropositionss       r"   r˜  zAbstractBoxerDrs.variablesî  s3   € ð +/¯/©/Ó*;Ñ'ˆ	�6˜<Ø˜V lÑ2Ñ3°V¸\ÈFÑ=RÐSÐSr$   c                 óf   — i }t        d| j                  «       «      D ]  \  }}|D ]  }|||<   Œ	 Œ |S )N)ÚzrŒ  r�   )r`   r˜  )r   Úvartypesr�  ÚvarsÚvs        r"   Úvariable_typeszAbstractBoxerDrs.variable_typesõ  sG   € ØˆÜ˜?¨D¯N©NÓ,<Ó=ò 	 ‰GˆAˆtØò  �Ø�˜’ñ ð	 ð ˆr$   c                 ó<   — t        «       t        «       t        «       fS r–  ©rO  rÀ   s    r"   r—  zAbstractBoxerDrs._variablesü  s   € ô “”s“uœc›eÐ$Ð$r$   c                 ó   — t        «       S rE   r¢  rÀ   s    r"   ÚatomszAbstractBoxerDrs.atoms  ó	   € Ü‹uˆr$   c                 ó   — | S rE   rF   rÀ   s    r"   ÚcleanzAbstractBoxerDrs.clean  ó   € Øˆr$   c                 óF   — |j                  dd«      j                  dd«      S )Nú-r1  r]   )r8  )r   r}   s     r"   Ú_clean_namezAbstractBoxerDrs._clean_name  s    € Ø�|‰|˜C Ó%×-Ñ-¨c°3Ó7Ð7r$   c                 ó   — | S rE   rF   ©r   rs   s     r"   Úrenumber_sentencesz#AbstractBoxerDrs.renumber_sentences  r¨  r$   c                 ó   — t        | › «      S rE   )ÚhashrÀ   s    r"   Ú__hash__zAbstractBoxerDrs.__hash__  s   € Ü�t�f‹Ðr$   N)r°   r±   r²   r˜  r   r—  r¤  r§  r«  r®  r±  rF   r$   r"   r”  r”  í  s+   „ òTòò%òòò8òór$   r”  c                   óV   — e Zd Zd
d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
ej                  Zy)rR  Nc                 óX   — t         j                  | «       || _        || _        || _        y rE   )r”  r#   rS  rë   Ú
consequent)r   rS  rë   r´  s       r"   r#   zBoxerDrs.__init__  s%   € Ü×!Ñ! $Ô'ØˆŒ	ØˆŒ
Ø$ˆ�r$   c                 óZ  — t        «       t        «       t        «       f}| j                  D ]5  }t        ||j                  «       «      D ]  \  }}|j	                  |«       Œ Œ7 | j
                  �=t        || j
                  j                  «       «      D ]  \  }}|j	                  |«       Œ |S rE   )rO  rë   r`   r—  Úupdater´  )r   r˜  rê   ÚsrŸ  s        r"   r—  zBoxerDrs._variables  s—   € Ü“UœC›E¤3£5Ð)ˆ	Ø—J‘Jò 	ˆDÜ˜I t§¡Ó'8Ó9ò ‘��1Ø—‘˜•ñð	ð �?‰?Ð&Ü˜I t§¡×'AÑ'AÓ'CÓDò ‘��1Ø—‘˜•ðàÐr$   c                 óØ   — t        t        j                  d„ | j                  D «       t	        «       «      }| j
                  �)|j                  | j
                  j                  «       «       |S )Nc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wrE   )r¤  )rG   rê   s     r"   rI   z!BoxerDrs.atoms.<locals>.<genexpr>$  s   è ø€ Ò%J°t d§j¡j§lÑ%Jùs   ‚)r   rK   Úor_rë   rO  r´  r¶  r¤  )r   r¤  s     r"   r¤  zBoxerDrs.atoms#  sH   € Ü”x—|‘|Ñ%J¸t¿z¹zÔ%JÌCËEÓRˆØ�?‰?Ð&Ø�L‰L˜Ÿ™×.Ñ.Ó0Ô1Øˆr$   c                 óÖ   — | j                   r| j                   j                  «       nd }t        | j                  | j                  D �cg c]  }|j                  «       ‘Œ c}|«      S c c}w rE   )r´  r§  rR  rS  rë   )r   r´  r¨   s      r"   r§  zBoxerDrs.clean)  sG   € Ø04·²�T—_‘_×*Ñ*Ô,ÀTˆ
Ü˜Ÿ	™	°t·z±zÖ#B°! A§G¡G¥IÒ#BÀJÓOÐOùÒ#Bs   ÁA&
c           	      óÚ   — | j                   r| j                   j                  |«      nd }t        | j                  | j                  D �cg c]  }|j                  |«      ‘Œ c}|«      S c c}w rE   )r´  r®  rR  rS  rë   )r   rs   r´  r¨   s       r"   r®  zBoxerDrs.renumber_sentences-  sT   € Ø>B¿oºo�T—_‘_×7Ñ7¸Ô:ÐSWˆ
ÜØ�I‰I¸¿¹ÖD°A˜×,Ñ,¨QÕ/ÒDÀjó
ð 	
ùÚDs   ÁA(
c                 óè   — dj                  dj                  d„ | j                  D «       «      dj                  d„ | j                  D «       «      «      }| j                  �d|› d| j                  › d�}|S )Nzdrs([{}], [{}])ú, c              3   ó&   K  — | ]	  }d |z  –— Œ y­w©ú%sNrF   )rG   Úrs     r"   rI   z$BoxerDrs.__repr__.<locals>.<genexpr>5  s   è ø€ Ò2 1�d˜Q•hÑ2ùó   ‚c              3   ó&   K  — | ]	  }d |z  –— Œ y­wrÀ  rF   )rG   r¨   s     r"   rI   z$BoxerDrs.__repr__.<locals>.<genexpr>6  s   è ø€ Ò3 1�d˜Q•hÑ3ùrÃ  zimp(r“   )r‰   r.   rS  rë   r´  )r   r·  s     r"   Ú__repr__zBoxerDrs.__repr__3  sh   € Ø×$Ñ$Ø�I‰IÑ2¨¯	©	Ô2Ó2Ø�I‰IÑ3¨¯
©
Ô3Ó3ó
ˆð �?‰?Ð&Ø�q�c˜˜DŸO™OÐ,¨AÐ.ˆAØˆr$   c                 ó|  — | j                   |j                   k(  xr¢ | j                  |j                  k(  xr‡ t        | j                  «      t        |j                  «      k(  xrZ t	        t
        j                  d„ t        | j                  |j                  «      D «       «      xr | j                  |j                  k(  S )Nc              3   ó,   K  — | ]  \  }}||k(  –— Œ y ­wrE   rF   )rG   Úc1Úc2s      r"   rI   z"BoxerDrs.__eq__.<locals>.<genexpr>B  s   è ø€ ÒT©V¨R°  b¥ÑTùó   ‚)	Ú	__class__rS  rJ   rë   r   rK   rL   r`   r´  ©r   Úothers     r"   Ú__eq__zBoxerDrs.__eq__<  s�   € à�N‰N˜eŸo™oÑ-ò 4Ø—	‘	˜UŸZ™ZÑ'ò4ä�D—J‘J“¤3 u§{¡{Ó#3Ñ3ò4ô Ü—‘ÑT´s¸4¿:¹:ÀuÇ{Á{Ó7SÔTóò4ð —‘ 5×#3Ñ#3Ñ3ð	
r$   c                 ó   — | |k(   S rE   rF   rÌ  s     r"   Ú__ne__zBoxerDrs.__ne__G  ó   € Ø˜5‘=Ð Ð r$   rE   ©r°   r±   r²   r#   r—  r¤  r§  r®  rÅ  rÎ  rÐ  r”  r±  rF   r$   r"   rR  rR    s8   „ ó%òòòPò
òò	
ò!ð  ×(Ñ(�Hr$   rR  c                   óT   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  Zy	)
rü   c                 ó<   — t         j                  | «       || _        y rE   )r”  r#   ri   rý   s     r"   r#   zBoxerNot.__init__N  s   € Ü×!Ñ! $Ô'Øˆ�r$   c                 ó6   — | j                   j                  «       S rE   )ri   r—  rÀ   s    r"   r—  zBoxerNot._variablesR  s   € Ø�x‰x×"Ñ"Ó$Ð$r$   c                 ó6   — | j                   j                  «       S rE   ©ri   r¤  rÀ   s    r"   r¤  zBoxerNot.atomsU  ó   € Ø�x‰x�~‰~ÓÐr$   c                 óH   — t        | j                  j                  «       «      S rE   )rü   ri   r§  rÀ   s    r"   r§  zBoxerNot.cleanX  s   € Ü˜Ÿ™Ÿ™Ó(Ó)Ð)r$   c                 óJ   — t        | j                  j                  |«      «      S rE   )rü   ri   r®  r­  s     r"   r®  zBoxerNot.renumber_sentences[  s   € Ü˜Ÿ™×3Ñ3°AÓ6Ó7Ð7r$   c                 ó    — d| j                   z  S )Nznot(%s)©ri   rÀ   s    r"   rÅ  zBoxerNot.__repr__^  s   € Ø˜DŸH™HÑ%Ð%r$   c                 ój   — | j                   |j                   k(  xr | j                  |j                  k(  S rE   )rË  ri   rÌ  s     r"   rÎ  zBoxerNot.__eq__a  s'   € Ø�~‰~ §¡Ñ0ÒJ°T·X±XÀÇÁÑ5JÐJr$   c                 ó   — | |k(   S rE   rF   rÌ  s     r"   rÐ  zBoxerNot.__ne__d  rÑ  r$   NrÒ  rF   r$   r"   rü   rü   M  s8   „ òò%ò ò*ò8ò&òKò!ð  ×(Ñ(�Hr$   rü   c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  Zd„ Z	y)ÚBoxerIndexedc                 óX   — t         j                  | «       || _        || _        || _        y rE   )r”  r#   r9   rè   ré   )r   r9   rè   ré   s       r"   r#   zBoxerIndexed.__init__k  s'   € Ü×!Ñ! $Ô'Ø(ˆÔØ$ˆŒØ(ˆÕr$   c                 ó   — | hS rE   rF   rÀ   s    r"   r¤  zBoxerIndexed.atomsq  s	   € Øˆvˆr$   c                 ó0  — | j                   |j                   k(  xr| | j                  |j                  k(  xra | j                  |j                  k(  xrF | j                  |j                  k(  xr+ t	        t
        j                  d„ t        | |«      D «       «      S )Nc              3   ó,   K  — | ]  \  }}||k(  –— Œ y ­wrE   rF   )rG   r·  Úos      r"   rI   z&BoxerIndexed.__eq__.<locals>.<genexpr>z  s   è ø€ Ò&K±$°!°Q q¨A¥vÑ&KùrÊ  )rË  r9   rè   ré   r   rK   rL   r`   rÌ  s     r"   rÎ  zBoxerIndexed.__eq__t  sˆ   € à�N‰N˜eŸo™oÑ-ò MØ×!Ñ! U×%7Ñ%7Ñ7òMà—‘ 5×#3Ñ#3Ñ3òMð ×!Ñ! U×%7Ñ%7Ñ7òMô ”x—}‘}Ñ&K¼#¸dÀEÓ:JÔ&KÓLð	
r$   c                 ó   — | |k(   S rE   rF   rÌ  s     r"   rÐ  zBoxerIndexed.__ne__}  rÑ  r$   c           	      óÖ   — dj                  | j                  «       | j                  | j                  dj	                  d„ | j
                  D «       «      «      }| D ]
  }|d|z  z  }Œ |dz   S )Nz{}({}, {}, [{}]r¾  c              3   ó&   K  — | ]	  }d |z  –— Œ y­wrÀ  rF   )rG   Úwis     r"   rI   z(BoxerIndexed.__repr__.<locals>.<genexpr>‡  s   è ø€ Ò< B�d˜R•iÑ<ùrÃ  z, %sr“   )r‰   Ú_predr9   rè   r.   ré   )r   r·  rŸ  s      r"   rÅ  zBoxerIndexed.__repr__‚  sj   € Ø×$Ñ$Ø�J‰J‹LØ×ÑØ�O‰OØ�I‰IÑ<¨$×*;Ñ*;Ô<Ó<ó	
ˆð ò 	ˆAØ�˜!‘‰O‰Að	à�3‰wˆr$   N)
r°   r±   r²   r#   r¤  rÎ  rÐ  r”  r±  rÅ  rF   r$   r"   rà  rà  j  s(   „ ò)òò
ò!ð  ×(Ñ(€Hó	r$   rà  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	r  c                 ól   — t         j                  | |||«       || _        || _        || _        || _        y rE   )rà  r#   rt  r}   r  r  )r   r9   rè   ré   rt  r}   r  r  s           r"   r#   zBoxerPred.__init__�  s2   € Ü×Ñ˜d L°*¸lÔKØˆŒØˆŒ	ØˆŒØˆ�
r$   c                 óB   — | j                   ht        «       t        «       fS rE   ©rt  rO  rÀ   s    r"   r—  zBoxerPred._variables–  ó   € Ø—‘�
œC›E¤3£5Ð)Ð)r$   c           	      óœ   — t        | j                  | j                  | j                  || j                  | j
                  | j                  «      S rE   )r  r9   rè   ré   r}   r  r  rs  s     r"   Ú
change_varzBoxerPred.change_var™  s@   € ÜØ×ÑØ�O‰OØ×ÑØØ�I‰IØ�H‰HØ�J‰Jó
ð 	
r$   c           	      óÎ   — t        | j                  | j                  | j                  | j                  | j                  | j                  «      | j                  | j                  «      S rE   )	r  r9   rè   ré   rt  r«  r}   r  r  rÀ   s    r"   r§  zBoxerPred.clean¤  sO   € ÜØ×ÑØ�O‰OØ×ÑØ�H‰HØ×Ñ˜TŸY™YÓ'Ø�H‰HØ�J‰Jó
ð 	
r$   c           	      óÀ   —  || j                   «      }t        | j                  || j                  | j                  | j
                  | j                  | j                  «      S rE   )rè   r  r9   ré   rt  r}   r  r  )r   rs   Únew_sent_indexs      r"   r®  zBoxerPred.renumber_sentences¯  sN   € Ù˜4Ÿ?™?Ó+ˆÜØ×ÑØØ×ÑØ�H‰HØ�I‰IØ�H‰HØ�J‰Jó
ð 	
r$   c                 óp   — t        | j                  | j                  | j                  | j                  f«      S rE   )Úiterrt  r}   r  r  rÀ   s    r"   Ú__iter__zBoxerPred.__iter__»  s&   € Ü�T—X‘X˜tŸy™y¨$¯(©(°D·J±JÐ?Ó@Ð@r$   c                  ó   — y)Nrà   rF   rÀ   s    r"   rê  zBoxerPred._pred¾  ó   € Ør$   N©
r°   r±   r²   r#   r—  rñ  r§  r®  r÷  rê  rF   r$   r"   r  r  Ž  s&   „ òò*ò	
ò	
ò

òAór$   r  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	r  c                 ól   — t         j                  | |||«       || _        || _        || _        || _        y rE   )rà  r#   rt  r}   r  r  )r   r9   rè   ré   rt  r}   r  r  s           r"   r#   zBoxerNamed.__init__Ã  s2   € Ü×Ñ˜d L°*¸lÔKØˆŒØˆŒ	ØˆŒ	Øˆ�
r$   c                 óB   — | j                   ht        «       t        «       fS rE   rî  rÀ   s    r"   r—  zBoxerNamed._variablesÊ  rï  r$   c           	      óœ   — t        | j                  | j                  | j                  || j                  | j
                  | j                  «      S rE   )r  r9   rè   ré   r}   r  r  rs  s     r"   rñ  zBoxerNamed.change_varÍ  s@   € ÜØ×ÑØ�O‰OØ×ÑØØ�I‰IØ�I‰IØ�J‰Jó
ð 	
r$   c           	      óÎ   — t        | j                  | j                  | j                  | j                  | j                  | j                  «      | j                  | j                  «      S rE   )	r  r9   rè   ré   rt  r«  r}   r  r  rÀ   s    r"   r§  zBoxerNamed.cleanØ  sO   € ÜØ×ÑØ�O‰OØ×ÑØ�H‰HØ×Ñ˜TŸY™YÓ'Ø�I‰IØ�J‰Jó
ð 	
r$   c           	      ó¼   — t        | j                   || j                  «      | j                  | j                  | j
                  | j                  | j                  «      S rE   )r  r9   rè   ré   rt  r}   r  r  r­  s     r"   r®  zBoxerNamed.renumber_sentencesã  sI   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�H‰HØ�I‰IØ�I‰IØ�J‰Jó
ð 	
r$   c                 óp   — t        | j                  | j                  | j                  | j                  f«      S rE   )rö  rt  r}   r  r  rÀ   s    r"   r÷  zBoxerNamed.__iter__î  s&   € Ü�T—X‘X˜tŸy™y¨$¯)©)°T·Z±ZÐ@ÓAÐAr$   c                  ó   — y)Nrá   rF   rÀ   s    r"   rê  zBoxerNamed._predñ  s   € Ør$   Nrú  rF   r$   r"   r  r  Â  s&   „ òò*ò	
ò	
ò	
òBór$   r  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)r  c                 ól   — t         j                  | |||«       || _        || _        || _        || _        y rE   )rà  r#   r  r  râ   r  )r   r9   rè   ré   r  r  râ   r  s           r"   r#   zBoxerRel.__init__ö  s2   € Ü×Ñ˜d L°*¸lÔKØˆŒ	ØˆŒ	ØˆŒØˆ�
r$   c                 óX   — | j                   | j                  ht        «       t        «       fS rE   ©r  r  rO  rÀ   s    r"   r—  zBoxerRel._variablesý  ó    € Ø—‘˜DŸI™IÐ&¬«¬s«uÐ5Ð5r$   c           
      óÎ   — t        | j                  | j                  | j                  | j                  | j
                  | j                  | j                  «      | j                  «      S rE   )	r  r9   rè   ré   r  r  r«  râ   r  rÀ   s    r"   r§  zBoxerRel.clean   sO   € ÜØ×ÑØ�O‰OØ×ÑØ�I‰IØ�I‰IØ×Ñ˜TŸX™XÓ&Ø�J‰Jó
ð 	
r$   c           	      ó¼   — t        | j                   || j                  «      | j                  | j                  | j
                  | j                  | j                  «      S rE   )r  r9   rè   ré   r  r  râ   r  r­  s     r"   r®  zBoxerRel.renumber_sentences  sI   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�I‰IØ�I‰IØ�H‰HØ�J‰Jó
ð 	
r$   c                 óp   — t        | j                  | j                  | j                  | j                  f«      S rE   )rö  r  r  râ   r  rÀ   s    r"   r÷  zBoxerRel.__iter__  s&   € Ü�T—Y‘Y §	¡	¨4¯8©8°T·Z±ZÐ@ÓAÐAr$   c                  ó   — y)Nrâ   rF   rÀ   s    r"   rê  zBoxerRel._pred  ó   € Ør$   N)	r°   r±   r²   r#   r—  r§  r®  r÷  rê  rF   r$   r"   r  r  õ  s!   „ òò6ò	
ò	
òBór$   r  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
rK  c                 óP   — t         j                  | |||«       || _        || _        y rE   )rà  r#   rt  ri   )r   r9   rè   ré   rt  ri   s         r"   r#   zBoxerProp.__init__  s$   € Ü×Ñ˜d L°*¸lÔKØˆŒØˆ�r$   c                 ó¶   — t        t        t        j                  t	        «       t	        «       | j
                  hf| j                  j                  «       «      «      S rE   )ÚtuplerN   rK   rº  rO  rt  ri   r—  rÀ   s    r"   r—  zBoxerProp._variables#  s=   € ÜÜ”—‘œs›u¤c£e¨d¯h©h¨ZÐ8¸$¿(¹(×:MÑ:MÓ:OÓPó
ð 	
r$   c                 ó   — | j                   hS rE   rÜ  rÀ   s    r"   Úreferenced_labelszBoxerProp.referenced_labels(  s   € Ø—‘ˆzÐr$   c                 ó6   — | j                   j                  «       S rE   r×  rÀ   s    r"   r¤  zBoxerProp.atoms+  rØ  r$   c                 ó    — t        | j                  | j                  | j                  | j                  | j
                  j                  «       «      S rE   )rK  r9   rè   ré   rt  ri   r§  rÀ   s    r"   r§  zBoxerProp.clean.  s=   € ÜØ×ÑØ�O‰OØ×ÑØ�H‰HØ�H‰H�N‰NÓó
ð 	
r$   c           	      ó®   — t        | j                   || j                  «      | j                  | j                  | j
                  j                  |«      «      S rE   )rK  r9   rè   ré   rt  ri   r®  r­  s     r"   r®  zBoxerProp.renumber_sentences7  sF   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�H‰HØ�H‰H×'Ñ'¨Ó*ó
ð 	
r$   c                 óD   — t        | j                  | j                  f«      S rE   )rö  rt  ri   rÀ   s    r"   r÷  zBoxerProp.__iter__@  s   € Ü�T—X‘X˜tŸx™xÐ(Ó)Ð)r$   c                  ó   — y)Nrß   rF   rÀ   s    r"   rê  zBoxerProp._predC  rù  r$   N)r°   r±   r²   r#   r—  r  r¤  r§  r®  r÷  rê  rF   r$   r"   rK  rK    s*   „ òò

ò
ò ò
ò
ò*ór$   rK  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)r`  c                 óP   — t         j                  | |||«       || _        || _        y rE   )rà  r#   r  r  )r   r9   rè   ré   r  r  s         r"   r#   zBoxerEq.__init__H  ó$   € Ü×Ñ˜d L°*¸lÔKØˆŒ	Øˆ�	r$   c                 óX   — | j                   | j                  ht        «       t        «       fS rE   r  rÀ   s    r"   r—  zBoxerEq._variablesM  r  r$   c                 ó   — t        «       S rE   r¢  rÀ   s    r"   r¤  zBoxerEq.atomsP  r¥  r$   c                 ó�   — t        | j                   || j                  «      | j                  | j                  | j
                  «      S rE   )r`  r9   rè   ré   r  r  r­  s     r"   r®  zBoxerEq.renumber_sentencesS  ó;   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�I‰IØ�I‰Ió
ð 	
r$   c                 óD   — t        | j                  | j                  f«      S rE   )rö  r  r  rÀ   s    r"   r÷  zBoxerEq.__iter__\  ó   € Ü�T—Y‘Y §	¡	Ð*Ó+Ð+r$   c                  ó   — y)NrÞ   rF   rÀ   s    r"   rê  zBoxerEq._pred_  ó   € Ør$   N)	r°   r±   r²   r#   r—  r¤  r®  r÷  rê  rF   r$   r"   r`  r`  G  s    „ òò
6òò
ò,ór$   r`  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)rG  c                 ó^   — t         j                  | |||«       || _        || _        || _        y rE   )rà  r#   rt  rH  r  )r   r9   rè   ré   rt  rH  r  s          r"   r#   zBoxerCard.__init__d  s+   € Ü×Ñ˜d L°*¸lÔKØˆŒØˆŒ
Øˆ�	r$   c                 óB   — | j                   ht        «       t        «       fS rE   rî  rÀ   s    r"   r—  zBoxerCard._variablesj  rï  r$   c                 ó¦   — t        | j                   || j                  «      | j                  | j                  | j
                  | j                  «      S rE   )rG  r9   rè   ré   rt  rH  r  r­  s     r"   r®  zBoxerCard.renumber_sentencesm  sB   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�H‰HØ�J‰JØ�I‰Ió
ð 	
r$   c                 óZ   — t        | j                  | j                  | j                  f«      S rE   )rö  rt  rH  r  rÀ   s    r"   r÷  zBoxerCard.__iter__w  s    € Ü�T—X‘X˜tŸz™z¨4¯9©9Ð5Ó6Ð6r$   c                  ó   — y)Nrä   rF   rÀ   s    r"   rê  zBoxerCard._predz  rù  r$   N)r°   r±   r²   r#   r—  r®  r÷  rê  rF   r$   r"   rG  rG  c  s   „ òò*ò
ò7ór$   rG  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	rn  c                 óP   — t         j                  | |||«       || _        || _        y rE   )rà  r#   rW  rX  )r   r9   rè   ré   rW  rX  s         r"   r#   zBoxerOr.__init__  r  r$   c                 óª   — t        t        t        j                  | j                  j                  «       | j                  j                  «       «      «      S rE   )r  rN   rK   rº  rW  r—  rX  rÀ   s    r"   r—  zBoxerOr._variables„  s4   € Ü”SœŸ™ t§y¡y×';Ñ';Ó'=¸t¿y¹y×?SÑ?SÓ?UÓVÓWÐWr$   c                 ól   — | j                   j                  «       | j                  j                  «       z  S rE   ©rW  r¤  rX  rÀ   s    r"   r¤  zBoxerOr.atoms‡  ó#   € Ø�y‰y�‰Ó  4§9¡9§?¡?Ó#4Ñ4Ð4r$   c                 ó¼   — t        | j                  | j                  | j                  | j                  j                  «       | j                  j                  «       «      S rE   )rn  r9   rè   ré   rW  r§  rX  rÀ   s    r"   r§  zBoxerOr.cleanŠ  sD   € ÜØ×ÑØ�O‰OØ×ÑØ�I‰I�O‰OÓØ�I‰I�O‰OÓó
ð 	
r$   c                 ó�   — t        | j                   || j                  «      | j                  | j                  | j
                  «      S rE   )rn  r9   rè   ré   rW  rX  r­  s     r"   r®  zBoxerOr.renumber_sentences“  r  r$   c                 óD   — t        | j                  | j                  f«      S rE   )rö  rW  rX  rÀ   s    r"   r÷  zBoxerOr.__iter__œ  r   r$   c                  ó   — y)NrÜ   rF   rÀ   s    r"   rê  zBoxerOr._predŸ  r"  r$   N©
r°   r±   r²   r#   r—  r¤  r§  r®  r÷  rê  rF   r$   r"   rn  rn  ~  s&   „ òò
Xò5ò
ò
ò,ór$   rn  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	r  c                 ól   — t         j                  | |||«       || _        || _        || _        || _        y rE   )rà  r#   r  rW  r  rX  )r   r9   rè   ré   r  rW  r  rX  s           r"   r#   zBoxerWhq.__init__¤  s4   € ô 	×Ñ˜d L°*¸lÔKØ"ˆŒØˆŒ	Ø ˆŒØˆ�	r$   c           	      óè   — t        t        t        j                  | j                  ht        «       t        «       f| j                  j                  «       | j                  j                  «       «      «      S rE   )	r  rN   rK   rº  r  rO  rW  r—  rX  rÀ   s    r"   r—  zBoxerWhq._variables­  sR   € ÜÜÜ—‘Ø—-‘-�¤#£%¬«Ð/Ø—	‘	×$Ñ$Ó&Ø—	‘	×$Ñ$Ó&ó	ó
ð 	
r$   c                 ól   — | j                   j                  «       | j                  j                  «       z  S rE   r-  rÀ   s    r"   r¤  zBoxerWhq.atoms·  r.  r$   c           
      óè   — t        | j                  | j                  | j                  | j                  | j
                  j                  «       | j                  | j                  j                  «       «      S rE   )	r  r9   rè   ré   r  rW  r§  r  rX  rÀ   s    r"   r§  zBoxerWhq.cleanº  sR   € ÜØ×ÑØ�O‰OØ×ÑØ�N‰NØ�I‰I�O‰OÓØ�M‰MØ�I‰I�O‰OÓó
ð 	
r$   c           	      ó¼   — t        | j                   || j                  «      | j                  | j                  | j
                  | j                  | j                  «      S rE   )r  r9   rè   ré   r  rW  r  rX  r­  s     r"   r®  zBoxerWhq.renumber_sentencesÅ  sI   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�N‰NØ�I‰IØ�M‰MØ�I‰Ió
ð 	
r$   c                 óš   — t        ddj                  | j                  «      z   dz   | j                  | j                  | j
                  f«      S )Nr•   r�   r–   )rö  r.   r  rW  r  rX  rÀ   s    r"   r÷  zBoxerWhq.__iter__Ð  s>   € ÜØ�3—8‘8˜DŸN™NÓ+Ñ+¨cÑ1°4·9±9¸d¿m¹mÈTÏYÉYÐWó
ð 	
r$   c                  ó   — y)Nrå   rF   rÀ   s    r"   rê  zBoxerWhq._predÕ  r  r$   Nr3  rF   r$   r"   r  r  £  s%   „ òò
ò5ò	
ò	
ò
ó
r$   r  c                   ó   — e Zd Zd„ Zy)ÚPassthroughBoxerDrsInterpreterc                 ó   — |S rE   rF   )r   Úexs     r"   r=   z(PassthroughBoxerDrsInterpreter.interpretÚ  s   € Øˆ	r$   N)r°   r±   r²   r=   rF   r$   r"   r=  r=  Ù  s   „ ór$   r=  c                   ó&   — e Zd Zdd„Zd„ Zd„ Zd„ Zy)r   c                 ó   — || _         y rE   )Ú_occur_index)r   Úoccur_indexs     r"   r#   z#NltkDrtBoxerDrsInterpreter.__init__ß  s
   € Ø'ˆÕr$   c           	      óf  — t        |t        «      r‚t        |j                  D �cg c]  }t	        |«      ‘Œ c}t        t        | j                  |j                  «      «      «      }|j                  � | j                  |j                  «      |_	        |S t        |t        «      r$t        | j                  |j                  «      «      S t        |t        «      rG| j                  |j                  › d|j                   › �|«      }| j#                  ||j$                  «      S t        |t&        «      rH| j                  d|j(                  › d|j                   › �|«      }| j#                  ||j$                  «      S t        |t*        «      rF| j                  d|j,                  z  |«      }| j#                  ||j.                  |j0                  «      S t        |t2        «      r8t5        t	        |j$                  «      | j                  |j                  «      «      S t        |t6        «      rDt9        t;        t	        |j.                  «      «      t;        t	        |j0                  «      «      «      S t        |t<        «      rH| j                  d|j(                  › d|j>                  › �|«      }| j#                  ||j$                  «      S t        |t@        «      r>tC        | j                  |jD                  «      | j                  |jF                  «      «      S t        |tH        «      rp| j                  |jD                  «      }| j                  |jF                  «      }t        |j                  |j                  z   |j                  |j                  z   «      S J |jJ                  jL                  › d|› �«       ‚c c}w )zT
        :param ex: ``AbstractBoxerDrs``
        :return: ``DrtExpression``
        r1  Úne_rÁ  Úcard_z: )'Ú
isinstancerR  r   rS  r   rM   rN   r=   rë   r´  rü   r
   ri   r  Ú_add_occur_indexingr  r}   rA  rt  r  r  r  râ   r  r  rK  r   r`  r	   r   rG  rH  rn  r   rW  rX  r  rË  r°   )r   r?  rÂ  ri   rà   rW  rX  s          r"   r=   z$NltkDrtBoxerDrsInterpreter.interpretâ  s®  € ô
 �bœ(Ô#ÜØ&(§g¡gÖ. ”˜!•Ò.´´S¸¿¹ÈÏÉÓ5RÓ0SóˆCð �}‰}Ð(Ø!%§¡°·±Ó!>�”ØˆJÜ˜œHÔ%Ü'¨¯©°r·v±vÓ(>Ó?Ð?Ü˜œIÔ&Ø×+Ñ+¨r¯v©v¨h°a¸¿¹°yÐ,AÀ2ÓFˆDØ—?‘? 4¨¯©Ó0Ð0Ü˜œJÔ'Ø×+Ñ+¨c°"·'±'°¸!¸B¿G¹G¸9Ð,EÀrÓJˆDØ—?‘? 4¨¯©Ó0Ð0Ü˜œHÔ%Ø×+Ñ+¨D°B·F±F©O¸RÓ@ˆDØ—?‘? 4¨¯©°"·'±'Ó:Ð:Ü˜œIÔ&Ü!¤(¨2¯6©6Ó"2°D·N±NÀ2Ç6Á6Ó4JÓKÐKÜ˜œGÔ$Ü(Ü%¤h¨r¯w©wÓ&7Ó8Ü%¤h¨r¯w©wÓ&7Ó8óð ô ˜œIÔ&Ø×+Ñ+¨e°B·G±G°9¸A¸b¿h¹h¸ZÐ,HÈ"ÓMˆDØ—?‘? 4¨¯©Ó0Ð0Ü˜œGÔ$Ü" 4§>¡>°"·'±'Ó#:¸D¿N¹NÈ2Ï7É7Ó<SÓTÐTÜ˜œHÔ%Ø—>‘> "§'¡'Ó*ˆDØ—>‘> "§'¡'Ó*ˆDÜ�t—y‘y 4§9¡9Ñ,¨d¯j©j¸4¿:¹:Ñ.EÓFÐFØ6˜Ÿ™×.Ñ.Ð/¨r°"°Ð6Ó6ˆuùòA /s   ¤N.c           	      óx   — t        t        |«      «      }|D ]   }t        |t        t        |«      «      «      }Œ" |S rE   )r   r   r   )r   rà   ra   rÐ   r   s        r"   rA  z%NltkDrtBoxerDrsInterpreter._make_atom  s?   € Ü%¤h¨t£nÓ5ˆØò 	ˆCÜ,ØÔ,¬X°c«]Ó;ó‰Eð	ð ˆr$   c                 óÒ   — | j                   rZ|j                  �N|j                  r|d|j                  z  z  }|d|j                  z  z  }|dt        |j                  «      d   z  z  }|S )Nz_%sz_s%sz_w%sr   )rB  rè   r9   Úsortedré   )r   Úbaser?  s      r"   rH  z.NltkDrtBoxerDrsInterpreter._add_occur_indexing  sc   € Ø×Ò §¡Ð!:Ø�ŠØ˜ §¡Ñ/Ñ/�Ø�F˜RŸ]™]Ñ*Ñ*ˆDØ�FœV B§O¡OÓ4°QÑ7Ñ7Ñ7ˆDØˆr$   Nr¯   )r°   r±   r²   r#   r=   rA  rH  rF   r$   r"   r   r   Þ  s   „ ó(ò'7òRór$   r   c                   ó   — e Zd Zy)ÚUnparseableInputExceptionN)r°   r±   r²   rF   r$   r"   rN  rN    s   „ Ør$   rN  Ú__main__zusage: %prog TEXT [options]z	--verbosez-vzdisplay verbose logsÚ
store_trueFr    )ÚhelpÚactionÚdefaultÚdestz--folz-fz
output FOLÚfolz
--questionz-qzinput is a questionr:   z--occurz-ozoccurrence indexrC  r’   zincorrect number of arguments)rC  z\n)r:   r    )Cr³   rK   r+   rq  rƒ   rl   Ú	functoolsr   Úoptparser   Únltk.internalsr   Únltk.sem.drtr   r   r	   r
   r   r   r   r   r   Únltk.sem.logicr   r   r   r   r   r¬   rz  r”  rR  rü   rà  r  r  r  rK  r`  rG  rn  r  r=  r   r6   rN  r°   ÚoptsÚ
add_optionÚ
parse_argsÚoptionsra   rJ   ÚerrorrC  Úinterpreterr?   r˜   r:   r    ri   r‚   ÚsimplifyÚeliminate_equalityrU  Ú	normalizeÚpretty_printrF   r$   r"   ú<module>re     sŽ  ðñó* Û 	Û 	Û Û Ý Ý !å &÷
÷ 
õ 
÷ó ÷VYñ VYôrO*˜9ô O*ôdDT�Yô DT÷N"ñ "ôJ8)Ðô 8)ôv)Ðô )ô:!Ð#ô !ôH1�ô 1ôh0�ô 0ôf%ˆ|ô %ôP'�ô 'ôTˆlô ô8�ô ô6"ˆlô "ôJ3ˆ|ô 3÷lñ ÷
;ñ ;ô|	 	ô 	ð ˆzÓÙÐ5Ó6€DØ‡O�OØØØ#ØØØð ô ð 	‡O�OØ�˜L°ÀuÐSXð ô ð 	‡O�OØØØ"ØØØð ô ð 	‡O�OØØØØØØð ô ð —o‘oÓ'�O€Wˆdá
ˆ4ƒy�A‚~Ø�
‰
Ð2Ô3á,¸×9LÑ9LÔM€KÙ
�Ó
×
,Ñ
,ØˆQ‰�‰�eÓ w×'7Ñ'7ÀÇÁð -ó €Cð €{Ùˆd�à�l‰l‹n×/Ñ/Ó1ˆØ�;Š;Ù�#—'‘'“)×%Ñ%Ó'Õ(à×ÑÕð[ r$   