§
    Ètºf¿  ã                   ó¬   — d dl mZ d dlZd dlZd dlZddlmZ d„ Zd„ Zd„ Z	e	fd„Z
eeefd	„Zej        d          ej        dd…         ej        eefd
„ZdS )é    )Úprint_functionNé   )ÚfindMachinesc                 óT   — d                      |                      dd¦  «        ¦  «        S )Nz"{}"ú"z\")ÚformatÚreplace©Úss    úQ/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/automat/_visualize.pyÚ_gvquoter   
   s"   € Ø�=Š=˜Ÿš 3¨Ñ.Ô.Ñ/Ô/Ð/ó    c                 ó,   — d                      | ¦  «        S )Nz<{}>)r   r
   s    r   Ú_gvhtmlr      s   € Ø�=Š=˜ÑÔÐr   c                 óØ   — d                      d„ t          |                     ¦   «         ¦  «        D ¦   «         ¦  «        }d                      |¦  «        }d                     | ||¬¦  «        S )z?
    Construct a string from the HTML element description.
    ú c           	   3   ó|   K  — | ]7\  }}d                       |t          t          |¦  «        ¦  «        ¦  «        V — Œ8dS )z{}={}N)r   r   Ústr)Ú.0ÚkeyÚvalues      r   ú	<genexpr>zelementMaker.<locals>.<genexpr>   s^   è è € ð Gð GÙ", # uð &Ÿnšn¨Sµ(½3¸u¹:¼:Ñ2FÔ2FÑGÔGð Gð Gð Gð Gð Gð Gr   Ú z#<{name} {attrs}>{children}</{name}>)ÚnameÚattrsÚchildren)ÚjoinÚsortedÚitemsr   )r   r   r   ÚformattedAttrsÚformattedChildrens        r   ÚelementMakerr"      s‚   € ð —X’Xð Gð GÝ06°u·{²{±}´}Ñ0EÔ0EðGñ Gô Gñ Gô G€NàŸš Ñ)Ô)ÐØ1×8Ò8ØØØ"ð 9ñ $ô $ð $r   c                 ó  ‡‡— i }|rt          t          |¦  «        ¦  «        |d<    ‰d ‰d| d¬¦  «        fd|dœ|¤Ž}dd	iŠˆˆfd
„|D ¦   «         } ‰d|¦  «        g}|r|                      ‰dg|¢R Ž ¦  «          ‰dg|¢R Ž S )z>
    Construct an HTML table to label a state transition.
    ÚcolspanÚtdÚfontzmenlo-italic)ÚfaceÚpurple)ÚcolorÚportz
point-sizeÚ9c           
      ó<   •— g | ]} ‰d  ‰d|fi ‰¤Žd¬¦  «        ‘ŒS )r%   r&   Úpink)r)   © )r   ÚoutputLabelÚ_EÚ	pointSizes     €€r   ú
<listcomp>ztableMaker.<locals>.<listcomp>0   sd   ø€ ð 9ð 9ð 9ð
 (ð ˜˜4Ø˜2˜fØ)ð+ð +à )ð+ð +ð "(ð	)ñ )ô )ð 9ð 9ð 9r   ÚtrÚtable)r   ÚlenÚappend)	Ú
