+
    ÖÇÜhìÑ  ã            	       óò  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHtHtHtHtHtHtHtHtHt ^ RIHtHtHtHt  ! R R4      t ! R	 R
]4      t ! R R]4      t ! R R4      t ! R R]4      t ! R R]4      t  ! R R]4      t! ! R R]!4      t" ! R R]!4      t# ! R R]!4      t$ ! R R]!4      t% ! R R]!4      t& ! R R ]!4      t' ! R! R"]!4      t( ! R# R$]!4      t) ! R% R&4      t* ! R' R(4      t+ ! R) R*],4      t-].R+8X  Edc   ]	! R,4      t/]/Pa                  R-R.R/R0R1R2R37       ]/Pa                  R4R5R6R0R1R7R37       ]/Pa                  R8R9R:R0R1R;R37       ]/Pa                  R<R=R>R0R1R?R37       ]/Pc                  4       w  t2t3]4! ]34      ^8w  d   ]/Pk                  R@4       ]+! ]2Pl                  RA7      t7]! ]74      Pq                  ]3^ ,          Ps                  RB4      ]2Pt                  ]2Pv                  RC7      t<]<f   ]=! R4       R# ]<P}                  4       P                  4       t<]2P€                  '       d'   ]=! ]<P�                  4       Pƒ                  4       4       R# ]<P…                  4        R# R# )Da€  
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                   ó˜   a € ] tR t^;t o RtRR ltRR ltRR ltRR ltRR lt	RR	 lt
RR
 ltRR ltRR lt. R3R ltR tR tRtV tR# )ÚBoxerz”
This class is an interface to Johan Bos's program Boxer, a wide-coverage
semantic parser that produces Discourse Representation Structures (DRSs).
NFc                óh   € Vf   \        4       pWn        WPn        W n        V P	                  W44       R# )aj  
: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   &&&&&&Ú0/usr/lib/python3/dist-packages/nltk/sem/boxer.pyÚ__init__ÚBoxer.__init__A   s1   € ð& !Ò(Ü$>Ó$@Ð!Ø&;Ô#àŒØŒà×Ñ˜Ö*ó    c                ó   € V P                  R W4      V n        \        P                  P	                  \        P                  P                  V P                  RR R4      4      V n        V P                  RW4      V n        R# )ÚcandcNz	../modelsÚboxeréûÿÿÿ)Ú_find_binaryÚ
_candc_binÚosÚpathÚnormpathÚjoinÚ_candc_models_pathÚ
_boxer_bin)r   r   r   s   &&&r!   r   ÚBoxer.set_bin_dir]   s`   € Ø×+Ñ+¨G°WÓFˆŒÜ"$§'¡'×"2Ñ"2Ü�G‰G�L‰L˜Ÿ™¨¨"Ð-¨{Ó;ó#
ˆÔð ×+Ñ+¨G°WÓFˆŽr$   c                ót   € Ve   V.MRpV P                  V..WSV4      w  pV'       g   \        RV R24      hV# )a  
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!   Ú	interpretÚBoxer.interpretd   sI   € ð +7Ò*B˜™ÈˆØ×)Ñ)¨E¨7¨)°]ÈgÓV‰ˆßÜÐ4°U°G¸1Ð=Ó>Ð>Øˆr$   c                ór   € Ve   V.MRpV P                  V.WSV4      w  pV'       g   \        RV R24      hV# )a8  
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``
Nr3   r4   r5   r8   s   &&&&&  r!   Úinterpret_multiÚBoxer.interpret_multis   sG   € ð +7Ò*B˜™ÈˆØ×)Ñ)¨5¨'°=ÈGÓT‰ˆßÜÐ4°U°G¸1Ð=Ó>Ð>Øˆr$   c                óR   € T P                  V Uu. uF  qU.NK  	  upW#V4      # u upi )aK  
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``
)r6   )r   Úinputsr<   r;   r   r9   s   &&&&& r!   Úinterpret_sentsÚBoxer.interpret_sents‚   s0   € ð ×)Ñ)Ù"(Ó)¡&˜‹W¡&Ñ)¨=ÀGó
ð 	
ùÚ)s   �$c           
     óª  € VeH   \        V4      \        V4      8X  g   Q h\        \        P                  R V 4       4      '       g   Q hRpM-\	        \        \        \        \        V4      4      4      4      pRpV P                  WW4R7      pV P                  WdR7      pV P                  Wu4      pV U	u. uF  q˜P                  V	R4      NK  	  up	# u up	i )a3  
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   ó(   "  € T F  qR Jx € K
  	  R # 5i©N© )Ú.0Úids   & r!   Ú	<genexpr>Ú.Boxer.interpret_multi_sents.<locals>.<genexpr>ž   s   é € Ð)QÁ=¸R°D­.Ã=ùs   ‚TF)r   )Úlenr   ÚoperatorÚand_ÚlistÚmapÚstrÚrangeÚ_call_candcÚ_call_boxerÚ_parse_to_drs_dictÚget)
r   rD   r<   r;   r   Úuse_disc_idÚ	candc_outÚ	boxer_outÚdrs_dictrL   s
   &&&&&     r!   r6   ÚBoxer.interpret_multi_sents‘   s½   € ð Ò$Ü�v“;¤# mÓ"4Ô4Ð4Ð4Üœ(Ÿ-™-Ñ)QÁ=Ó)Q×RÒRÐRÐRØ‰Kä ¤¤S¬%´°F³Ó*<Ó!=Ó>ˆMØˆKà×$Ñ$ V¸HÐ$ÓVˆ	Ø×$Ñ$ YÐ$Ó@ˆ	ð
 ×*Ñ*¨9ÓBˆÙ1>Ó?±¨2—‘˜R Ö&±Ñ?Ð?ùÒ?s   Â3Cc                óþ   € R\         P                  P                  V P                  RR.V,          4      RR.pV P	                  RP                  \        R \        W4       4       . 4      4      V P                  VV4      # )a  
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   óB   "  € T F  w  rR V R2.V,           x € K  	  R# 5i)z<META>'Ú'NrJ   )rK   r=   rL   s   &  r!   rM   Ú$Boxer._call_candc.<locals>.<genexpr>¿   s'   é € ÐSÑ8R©u¨q˜ ˜t 1�oÐ&¨×*Ò*Ó8Rùs   ‚)r+   r,   r.   r/   Ú_callÚsumÚzipr*   )r   rD   r<   r;   r   Úargss   &&&&& r!   rV   ÚBoxer._call_candc­   s|   € ð Ü�G‰G�L‰L˜×0Ñ0°7¸KÐ2HÈÕ2RÓSØØð	
ˆð �z‰zØ�I‰IÜÙS¼¸FÔ8RÓSØóóð �O‰OØØó

ð 
	
r$   c                óî  € Rp \         P                  ! RRRR7      w  rE\        P                  ! VR4      pVP	                  VP                  R4      4       V'       d   VP                  4        RR	R
RRR	R.T P                  ,          RR	R.T P                  ,          RRRRRT.pT P                  RT P                  Yb4      p\        P                  ! T4       T#   T'       d   TP                  4        i i ; i)zo
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   re   r0   Úremove)r   r[   r   ÚfÚfdÚtemp_filenamerh   Ústdouts   &&&     r!   rW   Ú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 ÃC4c           	     ó6   € \        VVR .RWR,           .VR7      # )Ú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)   ÚBoxer._find_binaryï   s*   € ÜØØØ�YØ;Ø v¥Ð.Øô
ð 	
r$   c                ó(  € V'       dN   \        RV4       \        RV4       \        RV4       \        RVR,           RP                  V4      ,           4       VfA   V.V,           p\        P                  ! V\        P                  \        P                  R7      pMWRP                  WRP                  V4      4      p\        P                  ! V\        P                  \        P                  RR	7      pVP                  4       w  rxV'       dA   \        R
VP                  4       V'       d   \        RVR4       V'       d   \        RVR4       VP                  ^ 8w  d7   \        RP                  VRP                  V4      VP                  V4      4      hV# )zÖ
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:Ú )r~   Ústderrzecho "{}" | {} {}T)r~   rŠ   ÚshellzReturn code:zstdout:
ra   zstderr:
z&ERROR CALLING: {} {}
Returncode: {}
{})	Úprintr.   Ú
subprocessÚPopenÚPIPEÚformatÚcommunicateÚ
returncoder7   )	r   Ú	input_strÚbinaryrh   r   ÚcmdÚpr~   rŠ   s	   &&&&&    r!   re   ÚBoxer._callù   s+  € ÷ Ü�*˜fÔ%Ü�'˜4Ô Ü�(˜IÔ&Ü�*˜f s�l¨S¯X©X°d«^Õ;Ô<ð ÒØ�(˜T•/ˆCÜ× Ò  ¬Z¯_©_ÄZÇ_Á_ÔU‰Aà%×,Ñ,¨YÀÇÁÈÃÓOˆCÜ× Ò ØœJŸO™O´J·O±OÈ4ôˆAð Ÿ™›‰ˆçÜ�. !§,¡,Ô/ßÜ�k 6¨4Ô0ßÜ�k 6¨4Ô0Ø�<‰<˜1ÔÜØ:×AÑAØ˜CŸH™H T›N¨A¯L©L¸&óóð ð ˆr$   c                óÔ  € VP                  R 4      P                  R4      p/ p^ pV\        V4      8  Ed³   W5,          pVP                  R4      '       Ed‡   VP	                  R4      pV^V pV^ ,          R8X  d   VR,          R8X  d   V^R pWg^,           VP	                  R4       p	V^,          pW5,          pVP                  RV	 R24      '       g   Q hVRR R8X  d   VRR R	,           pVP                  R	4      '       g   Q R
V 24       h\        RV	 R24      p
^pRp\        WjR 4       Fb  w  rÞVR8X  d
   V^,          pVR8X  g   K  V^,          pV^ 8X  g   K0  W­,           ^,           pWlV^,            R8X  d   V^,           pM	V^,           p M	  VR8”  g   Q hWlR P                  4       pV P                  WøV4      pV P                  P                  V4      WH&   V^,          pEKÃ  V# )ro   ra   zid(Ú,rc   Ú)zsem(Nz').'z).zcan't parse line: z,[Ú[Ú]z','éÿÿÿÿéüÿÿÿéþÿÿÿ)rx   ÚsplitrO   Ú
startswithÚindexÚendswithÚ	enumerateÚstripÚ
_parse_drsr   r>   )r   r\   rZ   Úlinesr]   ÚiÚlineÚ	comma_idxr:   Údrs_idÚsearch_startÚbrace_countÚ	drs_startÚjÚcÚ	drs_inputÚparseds   &&&              r!   rX   Ú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Ø¨!�m¨d¯j©j¸«oÐ>�Ø�Q•�Ø•x�Ø—‘¨¨f¨X°QÐ'7×8Ò8Ð8Ð8Ø˜˜�9 Ô&Ø  ˜9 tÕ+�DØ—}‘} T×*Ò*ÐGÐ.@ÀÀÐ,GÓGÐ*ä" T¨&¨°Ð#4Ó5�Ø�Ø�	Ü% d¨=Ð&9Ö:‘D�AØ˜C”xØ# qÕ(˜Ø˜C–xØ# qÕ(˜Ø&¨!Ö+Ø(4Õ(8¸1Õ(<˜IØ#°	¸AµÐ>À%ÔGØ,5¸­M¡	à,5¸­M 	Ù!ñ ;ð ! 2”~Ð%�~à ¨2Ð.×4Ñ4Ó6�	ØŸ™¨À+ÓN�Ø)-×)DÑ)D×)NÑ)NÈvÓ)V�Ñ&Ø��F‹AØˆr$   c                óH   € \        R V.V,          4      P                  V4      # rI   )ÚBoxerOutputDrsParserÚparse)r   Ú
drs_stringr:   rZ   s   &&&&r!   r¦   ÚBoxer._parse_drsL  s"   € Ü# T¨<Ð$8¸Õ$EÓF×LÑLÈZÓXÐXr$   )r0   r   r*   r/   r   r   )NFNFT©F)NFF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r"   r   r>   rA   rE   r6   rV   rW   r)   re   rX   r¦   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r!   r   r   ;   sY   ø‡ € ñô
+ô8Gôôô
ô@ô8
ô6%ôN
ð -/¸ô 'òR(÷TYð Yr$   r   c                   óâ   a € ] tR tRt o R#R ltR#R ltR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R  t!R! t"R"t#V t$R# )$rµ   iP  Nc                ó\   € \         P                  ! V 4       Wn        RV n        R.V n        R# )zb
This class is used to parse the Prolog DRS output from Boxer into a
hierarchy of python objects.
N)rc   rc   Ú\F)r   r"   r:   Úsentence_id_offsetÚquote_chars©r   r:   s   &&r!   r"   ÚBoxerOutputDrsParser.__init__Q  s+   € ô
 	×Ò˜4Ô Ø(ÔØ"&ˆÔØ3Ð4ˆÖr$   c                ó0   € \         P                  ! WV4      # rI   )r   r¶   )r   ÚdataÚ	signatures   &&&r!   r¶   ÚBoxerOutputDrsParser.parse[  s   € Ü�Š˜t¨9Ó5Ð5r$   c                ó
   € . RO# )Ú()rÏ   rš   r™   r›   rœ   Ú:rJ   ©r   s   &r!   Úget_all_symbolsÚ$BoxerOutputDrsParser.get_all_symbols^  s   € Ú-Ð-r$   c                ó$   € V P                  V4      # rI   )Ú
handle_drs)r   ÚtokÚcontexts   &&&r!   ÚhandleÚBoxerOutputDrsParser.handlea  s   € Ø�‰˜sÓ#Ð#r$   c                ó   € V# rI   rJ   ©r   Ú
expressionr×   s   &&&r!   Úattempt_adjunctsÚ%BoxerOutputDrsParser.attempt_adjunctsd  ó   € ØÐr$   c                óf   € V P                  4       pV P                  W!4      pVf   \        V4      hV# )z;
Parse a DRS condition

:return: list of ``DrtExpression``
)ÚtokenÚhandle_conditionr   )r   ÚindicesrÖ   Úaccums   &&  r!   Úparse_conditionÚ$BoxerOutputDrsParser.parse_conditiong  s4   € ð �j‰j‹lˆØ×%Ñ% cÓ3ˆØŠ=Ü*¨3Ó/Ð/Øˆr$   c                óØ   € VR 8X  d   V P                  4       # VR9   d#   V P                  V P                  4      ! R. 4      # VR9   d#   V P                  V P                  4      ! R. 4      # R# )rq   N)ÚmergeÚsmerge)Úalfa)Ú	parse_drsÚ_handle_binary_expressionÚ_make_merge_expressionÚ_handle_alfa)r   rÖ   s   &&r!   rÕ   ÚBoxerOutputDrsParser.handle_drss  sh   € Ø�%Œ<Ø—>‘>Ó#Ð#ØÐ'Ô'Ø×1Ñ1°$×2MÑ2MÔNÈtÐUWÓXÐXØ�HŒ_Ø×$Ñ$ T×%@Ñ%@ÔAÀ$ÈÓKÐKñ r$   c                óÔ  a€ VR8X  d   V P                  4       .# VR8X  d   V P                  V P                  4      .oEMVR8X  d   V P                  V P                  4      .oMâVR8X  d   V P	                  4       .oMÉVR8X  d   V P                  4       .oM°VR8X  d   V P                  4       .oM—VR8X  d   V P                  4       .oM~VR8X  d   V P                  4       .oMeVR	8X  d   V P                  4       oMMVR
8X  d   V P                  4       .oM4VR8X  d   V P                  4       .oMVR8X  d   V P                  4       .oM. o\        V3R lV P                  V4       4       . 4      # )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   ó`   <"  € T F  w  rS Uu. uF
  q3! W4      NK  	  upx € K   	  R # u upi 5irI   rJ   )rK   Ú
