rL i\@dZddlmZddlmZddlZddlmZdddZy)z Internal debugging utilities, that are not expected to be used in the rest of the codebase. WARNING: Code in this module may change without prior notice! )StringIO)PathN) TransformNode) highlightc@|gtfdt}|jd|||jdtjddt |j ddd|g|jjd d y) a Generate a graphical representation of the transform tree for *transform* using the :program:`dot` program (which this function depends on). The output format (png, dot, etc.) is determined from the suffix of *dest*. Parameters ---------- transform : `~matplotlib.transform.Transform` The represented transform. dest : str Output filename. The extension must be one of the formats supported by :program:`dot`, e.g. png, svg, dot, ... (see https://www.graphviz.org/doc/info/output.html). highlight : list of `~matplotlib.transform.Transform` or None The transforms in the tree to be drawn in bold. If *None*, *transform* is highlighted. Nc zt|vryjt|i}t|j}|jrd|d}|vrd|d<d|d<d|z|d<d j t d j|j}|jt|d |d t|jD]d\}}t|tst||jvs/|jd t|dt|d|d||fy)N[]boldstyleboxshapez"%s"label z {0[0]}={0[1]}z [z]; "z" -> "z " [label="z", fontsize=10]; )idaddtype__name___invalidjoinmapformatitemswritevars isinstancer_parents) rootbufpropsrkeyvalrrecurseseens `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/_internal_utils.pyr$z(graphviz_dump_transform..recurse&s$ d8t   DT ## ==waLE 9 #E'Ng%g_33U[[]CD RXJbt,-T ((* "HC#}-"T(cll2J AbhZvbgY7%%(E);=>S!  "z digraph G { z} dotz-Tz-ozutf-8T)inputcheck) setrr subprocessrunrsuffixgetvalueencode) transformdestrr r$r%s ` @@r&graphviz_dump_transformr4s&K 5D"( *CIIo IsIIeNN d4j''+T48lln##G,D:r') __doc__iorpathlibrr-matplotlib.transformsrr4r'r&r:s"/;?1:r'