inputLabelÚoutputLabelsr*   r0   r$   ÚinputLabelCellÚoutputLabelCellsÚrowsr1   s	      `    @r   Ú
tableMakerr<      s  øø€ ð €GØð 4Ý ¥ \Ñ!2Ô!2Ñ3Ô3ˆ�	Ñà�R˜Ø˜˜6Ø%Ø .ð0ñ 0ô 0ð#ð 'Ø!ð#ð #ð "ð#ð #€Nð ˜sÐ#€Ið9ð 9ð 9ð 9ð 9ð
 ,8ð9ñ 9ô 9Ðð ˆBˆt�^Ñ$Ô$Ð%€Dàð 1Ø�Š�B�B�tÐ/Ð.Ð/Ð/Ð/Ñ0Ô0Ð0àˆ2ˆgÐ˜ÐÐÐÐr   c                 óÔ  ‡— t          j        dddœddiddi¬¦  «        }|                      ¦   «         D ]7}|| j        u rd}d}nd	}d}|                      ||¦  «        |d
|d¬¦  «         Œ8t          |                      ¦   «         ¦  «        D ]Ú\  }}	|	\  }
}}}d                     |¦  «        } ||¦  «        }d}t          |ˆfd„|D ¦   «         |¬¦  «        }|                     |t          |¦  «        dd¬¦  «         | 
                     ||
¦  «        d                     ||¦  «        d¬¦  «         | 
                    d                     ||¦  «         ||¦  «        ¦  «         ŒÛ|S )zA
    Produce a L{graphviz.Digraph} object from an automaton.
    ÚtrueÚ100)ÚpackÚdpiÚfontnameÚMenlo)Ú
graph_attrÚ	node_attrÚ	edge_attrÚboldz
Menlo-Boldr   ÚellipseÚblue)ÚfontameÚshapeÚstyler)   zt{}Ú	tableportc                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r.   r.   )r   ÚoutputSymbolÚoutputAsStrings     €r   r2   zmakeDigraph.<locals>.<listcomp>\   s9   ø€ ð (Kð (Kð (KØ,8ð )7¨°|Ñ(DÔ(Dð (Kð (Kð (Kr   )r*   z0.2Únone)ÚlabelÚmarginrK   z{}:{}:w)Ú	arrowheadz{}:{}:e)ÚgraphvizÚDigraphÚstatesÚinitialStateÚnodeÚ	enumerateÚallTransitionsr   r<   r   Úedge)Ú	automatonÚinputAsStringrP   ÚstateAsStringÚdigraphÚstateÚ
stateShapeÚfontNameÚnÚeachTransitionÚinStateÚinputSymbolÚoutStateÚoutputSymbolsÚthisTransitionr7   r*   r4   s     `               r   ÚmakeDigraphrk   ?   s	  ø€ õ Ô°6Ø27ð+9ð +9à*4°gÐ)>Ø*4°gÐ)>ð@ñ @ô @€Gð
 ×!Ò!Ñ#Ô#ð #ð #ˆØ�IÔ*Ð*Ð*ØˆJØ#ˆHˆHàˆJØˆHØ�Š�]�] 5Ñ)Ô)Ø%Ø$Ø%Ø!ð	 	ñ 	#ô 	#ð 	#ð 	#õ
 ' y×'?Ò'?Ñ'AÔ'AÑBÔBð .ð .Ñˆˆ>Ø8FÑ5ˆ�˜h¨ØŸš a™œˆØ"�] ;Ñ/Ô/ˆ
àˆÝ˜:ð (Kð (Kð (Kð (KØ<Ið(Kñ (Kô (Kà $ð&ñ &ô &ˆð 	�Š�^Ý" 5™>œ>°%¸vð 	ñ 	Gô 	Gð 	Gð 	�Š�]�] 7Ñ+Ô+Ø×%Ò% n°dÑ;Ô;Ø%ð 	ñ 	'ô 	'ð 	'ð 	�Š�Y×%Ò% n°dÑ;Ô;Ø"�] 8Ñ,Ô,ñ	.ô 	.ð 	.ð 	.ð €Nr   c                 ó   — d}d}|d         r|                      dd¦  «         t          j        | ||¬¦  «        }|                     dd¬¦  «         |                     d	d
ddd¬¦  «         |                     dddd¬¦  «         |                     dddd¬¦  «         |                     dddt          j        d¬¦  «         |                     ddddd¬¦  «         |                     |¦  «        }|j        o|j         p|j        |j        k    }	|j	        rd„ } ||j
        ¦  «        D ]Ô\  }
} ||
d ¦  «         |                     ¦   «         }|	rA|                     d!                     |
¦  «        |j        ¬"¦  «          ||
d#|j        ¦  «         |j        re|j         p|	}|j        |_        |                     d!                     |
¦  «        |j        |j        |¬$¦  «         |rd%}nd&} ||
||j        ¦  «         ŒÕd'S )(z/
    Entry point for command line utility.
    zB
    Visualize automat.MethodicalMachines as graphviz graphs.
    zz
    You must have the graphviz tool suite installed.  Please visit
    http://www.graphviz.org for more information.
    r   r   )ÚprogÚdescriptionÚepilogÚfqpnz@A Fully Qualified Path name representing where to find machines.)Úhelpz--quietz-qzsuppress outputFÚ