sent_indexÚword_indicesÚcondÚcondss   &   €r!   rM   Ú8BoxerOutputDrsParser.handle_condition.<locals>.<genexpr>¢  s6   øé € ð á0TÑ,�Jñ =BÓB¹E°D��jÖ/¹EÖBÛ0Tùò Cù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_duplexrf   Ú_sent_and_word_indices)r   rÖ   rã   r  s   &&&@r!   râ   Ú%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                óº   € V P                  V P                  4       R 4       V P                  R4      pV P                  V P                  4       R4       \        V4      # )rÏ   Nrš   )ÚassertTokenrá   Úprocess_next_expressionÚBoxerNot©r   rq   s   & r!   r  Ú BoxerOutputDrsParser._handle_not©  sH   € Ø×Ñ˜Ÿ™› sÔ+Ø×*Ñ*¨4Ó0ˆØ×Ñ˜Ÿ™› sÔ+Ü˜‹}Ðr$   c                óö  a aaaa€ S P                  S P                  4       R 4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       \        S P                  4       4      oS P                  S P                  4       R4       VVV VV3R lpV# )rÏ   r™   rš   c           	      ó8   <€ \        SP                  WSSSS4      # rI   ©Ú	BoxerPredr:   )rþ   rÿ   r†   Úposr   ÚsenseÚvariables   &&€€€€€r!   Ú_handle_pred_fÚ9BoxerOutputDrsParser._handle_pred.<locals>._handle_pred_f»  s$   ø€ ÜØ×!Ñ! :¸XÀtÈSÐRWóð r$   ©r  rá   Úparse_variableÚint)r   r  r†   r  r  r  s   f @@@@r!   r  Ú!BoxerOutputDrsParser._handle_pred¯  s·   ü€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ü�D—J‘J“LÓ!ˆØ×Ñ˜Ÿ™› sÔ+÷	ñ 	ð
 Ðr$   c                ó  a aaaa€ S P                  S P                  4       R 4       . oS P                  S P                  4       R4       S P                  S P                  4       R4       S P                  R4      oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       S P                  R4      oS P                  S P                  4       R4       VVVVV 3R l# )rÏ   rû   r™   Nrš   c           	      ó8   <€ \        SP                  WSSSS4      # rI   ©ÚBoxerWhqr:   ©rþ   rÿ   Ú	ans_typesÚd1Úd2Úrefr   s   &&€€€€€r!   Ú<lambda>Ú5BoxerOutputDrsParser._handle_duplex.<locals>.<lambda>ß  ó   ø€ ´Ø×Ñ˜z¸ÀBÈÈRô1
r$   )r  rá   r  r!  )r   r)  r*  r+  r,  s   f@@@@r!   r  Ú#BoxerOutputDrsParser._handle_duplexÂ  sË   ü€ à×Ñ˜Ÿ™› sÔ+àˆ	ð" 	×Ñ˜Ÿ™› uÔ-Ø×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+Ø×!Ñ!Ó#ˆØ×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 
ð 	
r$   c                óà  a aaaa€ S P                  S P                  4       R 4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       VV VVV3R l# )rÏ   r™   rš   c           	      ó8   <€ \        SP                  WSSSS4      # rI   )Ú
BoxerNamedr:   )rþ   rÿ   r†   r   r  Útyper  s   &&€€€€€r!   r-  Ú4BoxerOutputDrsParser._handle_named.<locals>.<lambda>î  s   ø€ ´
Ø×Ñ˜z¸À4ÈÈuô1
r$   ©r  rá   r!  )r   r†   r  r4  r  s   f@@@@r!   r	  Ú"BoxerOutputDrsParser._handle_namedã  s¯   ü€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø—
‘
“ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 
ð 	
r$   c                óò  a aaaa€ S P                  S P                  4       R 4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       \        S P                  4       4      oS P                  S P                  4       R4       VV VVV3R l# )rÏ   r™   rš   c           	      ó8   <€ \        SP                  WSSSS4      # rI   )ÚBoxerRelr:   )rþ   rÿ   rø   r   r  Úvar1Úvar2s   &&€€€€€r!   r-  Ú2BoxerOutputDrsParser._handle_rel.<locals>.<lambda>ý  s   ø€ ´Ø×Ñ˜z¸¸tÀSÈ%ô1
r$   r   )r   rø   r  r;  r<  s   f@@@@r!   r
  Ú BoxerOutputDrsParser._handle_relò  s·   ü€ à×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+Ø�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ü�D—J‘J“LÓ!ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 
