ó
±éRc           @   s¼  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z y d  d l m Z Wn! e k
 r¿ d  d l m Z n Xd  d l m Z m Z m Z d  d l m Z m Z m Z m Z d  d l m Z d  d l m Z m Z m Z d  d l m  Z  d  d	 l! m" Z" d  d
 l# m$ Z$ m% Z% d  d l& m' Z' m( Z( m) Z) d  d l* m+ Z+ d  d l, m- Z- d  d l m. Z. d  d l/ m0 Z0 m1 Z1 d  d l m2 Z2 d  d l3 m4 Z5 e Z6 d „  Z7 e
 j8 d ƒ Z9 d „  Z: d „  Z; d f  d „  ƒ  YZ< g  d „ Z= i  d „ Z> i d d 6d d 6d d 6Z? d  e f d! „  ƒ  YZ@ d" e f d# „  ƒ  YZA d$ e f d% „  ƒ  YZB eB ZC d& „  ZD d' „  ZE d( ZF d S()   iÿÿÿÿ(   t   divisionN(   t   md5(   t   verboset   __version__t   rcParams(   t   RendererBaset   GraphicsContextBaset   FigureManagerBaset   FigureCanvasBase(   t   MixedModeRenderer(   t   is_string_liket   is_writable_file_liket   maxdict(   t   rgb2hex(   t   Figure(   t   findfontt   FontProperties(   t   FT2Fontt   KERNING_DEFAULTt   LOAD_NO_HINTING(   t   MathTextParser(   t   Path(   t   _path(   t   Affine2Dt   Affine2DBase(   t   _png(   t   escapec         C   s:   |  j  d d ƒ }  |  j  d d ƒ }  |  j  d d ƒ }  |  S(   Nu   &u   &amp;u   <u   &lt;u   >u   &gt;(   t   replace(   t   s(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   escape_cdataD   s    s   -(?=-)c         C   s   t  |  ƒ }  t j d |  ƒ S(   Ns   - (   R   t   _escape_xml_commentt   sub(   R   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   escape_commentK   s    c         C   s^   |  j  d d ƒ }  |  j  d d ƒ }  |  j  d d ƒ }  |  j  d d ƒ }  |  j  d	 d
 ƒ }  |  S(   Nu   &u   &amp;u   'u   &apos;u   "u   &quot;u   <u   &lt;u   >u   &gt;(   R   (   R   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   escape_attribO   s    t	   XMLWriterc           B   sk   e  Z d  „  Z e d „ Z i  d „ Z d „  Z d „  Z d	 e d „ Z	 d „  Z
 d	 i  d „ Z d „  Z RS(
   c         C   sV   | j  |  _ t | d ƒ r* | j |  _ n  d |  _ g  |  _ g  |  _ d d |  _ d  S(   Nt   flushi    u    i@   (   t   writet   _XMLWriter__writet   hasattrR#   t   _XMLWriter__opent   _XMLWriter__tagst   _XMLWriter__datat   _XMLWriter__indentation(   t   selft   file(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   __init__^   s    			c         C   sv   |  j  r8 | r |  j d ƒ n |  j d ƒ d |  _  n  |  j rr d j |  j ƒ } |  j t | ƒ ƒ g  |  _ n  d  S(   Nu   >
u   >i    u    (   R'   R%   R)   t   joinR   (   R+   t   indentt   data(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   __flushg   s    		c         K   s  |  j  ƒ  t | ƒ } g  |  _ |  j j | ƒ |  j |  j t |  j ƒ d  ƒ |  j d | ƒ | sm | rô | j ƒ  } | j	 | ƒ | j
 ƒ  } | j ƒ  xU | D]J \ } } | d k s£ t | ƒ } t | ƒ } |  j d | | f ƒ q£ q£ Wn  d |  _ t |  j ƒ d S(   Ni   u   <%st    u    %s="%s"(   t   _XMLWriter__flushR   R)   R(   t   appendR%   R*   t   lent   copyt   updatet   itemst   sortR!   R'   (   R+   t   tagt   attribt   extrat   kt   v(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   start~   s$    
	!
!	c         C   sB   |  j  ƒ  |  j |  j t |  j ƒ  ƒ |  j d t | ƒ ƒ d  S(   Nu   <!-- %s -->
(   R3   R%   R*   R5   R(   R    (   R+   t   comment(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR@   —   s    
c         C   s   |  j  j | ƒ d  S(   N(   R)   R4   (   R+   t   text(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR0   ¡   s    c         C   só   | rX |  j  s t d | ƒ ‚ t | ƒ |  j  d k sm t d |  j  d | f ƒ ‚ n |  j  sm t d ƒ ‚ |  j  j ƒ  } |  j r• |  j | ƒ n# |  j r¸ d |  _ |  j d ƒ d  S| rÞ |  j |  j t	 |  j  ƒ  ƒ n  |  j d | ƒ d  S(   Ns   unbalanced end(%s)iÿÿÿÿs   expected end(%s), got %ss   unbalanced end()i    u   />
u   </%s>
(
   R(   t   AssertionErrorR   t   popR)   R3   R'   R%   R*   R5   (   R+   R:   R/   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   end«   s    			 c         C   s*   x# t  |  j ƒ | k r% |  j ƒ  q Wd  S(   N(   R5   R(   RD   (   R+   t   id(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   closeÃ   s    c         K   sC   t  |  j | | f | ƒ | r/ |  j | ƒ n  |  j d t ƒ d  S(   NR/   (   t   applyR?   R0   RD   t   False(   R+   R:   RA   R;   R<   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   elementÌ   s    c         C   s   d  S(   N(    (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR#   Õ   s    N(   t   __name__t
   __module__R-   t   TrueR3   R?   R@   R0   t   NoneRD   RF   RI   R#   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR"   ]   s   			
	
			c         C   s÷   t  |  ƒ ró t j ƒ  } xÎ |  D]Æ \ } } | d k rU | d k s | d k rU q n  | d k rs | d k rs q n  | d k r‘ | d k r‘ q n  | d k r» t | t ƒ r» | j ƒ  } n  | j d | d j d	 „  | Dƒ ƒ f ƒ q W| j ƒ  Sd
 S(   Nu   scaleg      ð?u	   translateg        u   rotateu   matrixu   %s(%s)t    c         s   s   |  ] } t  | ƒ Vq d  S(   N(   t   str(   t   .0t   x(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pys	   <genexpr>ç   s    R2   (   g      ð?(   g      ð?g      ð?(   g        g        (   g        (	   R5   t   iot   StringIOt
   isinstanceR   t	   to_valuesR$   R.   t   getvalue(   t   transform_listt   outputt   typet   value(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   generate_transformÚ   s    $.
c         C   s|   |  rx t  j ƒ  } |  j ƒ  }  |  j ƒ  xC |  D]; \ } } t | ƒ } t | ƒ } | j d | | f ƒ q/ W| j ƒ  Sd S(   Nu   %s:%s;R2   (   RR   RS   R8   R9   R!   R$   RV   (   R;   RX   R=   R>   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   generate_cssë   s    

u   squaret
   projectingu   buttt   buttu   roundt   roundt   RendererSVGc           B   sv  e  Z d  Z e d ƒ Z d% d d „ Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d% d „ Z d „  Z d „  Z d% d% d% d „ Z d% d „ Z d% d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d% d% d% d „ Z d „  Z d% d „ Z  d% d „ Z! d d% d  „ Z" e# d% d! „ Z$ d" „  Z% d# „  Z& d$ „  Z' RS(&   g      Y@i2   iH   c         C   sJ  | |  _  | |  _ t | ƒ |  _ | |  _ i  |  _ t d sd | d  k	 sO t ‚ | |  _	 i  |  _
 n  i  |  _ i  |  _ i  |  _ d |  _ i  |  _
 i  |  _ t |  _ d |  _ i  |  _ t d ƒ |  _ t j |  ƒ t ƒ  |  _ | j t ƒ |  j j d d d | d d | d	 d
 | | f d d d d d i d d 6ƒ|  _ |  j ƒ  d  S(   Ns   svg.image_inlinei    t   SVGu   svgt   widthu   %iptt   heights   %iptt   viewBoxu	   0 0 %i %it   xmlnsu   http://www.w3.org/2000/svgt   versionu   1.1R;   u   http://www.w3.org/1999/xlinku   xmlns:xlink(   Rb   Rc   R"   t   writert	   image_dpit   _groupdR   RM   RB   t   basenamet   _imagedt   _clipdt
   _char_defst   _markerst   _path_collection_idt   _hatchdRH   t   _has_gouraudt   _n_gradientst   _fontsR   t   mathtext_parserR   R-   t   dictt
   _glyph_mapR$   t	   svgPrologR?   t	   _start_idt   _write_default_style(   R+   Rb   Rc   t	   svgwriterRj   Rh   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR-   ü   s<    				
											c         C   sB   |  j  ƒ  |  j ƒ  |  j ƒ  |  j j |  j ƒ |  j j ƒ  d  S(   N(   t   _write_clipst   _write_hatchest   _write_svgfontsRg   RF   Rx   R#   (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   finalize  s
    


c         C   sr   |  j  } t i d d 6d d 6ƒ } | j d ƒ | j d d d ƒ| j d	 | ƒ | j d ƒ | j d ƒ d  S(
   Nu   roundu   stroke-linejoinu   buttu   stroke-linecapu   defsu   styleRY   u   text/cssu   *{%s}
(   Rg   R\   R?   R0   RD   (   R+   Rg   t   default_style(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyRy   &  s    	c         C   sO   t  | ƒ } t j d d k r1 | j d ƒ } n  d | t | ƒ j ƒ  d  f S(   Ni    i   t   utf8u   %s%si
   (   RO   t   syst   version_infot   encodeR   t	   hexdigest(   R+   RY   t   content(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   _make_id1  s    c         C   s&   | t  ƒ  j d d ƒ j d |  j ƒ S(   Ng      ð?g      ð¿g        (   R   t   scalet	   translateRc   (   R+   t	   transform(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   _make_flip_transform7  s    	c         C   s°   t  | ƒ } |  j j | ƒ } | d  k r† t | ƒ } |  j j | ƒ } | d  k rv t t | ƒ ƒ } | |  j | <n  | |  j | <n  | j ƒ  | j ƒ  } | j	 | d ƒ | S(   Ng      R@(
   t   hasht   fontdt   getRM   R   R   RO   t   cleart   get_size_in_pointst   set_size(   R+   t   propt   keyt   fontt   fnamet   size(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt	   _get_font=  s    
c         C   s¼   | d k	 r t | ƒ } n  | j ƒ  } | d k	 rB t | ƒ } n  | j ƒ  | | f } |  j j | ƒ } | d k r¬ |  j d | ƒ } | j ƒ  | | f | f |  j | <n | \ } } | S(   s,   
        Create a new hatch pattern
        u   hN(   RM   t   tuplet   get_rgbt	   get_hatchRp   R�   R†   t   get_hatch_path(   R+   t   gct   rgbFacet   edget   dictkeyt   oidt   _(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt
   _get_hatchL  s    %c   	      C   s�  t  |  j ƒ s d  Sd } |  j } | j d ƒ xZ|  j j ƒ  D]I\ \ } } } } | j d d | d d d d d	 d d
 t | ƒ d t | ƒ ƒ|  j | t ƒ  j | ƒ j d d ƒ j	 d | ƒ d t
 ƒ} | d  k râ d } n t | ƒ } | j d d d d	 d d
 t | d ƒ d t | d ƒ d | ƒ| j d d | d t i t | ƒ d 6t | ƒ d 6d d 6d d 6d d 6ƒ ƒ| j d ƒ q? W| j d ƒ d  S(    NiH   t   defsu   patternRE   t   patternUnitsu   userSpaceOnUseRQ   u   0t   yRb   Rc   g      ð?g      ð¿i    t   simplifyu   noneu   recti   t   fillu   patht   dt   styleu   fillu   strokeu   1.0u   stroke-widthu   buttu   stroke-linecapu   miteru   stroke-linejoinu   defs(   R5   Rp   Rg   R?   t   valuest   unicodet   _convert_pathR   R‡   Rˆ   RH   RM   R   RI   R\   RD   (	   R+   t
   HATCH_SIZERg   t   patht   facet   strokeRŸ   t	   path_dataR¦   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR|   ^  sB    	%%*		,c   
      C   sq  i  } | j  ƒ  } | j ƒ  d k	 r� d |  j | | ƒ | d <| d k	 rt | ƒ d k r| d d k r| rt | d ƒ | d <qn‚ | d k r¦ d | d <ni t | d  ƒ d k rt | ƒ | d <t | ƒ d k r| d d k r| rt | d ƒ | d <qn  | r@| j ƒ  d k r@t | j ƒ  ƒ | d	 <n  | j	 ƒ  \ } } | d k	 r¡d
 j
 g  | D] } d | ^ qkƒ | d <t t | ƒ ƒ | d <n  | j ƒ  } | rm| j ƒ  }	 t |	 ƒ | d <| rý|	 d d k rýt |	 d ƒ | d <n  | d k rt | ƒ | d <n  | j ƒ  d k rA| j ƒ  | d <n  | j ƒ  d k rmt | j ƒ  | d <qmn  | S(   sk   
        return the style string.  style is generated from the
        GraphicsContext and rgbFace
        u   url(#%s)u   filli   i   g      ð?u   fill-opacityu   nonei    u   opacityu   ,u   %fu   stroke-dasharrayu   stroke-dashoffsetu   strokeu   stroke-opacityu   stroke-widthR_   u   stroke-linejoinR^   u   stroke-linecapN(   i    i    i    (   t   get_forced_alphaR™   RM   R¡   R5   RO   R—   R   t	   get_alphat
   get_dashesR.   Rª   t   floatt   get_linewidthR˜   t   get_joinstylet   get_capstylet   _capstyle_d(
   R+   R›   Rœ   R;   t   forced_alphat   offsett   seqt   valt	   linewidtht   rgb(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   _get_style_dict„  s>    5)*c         C   s   t  |  j | | ƒ ƒ S(   N(   R\   R¿   (   R+   R›   Rœ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt
   _get_style°  s    c         C   s  | j  ƒ  } | j ƒ  \ } } | d  k	 rT |  j | ƒ } t | ƒ t | ƒ f } nK | d  k	 r› | j \ } } } }	 |  j | |	 } | | | |	 f } n d  S|  j j	 | ƒ }
 |
 d  k r|  j
 d | ƒ } | d  k	 r÷ | | f | f |  j | <q| | f |  j | <n |
 \ }
 } | S(   Nu   p(   t   get_clip_rectanglet   get_clip_pathRM   RŠ   RE   RO   t   boundsRc   Rl   R�   R†   (   R+   R›   t   cliprectt   clippatht   clippath_transRž   RQ   R¤   t   wt   ht   clipRŸ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt	   _get_clip³  s$    c         C   s  t  |  j ƒ s d  S|  j } | j d ƒ xØ |  j j ƒ  D]Ç \ } } | j d d | ƒt  | ƒ d k r¤ | \ } } |  j | | d t ƒ} | j d d | ƒnO | \ } } }	 }
 | j d d	 t | ƒ d
 t | ƒ d t |	 ƒ d t |
 ƒ ƒ| j	 d ƒ q9 W| j	 d ƒ d  S(   NR¢   t   clipPathRE   i   R¥   u   pathR§   u   rectRQ   R¤   Rb   Rc   u   clipPathu   defs(
   R5   Rl   Rg   R?   R©   R«   RH   RI   Rª   RD   (   R+   Rg   RÉ   RŸ   RÅ   RÆ   R°   RQ   R¤   RÇ   RÈ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR{   Ë  s    	=c         C   sˆ  t  d d k s d  S|  j } | j d ƒ xJ|  j j ƒ  D]9\ } } t | ƒ } | j d d ƒ | j ƒ  } | j d d | d ƒ| j d
 d i | j	 d 6| j
 j ƒ  d 6d d 6d j d „  | j Dƒ ƒ d 6ƒx� | D]… } | j | d t ƒ} | j ƒ  \ } }	 t | |	 ƒ }
 |  j |
 ƒ } | j d d | d i t | ƒ d 6t | j d ƒ d 6ƒqÝ W| j d ƒ q: W| j d ƒ d  S(   Ns   svg.fonttypet   svgfontu   defsiH   u   fontRE   i   i    i   u	   font-faceR;   u   font-familyu
   font-styleu   72u   units-per-emu    c         s   s   |  ] } t  | d  ƒ Vq d S(   g      P@N(   Rª   (   RP   RQ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pys	   <genexpr>í  s    u   bboxt   flagsu   glyphR§   u   unicodeg      ð@u   horiz-adv-x(   i   i    i    i   (   R   Rg   R?   Rs   R8   R   R�   t   get_sfntRI   t   family_namet
   style_namet   lowerR.   t   bboxt	   load_charR   t   get_pathR   R«   t   unichrRª   t   linearHoriAdvanceRD   (   R+   Rg   t
   font_fnamet   charsR“   t   sfntt   chart   glypht   vertst   codesR­   R°   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR}   Ü  s:    	
!c         C   sj   | r |  j  j d d | ƒnG |  j j | d ƒ d |  j | <|  j  j d d d | |  j | f ƒd S(   sv   
        Open a grouping element with label *s*. If *gid* is given, use
        *gid* as the id of the group.
        t   gRE   i    i   u   gu   %s_%dN(   Rg   R?   Ri   R�   (   R+   R   t   gid(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt
   open_groupþ  s     c         C   s   |  j  j d ƒ d  S(   NRÞ   (   Rg   RD   (   R+   R   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   close_group	  s    c         C   s   t  d S(   sb   
        if svg.image_noscale is True, compositing multiple images into one is prohibited
        s   svg.image_noscale(   R   (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   option_image_nocomposite  s    c         C   s@   | r! d d |  j  |  j f } n d  } t j | | | | d ƒ S(   Ng        i   (   Rb   Rc   RM   R   t   convert_to_svg(   R+   R­   R‰   RÉ   R¥   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR«     s    c         C   s  |  j  | ƒ } | d  k o* | j ƒ  d  k } | j o9 | } |  j | | d | d | ƒ} i  }	 |  j | | ƒ |	 d <|  j | ƒ }
 |
 d  k	 r¢ d |
 |	 d <n  | j ƒ  d  k	 r× |  j j	 d i | j ƒ  d 6ƒ n  |  j j
 d d	 | d
 |	 ƒ| j ƒ  d  k	 r|  j j d ƒ n  d  S(   NRÉ   R¥   u   styleu   url(#%s)u	   clip-pathu   au
   xlink:hrefu   pathR§   R;   (   RŠ   RM   Rš   t   should_simplifyR«   RÀ   RÊ   t   get_urlRg   R?   RI   RD   (   R+   R›   R­   R‰   Rœ   t   trans_and_flipRÉ   R¥   R°   R;   t   clipid(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt	   draw_path  s    #c         C   s$  t  | j ƒ s d  S|  j } |  j | | t ƒ  j d d ƒ d t ƒ} |  j | | ƒ }	 | t |	 ƒ f }
 |  j	 j
 |
 ƒ } x- |	 j ƒ  D] } | j d ƒ sŠ |	 | =qŠ qŠ Wt |	 ƒ }	 | d  k r |  j d |
 ƒ } | j d ƒ | j d d | d	 | d
 |	 ƒ| j d ƒ | |  j	 |
 <n  i  } |  j | ƒ } | d  k	 rRd | | d <n  | j d d | ƒ|  j | ƒ } i d | d 6} x‹ | j | d t ƒD]t \ } } t  | ƒ r›| d \ } } t | ƒ | d <t | ƒ | d <|  j | | ƒ | d <| j d d | ƒq›q›W| j d ƒ d  S(   Ng      ð?g      ð¿R¥   R¯   u   mu   defsu   pathRE   R§   R¨   u   url(#%s)u	   clip-pathu   gR;   u   #%su
   xlink:hrefiþÿÿÿu   xu   yu   styleu   useRÞ   (   R5   t   verticesRg   R«   R   R‡   RH   R¿   R\   Rn   R�   t   keyst
   startswithRM   R†   R?   RI   RD   RÊ   RŠ   t   iter_segmentsRª   RÀ   (   R+   R›   t   marker_patht   marker_transR­   t   transRœ   Rg   R°   R¨   Rž   RŸ   R’   R;   Rç   Ræ   Ré   t   codeRQ   R¤   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   draw_markers-  sF    		"c         C   s:  |  j  } g  } | j d ƒ x­ t |  j | | | ƒ ƒ D]� \ } \ } } t | j ƒ  ƒ j d d ƒ } |  j | | d t ƒ} d |  j	 | |  j
 d | ƒ f } | j d d | d	 | ƒ| j | ƒ q8 W| j d ƒ xK|  j | | | | | | | | |	 |
 | | | ƒ D]\ } } } } } |  j | ƒ } | j ƒ  } | d  k	 rf| j d
 d i | d 6ƒn  | d  k	 r“| j d d i d | d 6ƒn  i d | d 6t | ƒ d 6t |  j | ƒ d 6|  j | | ƒ d 6} | j d d | ƒ| d  k	 r| j d ƒ n  | d  k	 r| j d
 ƒ qqW|  j	 d 7_	 d  S(   Nu   defsg      ð?g      ð¿R¥   u	   C%x_%x_%su    u   pathRE   R§   u   aR;   u
   xlink:hrefu   gu   url(#%s)u	   clip-pathu   #%su   xu   yu   styleu   usei   (   Rg   R?   t	   enumeratet   _iter_collection_raw_pathsR   t
   get_matrixR‡   R«   RH   Ro   R†   RI   R4   RD   t   _iter_collectionRÊ   Rå   RM   Rª   Rc   RÀ   (   R+   R›   t   master_transformt   pathst   all_transformst   offsetst   offsetTranst
   facecolorst
   edgecolorst
   linewidthst
   linestylest   antialiasedst   urlst   offset_positionRg   t
   path_codest   iR­   R‰   R§   RŸ   t   xot   yot   path_idt   gc0Rœ   Rç   t   urlR;   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   draw_path_collectionV  sB    	"	"!c         C   sØ  |  j  } |  j sp t |  _ | j d d d ƒ| j d d i d d 6d d	 d
 d d d d d ƒ| j d ƒ n  t j | d  d  … d  d  … f d d ƒd } | d d k r³ d  S|  j | ƒ } | j	 | ƒ } | j d ƒ x¼t
 d ƒ D]®}	 | |	 \ }
 } | |	 d d \ } } | |	 d d \ } } | |	 } | | k rW| } | } nu | | k rr|
 } | } nZ | | | | } | | | } d | } | | |
 } | | | | } | | | } | j d d d |  j |	 f d t |
 ƒ d t | ƒ d t | ƒ d t | ƒ ƒ| j d d  d! d" t i t | ƒ d# 6t | d ƒ d$ 6ƒ ƒ| j d d  d d" t i t | ƒ d% 6d! d& 6ƒ ƒ| j d ƒ që W| j d' d d( |  j d) d* j g  |
 | | | | | f D] } t | ƒ ^ qÕƒ ƒ| j d+ ƒ t j | d  d  … d  d  … f d d ƒd } d, |  j } | j d- d i | d. 6t | ƒ d/ 6t | d ƒ d0 6ƒxP t
 d ƒ D]B }	 | j d- d i | d. 6d1 |  j |	 f d/ 6d d0 6d2 d 6ƒqW|  j d 7_ d  S(3   Nu   filterRE   u   colorAddu   feCompositeR;   u   SourceGraphicu   int   in2u   BackgroundImaget   operatoru
   arithmetict   k2u   1t   k3t   axisi    g      @iÿÿÿÿg        u   defsi   i   i   g      ð?u   linearGradientu   GR%x_%dt   x1t   y1t   x2t   y2u   stopRº   u   0R¨   s
   stop-colors   stop-opacityu
   stop-coloru   stop-opacityu   polygonu   GT%xt   pointsu    R¢   u   #GT%xu   useu
   xlink:hrefu   fillu   fill-opacityu   url(#GR%x_%d)u   url(#colorAdd)(   Rg   Rq   RL   R?   RI   RD   t   npt   sumRŠ   R‰   t   rangeRr   Rª   R\   R   R.   RO   (   R+   R›   R  t   colorsRï   Rg   t	   avg_colorRæ   t   tpointsR  R  R  R  R  t   x3t   y3t   ct   xbt   ybt   m1t   b1t   m2t   b2RQ   t   href(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   draw_gouraud_triangle  sŽ    			/		1;/

c   	      C   sž   i  } |  j  | ƒ } | d  k	 r2 d | | d <n  |  j j d d | ƒ| j ƒ  } x3 t | | ƒ D]" \ } } |  j | | | | ƒ qd W|  j j d ƒ d  S(   Nu   url(#%s)u	   clip-pathu   gR;   (   RÊ   RM   Rg   R?   t   frozent   zipR$  RD   (	   R+   R›   t   triangles_arrayt   colors_arrayR‰   R;   Rç   t   trit   col(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   draw_gouraud_trianglesÝ  s    c         C   s   t  S(   N(   RL   (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   option_scale_imageì  s    c         C   s   |  j  d S(   Ng      R@(   Rh   (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   get_image_magnificationï  s    c         C   s¯  i  } |  j  | ƒ }	 |	 d  k	 rE |  j j d d i d |	 d 6ƒn  d d d d d d g }
 t d rt | j ƒ  ƒ }
 |
 d |
 d <t d	 t |
 ƒ f g ƒ | d
 <|
 d d k s½ t	 ‚ |
 d d k sÓ t	 ‚ | j
 ƒ  \ } } | j ƒ  | j d ƒ | j | | ƒ n  | j ƒ  \ } } | d  k rAd | |  j } n | } | d  k rgd | |  j } n | } t | d d  ƒ } t | d d  ƒ } | d  k	 r½|  j j d d i | d 6ƒn  t d rSt j ƒ  } | j ƒ  | j ƒ  \ } } } t j | | | | ƒ | j ƒ  | p'|  j d | ƒ } d t j | j ƒ  ƒ j d ƒ | d <n¹ |  j j |  j d ƒ d |  j |  j <d |  j |  j |  j f } t j  d | ƒ | j ƒ  | j ƒ  \ } } } t j | | | | ƒ | j ƒ  | pÿd |  j d | ƒ } | | d <| j! ƒ  } | d k r7t" | ƒ | d <n  | | d <| d  k r±|  j j# d d t$ | |
 d ƒ d t$ |  j% | |
 d | ƒ d  t$ | ƒ d! t$ | ƒ d | ƒn¼ |  j& | ƒ } t' j( | j) ƒ  ƒ } | | } | d" k r| d c d# 9<| d# 9} n  t d	 | f g ƒ | d
 <|  j j# d d t$ | ƒ d t$ | ƒ d  t$ | ƒ d! t$ t* | ƒ ƒ d | ƒ| d  k	 rŒ|  j j+ d ƒ n  |	 d  k	 r«|  j j+ d ƒ n  d  S($   Nu   gR;   u   url(#%s)u	   clip-pathi   i    s   svg.image_noscalei   u   matrixu	   transformi   g      R@t   _gidt   _urlu   au
   xlink:hrefs   svg.image_inlinet   imageu   data:image/png;base64,