store_true)rq   ÚdefaultÚactionz--dot-directoryz-dzWhere to write out .dot files.z.automat_visualize)rq   rs   z--image-directoryz-izWhere to write out image files.z--image-typez-tzThe image format.Úpng)rq   Úchoicesrs   z--viewz-vz.View rendered graphs with default image viewerc                  ó   — d S )Nr.   )Úargss    r   Ú_printztool.<locals>._printž   s   € ØˆDr   z...discoveredz{}.dot)ÚfilenameÚ	directoryz...wrote dot into)rz   r{   ÚviewÚcleanupz...wrote image intoz...wrote image and dot intoN)ÚinsertÚargparseÚArgumentParserÚadd_argumentrU   ÚFORMATSÚ
parse_argsÚdot_directoryÚimage_directoryÚquietrp   Ú	asDigraphÚsaver   Ú
image_typeÚrenderr|   )Ú	_prognameÚ_argvÚ_syspathÚ_findMachinesry   ÚDESCRIPTIONÚEPILOGÚargumentParserrx   ÚexplicitlySaveDotrp   Úmachiner`   Ú	deleteDotÚmsgs                  r   Útoolr–   l   sß  € ð€Kð€Fð �„{ð Ø�Š˜˜2ÑÔÐÝÔ,ØØØðñ ô €Nð ×Ò ð&Hð  ñ Iô Ið Ið ×Ò 	¨4Ø%6Ø(-Ø'3ð  ñ 5ô 5ð 5ð ×ÒÐ 1°4Ø%EØ(<ð  ñ >ô >ð >ð ×ÒÐ 3°TØ%FØ(<ð  ñ >ô >ð >ð ×Ò °Ø%8Ý(0Ô(8Ø(-ð  ñ /ô /ð /ð ×Ò ¨$ð&8à(-Ø'3ð	  ñ 5ô 5ð 5ð
 ×$Ò$ UÑ+Ô+€DàÔ+ð MØ"&Ô"6Ð6ð LØ!%Ô!5¸Ô9KÒ!Kð ð „zð ð	ð 	ð 	ð '˜ t¤yÑ1Ô1ð 4ð 4‰ˆˆgØˆˆt�_Ñ%Ô%Ð%à×#Ò#Ñ%Ô%ˆàð 	BØ�LŠL (§/¢/°$Ñ"7Ô"7Ø#'Ô#5ð ñ 7ô 7ð 7àˆF�4Ð,¨dÔ.@ÑAÔAÐAàÔð 	4Ø Ô.Ð.ÐCÐ2CˆIØ!œ_ˆGŒNØ�NŠN H§O¢O°DÑ$9Ô$9Ø%)Ô%9Ø $¤	Ø#,ð ñ .ô .ð .ð ð 4Ø+��à3�ØˆF�4˜˜dÔ2Ñ3Ô3Ð3øð+4ð 4r   )Ú
__future__r   r   ÚsysrU   Ú	_discoverr   r   r   r"   r<   Úreprrk   ÚargvÚpathÚprintr–   r.   r   r   ú<module>rž      sò   ðØ %Ð %Ð %Ð %Ð %Ð %Ø €€€Ø 
€
€
€
à €€€à #Ð #Ð #Ð #Ð #Ð #ð0ð 0ð 0ðð ð ð
$ð 
$ð 
$ð 3?ð ð ð ð ð@ *.Ø#Ø"ð*ð *ð *ð *ðZ ”8˜A”;ØŒx˜˜˜Œ|Ø”(Ø#Øð	J4ð J4ð J4ð J4ð J4ð J4r   