ð 	
r$   c                ó  € V P                  V P                  4       R 4       V P                  4       pV P                  V P                  4       R4       V P                  V4      pV P                  V P                  4       R4       V# )rÏ   r™   rš   )r  rá   r!  Ú_handle_time_expression)r   ÚargÚ	new_condss   &  r!   r  Ú"BoxerOutputDrsParser._handle_timex  sh   € à×Ñ˜Ÿ™› sÔ+Ø×!Ñ!Ó#ˆØ×Ñ˜Ÿ™› sÔ+Ø×0Ñ0°Ó5ˆ	Ø×Ñ˜Ÿ™› sÔ+ØÐr$   c                ój  a aa€ S P                  4       oS P                  S P                  4       R 4       SR8X  d   S P                  S4      pMSR8X  d   S P                  S4      pMR# S P                  S P                  4       R4       R pVV V3R l.V Uu. uF
  qC! V4      NK  	  up,           # u upi )rÏ   ÚdateÚtimeNrš   c                 ó   a € V 3R  l# )c                 ó   <€ S# rI   rJ   )rþ   rÿ   Úxs   &&€r!   r-  ÚPBoxerOutputDrsParser._handle_time_expression.<locals>.func_gen.<locals>.<lambda>  s   ø€ ±Ar$   rJ   )rI  s   fr!   Úfunc_genÚ>BoxerOutputDrsParser._handle_time_expression.<locals>.func_gen  s	   ø€ Ü5Ð5r$   c           	      ó8   <€ \        SP                  WSSR ^ 4      # )Únr  )rþ   rÿ   rA  r   rÖ   s   &&€€€r!   r-  Ú>BoxerOutputDrsParser._handle_time_expression.<locals>.<lambda>  s   ø€ ¬YØ×!Ñ! :¸SÀ#ÀsÈAô.r$   )rá   r  Ú_handle_dateÚ_handle_time)r   rA  r  rK  r   rÖ   s   ff   @r!   r@  Ú,BoxerOutputDrsParser._handle_time_expression
  s¡   ú€ à�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ø�&Œ=Ø×%Ñ% cÓ*‰EØ�FŒ]Ø×%Ñ% cÓ*‰EáØ×Ñ˜Ÿ™› sÔ+ò	6öð
ñ ).Ó.© ˆX�dŽ^©Ñ.õ	/ð 	/ùò /s   ÂB0c                ó˜  € . pV P                  V P                  4       4      w  w  r4V P                  V P                  4       R 4       V P                  4       pV P                  V P                  4       R4       VP	                  \        V P                  VVVRV 2R^ 4      4       V P                  V P                  4       R4       V P                  V P                  4       4      w  w  r4V P                  4       pVR8w  d@   VP                  RR4      pVP	                  \        V P                  VVVRV 2R^ 4      4       V P                  V P                  4       R4       V P                  V P                  4       4      w  w  r4V P                  4       pVR	8w  d.   VP	                  \        V P                  VVVR
V 2R^ 4      4       V P                  V P                  4       R4       V P                  V P                  4       4      w  w  r4V P                  4       pVR	8w  d.   VP	                  \        V P                  VVVRV 2R^ 4      4       V# )rÏ   rš   Ú	date_pol_Úar™   ÚXXXXrÐ   Ú_Ú
date_year_ÚXXÚdate_month_Ú	date_day_)r  Ú_parse_index_listr  rá   Úappendr  r:   Úreplace)	r   rA  r  rþ   rÿ   ÚpolÚyearÚmonthÚdays	   &&       r!   rP  Ú!BoxerOutputDrsParser._handle_date  s;  € àˆØ(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*ð 	×Ñ˜Ÿ™› sÔ+Ø�j‰j‹lˆØ×Ñ˜Ÿ™› sÔ+Ø�‰ÜØ×!Ñ!ØØØØ˜C˜5Ð!ØØóô
	
ð 	×Ñ˜Ÿ™› sÔ+à(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*ð �z‰z‹|ˆØ�6Œ>Ø—<‘<  SÓ)ˆDØ�L‰LÜØ×%Ñ%ØØ ØØ   Ð'ØØóô
ð 	×Ñ˜Ÿ™› sÔ+à(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*ð —
‘
“ˆØ�DŒ=Ø�L‰LÜØ×%Ñ%ØØ ØØ! % Ð)ØØóô
ð 	×Ñ˜Ÿ™› sÔ+à(,×(CÑ(CØ×"Ñ"Ó$ó)
Ñ%Ñ	#ˆ*ð �j‰j‹lˆØ�$Œ;Ø�L‰LÜØ×%Ñ%ØØ ØØ ˜uÐ%ØØóô
ð ˆr$   c                ó:  € . pV P                  4        V P                  4       pVR 8w  d"   VP                  V P                  RW4      4       V P	                  V P                  4       R4       V P                  4        V P                  4       pVR 8w  d"   VP                  V P                  RW4      4       V P	                  V P                  4       R4       V P                  4        V P                  4       pVR 8w  d"   VP                  V P                  RW4      4       V# )rY  Úr_hour_2r™   Úr_min_2Úr_sec_2)r\  rá   r]  Ú
_make_atomr  )r   rA  r  ÚhourÚminÚsecs   &&    r!   rQ  Ú!BoxerOutputDrsParser._handle_timem  s×   € àˆØ×ÑÔ Ø�z‰z‹|ˆØ�4Œ<Ø�L‰L˜Ÿ™¨°SÓ?Ô@Ø×Ñ˜Ÿ™› sÔ+à×ÑÔ Ø�j‰j‹lˆØ�$Œ;Ø�L‰L˜Ÿ™¨°CÓ=Ô>Ø×Ñ˜Ÿ™› sÔ+à×ÑÔ Ø�j‰j‹lˆØ�$Œ;Ø�L‰L˜Ÿ™¨°CÓ=Ô>àˆr$   c                ó|  a aaa€ S P                  S P                  4       R 4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       V VVV3R l# )rÏ   r™   rš   c                 ó6   <€ \        SP                  WSSS4      # rI   )Ú	BoxerCardr:   )rþ   rÿ   r   r4  Úvaluer  s   &&€€€€r!   r-  Ú3BoxerOutputDrsParser._handle_card.<locals>.<lambda>Œ  s   ø€ ´	Ø×Ñ˜z¸À5È$ô1
r$   r6  )r   r4  rp  r  s   f@@@r!   r  Ú!BoxerOutputDrsParser._handle_cardƒ  s‰   û€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø—
‘
“ˆØ×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 	
r$   c                ó  a aa€ S P                  S P                  4       R 4       S P                  4       oS P                  S P                  4       R4       S P                  R4      oS P                  S P                  4       R4       VV V3R l# )rÏ   r™   Nrš   c                 ó4   <€ \        SP                  WSS4      # rI   )Ú	BoxerPropr:   )rþ   rÿ   rq   r   r  s   &&€€€r!   r-  Ú3BoxerOutputDrsParser._handle_prop.<locals>.<lambda>—  s   ø€ ´	Ø×Ñ˜z¸À3ô1
r$   )r  rá   r!  r  )r   rq   r  s   f@@r!   r  Ú!BoxerOutputDrsParser._handle_prop�  sm   ú€ à×Ñ˜Ÿ™› sÔ+Ø×&Ñ&Ó(ˆØ×Ñ˜Ÿ™› sÔ+Ø×*Ñ*¨4Ó0ˆØ×Ñ˜Ÿ™› sÔ+ö
ð 	
r$   c                óh  € . pV P                  V P                  4       R 4       V P                  ^ 4      R8w  dJ   VP                  V P                  4       4       V P                  ^ 4      R8X  g   KM  V P                  4        K_  V P                  4        V P                  V P                  4       R4       V# )r›   rœ   r™   rÐ   )r  rá   r]  Úparse_index)r   rã   s   & r!   r\  Ú&BoxerOutputDrsParser._parse_index_list›  s   € àˆØ×Ñ˜Ÿ™› sÔ+Ø�j‰j˜‹m˜sÔ"Ø�N‰N˜4×+Ñ+Ó-Ô.Ø�z‰z˜!‹} Ö#Ø—
‘
–Ø�
‰
ŒØ×Ñ˜Ÿ™› sÔ+Øˆr$   c                ó‚  € V P                  V P                  4       R 4       V P                  V P                  4       R4       \        4       pV P                  ^ 4      R8w  dZ   V P                  4       pVP	                  V P                  4       4       V P                  ^ 4      R8X  g   K]  V P                  4        Ko  V P                  4        V P                  V P                  4       R4       V P                  V P                  4       R4       . pV P                  ^ 4      R8w  d[   V P                  4       pVP                  V P                  V4      4       V P                  ^ 4      R8X  g   K^  V P                  4        Kp  V P                  4        V P                  V P                  4       R4       \        \        V4      V4      # )rÏ   r›   rœ   r™   rš   )
r  rá   Úsetr\  Úaddr!  Úextendrå   ÚBoxerDrsrR   )r   Úrefsrã   r  s   &   r!   rë   ÚBoxerOutputDrsParser.parse_drs§  s;  € ð 	×Ñ˜Ÿ™› sÔ+Ø×Ñ˜Ÿ™› sÔ+Ü‹uˆØ�j‰j˜‹m˜sÔ"Ø×,Ñ,Ó.ˆGØ�H‰H�T×(Ñ(Ó*Ô+Ø�z‰z˜!‹} Ö#Ø—
‘
–Ø�
‰
ŒØ×Ñ˜Ÿ™› sÔ+Ø×Ñ˜Ÿ™› sÔ+ØˆØ�j‰j˜‹m˜sÔ"Ø×,Ñ,Ó.ˆGØ�L‰L˜×-Ñ-¨gÓ6Ô7Ø�z‰z˜!‹} Ö#Ø—
‘
–Ø�
‰
ŒØ×Ñ˜Ÿ™› sÔ+Üœ˜T›
 EÓ*Ð*r$   c                ó  aaa€ V P                  V P                  4       R 4       V P                  R4      oV P                  V P                  4       R4       V P                  R4      oV P                  V P                  4       R4       VVV3R l# )rÏ   Nr™   rš   c                 ó   <€ S! WSS4      # rI   rJ   ©rþ   rÿ   Údrs1Údrs2Úmake_callbacks   &&€€€r!   r-  Ú@BoxerOutputDrsParser._handle_binary_expression.<locals>.<lambda>Æ  ó   ø€ ±Ø d¨Dô1