t   asciis
   xlink:hrefu   %s.image%d.pngs$   Writing image file for inclusion: %st   Im_g      ð?t   opacityRE   u   imageRQ   R¤   i   Rb   Rc   g        g      ð¿(,   RÊ   RM   Rg   R?   R   t   listRô   R[   R—   RB   t   get_sizet   reset_matrixt   set_interpolationt   resizet   get_size_outRh   t   getattrRR   t   BytesIOt
   flipud_outt   as_rgba_strR   t	   write_pngR†   t   base64t	   b64encodeRV   t   decodeRk   R�   Rj   R   t   reportR²   RO   RI   Rª   Rc   RŠ   R  t   arrayRU   t   absRD   (   R+   R›   RQ   R¤   t   imt   dxt   dyR‰   R;   Rç   Rï   t   numrowst   numcolsRÈ   RÇ   RŸ   R  t   bytesiot   rowst   colst   buffert   filenamet   alphat   flipped(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt
   draw_imageò  sŽ    $

 


&&



	3

	c         C   s   | j  d d ƒ S(   Nu   %20u   _(   R   (   R+   t   char_id(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   _adjust_char_idL  s    c	       	   C   s¥  |  j  }	 |	 j | ƒ |  j }
 |  j } t | j ƒ  ƒ } | j ƒ  } i  } | d k re | | d <n  | j ƒ  d k r� t | j ƒ  ƒ | d <n  | sZ| j	 | ƒ } | j
 | | d |
 d t ƒ} | \ } } } | rY|	 j d ƒ xT | j ƒ  D]F \ } } t | Œ  } |  j | d t ƒ} |	 j d	 d
 | d | ƒqò W|	 j d ƒ |
 j | ƒ n  i  } t | ƒ | d <| | j } t d | | f f d | f f d | | f f g ƒ | d <|	 j d d | ƒx| | D]t \ } } } } i d | d 6} | d k rt | ƒ | d <n  | d k r3t | ƒ | d <n  |	 j d d | ƒqÒW|	 j d ƒ nG| d k r‡| j | | d |
 d t ƒ} n | j | | d |
 d t ƒ} | \ } } } | rc|	 j d ƒ x| | j ƒ  D]n \ } } |  j | ƒ } t | d ƒ sd } n! t | Œ  } |  j | d t ƒ} |	 j d	 d
 | d | ƒqÔW|	 j d ƒ |
 j | ƒ n  i  } | | j } t | ƒ | d <t d | | f f d | f f d | | f f g ƒ | d <|	 j d d | ƒxn | D]f \ } } } } |  j | ƒ } |	 j d d t d | | f f d | f f g ƒ d i d | d 6ƒqÜWxK | D]C \ } } t | | ƒ } |  j | d t ƒ} |	 j d	 d | ƒqMW|	 j d ƒ d S(   s>  
        draw the text by converting them to paths using textpath module.

        *prop*
          font property

        *s*
          text to be converted

        *usetex*
          If True, use matplotlib usetex mode.

        *ismath*
          If True, use mathtext parser. If "TeX", use *usetex* mode.
        s   #000000R¦   g      ð?u   opacityt	   glyph_mapt   return_new_glyphs_onlyu   defsR¥   u   pathRE   R§   u   styleu	   translateu   rotateu   scaleu	   transformu   gR;   u   #%su
   xlink:hrefg        u   xu   yu   uset   TeXi    u    R‰   RÞ   N(   Rg   R@   Rv   t
   _text2pathR   R˜   R�   R²   Rª   R–   t   get_glyphs_with_fontRL   R?   t	   iteritemsR   R«   RH   RI   RD   R7   R\   t
   FONT_SCALER[   RO   t   get_glyphs_text   get_glyphs_mathtextRS  R5   (    R+   R›   RQ   R¤   R   R‘   t   anglet   ismatht   mtextRg   RT  t	   text2patht   colort   fontsizeR¨   R“   t   _glyphst
   glyph_infot   glyph_map_newt   rectsRR  t
   glyph_pathR­   R°   R;   t
   font_scalet   glyph_idt	   xpositiont	   ypositionR‡   RÜ   RÝ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   _draw_text_as_pathO  s     					c	   +      C   s;  |  j  }	 t | j ƒ  ƒ }
 i  } |
 d k r: |
 | d <n  | j ƒ  d k re t | j ƒ  ƒ | d <n  | sö|  j | ƒ } | j | d d t ƒ| j ƒ  } | j	 } | j
 ƒ  } i  } t | ƒ d | d <t | ƒ | d	 <| j
 ƒ  j ƒ  | d
 <t | ƒ | d <| d k s| j ƒ  d k r_| j ƒ  } | j | j ƒ  ƒ \ } } |  j | } | t j d } t j t j | ƒ t j | ƒ g ƒ } t j | | | | | g ƒ } | | | d } | | | d } i d d 6d d 6d d 6} | | j ƒ  | d <t | ƒ | d <t | ƒ | d <t | ƒ | d <d | | | f | d <|	 j d | d | ƒnB t d | | f f d | f f g ƒ | d <|	 j d | d | ƒt d d  k r7|  j j | j t  ƒ  ƒ } x$ | D] } | j! t" | ƒ ƒ qÓWq7nA|	 j# | ƒ |  j$ j% | d! | ƒ \ } } } } } | j& } | j' }  i  } t | ƒ | d <t d | | f f d | f f g ƒ | d <|	 j( d" d | ƒ|	 j( d ƒ i  }! x� | D]‡ \ } } }" }# }$ }% t i t | ƒ d d 6| j	 d	 6| j) j ƒ  d
 6ƒ } |" d# k rd$ }" n  |! j | g  ƒ j* |# |$ |" f ƒ q«Wt d d  k r”xK | D]@ \ } } }" }# }$ }% |  j j | j t  ƒ  ƒ } | j! |" ƒ qMWn  x|! j+ ƒ  D]
