
\c           @  s  d  Z  d d l m Z m Z d d l Z d d l Z d d l m Z m Z d a	 d d l
 m Z m Z y d d l Z d   Z Wn$ e k
 r t	 d 7a	 d	   Z n Xd d
 l m Z d d l m Z d d d d d d d d g Z e a d d  Z d   Z d   Z d   Z d   Z e e  Z d e e j d  <d   e D Z  e! d   e D  Z  e  j" d   e D  e  d e  d <e  d e  d <d  e  d! <d"   Z# d#   Z$ e! d$   e D  Z% e% j" d%   e D  d&   Z& d'   Z' e e  Z( d e( e( j d  <d(   e( D Z) e! d)   e( D  Z) e) j" d*   e( D  e  d e) d <e  d e) d <d+ e) d! <i
 d, d- 6d. d/ 6d0 d1 6d2 d3 6d4 d5 6d6 d7 6d8 d9 6d: d; 6d< d= 6d> d? 6Z* i d@ dA 6dB dC 6dD dE 6dF dG 6dH dI 6dJ dK 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6dV dW 6Z+ dX   Z, dY   Z- dZ   Z. d[   Z/ d\   Z0 d]   Z1 d^   Z2 i  Z3 i  Z4 x d_ D] Z5 e, e5  e3 e5 <qgWx d` D] Z5 e0 e5  e4 e5 <qWx- da db dc dd de g D] Z6 e- e6  e3 e6 <qWxM g  e df  D] Z7 e8 e7  ^ qD]& Z9 e. e9  e3 e9 <e1 e9  e4 e9 <qWx. dg D]& Z: e/ e:  e3 e: <e2 e:  e4 e: <q)Wi dh   di 6dj   dk 6dl   dm 6dn   do 6dp   dq 6dr   ds 6dt   du 6dv   dw 6dx   dy 6dz   d{ 6d|   d} 6d~   d 6d   d 6d   d 6d   d 6d   d 6d   d 6d   d 6d   d 6Z; d   Z< d   Z= d   Z> d   Z? d   Z@ d   ZA d   ZB d   ZC i e? dG  e< dG  e@ dG  f dG f dG 6e? dI  e< dI  e@ dI  f dI f dI 6e? dK  e= dK  eA dK  f dK f dK 6e? dM  e= dM  eA dM  f dM f dM 6e? dS  e< dO  e@ dO  e> dO  f dO f dO 6e? dS  e< dQ  e@ dQ  e> dQ  f dQ f dQ 6e d  d 6e d  e d  e d  f d f d 6e d  e d  e d  f d f d 6e? dK  e? dK  eA dK  f e d  f d 6e? dM  e? dM  eA dM  f e d  f d 6e? dK  e= dK  e? dK  f e d  f d 6e? dM  e= dM  e? dM  f e d  f d 6e? dW  e d  e d  f e dV  f dW 6e d  d e d  e d  f e d  f dU 6e d  dC 6e d  d 6e d  d 6e d  d 6ZD i ddG 6ddI 6d
dK 6ddM 6ddO 6ddQ 6d d 6dd 6dd 6ddW 6dC dC 6d d 6d d 6d d 6ZE d   ZF d   ZG d   ZH i e d  d 6e d  d 6e d  d 6ZI d   ZJ i eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d6eJ d  d 6eJ d  d!6eJ d  d"6eJ d  d#6eJ d  d$6ZK i d%d 6d&d 6d'd 6d e d  f d 6d e d  f d 6d e d  f d 6d(d 6d)d 6d*d 6d+d 6d,d 6d-d 6d e d  f d 6d e d  rZ
e d  rZ
e d  e d  e d  n d f d 6d e d  r
e d  r
e d  r
e d  e d  e d  n d f d 6d e d  f d 6ZL d   ZM i e d  d 6e d  d 6e d  d 6e d  odC e d  d 6e d  d 6e d  d 6e d  d 6e d  oae d  e d  d 6e d  d 6e d  d 6e d  d 6e d  d 6e d  d 6e d  d 6e d  d 6ZN d d d ZO e d ZP d  ZQ d  ZR d S(.  s=   Symbolic primitives + unicode/ASCII abstraction for pretty.pyi(   t   print_functiont   divisionN(   t   ascii_lowercaset   ascii_uppercaset    (   t   unicodet   rangec         C  s?   y t  j |   } Wn% t k
 r: d } t d |  7a n X| S(   s.   unicode character by name or None if not founds   No '%s' in unicodedata
N(   t   unicodedatat   lookupt   KeyErrort   Nonet   unicode_warnings(   t   namet   u(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   U   s    s   No unicodedata available
c         C  s   d  S(   N(   R
   (   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   <lambda>   R   (   t   split_super_sub(   t   greekst   greek_unicodet   subt   supt   xsymt   vobjt   hobjt   pretty_symbolt	   annotatedc           s   |  d k r t St rz g  d D] } d | ^ q } d j g  t j   D](   t   f d   | D  sF   ^ qF  a n  |  r t r t j t  d a n  t } |  a | S(   s8   Set whether pretty-printer should use unicode by defaultt   HKLMNPSTs   LATIN SUBSCRIPT SMALL LETTER %ss   
c         3  s   |  ] } |   k Vq d  S(   N(    (   t   .0t   i(   t   l(    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>?   s    R   N(   R
   t   _use_unicodeR   t   joint
   splitlinest   anyt   warningst   warn(   t   flagR   t   knownt   use_unicode_prev(    (   R   sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   pretty_use_unicode2   s    +	c          C  s   y g  }  |  j  t j    |  t j   7}  xP |  D]H } | d k rI d St t j d d  } | d k rn d S| j |  q3 WWn t	 k
 r n Xt
 t  d S(   s>   See if unicode output is available and leverage it if possibleNt   encoding(   t   extendR   t   valuest   atoms_tableR
   t   getattrt   syst   stdoutt   encodet   UnicodeEncodeErrorR'   t   True(   t   symbolst   sR(   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   pretty_try_use_unicodeL   s    c          G  s   t  r t |    St |    Sd S(   s-   call str or unicode depending on current modeN(   R   R   t   str(   t   args(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   xstrl   s    
c         C  s   t  d |  j    S(   Ns   GREEK SMALL LETTER %s(   R   t   upper(   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR   t   R   c         C  s   t  d |  j    S(   Ns   GREEK CAPITAL LETTER %s(   R   R8   (   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR   u   R   t   lamdat   lambdac         C  s+   i  |  ]! } t  |  t |  f |  q S(    (   t   gt   G(   R   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys
   <dictcomp>|   s   	 c         c  s!   |  ] } | t  |  f Vq d  S(   N(   R;   (   R   t   L(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>}   s    c         c  s3   |  ]) } | d  j    | d t |  f Vq d S(   i    i   N(   R8   R<   (   R   R=   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>~   s    t   Lamdat   Lambdau   ςt   varsigmac         C  s   t  d |  j    S(   Ns   MATHEMATICAL BOLD SMALL %s(   R   R8   (   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d |  j    S(   Ns   MATHEMATICAL BOLD CAPITAL %s(   R   R8   (   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         c  s!   |  ] } | t  |  f Vq d  S(   N(   t   b(   R   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>   s    c         c  s!   |  ] } | t  |  f Vq d  S(   N(   t   B(   R   R=   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>   s    c         C  s   t  d |  j    S(   Ns   MATHEMATICAL BOLD SMALL %s(   R   R8   (   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d |  j    S(   Ns   MATHEMATICAL BOLD CAPITAL  %s(   R   R8   (   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s+   i  |  ]! } t  |  t |  f |  q S(    (   R;   R<   (   R   R   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys
   <dictcomp>   s   	 c         c  s!   |  ] } | t  |  f Vq d  S(   N(   R;   (   R   R=   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>   s    c         c  s3   |  ]) } | d  j    | d t |  f Vq d S(   i    i   N(   R8   R<   (   R   R=   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pys	   <genexpr>   s    u   𝛓t   ZEROt   0t   ONEt   1t   TWOt   2t   THREEt   3t   FOURt   4t   FIVEt   5t   SIXt   6t   SEVENt   7t   EIGHTt   8t   NINEt   9s	   PLUS SIGNt   +t   MINUSt   -s   EQUALS SIGNt   =s   LEFT PARENTHESISt   (s   RIGHT PARENTHESISt   )s   LEFT SQUARE BRACKETt   [s   RIGHT SQUARE BRACKETt   ]s   LEFT CURLY BRACKETt   {s   RIGHT CURLY BRACKETt   }s   CURLY BRACKETs   {}t	   SUMMATIONt   sumt   INTEGRALt   intc         C  s   t  d |  j    S(   Ns   LATIN SUBSCRIPT SMALL LETTER %s(   R   R8   (   t   letter(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d |  j    S(   Ns   GREEK SUBSCRIPT SMALL LETTER %s(   R   R8   (   Re   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   SUBSCRIPT %s(   R   t
   digit_2txt(   t   digit(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   SUBSCRIPT %s(   R   t	   symb_2txt(   t   symb(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d |  j    S(   Ns!   SUPERSCRIPT LATIN SMALL LETTER %s(   R   R8   (   Re   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   SUPERSCRIPT %s(   R   Rf   (   Rg   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   SUPERSCRIPT %s(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   aeioruvxhklmnpstt   int   betat   gammat   rhot   phit   chii
   s   +-=()c         C  s   t  |  d  S(   Nu   ̊(   t   center_accent(   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   mathringc         C  s   t  |  d  S(   Nu   ⃜(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   ddddotc         C  s   t  |  d  S(   Nu   ⃛(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   dddotc         C  s   t  |  d  S(   Nu   ̈(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   ddotc         C  s   t  |  d  S(   Nu   ̇(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   dotc         C  s   t  |  d  S(   Nu   ̌(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   checkc         C  s   t  |  d  S(   Nu   ̆(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   brevec         C  s   t  |  d  S(   Nu   ́(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   acutec         C  s   t  |  d  S(   Nu   ̀(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   gravec         C  s   t  |  d  S(   Nu   ̃(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   tildec         C  s   t  |  d  S(   Nu   ̂(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   hatc         C  s   t  |  d  S(   Nu   ̅(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   barc         C  s   t  |  d  S(   Nu   ⃗(   Rq   (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   vecc         C  s   |  d S(   Nu   ′(    (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   primec         C  s   |  d S(   Nu   ′(    (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   prmc         C  s   d |  d S(   Nu   ‖(    (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   normc         C  s   d |  d S(   Nu   ⟨u   ⟩(    (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   avgc         C  s   d |  d S(   Nu   |(    (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   absc         C  s   d |  d S(   Nu   |(    (   R3   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   t   magc         C  s   t  d t |   S(   Ns   %s UPPER HOOK(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   %s UPPER CORNER(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   %s MIDDLE PIECE(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   %s EXTENSION(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   %s LOWER HOOK(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   %s LOWER CORNER(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns   %s TOP(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR      R   c         C  s   t  d t |   S(   Ns	   %s BOTTOM(   R   Rh   (   Ri   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     R   s   BOX DRAWINGS LIGHT VERTICALt   |s5   BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFTs5   BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHTt   <t   >s
   LEFT FLOORt   lfloors   RIGHT FLOORt   rfloors   LEFT CEILINGt   lceils   RIGHT CEILINGt   rceils   TOP HALF INTEGRALs   BOTTOM HALF INTEGRALt   _t   OVERLINEs   N-ARY SUMMATIONs   BOX DRAWINGS LIGHT HORIZONTALs   LOW LINEt   /s   \s    | s     /s   /  c         C  s  | d k r t  d   n  t r* t } n t } | |  } d } } } } t | t  sd | } np t | d t  r | d }	 | d } n | }	 |	 d } y" |	 d } |	 d } |	 d } Wn t k
 r n X| d k r | } n  | d k r | } n  | d k r| } n  | d k	 r?| d d k rE| d 7} qEn | } | d k rU| Sg  }
 | d d } | d | d } |
 | g 7}
 |
 | g | 7}
 |
 | g | 7}
 |
 | g | 7}
 |
 | g 7}
 |
 S(   sV   Construct spatial object of given length.

    return: [] of equal-length strings
    i    s   Length should be greater than 0i   i   i   N(   t
   ValueErrorR   t   _xobj_unicodet   _xobj_asciiR
   t
   isinstancet   tuplet
   IndexError(   Ri   t   lengtht   _xobjt   vinfot   c1t   topt   bott   midt   extt   vlongt   rest   nextt   nmid(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   xobjN  sR    	
	



			c         C  s   d j  t |  |   S(   sB   Construct vertical object of a given height

       see: xobj
    s   
(   R   R   (   Ri   t   height(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     s    c         C  s   d j  t |  |   S(   sC   Construct horizontal object of a given width

       see: xobj
    R   (   R   R   (   Ri   t   width(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     s    s   SQUARE ROOTi   s	   CUBE ROOTi   s   FOURTH ROOTi   c         C  s   t  d |   S(   Ns   VULGAR FRACTION %s(   R   (   t   txt(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     R   s   ONE HALFi   s	   ONE THIRDs
   TWO THIRDSs   ONE QUARTERs   THREE QUARTERSs	   ONE FIFTHi   s
   TWO FIFTHSs   THREE FIFTHSs   FOUR FIFTHSs	   ONE SIXTHi   s   FIVE SIXTHSs
   ONE EIGHTHi   s   THREE EIGHTHSs   FIVE EIGHTHSs   SEVEN EIGHTHSi   s   ==s   <=s   LESS-THAN OR EQUAL TOs   >=s   GREATER-THAN OR EQUAL TOs   !=s   NOT EQUAL TOs   :=s   +=s   -=s   *=s   /=s   %=t   *s   DOT OPERATORs   -->s   EM DASHs   BLACK RIGHT-POINTING TRIANGLEs   ==>s   BOX DRAWINGS DOUBLE HORIZONTALs   RING OPERATORt   .c         C  s$   t  |  } t r | d S| d Sd S(   s   get symbology for a 'character'i   i    N(   t   _xsymR   (   t   symt   op(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     s    
s   SCRIPT SMALL Et   Exp1s   GREEK SMALL LETTER PIt   Pit   INFINITYt   Infinityt   NegativeInfinitys   DOUBLE-STRUCK ITALIC SMALL It   ImaginaryUnits	   EMPTY SETt   EmptySets   DOUBLE-STRUCK CAPITAL Nt   Naturalss   SUBSCRIPT ZEROt	   Naturals0s   DOUBLE-STRUCK CAPITAL Zt   Integerss   DOUBLE-STRUCK CAPITAL Rt   Realss   DOUBLE-STRUCK CAPITAL Ct	   Complexest   UNIONt   Uniont	   INCREMENTt   SymmetricDifferencet   INTERSECTIONt   Intersectiont   Ringc         C  sf   t  rF | d k	 r; |  d k r; | j d d k r; t d  St |  Sn | d k	 rV | St d   d S(   s'   return pretty representation of an atomR   t   imaginary_unitt   js   DOUBLE-STRUCK ITALIC SMALL Js   only unicodeN(   R   R
   t	   _settingsR   R+   R	   (   t	   atom_namet   defaultt   printer(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   pretty_atom  s    +
c           s5  t  s
 |  St |   \ } } }   f d       | |  } d   } | | t  } | d k	 rs | | t  } n d } | d k r| r | d d j g  | D] }   | |  ^ q  7} n  | r | d d j g  | D] }   | |  ^ q  7} n  | Sd j |  }	 d j |  }
 d j | |	 |
 g  S(   s(   return pretty representation of a symbolc           s   | r t  j |   } n t j |   } | d  k	 r7 | Sxx t t j   d d   d t D]U } |  j   j	 |  rY t
 |   t
 |  k rY t |   |  t
 |   |   SqY W| r d j g  |  D] } t | ^ q  S|  S(   Nt   keyc         S  s
   t  |   S(   N(   t   len(   t   k(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR   !  R   t   reverseR   (   t   greek_bold_unicodet   getR   R
   t   sortedt   modifier_dictt   keysR1   t   lowert   endswithR   R   t   bold_unicode(   R3   t	   bold_namet   gGR   t   c(   t	   translate(    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     s    (-&$c         S  s   g  } x~ |  D]v } | j  |  } | d  k rv y* d j g  | D] } | | ^ q>  } Wqv t t f k
 rr d  SXn  | j |  q W| S(   NR   (   R   R
   R   t	   TypeErrorR	   t   append(   R   t   mappingt   resultR3   t   prettyR   (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   pretty_list,  s    *R   t   __t    R   N(   R   R   R   R
   R   R   (   t	   symb_nameR   R   t   supst   subsR   t   pretty_supst   pretty_subsR3   t   sups_resultt   subs_result(    (   R   sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR     s&    	66c         C  sB   i d d 6d d 6} i d d 6d d 6} t  r6 | |  S| |  Sd S(   s  
    Return a stylised drawing of the letter ``letter``, together with
    information on how to put annotations (super- and subscripts to the
    left and to the right) on it.

    See pretty.py functions _print_meijerg, _print_hyper on how to use this
    information.
    i   i    u   ┌─
├─
╵t   Fi   i   u   ╭─╮
│╶┐
╰─╯R<   s    _
|_
|
s    __
/__
\_|N(   i   i    i   i    u   ┌─
├─
╵(   i   i    i   i   u   ╭─╮
│╶┐
╰─╯(   i   i    i   i    s    _
|_
|
(   i   i    i   i   s    __
/__
\_|(   R   (   Re   t
   ucode_picst
   ascii_pics(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyR   L  s    	

c         C  s4   t  |   d d } |  |  } |  | } | | | S(   s  
    Returns a string with accent inserted on the middle character. Useful to
    put combining accents on symbol names, including multi-character names.

    Parameters
    ==========

    string : string
        The string to place the accent in.
    accent : string
        The combining accent to insert

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Combining_character
    .. [2] https://en.wikipedia.org/wiki/Combining_Diacritical_Marks

    i   i   (   R   (   t   stringt   accentt   midpointt	   firstpartt
   secondpart(    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyRq   h  s    

(   R   R   s   \(   (   R   R   s   \R[   (   R   s   \R   (   (   R   s   \R   R\   (   R]   R]   R]   (   (   R]   R]   R]   R]   (   R^   R^   R^   (   (   R^   R^   R^   R^   (   R   R   s   \R   (   (   R   R   s   \R   R_   (   R   s   \R   R   (   (   R   s   \R   R   R`   (   R   R   s   \(   (   R   R   s   \R   (   R   s   \R   (   (   R   s   \R   R   (   s    | s     /s   /  (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   RZ   RZ   (   R   R   (   R   R   (   s   :=s   :=(   s   +=s   +=(   s   -=s   -=(   s   *=s   *=(   s   /=s   /=(   s   %=s   %=(S   t   __doc__t
   __future__R    R   R-   R"   R   R   R   R   t   sympy.core.compatibilityR   R   R   R   t   ImportErrort   sympy.printing.conventionsR   t   sympy.core.alphabetsR   t   __all__t   FalseR   R
   R'   R4   R7   R;   R<   t   listt   greek_letterst   indexR   t   dictt   updateRA   RB   R   t   gbt   GBt   greek_bold_lettersR   Rf   Rh   t   LSUBt   GSUBt   DSUBt   SSUBt   LSUPt   DSUPt   SSUPR   R   R   t   glR   R5   t   dR3   R   t   HUPt   CUPt   MIDt   EXTt   HLOt   CLOt   TOPt   BOTR   R   R   R   R   t   roott   VFt   fracR   R   R+   R   R   R   Rq   (    (    (    sE   lib/python2.7/site-packages/sympy/printing/pretty/pretty_symbology.pyt   <module>   s  
			 			
				


							,

















								((((11				.....1
	D				66		=	