r$   ©r  rá   r  )r   r‡  r…  r†  s   &f@@r!   rì   Ú.BoxerOutputDrsParser._handle_binary_expressionÀ  so   ú€ Ø×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+ö
ð 	
r$   c                ó|  aaa€ V P                  V P                  4       R 4       V P                  4       pV P                  V P                  4       R4       V P                  R4      oV P                  V P                  4       R4       V P                  R4      oV P                  V P                  4       R4       VVV3R l# )rÏ   r™   Nrš   c                 ó   <€ S! WSS4      # rI   rJ   r„  s   &&€€€r!   r-  Ú3BoxerOutputDrsParser._handle_alfa.<locals>.<lambda>Ò  r‰  r$   rŠ  )r   r‡  r4  r…  r†  s   &f @@r!   rî   Ú!BoxerOutputDrsParser._handle_alfaÊ  s�   ú€ Ø×Ñ˜Ÿ™› sÔ+Ø�z‰z‹|ˆØ×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+Ø×+Ñ+¨DÓ1ˆØ×Ñ˜Ÿ™› sÔ+ö
ð 	
r$   c                ó  a aa€ S P                  S P                  4       R 4       S P                  4       oS P                  S P                  4       R4       S P                  4       oS P                  S P                  4       R4       V VV3R l# )rÏ   r™   rš   c                 ó4   <€ \        SP                  WSS4      # rI   )ÚBoxerEqr:   )rþ   rÿ   r   r;  r<  s   &&€€€r!   r-  Ú1BoxerOutputDrsParser._handle_eq.<locals>.<lambda>Ü  s   ø€ ´Ø×Ñ˜z¸¸tô1
r$   r6  )r   r;  r<  s   f@@r!   r  ÚBoxerOutputDrsParser._handle_eqÖ  sk   ú€ Ø×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+Ø×"Ñ"Ó$ˆØ×Ñ˜Ÿ™› sÔ+ö
ð 	
r$   c                óð  a aaaa€ S P                  S P                  4       R 4       S P                  S P                  4       R4       . oS P                  ^ 4      R8w  dÏ   S P                  4       pS P                  S P                  4       R4       VR8X  d"   SP                  S P                  4       4       Kn  VR8X  dO   SP                  R4       S P                  4       pVR8X  d   SP                  R4       K°  SP                  V4       KÃ  SP                  S P                  4       4       Kä  S P                  4        S P                  S P                  4       R	4       S P                  R
4      oS P                  S P                  4       R	4       S P	                  4       oS P                  S P                  4       R	4       S P                  R
4      oS P                  S P                  4       R4       VVVVV 3R l# )rÏ   r›   rœ   rÐ   ÚdesÚnumÚnumberÚcouÚcountr™   Nrš   c           	      ó8   <€ \        SP                  WSSSS4      # rI   r&  r(  s   &&€€€€€r!   r-  Ú2BoxerOutputDrsParser._handle_whq.<locals>.<lambda>û  r/  r$   )r  rá   r]  r  r!  )r   ÚcatÚtypr)  r*  r+  r,  s   f  @@@@r!   r  Ú BoxerOutputDrsParser._handle_whqà  su  ü€ Ø×Ñ˜Ÿ™› sÔ+Ø×Ñ˜Ÿ™› sÔ+Øˆ	Ø�j‰j˜‹m˜sÔ"Ø—*‘*“,ˆCØ×Ñ˜TŸZ™Z›\¨3Ô/Ø�eŒ|Ø× Ñ  §¡£Ö.Ø˜”Ø× Ñ  Ô*Ø—j‘j“l�Ø˜%”<Ø×$Ñ$ WÖ-à×$Ñ$ SÖ)à× Ñ  §¡£Ö.Ø�
‰
Œà×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+Ø×!Ñ!Ó#ˆØ×Ñ˜Ÿ™› sÔ+Ø×)Ñ)¨$Ó/ˆØ×Ñ˜Ÿ™› sÔ+÷
ð 
ð 	
r$   c                ó†   € \        VP                  VP                  ,           VP                  VP                  ,           4      # rI   ©r  r€  r  ©r   rþ   rÿ   r…  r†  s   &&&&&r!   rí   Ú+BoxerOutputDrsParser._make_merge_expressionÿ  s)   € Ü˜Ÿ	™	 D§I¡IÕ-¨t¯z©z¸D¿J¹JÕ/FÓGÐGr$   c                ó0   € \        V P                  WW44      # rI   )ÚBoxerOrr:   r¢  s   &&&&&r!   r  Ú(BoxerOutputDrsParser._make_or_expression  s   € Ü�t×(Ñ(¨*ÀDÓOÐOr$   c                óD   € \        VP                  VP                  V4      # rI   r¡  r¢  s   &&&&&r!   r  Ú)BoxerOutputDrsParser._make_imp_expression  s   € Ü˜Ÿ	™	 4§:¡:¨tÓ4Ð4r$   c                ón   € V P                  4       p\        P                  ! R V4      '       g   Q V4       hV# )z^[exps]\d+$)rá   ÚreÚmatch©r   Úvars   & r!   r!  Ú#BoxerOutputDrsParser.parse_variable  s.   € Ø�j‰j‹lˆÜ�xŠx˜¨×,Ò,Ð1¨cÓ1Ð,Øˆ
r$   c                ó4   € \        V P                  4       4      # rI   )r"  rá   rÑ   s   &r!   ry  Ú BoxerOutputDrsParser.parse_index  s   € Ü�4—:‘:“<Ó Ð r$   c                ól  € V Uu0 uF  q"^ 8¼  g   K  VR,          ^,
          kK  	  ppV'       dU   . pV FJ  pV Uu. uF)  q%VR,          ^,
          8X  g   K  VR,          ^,
          NK+  	  ppVP                  WV34       KL  	  V# V Uu. uF  q"R,          ^,
          NK  	  ppRV3.# u upi u upi u upi )z4
:return: list of (sent_index, word_indices) tuples
iè  N)r]  )r   rã   r¨   Úsent_indicesÚpairsrþ   rÿ   s   &&     r!   r  Ú+BoxerOutputDrsParser._sent_and_word_indices  sÂ   € ñ 18ÓB±¨1À¹6œ˜˜T� QŸ˜±ˆÐBßØˆEÛ*�
á,3ó Ù,3 qÀaÈ$ÅhÐRSÅ^Ñ7S”N�Q˜•X —N�N©Gð ð  ð —‘˜jÐ7Ö8ñ	 +ð
 ˆLá4;Ó<±G¨q �X¨ŸN˜N±GˆLÐ<Ø˜<Ð(Ð)Ð)ùò Cùò ùò =s   …B'’B'»B,ÁB,ÂB1)r:   rÇ   rÆ   rI   )%rº   r»   r¼   r½   r"   r¶   rÒ   rØ   rÝ   rå   rÕ   râ   r  r  r  r	  r
  r  r@  rP  rQ  r  r  r\  rë   rì   rî   r  r  rí   r  r  r!  ry  r  r¿   rÀ   rÁ   s   @r!   rµ   rµ   P  s¬   ø‡ € ô5ô6ò.ò$òò
òLò,
ò\òò&
òB
ò
òò/ò*Lò\ò,
ò	
ò
ò+ò2
ò

ò
ò
ò>HòPò5òò
!÷*ð *r$   rµ   c                   óL   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
tV tR# )ÚBoxerDrsParseri"  z<
Reparse the str form of subclasses of ``AbstractBoxerDrs``
Nc                ó>   € \         P                  ! V 4       Wn        R # rI   )r   r"   r:   rÈ   s   &&r!   r"   ÚBoxerDrsParser.__init__'  s   € Ü×Ò˜4Ô Ø(Ör$   c                óœ   € \         P                  \         P                  \         P                  \         P                  \         P
                  .# rI   )r   ÚOPENÚCLOSEÚCOMMAÚOPEN_BRACKETÚCLOSE_BRACKETrÑ   s   &r!   rÒ   ÚBoxerDrsParser.get_all_symbols+  s3   € ä�N‰NÜ�O‰OÜ�O‰OÜ×"Ñ"Ü×#Ñ#ð
ð 	
r$   c                ó   € V# rI   rJ   rÛ   s   &&&r!   rÝ   ÚBoxerDrsParser.attempt_adjuncts4  rß   r$   c           	     óÊ  €  VR 8X  Edº   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       \        \        \        V P                  4       4      4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       V P	                  4       pV P                  \        P
                  4       V P	                  4       pV P                  \        P
                  4       \        V P	                  4       4      p	V P                  \        P                  4       \        W4WVWxV	4      # VR8X  Edº   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       \        \        V P                  4       4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       V P	                  4       pV P                  \        P
                  4       V P	                  4       p