\ } }& |& j, ƒ  t- }' t. |& ƒ d k r|& d d }( x> t/ d t. |& ƒ ƒ D]$ }) |& |) d |( k rót0 }' PqóqóWn  |' r;t |& d d ƒ }* n d% j1 d& „  |& Dƒ ƒ }* i | d 6d% j1 d' „  |& Dƒ ƒ d 6|* d 6} |	 j d( d) j1 d* „  |& Dƒ ƒ d | ƒq¡W|	 j2 d ƒ t. |  ƒ r*x_ |  D]T \ } } } } |	 j d+ d, t | ƒ d- t | | ƒ d. t | ƒ d/ t | ƒ ƒqÏWn  |	 j2 d" ƒ d  S(0   Ns   #000000u   fillg      ð?u   opacityg        RÍ   t   pxu	   font-sizeu   font-familyu
   font-styleu   stylei    t   anchorg     €f@i   R?   t   leftRD   t   rightt   middlet   centeru   text-anchoru   xu   yu   rotate(%f, %f, %f)u	   transformu   textR;   u	   translateu   rotates   svg.fonttypeRÌ   iH   u   gi    i    RN   c         s   s   |  ] } t  | d  ƒ Vq d S(   i   N(   Rª   (   RP   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pys	   <genexpr>=  s    c         s   s   |  ] } t  | d  ƒ Vq d S(   i    N(   Rª   (   RP   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pys	   <genexpr>A  s    u   tspanu    c         s   s   |  ] } t  | d  ƒ Vq d S(   i   N(   RÕ   (   RP   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pys	   <genexpr>G  s    u   rectRQ   R¤   Rb   Rc   (3   Rg   R   R˜   R²   Rª   R–   t   set_textR   R�   RÏ   t	   get_styleRO   RÑ   R\   t   get_rotation_modet   get_transformt   transform_pointt   get_positionRc   R  t   piRC  t   sint   cost   dott   get_haRI   R[   R   Rs   t
   setdefaultR”   t   sett   addt   ordR@   Rt   t   parset
   svg_glyphst	   svg_rectsR?   RÐ   R4   R8   R9   RL   R5   t   xrangeRH   R.   RD   (+   R+   R›   RQ   R¤   R   R‘   R]  R^  R_  Rg   Ra  R¨   R“   Rb  t
   fontfamilyt	   fontstyleR;   R‰   t   axt   ayt	   angle_radt   dir_vertt   v_offsett   ha_mpl_to_svgt   fontsetR  Rb   Rc   t   descentt   svg_elementst   used_charactersRƒ  R„  t   spanst   thetextt   new_xt   new_yt   metricsRØ   t   same_yt   last_yR  t   ys(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   _draw_text_as_textÊ  s¾    		' 
'		
	'

 s   TeX!c	   	   	   C   s&   |  j  | | | | | | d d ƒd  S(   NR^  RV  (   Rl  (	   R+   R›   RQ   R¤   R   R‘   R]  R^  R_  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   draw_texV  s    c	   
   	   C   s¹   |  j  | ƒ }	 |	 d  k	 r? |  j j d d i d |	 d 6ƒn  t d d k rt |  j | | | | | | | | ƒ n" |  j | | | | | | | | ƒ |	 d  k	 rµ |  j j d ƒ n  d  S(   Nu   gR;   u   url(#%s)u	   clip-paths   svg.fonttypeR­   (   RÊ   RM   Rg   R?   R   Rl  Rš  RD   (
   R+   R›   RQ   R¤   R   R‘   R]  R^  R_  Rç   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt	   draw_textY  s    	%"c         C   s   t  S(   N(   RL   (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   flipyi  s    c         C   s   |  j  |  j f S(   N(   Rb   Rc   (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   get_canvas_width_heightl  s    c         C   s   |  j  j | | | ƒ S(   N(   RW  t   get_text_width_height_descent(   R+   R   R‘   R^  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyRŸ  o  s    N((   RJ   RK   RZ  R   RŒ   RM   R-   R~   Ry   R†   RŠ   R–   R¡   R|   R¿   RÀ   RÊ   R{   R}   Rà   Rá   Râ   R«   Rè   Rñ   R	  R$  R+  R,  R-  RQ  RS  Rl  Rš  R›  RH   Rœ  R�  Rž  RŸ  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR`   ø   sF   #							&	,				"		)	)	^			Z	{Œ		t   FigureCanvasSVGc           B   sC   e  Z i d  d 6d  d 6Z d „  Z d „  Z d d „ Z d „  Z RS(   s   Scalable Vector Graphicst   svgt   svgzc         O   sº   t  | ƒ r+ t j | d d d ƒ} } ny t | ƒ r˜ t | t j ƒ s‰ t j d d k rq t j | d ƒ } q� t	 j
 d ƒ | ƒ } n | } d  } n t d ƒ ‚ |  j | | | | � S(   NRÇ   t   encodings   utf-8i    i   s-   filename must be a path or a file-like object(   R
   RR   t   openR   RT   t
   TextIOBaseR�   R‚   t   TextIOWrappert   codecst	   getwriterRM   t
   ValueErrort
   _print_svg(   R+   RN  t   argst   kwargst   fh_to_closeRz   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt	   print_svgw  s    	c         O   s“   t  | ƒ r7 t j | d ƒ } } t j | d ƒ } nI t | ƒ rt t j d | d d ƒ } } t j | d ƒ } n t d ƒ ‚ |  j | | | ƒ S(   NRÇ   s   utf-8t   fileobjt   modes-   filename must be a path or a file-like object(   R
   t   gzipt   GzipFileRR   R¦  R   R©  Rª  (   R+   RN  R«  R¬  R­  t
   gzipwriterRz   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt
   print_svgz‡  s    c         K   sõ   zÔ | j  d d ƒ } |  j j d ƒ |  j j ƒ  \ } } | d | d } }	 t d rt t | |	 | | | ƒ }
 nE | j  d d  ƒ } t |  j | | | t | |	 | | | ƒ d | ƒ}
 |  j j |
 ƒ |
 j	 ƒ  Wd  | d  k	 rð | j
 ƒ  n  Xd  S(   Nt   dpiiH   g      R@s   svg.image_noscalet   bbox_inches_restore(   RC   t   figuret   set_dpit   get_size_inchesR   R`   RM   R	   t   drawR~   RF   (   R+   RN  Rz   R­  R¬  Rh   Rb   Rc   RÇ   RÈ   t   renderert   _bbox_inches_restore(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyRª  ’  s    
	!	c         C   s   d S(   NR¡  (    (   R+   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   get_default_filetype§  s    N(   RJ   RK   t	   filetypesR®  R´  RM   Rª  R½  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR   s  s   

		t   FigureManagerSVGc           B   s   e  Z RS(    (   RJ   RK   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyR¿  ª  s   c         O   s.   | j  d t ƒ } | | | Ž  } t |  | ƒ S(   Nt   FigureClass(   RC   R   t   new_figure_manager_given_figure(   t   numR«  R¬  RÀ  t   thisFig(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   new_figure_manager¯  s    c         C   s   t  | ƒ } t | |  ƒ } | S(   sD   
    Create a new figure manager instance for the given figure.
    (   R   R¿  (   RÂ  R·  t   canvast   manager(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyRÁ  µ  s    uÖ   <?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Created with matplotlib (http://matplotlib.org/) -->
(G   t
   __future__R    t   osR?  t   tempfilet   urllibR±  RR   R�   R§  t   ret   numpyR  t   hashlibR   t   ImportErrort
   matplotlibR   R   R   t   matplotlib.backend_basesR   R   R   R   t!   matplotlib.backends.backend_mixedR	   t   matplotlib.cbookR
   R   R   t   matplotlib.colorsR   t   matplotlib.figureR   t   matplotlib.font_managerR   R   t   matplotlib.ft2fontR   R   R   t   matplotlib.mathtextR   t   matplotlib.pathR   R   t   matplotlib.transformsR   R   R   t   xml.sax.saxutilsR   t   escape_xml_textt   backend_versionR   t   compileR   R    R!   R"   R[   R\   R¸   R`   R   R¿  t   FigureManagerRÄ  RÁ  Rw   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_svg.pyt   <module>   sN   l"'			}ÿ ÿ ÿ ~7		