Ë
    Ìi*  ã                   ó^   — d dl Z d dlZd dlmc mZ d dlmZ d dlm	Z	 d dl
mZ  G d„ d«      Zy)é    N)Útheme)Ú
IPythonSVGc                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zdd„Zy)ÚGridzd
    A container for a set of :class:`.Chart` instances that are rendered in a
    grid layout.
    c                 ó   — g | _         y )N)Ú_charts)Úselfs    úM/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/leather/grid.pyÚ__init__zGrid.__init__   s	   € Øˆ�ó    c                 ó:   — | j                   j                  |«       y)z4
        Add a :class:`.Chart` to the grid.
        N)r   Úappend)r	   Úcharts     r
   Úadd_onezGrid.add_one   s   € ð 	�‰×Ñ˜EÕ"r   c                 ó:   — | j                   j                  |«       y)z8
        Add a sequence of charts to this grid.
        N)r   Úextend)r	   Úchartss     r
   Úadd_manyzGrid.add_many   s   € ð 	�‰×Ñ˜FÕ#r   Nc                 óº  — |r|s{t        | j                  «      }t        j                  t        j                  |«      «      }t        j                  ||z  «      }|t
        j                  z  }|t
        j                  z  }t        j                  dt        |«      t        |«      dd¬«      }t        j                  d«      }|j                  t        j                  dt        d«      t        d«      t        |«      t        |«      t
        j                  ¬«      «       |j                  |«       t        j                  d«      }	t        | j                  «      }
t        j                  t        j                  |
«      «      }t        j                  |
|z  «      }||z  }||z  }t        | j                  «      D ]—  \  }}||z  |z  }t        j                  ||z  «      |z  }t        j                  d«      }|j                  d	t!        j"                  ||«      «       |j%                  ||«      }|j                  |«       |	j                  |«       Œ™ |j                  |	«       t!        j&                  |«      }d
}|r¼d}	 t)        |d«      r|}d}nat*        j,                  j/                  |«      }|r4t*        j,                  j1                  |«      st+        j2                  |«       t5        |d«      }|j7                  t         j8                  «       |j7                  |«       |r|�|j;                  «        yyyt=        |«      S # |r|�|j;                  «        w w w xY w)a
  
        Render the grid to an SVG.

        The :code:`width` and :code:`height` arguments refer to the size of the
        entire grid. The size of individual charts will be inferred
        automatically.

        See :meth:`.Chart.to_svg` for arguments.
        Úsvgz1.1zhttp://www.w3.org/2000/svg)ÚwidthÚheightÚversionÚxmlnsÚgÚrectr   )ÚxÚyr   r   ÚfillÚ	transformTNÚwriteFÚw)Úlenr   ÚmathÚceilÚsqrtr   Údefault_chart_widthÚdefault_chart_heightÚETÚElementÚstrr   Úbackground_colorÚ	enumerateÚfloorÚsetr   Ú	translateÚto_svg_groupÚ	stringifyÚhasattrÚosÚpathÚdirnameÚexistsÚmakedirsÚopenr!   ÚHEADERÚcloser   )r	   r5   r   r   ÚcountÚcolumnsÚrowsÚrootÚ
root_groupÚ
grid_groupÚchart_countÚ
grid_widthÚgrid_heightÚchart_widthÚchart_heightÚir   r   r   ÚgroupÚsvg_textr;   ÚfÚdirpaths                           r
   Úto_svgzGrid.to_svg   s«  € ñ ™FÜ˜Ÿ™Ó%ˆEä—i‘i¤§	¡	¨%Ó 0Ó1ˆGÜ—9‘9˜U W™_Ó-ˆDàœe×7Ñ7Ñ7ˆEØœE×6Ñ6Ñ6ˆFä�z‰zØÜ�e“*Ü�v“;ØØ.ô
ˆô —Z‘Z “_ˆ
à×Ñœ"Ÿ*™*ØÜ�!‹fÜ�!‹fÜ�e“*Ü�v“;Ü×'Ñ'ô
ô 	ð 	�‰�JÔô —Z‘Z “_ˆ
ä˜$Ÿ,™,Ó'ˆÜ—Y‘YœtŸy™y¨Ó5Ó6ˆ
Ü—i‘i ¨jÑ 8Ó9ˆØ˜jÑ(ˆØ Ñ+ˆä! $§,¡,Ó/ò 
	%‰HˆAˆuØ�Z‘ ;Ñ.ˆAÜ—
‘
˜1˜z™>Ó*¨\Ñ9ˆAä—J‘J˜s“OˆEØ�I‰I�k¤3§=¡=°°AÓ#6Ô7à×&Ñ& {°LÓAˆEØ�L‰L˜Ôà×Ñ˜eÕ$ð
	%ð 	×Ñ˜*Ô%ä—=‘= Ó&ˆØˆáØˆAðÜ˜4 Ô)Ø�AØ!‘Eä Ÿg™gŸo™o¨dÓ3�Gá¤r§w¡w§~¡~°gÔ'>ÜŸ™ GÔ,ä˜T 3›�Aà—‘œŸ
™
Ô#Ø—‘˜Ô!á˜Q˜]Ø—G‘G•Ið +�5ô ˜hÓ'Ð'øñ ˜Q˜]Ø—G‘G•Ið +�5ús   É>B"M ÍM)NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   rL   © r   r
   r   r   
   s   „ ñòò#ò$ôX(r   r   )r$   r4   Úxml.etree.ElementTreeÚetreeÚElementTreer)   Úleather.svgr   Úleatherr   Úleather.utilsr   r   rQ   r   r
   ú<module>rX      s&   ðÛ Û 	ß "Ð "å Ý Ý $÷l(ò l(r   