V P                  \        P
                  4       \        V P	                  4       4      p	V P                  \        P                  4       \        W4WVWzV	4      # VR8X  EdÃ   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       \        \        \        V P                  4       4      4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       V P	                  4       pV P                  \        P
                  4       \        V P	                  4       4      p	V P                  \        P                  4       \        W4W[WÍV	4      # VR8X  Ed\   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       \        \        \        V P                  4       4      4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       V P                  R4      pV P                  \        P                  4       \!        W4WVV4      # VR8X  d[   V P                  \        P                  4       V P                  R4      pV P                  \        P                  4       \#        V4      # VR8X  d¡   V P                  \        P                  4       V P                  R4      pV P                  \        P
                  4       V P                  R4      pV P                  \        P                  4       \%        VP&                  VP(                  V4      # VR8X  EdB   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       \        \        V P                  4       4      pV P                  \        P
                  4       V P                  R4      pV P                  \        P
                  4       V P                  R4      pV P                  \        P                  4       \+        W4W_V4      # VR8X  Ed[   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       \        \        \        V P                  4       4      4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P                  4       \-        W4W[V4      # VR	8X  Edz   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       \        \        V P                  4       4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       V P	                  4       pV P                  \        P
                  4       V P	                  4       p
V P                  \        P                  4       \/        W4VVVV
4      # VR
8X  Edµ   V P                  \        P                  4       V P                  e   V P                  MV P	                  4       pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       \        \        \        V P                  4       4      4      pV P                  \        P
                  4       V P                  4       pV P                  \        P
                  4       V P                  R4      pV P                  \        P
                  4       \        V P	                  4       4      pV P                  \        P
                  4       V P                  R4      pV P                  \        P                  4       \1        W4VVVVV4      #  Q \;        T4      4       h  \2         d&   p\5        T P6                  \9        T4      4      ThRp?ii ; i)rö   Nr÷   rø   rõ   rñ   ró   rò   rô   rú   rû   )ÚassertNextTokenr   rº  r:   rá   r¼  ÚnullableIntTokenrR   rS   r"  Úhandle_refsr»  r  r3  r:  r  ru  r  r  r€  r  r¥  r’  ro  r'  r7   r   Ú_currentIndexrT   Úrepr)r   rÖ   r×   Údisc_idÚsent_idÚword_idsr  r†   r  r  r4  r;  r<  rø   rq   r…  r†  r­  rp  r)  Úes   &&&                  r!   rØ   ÚBoxerDrsParser.handle7  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ÀtÐ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Ü!Ø 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Ü °(À$È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À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°ÀÓ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°ÀÓ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   ‚G v2 ÇG v2 ÎG	v2 ÕE"v2 Ú1A v2 ÜB&v2 Þ9Ev2 äE!v2 é$F v2 ï%F;v2 ö2w"ö= w÷w"c                óJ   € V P                  4       pVR 8w  d   \        V4      # R# )ÚNoneN)rá   r"  )r   Úts   & r!   rÄ  ÚBoxerDrsParser.nullableIntTokenÞ  s"   € Ø�J‰J‹LˆØ˜fœŒs�1‹vÐ.¨$Ð.r$   c                óx   €  V P                  4       #   \         d   p\        TP                  R 4      ThRp?ii ; i)zVariable expected.N)rá   r   r¢   )r   ÚdescriptionrË  s   && r!   Úget_next_token_variableÚ&BoxerDrsParser.get_next_token_variableâ  s;   € ð	TØ—:‘:“<ÐøÜ*ô 	TÜ-¨a¯g©gÐ7KÓLÐRSÐSûð	Tús   ‚ ’9�4´9)r:   rI   )rº   r»   r¼   r½   r¾   r"   rÒ   rÝ   rØ   rÄ  rÓ  r¿   rÀ   rÁ   s   @r!   r¶  r¶  "  s1   ø‡ € ñô)ò
òòe òN/÷Tð Tr$   r¶  c                   óP   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )ÚAbstractBoxerDrsié  c                óX   € V P                  4       w  rpWV,          ,
          W#V,
          3# ©z;
:return: (set<variables>, set<events>, set<propositions>)
)Ú
_variables)r   Ú	variablesÚeventsÚpropositionss   &   r!   rÚ  ÚAbstractBoxerDrs.variablesê  s-   € ð +/¯/©/Ó*;Ñ'ˆ	˜<Ø lÕ2Õ3°VÈFÕ=RÐSÐSr$   c                ój   € / p\        RV P                  4       4       F  w  r#V F  pW!V&   K	  	  K  	  V# )Úz)rß  rË  r–   )rg   rÚ  )r   ÚvartypesrÏ  ÚvarsÚvs   &    r!   Úvariable_typesÚAbstractBoxerDrs.variable_typesñ  s9   € ØˆÜ˜?¨D¯N©NÓ,<Ö=‰GˆAÛ�Ø˜“ó ñ >ð ˆr$   c                ó<   € \        4       \        4       \        4       3# rØ  ©r|  rÑ   s   &r!   rÙ  ÚAbstractBoxerDrs._variablesø  s   € ô “”s“uœc›eÐ$Ð$r$   c                ó   € \        4       # rI   ræ  rÑ   s   &r!   ÚatomsÚAbstractBoxerDrs.atomsþ  ó	   € Ü‹uˆr$   c                ó   € V # rI   rJ   rÑ   s   &r!   ÚcleanÚAbstractBoxerDrs.clean  ó   € Øˆr$   c                óF   € VP                  R R4      P                  RR4      # )Ú-rW  rc   )r^  )r   r†   s   &&r!   Ú_clean_nameÚAbstractBoxerDrs._clean_name  s    € Ø�|‰|˜C Ó%×-Ñ-¨c°3Ó7Ð7r$   c                ó   € V # rI   rJ   ©r   r{   s   &&r!   Úrenumber_sentencesÚ#AbstractBoxerDrs.renumber_sentences  rï  r$   c                ó   € \        V  4      # rI   )ÚhashrÑ   s   &r!   Ú__hash__ÚAbstractBoxerDrs.__hash__
  s   € Ü�t�f‹Ðr$   rJ   N)rº   r»   r¼   r½   rÚ  rã  rÙ  ré  rí  rò  rö  rú  r¿   rÀ   rÁ   s   @r!   rÖ  rÖ  é  s3   ø‡ € òTòò%òòò8ò÷ð r$   rÖ  c                   ól   a € ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 t]P                  tRtV tR# )r  i  Nc                óT   € \         P                  V 4       Wn        W n        W0n        R # rI   )rÖ  r"   r€  r  Ú
consequent)r   r€  r  rþ  s   &&&&r!   r"   ÚBoxerDrs.__init__  s   € Ü×!Ñ! $Ô'ØŒ	ØŒ
Ø$Žr$   c                ób  € \        4       \        4       \        4       3pV P                   F6  p\        WP                  4       4       F  w  r4VP	                  V4       K  	  K8  	  V P
                  e>   \        WP
                  P                  4       4       F  w  r4VP	                  V4       K  	  V# rI   )r|  r  rg   rÙ  Úupdaterþ  )r   rÚ  r   Úsrâ  s   &    r!   rÙ  ÚBoxerDrs._variables  s�   € Ü“UœC›E¤3£5Ð)ˆ	Ø—J”JˆDÜ˜I§¡Ó'8Ö9‘�Ø—‘˜–ó :ñ ð �?‰?Ò&Ü˜I§¡×'AÑ'AÓ'CÖD‘�Ø—‘˜–ñ EàÐr$   c                óÜ   € \        \        P                  R  V P                   4       \	        4       4      pV P
                  e*   VP                  V P
                  P                  4       4       V# )c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irI   )ré  )rK   r   s   & r!   rM   Ú!BoxerDrs.atoms.<locals>.<genexpr>   s   é € Ð%J¹z°t§j¡j§l l»zùs   ‚)r   rP   Úor_r  r|  rþ  r  ré  )r   ré  s   & r!   ré  ÚBoxerDrs.atoms  sH   € Ü”x—|‘|Ñ%J¸t¿zºzÓ%JÌCËEÓRˆØ�?‰?Ò&Ø�L‰L˜Ÿ™×.Ñ.Ó0Ô1Øˆr$   c                óä   € V P                   '       d   V P                   P                  4       MR p\        V P                  V P                   Uu. uF  q"P                  4       NK  	  upV4      # u upi rI   )rþ  rí  r  r€  r  )r   rþ  r°   s   &  r!   rí  ÚBoxerDrs.clean%  sK   € Ø04··°�T—_‘_×*Ñ*Ô,ÀTˆ
Ü˜Ÿ	™	°t·z²zÓ#B±z°!§G¡G¦I±zÑ#BÀJÓOÐOùÒ#Bs   ÁA-
c           	     óè   € V P                   '       d   V P                   P                  V4      MR p\        V P                  V P                   Uu. uF  q3P                  V4      NK  	  upV4      # u upi rI   )rþ  rö  r  r€  r  )r   r{   rþ  r°   s   &&  r!   rö  ÚBoxerDrs.renumber_sentences)  sX   € Ø>B¿o¿o¸o�T—_‘_×7Ñ7¸Ô:ÐSWˆ
ÜØ�I‰I¸¿ºÓD¹°A×,Ñ,¨QÖ/¹ÑDÀjó
ð 	
ùÚDs   ÁA/
c                óì   € R P                  RP                  R V P                   4       4      RP                  R V P                   4       4      4      pV P                  e   RV RV P                   R2pV# )zdrs([{}], [{}])ú, c              3   ó4   "  € T F  pR V,          x € K  	  R# 5i©ú%sNrJ   )rK   Úrs   & r!   rM   Ú$BoxerDrs.__repr__.<locals>.<genexpr>1  s   é € Ð2©	 1�d˜Q—h’h«	ùó   ‚c              3   ó4   "  € T F  pR V,          x € K  	  R# 5ir  rJ   )rK   r°   s   & r!   rM   r  2  s   é € Ð3©
 1�d˜Q—h’h«
ùr  zimp(rš   )r�   r.   r€  r  rþ  )r   r  s   & r!   Ú__repr__ÚBoxerDrs.__repr__/  sh   € Ø×$Ñ$Ø�I‰IÑ2¨¯	ª	Ó2Ó2Ø�I‰IÑ3¨¯
ª
Ó3Ó3ó
ˆð �?‰?Ò&Ø�q�c˜˜DŸO™OÐ,¨AÐ.ˆAØˆr$   c                ó¬  € V P                   VP                   8H  ;'       dµ    V P                  VP                  8H  ;'       d”    \        V P                  4      \        VP                  4      8H  ;'       da    \	        \
        P                  R  \        V P                  VP                  4       4       4      ;'       d    V P                  VP                  8H  # )c              3   ó.   "  € T F  w  rW8H  x € K  	  R # 5irI   rJ   )rK   Úc1Úc2s   &  r!   rM   Ú"BoxerDrs.__eq__.<locals>.<genexpr>>  s   é € ÐTÑ7S©V¨R ¦Ó7Sùó   ‚)	Ú	__class__r€  rO   r  r   rP   rQ   rg   rþ  ©r   Úothers   &&r!   Ú__eq__ÚBoxerDrs.__eq__8  s¤   € à�N‰N˜eŸo™oÑ-÷ 4ð 4Ø—	‘	˜UŸZ™ZÑ'÷4ð 4ä�D—J‘J“¤3 u§{¡{Ó#3Ñ3÷4ð 4ô Ü—‘ÑT´s¸4¿:¹:ÀuÇ{Á{Ô7SÓTó÷4ð 4ð —‘ 5×#3Ñ#3Ñ3ð	
r$   c                ó   € W8X  * # rI   rJ   r  s   &&r!   Ú__ne__ÚBoxerDrs.__ne__C  ó   € ØÒ Ð r$   )r  rþ  r€  rI   ©rº   r»   r¼   r½   r"   rÙ  ré  rí  rö  r  r!  r$  rÖ  rú  r¿   rÀ   rÁ   s   @r!   r  r    s;   ø‡ € ô%òòòPò
òò	
ò!ð  ×(Ñ(†Hr$   r  c                   óh   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 t]P                  tR
tV tR# )r  iI  c                ó<   € \         P                  V 4       Wn        R # rI   )rÖ  r"   rq   r  s   &&r!   r"   ÚBoxerNot.__init__J  s   € Ü×!Ñ! $Ô'ØŽr$   c                ó6   € V P                   P                  4       # rI   )rq   rÙ  rÑ   s   &r!   rÙ  ÚBoxerNot._variablesN  s   € Ø�x‰x×"Ñ"Ó$Ð$r$   c                ó6   € V P                   P                  4       # rI   ©rq   ré  rÑ   s   &r!   ré  ÚBoxerNot.atomsQ  ó   € Ø�x‰x�~‰~ÓÐr$   c                óH   € \        V P                  P                  4       4      # rI   )r  rq   rí  rÑ   s   &r!   rí  ÚBoxerNot.cleanT  s   € Ü˜Ÿ™Ÿ™Ó(Ó)Ð)r$   c                óJ   € \        V P                  P                  V4      4      # rI   )r  rq   rö  rõ  s   &&r!   rö  ÚBoxerNot.renumber_sentencesW  s   € Ü˜Ÿ™×3Ñ3°AÓ6Ó7Ð7r$   c                ó(   € R V P                   ,          # )znot(%s)©rq   rÑ   s   &r!   r  ÚBoxerNot.__repr__Z  s   € Ø˜DŸH™HÕ%Ð%r$   c                óv   € V P                   VP                   8H  ;'       d    V P                  VP                  8H  # rI   )r  rq   r  s   &&r!   r!  ÚBoxerNot.__eq__]  s*   € Ø�~‰~ §¡Ñ0×JÐJ°T·X±XÀÇÁÑ5JÐJr$   c                ó   € W8X  * # rI   rJ   r  s   &&r!   r$  ÚBoxerNot.__ne__`  r&  r$   r6  Nr'  rÁ   s   @r!   r  r  I  s;   ø‡ € òò%ò ò*ò8ò&òKò!ð  ×(Ñ(†Hr$   r  c                   óV   a € ] tR tRt o R tR tR tR t]P                  t	R t
RtV tR# )	ÚBoxerIndexedif  c                óT   € \         P                  V 4       Wn        W n        W0n        R # rI   )rÖ  r"   r:   rþ   rÿ   )r   r:   rþ   rÿ   s   &&&&r!   r"   ÚBoxerIndexed.__init__g  s!   € Ü×!Ñ! $Ô'Ø(ÔØ$ŒØ(Ör$   c                ó   € V 0# rI   rJ   rÑ   s   &r!   ré  ÚBoxerIndexed.atomsm  s	   € Øˆvˆr$   c                ó^  € V P                   VP                   8H  ;'       dŽ    V P                  VP                  8H  ;'       dm    V P                  VP                  8H  ;'       dL    V P                  VP                  8H  ;'       d+    \	        \
        P                  R  \        W4       4       4      # )c              3   ó.   "  € T F  w  rW8H  x € K  	  R # 5irI   rJ   )rK   r  Úos   &  r!   rM   Ú&BoxerIndexed.__eq__.<locals>.<genexpr>v  s   é € Ð&KÑ:J±$°! q¦vÓ:Jùr  )r  r:   rþ   rÿ   r   rP   rQ   rg   r  s   &&r!   r!  ÚBoxerIndexed.__eq__p  sž   € à�N‰N˜eŸo™oÑ-÷ Mð MØ×!Ñ! U×%7Ñ%7Ñ7÷Mð Mà—‘ 5×#3Ñ#3Ñ3÷Mð Mð ×!Ñ! U×%7Ñ%7Ñ7÷Mð Mô ”x—}‘}Ñ&K¼#¸dÔ:JÓ&KÓLð	
r$   c                ó   € W8X  * # rI   rJ   r  s   &&r!   r$  ÚBoxerIndexed.__ne__y  r&  r$   c           	     óò   € R P                  V P                  4       V P                  V P                  RP	                  R V P
                   4       4      4      pV  F  pVRV,          ,          pK  	  VR,           # )z{}({}, {}, [{}]r  c              3   ó4   "  € T F  pR V,          x € K  	  R# 5ir  rJ   )rK   Úwis   & r!   rM   Ú(BoxerIndexed.__repr__.<locals>.<genexpr>ƒ  s   é € Ð<Ñ*; B�d˜R—i’iÓ*;ùr  z, %srš   )r�   Ú_predr:   rþ   r.   rÿ   )r   r  râ  s   &  r!   r  ÚBoxerIndexed.__repr__~  se   € Ø×$Ñ$Ø�J‰J‹LØ×ÑØ�O‰OØ�I‰IÑ<¨$×*;Ò*;Ó<Ó<ó	
ˆó ˆAØ�˜!•�OŠAñ à�3�wˆr$   )r:   rþ   rÿ   N)rº   r»   r¼   r½   r"   ré  r!  r$  rÖ  rú  r  r¿   rÀ   rÁ   s   @r!   r=  r=  f  s0   ø‡ € ò)òò
ò!ð  ×(Ñ(€H÷	ð 	r$   r=  c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )r  iŠ  c                ób   € \         P                  WW#4       W@n        WPn        W`n        Wpn        R # rI   )r=  r"   r­  r†   r  r  )r   r:   rþ   rÿ   r­  r†   r  r  s   &&&&&&&&r!   r"   ÚBoxerPred.__init__‹  s&   € Ü×Ñ˜d°*ÔKØŒØŒ	ØŒØŽ
r$   c                óB   € V P                   0\        4       \        4       3# rI   ©r­  r|  rÑ   s   &r!   rÙ  ÚBoxerPred._variables’  ó   € Ø—‘�
œC›E¤3£5Ð)Ð)r$   c           	     óœ   € \        V P                  V P                  V P                  VV P                  V P
                  V P                  4      # rI   )r  r:   rþ   rÿ   r†   r  r  r¬  s   &&r!   Ú
change_varÚBoxerPred.change_var•  s@   € ÜØ×ÑØ�O‰OØ×ÑØØ�I‰IØ�H‰HØ�J‰Jó
ð 	
r$   c           	     óÎ   € \        V P                  V P                  V P                  V P                  V P                  V P                  4      V P                  V P                  4      # rI   )	r  r:   rþ   rÿ   r­  rò  r†   r  r  rÑ   s   &r!   rí  ÚBoxerPred.clean   sO   € ÜØ×ÑØ�O‰OØ×ÑØ�H‰HØ×Ñ˜TŸY™YÓ'Ø�H‰HØ�J‰Jó
ð 	
r$   c           	     óÀ   € V! V P                   4      p\        V P                  VV P                  V P                  V P
                  V P                  V P                  4      # rI   )rþ   r  r:   rÿ   r­  r†   r  r  )r   r{   Únew_sent_indexs   && r!   rö  ÚBoxerPred.renumber_sentences«  sN   € Ù˜4Ÿ?™?Ó+ˆÜØ×ÑØØ×ÑØ�H‰HØ�I‰IØ�H‰HØ�J‰Jó
ð 	
r$   c                óp   € \        V P                  V P                  V P                  V P                  34      # rI   )Úiterr­  r†   r  r  rÑ   s   &r!   Ú__iter__ÚBoxerPred.__iter__·  s&   € Ü�T—X‘X˜tŸy™y¨$¯(©(°D·J±JÐ?Ó@Ð@r$   c                ó   € R # )rö   rJ   rÑ   s   &r!   rM  ÚBoxerPred._predº  ó   € Ùr$   )r†   r  r  r­  N©rº   r»   r¼   r½   r"   rÙ  rW  rí  rö  r`  rM  r¿   rÀ   rÁ   s   @r!   r  r  Š  s.   ø‡ € òò*ò	
ò	
ò

òA÷ð r$   r  c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )r3  i¾  c                ób   € \         P                  WW#4       W@n        WPn        W`n        Wpn        R # rI   )r=  r"   r­  r†   r4  r  )r   r:   rþ   rÿ   r­  r†   r4  r  s   &&&&&&&&r!   r"   ÚBoxerNamed.__init__¿  s&   € Ü×Ñ˜d°*ÔKØŒØŒ	ØŒ	ØŽ
r$   c                óB   € V P                   0\        4       \        4       3# rI   rS  rÑ   s   &r!   rÙ  ÚBoxerNamed._variablesÆ  rU  r$   c           	     óœ   € \        V P                  V P                  V P                  VV P                  V P
                  V P                  4      # rI   )r3  r:   rþ   rÿ   r†   r4  r  r¬  s   &&r!   rW  ÚBoxerNamed.change_varÉ  s@   € ÜØ×ÑØ�O‰OØ×ÑØØ�I‰IØ�I‰IØ�J‰Jó
ð 	
r$   c           	     óÎ   € \        V P                  V P                  V P                  V P                  V P                  V P                  4      V P                  V P                  4      # rI   )	r3  r:   rþ   rÿ   r­  rò  r†   r4  r  rÑ   s   &r!   rí  ÚBoxerNamed.cleanÔ  sO   € ÜØ×ÑØ�O‰OØ×ÑØ�H‰HØ×Ñ˜TŸY™YÓ'Ø�I‰IØ�J‰Jó
ð 	
r$   c           	     ó¼   € \        V P                  V! V P                  4      V P                  V P                  V P
                  V P                  V P                  4      # rI   )r3  r:   rþ   rÿ   r­  r†   r4  r  rõ  s   &&r!   rö  ÚBoxerNamed.renumber_sentencesß  sI   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�H‰HØ�I‰IØ�I‰IØ�J‰Jó
ð 	
r$   c                óp   € \        V P                  V P                  V P                  V P                  34      # rI   )r_  r­  r†   r4  r  rÑ   s   &r!   r`  ÚBoxerNamed.__iter__ê  s&   € Ü�T—X‘X˜tŸy™y¨$¯)©)°T·Z±ZÐ@ÓAÐAr$   c                ó   € R # )r÷   rJ   rÑ   s   &r!   rM  ÚBoxerNamed._predí  s   € Ùr$   )r†   r  r4  r­  Nre  rÁ   s   @r!   r3  r3  ¾  s.   ø‡ € òò*ò	
ò	
ò	
òB÷ð r$   r3  c                   óD   a € ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
r:  iñ  c                ób   € \         P                  WW#4       W@n        WPn        W`n        Wpn        R # rI   )r=  r"   r;  r<  rø   r  )r   r:   rþ   rÿ   r;  r<  rø   r  s   &&&&&&&&r!   r"   ÚBoxerRel.__init__ò  s&   € Ü×Ñ˜d°*ÔKØŒ	ØŒ	ØŒØŽ
r$   c                óX   € V P                   V P                  0\        4       \        4       3# rI   ©r;  r<  r|  rÑ   s   &r!   rÙ  ÚBoxerRel._variablesù  ó    € Ø—‘˜DŸI™IÐ&¬«¬s«uÐ5Ð5r$   c           
     óÎ   € \        V P                  V P                  V P                  V P                  V P
                  V P                  V P                  4      V P                  4      # rI   )	r:  r:   rþ   rÿ   r;  r<  rò  rø   r  rÑ   s   &r!   rí  ÚBoxerRel.cleanü  sO   € ÜØ×ÑØ�O‰OØ×ÑØ�I‰IØ�I‰IØ×Ñ˜TŸX™XÓ&Ø�J‰Jó
ð 	
r$   c           	     ó¼   € \        V P                  V! V P                  4      V P                  V P                  V P
                  V P                  V P                  4      # rI   )r:  r:   rþ   rÿ   r;  r<  rø   r  rõ  s   &&r!   rö  ÚBoxerRel.renumber_sentences  sI   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�I‰IØ�I‰IØ�H‰HØ�J‰Jó
ð 	
r$   c                óp   € \        V P                  V P                  V P                  V P                  34      # rI   )r_  r;  r<  rø   r  rÑ   s   &r!   r`  ÚBoxerRel.__iter__  s&   € Ü�T—Y‘Y §	¡	¨4¯8©8°T·Z±ZÐ@ÓAÐAr$   c                ó   € R # )rø   rJ   rÑ   s   &r!   rM  ÚBoxerRel._pred  ó   € Ùr$   )rø   r  r;  r<  N)rº   r»   r¼   r½   r"   rÙ  rí  rö  r`  rM  r¿   rÀ   rÁ   s   @r!   r:  r:  ñ  s)   ø‡ € òò6ò	
ò	
òB÷ð r$   r:  c                   óP   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )ru  i  c                óJ   € \         P                  WW#4       W@n        WPn        R # rI   )r=  r"   r­  rq   )r   r:   rþ   rÿ   r­  rq   s   &&&&&&r!   r"   ÚBoxerProp.__init__  s   € Ü×Ñ˜d°*ÔKØŒØŽr$   c                ó¶   € \        \        \        P                  \	        4       \	        4       V P
                  03V P                  P                  4       4      4      # rI   )ÚtuplerS   rP   r  r|  r­  rq   rÙ  rÑ   s   &r!   rÙ  ÚBoxerProp._variables  s=   € ÜÜ”—‘œs›u¤c£e¨d¯h©h¨ZÐ8¸$¿(¹(×:MÑ:MÓ:OÓPó
ð 	
r$   c                ó   € V P                   0# rI   r6  rÑ   s   &r!   Úreferenced_labelsÚBoxerProp.referenced_labels$  s   € Ø—‘ˆzÐr$   c                ó6   € V P                   P                  4       # rI   r.  rÑ   s   &r!   ré  ÚBoxerProp.atoms'  r0  r$   c                ó    € \        V P                  V P                  V P                  V P                  V P
                  P                  4       4      # rI   )ru  r:   rþ   rÿ   r­  rq   rí  rÑ   s   &r!   rí  ÚBoxerProp.clean*  s=   € ÜØ×ÑØ�O‰OØ×ÑØ�H‰HØ�H‰H�N‰NÓó
ð 	
r$   c           	     ó®   € \        V P                  V! V P                  4      V P                  V P                  V P
                  P                  V4      4      # rI   )ru  r:   rþ   rÿ   r­  rq   rö  rõ  s   &&r!   rö  ÚBoxerProp.renumber_sentences3  sF   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�H‰HØ�H‰H×'Ñ'¨Ó*ó
ð 	
r$   c                óD   € \        V P                  V P                  34      # rI   )r_  r­  rq   rÑ   s   &r!   r`  ÚBoxerProp.__iter__<  s   € Ü�T—X‘X˜tŸx™xÐ(Ó)Ð)r$   c                ó   € R # )rõ   rJ   rÑ   s   &r!   rM  ÚBoxerProp._pred?  rd  r$   )rq   r­  N)rº   r»   r¼   r½   r"   rÙ  rŒ  ré  rí  rö  r`  rM  r¿   rÀ   rÁ   s   @r!   ru  ru    s2   ø‡ € òò

ò
ò ò
ò
ò*÷ð r$   ru  c                   óD   a € ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
r’  iC  c                óJ   € \         P                  WW#4       W@n        WPn        R # rI   )r=  r"   r;  r<  )r   r:   rþ   rÿ   r;  r<  s   &&&&&&r!   r"   ÚBoxerEq.__init__D  ó   € Ü×Ñ˜d°*ÔKØŒ	ØŽ	r$   c                óX   € V P                   V P                  0\        4       \        4       3# rI   ry  rÑ   s   &r!   rÙ  ÚBoxerEq._variablesI  r{  r$   c                ó   € \        4       # rI   ræ  rÑ   s   &r!   ré  ÚBoxerEq.atomsL  rë  r$   c                ó�   € \        V P                  V! V P                  4      V P                  V P                  V P
                  4      # rI   )r’  r:   rþ   rÿ   r;  r<  rõ  s   &&r!   rö  ÚBoxerEq.renumber_sentencesO  ó;   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�I‰IØ�I‰Ió
ð 	
r$   c                óD   € \        V P                  V P                  34      # rI   )r_  r;  r<  rÑ   s   &r!   r`  ÚBoxerEq.__iter__X  ó   € Ü�T—Y‘Y §	¡	Ð*Ó+Ð+r$   c                ó   € R # )rô   rJ   rÑ   s   &r!   rM  ÚBoxerEq._pred[  ó   € Ùr$   )r;  r<  N)rº   r»   r¼   r½   r"   rÙ  ré  rö  r`  rM  r¿   rÀ   rÁ   s   @r!   r’  r’  C  s(   ø‡ € òò
6òò
ò,÷ð r$   r’  c                   ó>   a € ] tR tRt o R tR tR tR tR tRt	V t
R# )	ro  i_  c                óV   € \         P                  WW#4       W@n        WPn        W`n        R # rI   )r=  r"   r­  rp  r4  )r   r:   rþ   rÿ   r­  rp  r4  s   &&&&&&&r!   r"   ÚBoxerCard.__init__`  s!   € Ü×Ñ˜d°*ÔKØŒØŒ
ØŽ	r$   c                óB   € V P                   0\        4       \        4       3# rI   rS  rÑ   s   &r!   rÙ  ÚBoxerCard._variablesf  rU  r$   c                ó¦   € \        V P                  V! V P                  4      V P                  V P                  V P
                  V P                  4      # rI   )ro  r:   rþ   rÿ   r­  rp  r4  rõ  s   &&r!   rö  ÚBoxerCard.renumber_sentencesi  sB   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�H‰HØ�J‰JØ�I‰Ió
ð 	
r$   c                óZ   € \        V P                  V P                  V P                  34      # rI   )r_  r­  rp  r4  rÑ   s   &r!   r`  ÚBoxerCard.__iter__s  s    € Ü�T—X‘X˜tŸz™z¨4¯9©9Ð5Ó6Ð6r$   c                ó   € R # )rú   rJ   rÑ   s   &r!   rM  ÚBoxerCard._predv  rd  r$   )r4  rp  r­  N)rº   r»   r¼   r½   r"   rÙ  rö  r`  rM  r¿   rÀ   rÁ   s   @r!   ro  ro  _  s#   ø‡ € òò*ò
ò7÷ð r$   ro  c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )r¥  iz  c                óJ   € \         P                  WW#4       W@n        WPn        R # rI   )r=  r"   r…  r†  )r   r:   rþ   rÿ   r…  r†  s   &&&&&&r!   r"   ÚBoxerOr.__init__{  r›  r$   c                óª   € \        \        \        P                  V P                  P                  4       V P                  P                  4       4      4      # rI   )r‰  rS   rP   r  r…  rÙ  r†  rÑ   s   &r!   rÙ  ÚBoxerOr._variables€  s4   € Ü”SœŸ™ t§y¡y×';Ñ';Ó'=¸t¿y¹y×?SÑ?SÓ?UÓVÓWÐWr$   c                ót   € V P                   P                  4       V P                  P                  4       ,          # rI   ©r…  ré  r†  rÑ   s   &r!   ré  ÚBoxerOr.atomsƒ  ó#   € Ø�y‰y�‰Ó  4§9¡9§?¡?Ó#4Õ4Ð4r$   c                ó¼   € \        V P                  V P                  V P                  V P                  P                  4       V P                  P                  4       4      # rI   )r¥  r:   rþ   rÿ   r…  rí  r†  rÑ   s   &r!   rí  ÚBoxerOr.clean†  sD   € ÜØ×ÑØ�O‰OØ×ÑØ�I‰I�O‰OÓØ�I‰I�O‰OÓó
ð 	
r$   c                ó�   € \        V P                  V! V P                  4      V P                  V P                  V P
                  4      # rI   )r¥  r:   rþ   rÿ   r…  r†  rõ  s   &&r!   rö  ÚBoxerOr.renumber_sentences�  r¢  r$   c                óD   € \        V P                  V P                  34      # rI   )r_  r…  r†  rÑ   s   &r!   r`  ÚBoxerOr.__iter__˜  r¥  r$   c                ó   € R # )rò   rJ   rÑ   s   &r!   rM  ÚBoxerOr._pred›  r¨  r$   )r…  r†  N©rº   r»   r¼   r½   r"   rÙ  ré  rí  rö  r`  rM  r¿   rÀ   rÁ   s   @r!   r¥  r¥  z  s.   ø‡ € òò
Xò5ò
ò
ò,÷ð r$   r¥  c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )r'  iŸ  c                ób   € \         P                  WW#4       W@n        WPn        W`n        Wpn        R # rI   )r=  r"   r)  r…  r  r†  )r   r:   rþ   rÿ   r)  r…  r  r†  s   &&&&&&&&r!   r"   ÚBoxerWhq.__init__   s(   € ô 	×Ñ˜d°*ÔKØ"ŒØŒ	Ø ŒØŽ	r$   c           	     óè   € \        \        \        P                  V P                  0\        4       \        4       3V P                  P                  4       V P                  P                  4       4      4      # rI   )	r‰  rS   rP   r  r  r|  r…  rÙ  r†  rÑ   s   &r!   rÙ  ÚBoxerWhq._variables©  sR   € ÜÜÜ—‘Ø—-‘-�¤#£%¬«Ð/Ø—	‘	×$Ñ$Ó&Ø—	‘	×$Ñ$Ó&ó	ó
ð 	
r$   c                ót   € V P                   P                  4       V P                  P                  4       ,          # rI   rº  rÑ   s   &r!   ré  ÚBoxerWhq.atoms³  r¼  r$   c           
     óè   € \        V P                  V P                  V P                  V P                  V P
                  P                  4       V P                  V P                  P                  4       4      # rI   )	r'  r:   rþ   rÿ   r)  r…  rí  r  r†  rÑ   s   &r!   rí  ÚBoxerWhq.clean¶  sR   € ÜØ×ÑØ�O‰OØ×ÑØ�N‰NØ�I‰I�O‰OÓØ�M‰MØ�I‰I�O‰OÓó
ð 	
r$   c           	     ó¼   € \        V P                  V! V P                  4      V P                  V P                  V P
                  V P                  V P                  4      # rI   )r'  r:   rþ   rÿ   r)  r…  r  r†  rõ  s   &&r!   rö  ÚBoxerWhq.renumber_sentencesÁ  sI   € ÜØ×ÑÙˆd�o‰oÓØ×ÑØ�N‰NØ�I‰IØ�M‰MØ�I‰Ió
ð 	
r$   c                óª   € \        R RP                  V P                  4      ,           R,           V P                  V P                  V P
                  34      # )r›   r™   rœ   )r_  r.   r)  r…  r  r†  rÑ   s   &r!   r`  ÚBoxerWhq.__iter__Ì  s>   € ÜØ�3—8‘8˜DŸN™NÓ+Õ+¨cÕ1°4·9±9¸d¿m¹mÈTÏYÉYÐWó
ð 	
r$   c                ó   € R # )rû   rJ   rÑ   s   &r!   rM  ÚBoxerWhq._predÑ  r„  r$   )r)  r…  r†  r  NrÅ  rÁ   s   @r!   r'  r'  Ÿ  s-   ø‡ € òò
ò5ò	
ò	
ò
÷
ð r$   r'  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚPassthroughBoxerDrsInterpreteriÕ  c                ó   € V# rI   rJ   )r   Úexs   &&r!   r>   Ú(PassthroughBoxerDrsInterpreter.interpretÖ  s   € Øˆ	r$   rJ   N)rº   r»   r¼   r½   r>   r¿   rÀ   rÁ   s   @r!   rÖ  rÖ  Õ  s   ø‡ € ÷ð r$   rÖ  c                   ó<   a € ] tR tRt o RR ltR tR tR tRtV t	R# )	r   iÚ  c                ó   € Wn         R # rI   ©Ú_occur_index)r   Úoccur_indexs   &&r!   r"   Ú#NltkDrtBoxerDrsInterpreter.__init__Û  s   € Ø'Ör$   c           	     óö  € \        V\        4      '       d‡   \        VP                   Uu. uF  p\	        V4      NK  	  up\        \        V P                  VP                  4      4      4      pVP                  e!   V P                  VP                  4      Vn	        V# \        V\        4      '       d%   \        V P                  VP                  4      4      # \        V\        4      '       dG   V P                  VP                   RVP                    2V4      pV P#                  WAP$                  4      # \        V\&        4      '       dH   V P                  RVP(                   RVP                    2V4      pV P#                  WAP$                  4      # \        V\*        4      '       dJ   V P                  RVP,                  ,          V4      pV P#                  WAP.                  VP0                  4      # \        V\2        4      '       d9   \5        \	        VP$                  4      V P                  VP                  4      4      # \        V\6        4      '       dE   \9        \;        \	        VP.                  4      4      \;        \	        VP0                  4      4      4      # \        V\<        4      '       dH   V P                  RVP(                   RVP>                   2V4      pV P#                  WAP$                  4      # \        V\@        4      '       d?   \C        V P                  VPD                  4      V P                  VPF                  4      4      # \        V\H        4      '       dy   V P                  VPD                  4      pV P                  VPF                  4      p\        VP                  VP                  ,           VP                  VP                  ,           4      # Q TPJ                  PL                   RT 24       hu upi )z<
:param ex: ``AbstractBoxerDrs``
:return: ``DrtExpression``
rW  Úne_r  Úcard_z: )'Ú
isinstancer  r   r€  r   rR   rS   r>   r  rþ  r  r	   rq   r  Ú_add_occur_indexingr  r†   rh  r­  r3  r4  r:  rø   r;  r<  ru  r   r’  r   r   ro  rp  r¥  r
   r…  r†  r'  r  rº   )r   rØ  r  rq   rö   r…  r†  s   &&     r!   r>   Ú$NltkDrtBoxerDrsInterpreter.interpretÞ  sÈ  € ô
 �bœ(×#Ò#ÜØ&(§g¢gÓ.¡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   ªO6c           	     ó|   € \        \        V4      4      pV F!  p\        V\        \        V4      4      4      pK#  	  V# rI   )r   r   r   )r   rö   rh   rä   rA  s   &&*  r!   rh  Ú%NltkDrtBoxerDrsInterpreter._make_atom  s:   € Ü%¤h¨t£nÓ5ˆÛˆCÜ,ØÔ,¬X°c«]Ó;óŠEñ ð ˆr$   c                ó&  € V P                   '       d   VP                  eq   VP                  '       d   VRVP                  ,          ,          pVRVP                  ,          ,          pVR\        VP                  4      ^ ,          ,          ,          pV# )Nz_%sz_s%sz_w%s)rÝ  rþ   r:   Úsortedrÿ   )r   ÚbaserØ  s   &&&r!   rä  Ú.NltkDrtBoxerDrsInterpreter._add_occur_indexing  sh   € Ø××Ð §¡Ò!:Ø��ˆØ˜ §¡Õ/Õ/�Ø�F˜RŸ]™]Õ*Õ*ˆDØ�FœV B§O¡OÓ4°QÕ7Õ7Õ7ˆDØˆr$   rÜ  Nr¹   )
rº   r»   r¼   r½   r"   r>   rh  rä  r¿   rÀ   rÁ   s   @r!   r   r   Ú  s   ø‡ € ô(ò'7òR÷ð r$   r   c                   ó   € ] tR tRtRtR# )ÚUnparseableInputExceptioni  rJ   N)rº   r»   r¼   r½   r¿   rJ   r$   r!   rí  rí    s   † Ûr$   rí  Ú__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 indexrÞ  zincorrect number of arguments)rÞ  z\n)r;   r   )Cr¾   rP   r+   rª  r�   rt   Ú	functoolsr   Úoptparser   Únltk.internalsr   Únltk.sem.drtr   r   r   r	   r
   r   r   r   r   Únltk.sem.logicr   r   r   r   r   rµ   r¶  rÖ  r  r  r=  r  r3  r:  ru  r’  ro  r¥  r'  rÖ  r   r7   rí  rº   ÚoptsÚ
add_optionÚ
parse_argsÚoptionsrh   rO   ÚerrorrÞ  ÚinterpreterrA   r    r;   r   rq   rŒ   ÚsimplifyÚeliminate_equalityrô  Ú	normalizeÚpretty_printrJ   r$   r!   Ú<module>r     s�  ðñó* Û 	Û 	Û Û Ý Ý !å &÷
÷ 
õ 
÷ó ÷RYñ RYôj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$   