+
    iQ                    *   R t ^ RIHt ^ RIHt ]'       g   R]9   d   ^RIH	t	 M^ RI	t	 ^ RI
tR tR tR tR	 t ! R
 R]4      t^ RIt]	P(                  t^ RIHtHtHt ^ RIt^ RIt]	P6                  t ]	P8                  t ]	P:                  t ]	P<                  t ]	P>                  t ]	P@                  t  ]	PB                  t! ]	PD                  t"  ! R R]#4      t$]	PJ                  ! ]$4        ! R R]#4      t&]	PN                  ! ]&4       ]	PP                  t(]	PR                  t)]	PT                  t*]	PV                  t+]	PX                  t,]	PZ                  t- ! R R]#4      t.]	P^                  ! ].4        ! R R]#4      t0]	Pb                  ! ]04        ! R R]#4      t2]	Pf                  ! ]24       R R lt4R R lt5R R lt6]	Pn                  t7 ]	Pp                  t8 ]	Pr                  t9 ]	Pt                  t: R R lt;R/R R  llt<]	Pz                  t= ]	P|                  t> ]	P~                  t? ]	P                  t@ ]	P                  tA ]	P                  tB]	P                  tC]	P                  tD ]	P                  tE ]	P                  tF]	P                  tG  ! R! R"]24      tH]	P                  ! ]H4        ! R# R$]P                  4      tK]	P                  ! ]K4       R% R& ltMR' R( ltN]	P                  tO ]	P                  tP ]	P                  tQ ]	P                  tR ]	P                  tS ]	P                  tT ]	P                  tU ]	P                  tV  ! R) R*]H4      tW]	P                  ! ]W4       ^ RIYtY^ RIZtZ^ RIt ! R+ R,]#4      t[ ! R- R.]#4      t\^ t]R#   ] d	    ^ RIt ELci ; i)0a/  Low level graph drawing operations.

.. tip::
   The `IDA Domain API <https://ida-domain.docs.hex-rays.com/>`_ simplifies
   common tasks and provides better type hints, while remaining fully compatible
   with IDAPython for advanced use cases.

   For graph operations, see :mod:`ida_domain.functions`.)annotations)version_info.)_ida_gdlNc                     R V P                   P                  4       ,           pRV P                  P
                  : RV P                  P                  : RV: R2#   \        P                   d    Rp LPi ; i)z	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss   & ?C:\Users\user\Downloads\ida93sp2\portable_win\python\ida_gdl.py
_swig_reprr      sg    		 2 2 44 "^^669     s   !A A43A4c                   a  V 3R  lpV# )c                  < VR 8X  d   S! WV4       R# VR8X  d   V P                   P                  V4       R# \        W4      '       d5   \        \	        \        V 4      V4      \        4      '       d   S! WV4       R# \        RV ,          4      h)r	   thisownz(You cannot add instance attributes to %sN)r	   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets   &&&r   set_instance_attrE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr    su    6>E"YIIMM% T  ZT
D0I& &E" !K"       )r    r!   s   f r   *_swig_setattr_nondynamic_instance_variabler%      s    
 r#   c                   a  V 3R  lpV# )c                   < \        W4      '       d+   \        \        W4      \        4      '       g   S! WV4       R# \	        R V ,          4      h)z%You cannot add class attributes to %sN)r   r   r   r   r   )clsr   r   r    s   &&&r   set_class_attr?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr0   s:    3j1CX&N&N5! !H3!NOOr#   r$   )r    r)   s   f r   '_swig_setattr_nondynamic_class_variabler+   .   s    P
 r#   c                   a  V 3R lpV# )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                p   < S! V P                   V P                  V P                  P                  4       4      # N)r   	__bases____dict__copy)r(   	metaclasss   &r   wrapper$_swig_add_metaclass.<locals>.wrapper;   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   8   s    KNr#   c                  >    ] tR t^@tRt]! ]P                  4      tRtR# )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classr$   N)	r   r   __qualname____firstlineno____doc__r+   r   __setattr____static_attributes__r$   r#   r   r7   r7   @   s    U9$:J:JKKr#   r7   )TupleListUnionc                     ] tR t^dt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    RR R	 lltR
 R ltR R ltR R lt]P(                  tRtR# )edge_tc                	6    V P                   P                  4       # r.   r	   r   xs   &r   <lambda>edge_t.<lambda>e       r#   c                	8    V P                   P                  V4      # r.   rC   rE   vs   &&r   rF   rG   e       AFFJJqMr#   The membership flagdocintsrcdstc                    V ^8  d   QhRRRR/# )   rE   rP   yr$   )formats   "r   __annotate__edge_t.__annotate__o   s     B B# BC Br#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   edge_t_swiginit
new_edge_t)r   rE   rU   s   &&&r   __init__edge_t.__init__o   s      x':':1'@Ar#   c                    V ^8  d   QhRRRR/# rT   rU   z'edge_t'returnboolr$   )rV   s   "r   rW   rX   r        / / /D /r#   c                	.    \         P                  ! W4      # r.   )r   edge_t___lt__r   rU   s   &&r   __lt__edge_t.__lt__r       %%d..r#   c                    V ^8  d   QhRRRR/# r_   r$   )rV   s   "r   rW   rX   u   rb   r#   c                	.    \         P                  ! W4      # r.   )r   edge_t___eq__re   s   &&r   __eq__edge_t.__eq__u   rh   r#   c                    V ^8  d   QhRRRR/# r_   r$   )rV   s   "r   rW   rX   x   rb   r#   c                	.    \         P                  ! W4      # r.   )r   edge_t___ne__re   s   &&r   __ne__edge_t.__ne__x   rh   r#   r$   N)    rs   )r   r   r8   r9   r   r   r   r
   r   edge_t_src_getedge_t_src_setrQ   __annotations__edge_t_dst_getedge_t_dst_setrR   r\   rf   rl   rq   delete_edge_t__swig_destroy__r<   r$   r#   r   rA   rA   d   s    -/I!#GH//1H1HICI//1H1HICIB///--r#   rA   c                  R    ] tR t^t]! R R RR7      t]tR t]	P                  tRtR# )	edgevec_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   edgevec_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r~      rL   r#   rM   rN   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   edgevec_t_swiginitnew_edgevec_tr   s   &r   r\   edgevec_t.__init__   s    ##D(*@*@*BCr#   r$   N)r   r   r8   r9   r   r   r   r
   r\   r   delete_edgevec_trz   r<   r$   r#   r   r|   r|      s,    -/I!#GHD00r#   r|   c                      ] tR t^t]! R R RR7      t]tR R ltR R lt	R	 R
 lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )node_ordering_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   node_ordering_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r      rL   r#   rM   rN   c                   V ^8  d   QhRR/# rT   r`   Noner$   )rV   s   "r   rW   node_ordering_t.__annotate__   s     4 4d 4r#   c                	.    \         P                  ! V 4      # r.   )r   node_ordering_t_clearr   s   &r   clearnode_ordering_t.clear       --d33r#   c                    V ^8  d   QhRRRR/# )rT   nrP   r`   r   r$   )rV   s   "r   rW   r      s     8 8 8t 8r#   c                	.    \         P                  ! W4      # r.   )r   node_ordering_t_resizer   r   s   &&r   resizenode_ordering_t.resize   s    ..t77r#   c                   V ^8  d   QhRR/# rT   r`   rP   r$   )rV   s   "r   rW   r      s     3 3S 3r#   c                	.    \         P                  ! V 4      # r.   )r   node_ordering_t_sizer   s   &r   sizenode_ordering_t.size       ,,T22r#   c               $    V ^8  d   QhRRRRRR/# )rT   _noderP   numr`   r   r$   )rV   s   "r   rW   r      s!     > > >3 >$ >r#   c                	0    \         P                  ! WV4      # r.   )r   node_ordering_t_set)r   r   r   s   &&&r   r    node_ordering_t.set   s    ++D==r#   c                    V ^8  d   QhRRRR/# )rT   r   rP   r`   ra   r$   )rV   s   "r   rW   r      s     9 9 9 9r#   c                	.    \         P                  ! W4      # r.   )r   node_ordering_t_clrr   r   s   &&r   clrnode_ordering_t.clr   s    ++D88r#   c                    V ^8  d   QhRRRR/# )rT   _orderrP   r`   r$   )rV   s   "r   rW   r           ; ;3 ;# ;r#   c                	.    \         P                  ! W4      # r.   )r   node_ordering_t_node)r   r   s   &&r   nodenode_ordering_t.node   s    ,,T::r#   c                    V ^8  d   QhRRRR/# )rT   r   rP   r`   r$   )rV   s   "r   rW   r      r   r#   c                	.    \         P                  ! W4      # r.   )r   node_ordering_t_orderr   s   &&r   ordernode_ordering_t.order   s    --d::r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   node_ordering_t_swiginitnew_node_ordering_tr   s   &r   r\   node_ordering_t.__init__   s    ))$0L0L0NOr#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r    r   r   r   r\   r   delete_node_ordering_trz   r<   r$   r#   r   r   r      sO    -/I!#GH483>9;;P66r#   r   c                  |    ] tR t^t]! R R RR7      t]tR R ltR R lt	R	 R
 lt
R R lt]P                  tRtR# )node_iteratorc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   node_iterator.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r      rL   r#   rM   rN   c                    V ^8  d   QhRRRR/# )rT   _g'gdl_graph_t'r   rP   r$   )rV   s   "r   rW   node_iterator.__annotate__   s      = S r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   node_iterator_swiginitnew_node_iterator)r   r   r   s   &&&r   r\   node_iterator.__init__   s    ''h.H.H.O 	r#   c                    V ^8  d   QhRRRR/# rT   r   'node_iterator'r`   ra   r$   )rV   s   "r   rW   r           6 6 64 6r#   c                	.    \         P                  ! W4      # r.   )r   node_iterator___eq__r   s   &&r   rl   node_iterator.__eq__       ,,T55r#   c                    V ^8  d   QhRRRR/# r   r$   )rV   s   "r   rW   r      r   r#   c                	.    \         P                  ! W4      # r.   )r   node_iterator___ne__r   s   &&r   rq   node_iterator.__ne__   r   r#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r      s     4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   node_iterator___ref__r   s   &r   __ref__node_iterator.__ref__   r   r#   r$   N)r   r   r8   r9   r   r   r   r
   r\   rl   rq   r   r   delete_node_iteratorrz   r<   r$   r#   r   r   r      s:    -/I!#GH66444r#   r   c                  `   ] tR t^t]! R R RR7      t]t]P                  t
R R ltR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 t!R2 t"R3t#R4# )5gdl_graph_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   gdl_graph_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r      rL   r#   rM   rN   c                    V ^8  d   QhRRRR/# )rT   r   rP   r`   'char *'r$   )rV   s   "r   rW   gdl_graph_t.__annotate__   s     < < <x <r#   c                	.    \         P                  ! W4      # r.   )r   gdl_graph_t_get_node_labelr   s   &&r   get_node_labelgdl_graph_t.get_node_label       224;;r#   c                    V ^8  d   QhRRRR/# )rT   fp'FILE *'r`   r   r$   )rV   s   "r   rW   r      s     E E ET Er#   c                	.    \         P                  ! W4      # r.   )r   "gdl_graph_t_print_graph_attributes)r   r   s   &&r   print_graph_attributes"gdl_graph_t.print_graph_attributes   s    ::4DDr#   c               $    V ^8  d   QhRRRRRR/# )rT   r   r   r   rP   r`   ra   r$   )rV   s   "r   rW   r      s!     < <X <# < <r#   c                	0    \         P                  ! WV4      # r.   )r   gdl_graph_t_print_noder   r   r   s   &&&r   
print_nodegdl_graph_t.print_node   s    ..t;;r#   c               (    V ^8  d   QhRRRRRRRR/# )rT   r   r   irP   jr`   ra   r$   )rV   s   "r   rW   r      s(     ? ?X ?# ?# ? ?r#   c                	0    \         P                  ! WW#4      # r.   )r   gdl_graph_t_print_edge)r   r   r   r   s   &&&&r   
print_edgegdl_graph_t.print_edge   s    ..t>>r#   c               $    V ^8  d   QhRRRRRR/# rT   r   r   r   rP   r`   r   r$   )rV   s   "r   rW   r      s&     G G GS GD Gr#   c                	0    \         P                  ! WV4      # r.   )r   !gdl_graph_t_print_node_attributesr   s   &&&r   print_node_attributes!gdl_graph_t.print_node_attributes   s    99$AFFr#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r           / /S /r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_sizer   s   &r   r   gdl_graph_t.size       ((..r#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r      s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_node_qtyr   s   &r   node_qtygdl_graph_t.node_qty   r   r#   c                    V ^8  d   QhRRRR/# )rT   r   rP   r`   ra   r$   )rV   s   "r   rW   r      s     7 73 7$ 7r#   c                	.    \         P                  ! W4      # r.   )r   gdl_graph_t_existsr   r   s   &&r   existsgdl_graph_t.exists   s    **466r#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r           0 0c 0r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_entryr   s   &r   entrygdl_graph_t.entry       ))$//r#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r      r  r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_exitr   s   &r   exitgdl_graph_t.exit   r
  r#   c                    V ^8  d   QhRRRR/# rT   r   rP   r`   r$   )rV   s   "r   rW   r           6 6# 6 6r#   c                	.    \         P                  ! W4      # r.   )r   gdl_graph_t_nsuccr  s   &&r   nsuccgdl_graph_t.nsucc       ))$55r#   c                    V ^8  d   QhRRRR/# r#  r$   )rV   s   "r   rW   r      r$  r#   c                	.    \         P                  ! W4      # r.   )r   gdl_graph_t_npredr  s   &&r   npredgdl_graph_t.npred   r)  r#   c               $    V ^8  d   QhRRRRRR/# rT   r   rP   r   r`   r$   )rV   s   "r   rW   r      !     8 8 8 8 8r#   c                	0    \         P                  ! WV4      # r.   )r   gdl_graph_t_succr   r   r   s   &&&r   succgdl_graph_t.succ       ((Q77r#   c               $    V ^8  d   QhRRRRRR/# r0  r$   )rV   s   "r   rW   r      r1  r#   c                	0    \         P                  ! WV4      # r.   )r   gdl_graph_t_predr4  s   &&&r   predgdl_graph_t.pred   r7  r#   c                   V ^8  d   QhRR/# rT   r`   ra   r$   )rV   s   "r   rW   r      s     0 0d 0r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_emptyr   s   &r   emptygdl_graph_t.empty   r  r#   c                    V ^8  d   QhRRRR/# )rT   r   rP   r`   'bgcolor_t'r$   )rV   s   "r   rW   r      s     < < <{ <r#   c                	.    \         P                  ! W4      # r.   )r   gdl_graph_t_get_node_colorr   s   &&r   get_node_colorgdl_graph_t.get_node_color   r   r#   c               $    V ^8  d   QhRRRRRR/# )rT   r   rP   r   r`   rD  r$   )rV   s   "r   rW   r     s!     ? ? ? ?{ ?r#   c                	0    \         P                  ! WV4      # r.   )r   gdl_graph_t_get_edge_color)r   r   r   s   &&&r   get_edge_colorgdl_graph_t.get_edge_color  s    224A>>r#   c               $    V ^8  d   QhRRRRRR/# )rT   r   rP   ispredra   r`   r$   )rV   s   "r   rW   r     s!     > ># >t >s >r#   c                	0    \         P                  ! WV4      # r.   )r   gdl_graph_t_nedge)r   r   rO  s   &&&r   nedgegdl_graph_t.nedge  s    ))$f==r#   c               (    V ^8  d   QhRRRRRRRR/# )rT   r   rP   r   rO  ra   r`   r$   )rV   s   "r   rW   r     s.     @ @ @ @d @c @r#   c                	0    \         P                  ! WW#4      # r.   )r   gdl_graph_t_edge)r   r   r   rO  s   &&&&r   edgegdl_graph_t.edge  s    ((Q??r#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r     r  r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_frontr   s   &r   frontgdl_graph_t.front  r  r#   c                   V ^8  d   QhRR/# rT   r`   r   r$   )rV   s   "r   rW   r     s     0 0o 0r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_beginr   s   &r   begingdl_graph_t.begin  r  r#   c                   V ^8  d   QhRR/# r_  r$   )rV   s   "r   rW   r     s     . .O .r#   c                	.    \         P                  ! V 4      # r.   )r   gdl_graph_t_endr   s   &r   endgdl_graph_t.end  s    ''--r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r   r   gdl_graph_t_swiginitnew_gdl_graph_tr   _selfs   & r   r\   gdl_graph_t.__init__  s3    >>[(EE%%dH,D,DU,KLr#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   disownr   disown_gdl_graph_tweakrefproxyr   s   &r   
__disown__gdl_graph_t.__disown__  s/    		##D)}}T""r#   r$   N)$r   r   r8   r9   r   r   r   r
   r   delete_gdl_graph_trz   r   r   r   r   r  r   r  r  r  r   r'  r-  r5  r;  rA  rG  rL  rR  rW  r\  rb  rg  r\   rt  r<   r$   r#   r   r   r      s    -/I!#GH22<E<?G/370/66880<?>@00.M#r#   r   c               $    V ^8  d   QhRRRRRR/# )rT   gr   fnamestrr`   r   r$   )rV   s   "r   rW   rW   $  s!     & &} &S &D &r#   c                .    \         P                  ! W4      # )zCreate GDL file for graph.
)r   gen_gdl)rx  ry  s   &&r   r|  r|  $  s     A%%r#   c                    V ^8  d   QhRRRR/# )rT   ry  rz  r`   rP   r$   )rV   s   "r   rW   rW   *  s     ' 's 'c 'r#   c                .    \         P                  ! V 4      # )a8  Display GDL file by calling wingraph32. The exact name of the grapher is taken from the configuration file and set up by setup_graph_subsystem(). The path should point to a temporary file: when wingraph32 succeeds showing the graph, the input file will be deleted. 
        
:returns: error code from os, 0 if ok)r   display_gdl)ry  s   &r   r  r  *  s     &&r#   c               4    V ^8  d   QhRRRRRRRRRRR	R
RR/# )rT   filenamerz  titlepfn
'func_t *'ea1ida_idaapi.ea_tea2gflagsrP   r`   ra   r$   )rV   s   "r   rW   rW   1  sJ     K KS K K: KK)K36K:>Kr#   c                2    \         P                  ! WW#WE4      # )a  Build and display a flow graph. 
        
:param filename: output file name. the file extension is not used. maybe nullptr.
:param title: graph title
:param pfn: function to graph
:param ea1: if pfn == nullptr, then the address range
:param ea2: if pfn == nullptr, then the address range
:param gflags: combination of Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false
:returns: success. if fails, a warning message is displayed on the screen)r   gen_flow_graph)r  r  r  r  r  r  s   &&&&&&r   r  r  1  s     ""8CcJJr#   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	rT   r  rz  waitr  r  rP   r`   ra   r$   )rV   s   "r   rW   rW   M  s7     	I 	IC 	Is 	I3 	I 	I	Ir#   c                0    \         P                  ! WW#4      # )a  Build and display a simple function call graph. 
        
:param filename: output file name. the file extension is not used. maybe nullptr.
:param wait: message to display during graph building
:param title: graph title
:param gflags: combination of CHART_NOLIBFUNCS and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false.
:returns: success. if fails, a warning message is displayed on the screen)r   gen_simple_call_chart)r  r  r  r  s   &&&&r   r  r  M  s     ))(%HHr#   c               8    V ^8  d   QhRRRRRRRRRRRR	R
R	RR/# )rT   r  rz  r  r  r  r  r  flagsrP   recursion_depthr`   ra   r$   )rV   s   "r   rW   rW   Y  sI        S    C   ) 25 HK  r#   c           	     4    \         P                  ! WW#VWV4      # )aA  Build and display a complex xref graph. 
        
:param filename: output file name. the file extension is not used. maybe nullptr.
:param wait: message to display during graph building
:param title: graph title
:param ea1: address range
:param ea2: address range
:param flags: combination of Call chart building flags and Flow graph building flags. if none of CHART_GEN_DOT, CHART_GEN_GDL, CHART_WINGRAPH is specified, the function will return false.
:param recursion_depth: optional limit of recursion
:returns: success. if fails, a warning message is displayed on the screen)r   gen_complex_call_chart)r  r  r  r  r  r  r  s   &&&&&&&r   r  r  Y  s      **85s   r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]P                  tR tR	 tR
tR# )cancellable_graph_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   cancellable_graph_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   ra   	cancelledc                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   cancellable_graph_t_swiginitnew_cancellable_graph_trl  s   & r   r\   cancellable_graph_t.__init__  s>    >>00EE--dH##5$$)5+ 	,r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   rp  r   disown_cancellable_graph_trr  rs  r   s   &r   rt  cancellable_graph_t.__disown__  s/    		++D1}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   !cancellable_graph_t_cancelled_get!cancellable_graph_t_cancelled_setr  rv   delete_cancellable_graph_trz   r\   rt  r<   r$   r#   r   r  r    sR    -/I!#GHxII224It 4::,#r#   r  c                  R    ] tR tRt]! R R RR7      t]tR t]	P                  tRtR# )	qbasic_block_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   qbasic_block_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   qbasic_block_t_swiginitnew_qbasic_block_tr   s   &r   r\   qbasic_block_t.__init__  s    ((x/J/J/LMr#   r$   N)r   r   r8   r9   r   r   r   r
   r\   r   delete_qbasic_block_trz   r<   r$   r#   r   r  r    s,    -/I!#GHN55r#   r  c                    V ^8  d   QhRRRR/# rT   btype'fc_block_type_t'r`   ra   r$   )rV   s   "r   rW   rW     s     * *+ *t *r#   c                .    \         P                  ! V 4      # )zDoes this block never return?
)r   is_noret_blockr  s   &r   r  r    s     ""5))r#   c                    V ^8  d   QhRRRR/# r  r$   )rV   s   "r   rW   rW     s     ( () (T (r#   c                .    \         P                  ! V 4      # )zDoes this block return?
)r   is_ret_blockr  s   &r   r  r    s       ''r#   c                  d   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    R t]P4                  tR R ltR R ltR R ltR R ltR R lt R R lt!R R lt"R R lt#R  R! lt$R" R# lt%R$ R% lt&R& R' lt'R( R) lt(R* R+ lt)R, R- lt*R.t+R/# )0qflow_chart_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   qflow_chart_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   rz  r  z	'range_t'boundsr  r  rP   r  nproperc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qflow_chart_t_swiginitnew_qflow_chart_tr   argss   &*r   r\   qflow_chart_t.__init__  s    ''h.H.H$.O 	r#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   qflow_chart_t.__annotate__  s     : :d :r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. create(_title: str, _pfn: func_t *, _ea1: ida_idaapi.ea_t, _ea2: ida_idaapi.ea_t, _flags: int) -> None
    1. create(_title: str, ranges: const rangevec_t &, _flags: int) -> None

# 0: create(_title: str, _pfn: func_t *, _ea1: ida_idaapi.ea_t, _ea2: ida_idaapi.ea_t, _flags: int) -> None


# 1: create(_title: str, ranges: const rangevec_t &, _flags: int) -> None

)r   qflow_chart_t_creater  s   &*r   createqflow_chart_t.create  s     ,,T9D99r#   c               $    V ^8  d   QhRRRRRR/# )rT   r  r  r  r`   r   r$   )rV   s   "r   rW   r    s'     J J J_ JJr#   c                	0    \         P                  ! WV4      # r.   )r   !qflow_chart_t_append_to_flowchart)r   r  r  s   &&&r   append_to_flowchart!qflow_chart_t.append_to_flowchart  s    99$SIIr#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r    s     4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   qflow_chart_t_refreshr   s   &r   refreshqflow_chart_t.refresh  r   r#   c                    V ^8  d   QhRRRR/# )rT   blknumrP   r`   r  r$   )rV   s   "r   rW   r    s     D Dc D-> Dr#   c                	.    \         P                  ! W4      # r.   )r   qflow_chart_t_calc_block_typer   r  s   &&r   calc_block_typeqflow_chart_t.calc_block_type  s    55dCCr#   c                    V ^8  d   QhRRRR/# rT   r  rP   r`   ra   r$   )rV   s   "r   rW   r    s     A A3 A$ Ar#   c                	.    \         P                  ! W4      # r.   )r   qflow_chart_t_is_ret_blockr  s   &&r   r  qflow_chart_t.is_ret_block  s    224@@r#   c                    V ^8  d   QhRRRR/# r  r$   )rV   s   "r   rW   r  
  s     C CS CD Cr#   c                	.    \         P                  ! W4      # r.   )r   qflow_chart_t_is_noret_blockr  s   &&r   r  qflow_chart_t.is_noret_block
  s    44TBBr#   c               $    V ^8  d   QhRRRRRR/# r   r$   )rV   s   "r   rW   r    s&     I I IS ID Ir#   c                	0    \         P                  ! WV4      # r.   )r   #qflow_chart_t_print_node_attributesr   s   &&&r   r  #qflow_chart_t.print_node_attributes  s    ;;DaHHr#   c                    V ^8  d   QhRRRR/# r#  r$   )rV   s   "r   rW   r         8 8# 8 8r#   c                	.    \         P                  ! W4      # r.   )r   qflow_chart_t_nsuccr  s   &&r   r'  qflow_chart_t.nsucc      ++D77r#   c                    V ^8  d   QhRRRR/# r#  r$   )rV   s   "r   rW   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qflow_chart_t_npredr  s   &&r   r-  qflow_chart_t.npred  r  r#   c               $    V ^8  d   QhRRRRRR/# r0  r$   )rV   s   "r   rW   r    !     : : : : :r#   c                	0    \         P                  ! WV4      # r.   )r   qflow_chart_t_succr4  s   &&&r   r5  qflow_chart_t.succ      **4q99r#   c               $    V ^8  d   QhRRRRRR/# r0  r$   )rV   s   "r   rW   r    r  r#   c                	0    \         P                  ! WV4      # r.   )r   qflow_chart_t_predr4  s   &&&r   r;  qflow_chart_t.pred  r  r#   c                   V ^8  d   QhRR/# )rT   r`   r   r$   )rV   s   "r   rW   r    s     B Bh Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   qflow_chart_t_get_node_labelr  s   &*r   r   qflow_chart_t.get_node_label  s    44TADAAr#   c                   V ^8  d   QhRR/# r   r$   )rV   s   "r   rW   r    s     1 1S 1r#   c                	.    \         P                  ! V 4      # r.   )r   qflow_chart_t_sizer   s   &r   r   qflow_chart_t.size  s    **400r#   c                   V ^8  d   QhRR/# r>  r$   )rV   s   "r   rW   r  "  s     8 8D 8r#   c                	.    \         P                  ! V 4      # r.   )r   qflow_chart_t_print_namesr   s   &r   print_namesqflow_chart_t.print_names"  s    11$77r#   c                    V ^8  d   QhRRRR/# )rT   r   rP   r`   z'qbasic_block_t *'r$   )rV   s   "r   rW   r  %  s     ; ;S ;$6 ;r#   c                	.    \         P                  ! W4      # r.   )r   qflow_chart_t___getitem__r   s   &&r   __getitem__qflow_chart_t.__getitem__%  s    11$::r#   r$   N),r   r   r8   r9   r   r   r   r
   r   qflow_chart_t_title_getqflow_chart_t_title_setr  rv   qflow_chart_t_bounds_getqflow_chart_t_bounds_setr  qflow_chart_t_pfn_getqflow_chart_t_pfn_setr  qflow_chart_t_flags_getqflow_chart_t_flags_setr  qflow_chart_t_nproper_getqflow_chart_t_nproper_setr  r\   delete_qflow_chart_trz   r  r  r  r  r  r  r  r'  r-  r5  r;  r   r   r  r  r<   r$   r#   r   r  r    s=   -/I!#GH(::H!E3 ! !B!B))+FI +x==xC (::H!E3 !H>>!!#GS #  44:J4DACI88::B18; ;r#   r  c                  ,    ] tR tRtRtR tR tR tRtR# )
BasicBlocki/  z8Basic block class. It is returned by the Flowchart classc                	    W0n         Wn         VP                  V n         VP                  V n         V P                   P                  P                  V P                  4      V n        R # r.   )_fcidstart_eaend_ea_qr  r   )r   r  bbfcs   &&&&r   r\   BasicBlock.__init__2  sL    %ii#HHKK//8	5r#   c              #    "   V P                   P                  p\        ^ V P                   P                  P                  V P                  4      4       F2  pV P                   VP                  V P                  V4      ,          x  K4  	  R# 5i)z 
Iterates the predecessors list
N)r  r!  ranger-  r  r;  r   qr   s   &  r   predsBasicBlock.preds=  sZ      HHKKq$((++++DGG45A((166$''1-.. 6s   BB
c              #     "   V P                   P                  p\        ^ VP                  V P                  4      4       F2  pV P                   VP                  V P                  V4      ,          x  K4  	  R# 5i)z
Iterates the successors list
N)r  r!  r&  r'  r  r5  r'  s   &  r   succsBasicBlock.succsE  sP      HHKKq!''$''*+A((166$''1-.. ,s   A4A6)r  r   r  r  r   N)	r   r   r8   r9   r:   r\   r)  r,  r<   r$   r#   r   r  r  /  s    B	6//r#   r  c                  P    ] tR tRtRtRR lt]! R 4      t R tR t	R t
R	 tR
tR# )	FlowChartiN  z_
Flowchart class used to determine basic blocks.
Check ex_gdl_qflow_chart.py for sample usage.
Nc                    Vf$   Ve   \        V4      \        8w  d   \        R4      hVf!   \        P                  \        P                  3p\        RW^ ,          V^,          V4      V n        R# )z
Constructor
:param f: A func_t type, use get_func(ea) to get a reference
:param bounds: A tuple of the form (start, end). Used if "f" is None
:param flags: one of the FC_xxxx flags.
Nz3Please specifiy either a function or start/end pairr   )r   tupler   _ida_idaapiBADADDRr  r!  )r   fr  r  s   &&&&r   r\   FlowChart.__init__T  s_     9&.DLE,AEG G> ((+*=*==FAay&)UCr#   c                	6    V P                   P                  4       # r.   )r!  r   r   s   &r   rF   FlowChart.<lambda>a  s    r#   c                :    V P                   P                  4        R# )zRefreshes the flow chartN)r!  r  r   s   &r   r  FlowChart.refreshd  s    r#   c                	<    \        WP                  V,          V 4      # r.   )r  r!  r   indexs   &&r   _getitemFlowChart._getitemh  s    %66r#   c                	D   a  V 3R  l\        ^ S P                  4       4       # )c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir.   )r=  ).0r<  r   s   & r   	<genexpr>%FlowChart.__iter__.<locals>.<genexpr>l  s     F2Ee$$2Es   !)r&  r   r   s   fr   __iter__FlowChart.__iter__k  s    F%4992EFFr#   c                P    WP                   8  d   \        hV P                  V4      # )z-
Returns a basic block

:returns: BasicBlock
)r   KeyErrorr=  r;  s   &&r   r  FlowChart.__getitem__n  s"     IIN==''r#   )r!  )NNrs   )r   r   r8   r9   r:   r\   r   r   r  r=  rD  r  r<   r$   r#   r   r/  r/  N  s2    
D /0D,7G	(r#   r/  ))^r:   
__future__r   sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r+   r5   r   r7   rr  SWIG_PYTHON_LEGACY_BOOLtypingr=   r>   r?   
ida_idaapi	ida_range
fcb_normalfcb_indjumpfcb_ret
fcb_cndret	fcb_noret
fcb_enoret
fcb_extern	fcb_errorobjectrA   edge_t_swigregisterr|   edgevec_t_swigregister	EDGE_NONE	EDGE_TREEEDGE_FORWARD	EDGE_BACK
EDGE_CROSSEDGE_SUBGRAPHr   node_ordering_t_swigregisterr   node_iterator_swigregisterr   gdl_graph_t_swigregisterr|  r  r  CHART_PRINT_NAMESCHART_GEN_DOTCHART_GEN_GDLCHART_WINGRAPHr  r  CHART_NOLIBFUNCSCHART_REFERENCINGCHART_REFERENCEDCHART_RECURSIVECHART_FOLLOW_DIRECTIONCHART_IGNORE_XTRNCHART_IGNORE_DATA_BSSCHART_IGNORE_LIB_TOCHART_IGNORE_LIB_FROMCHART_PRINT_COMMENTSCHART_PRINT_DOTSr   cancellable_graph_t_swigregisterrange_tr  qbasic_block_t_swigregisterr  r  FC_PRINTFC_NOEXTFC_RESERVEDFC_APPNDFC_CHKBREAKFC_CALL_ENDS
FC_NOPREDSFC_OUTLINESr  qflow_chart_t_swigregistertypesr2  r  r/  FC_PREDSr$   r#   r   <module>r     s  = # 9#/"
 L$ L
 "::  % %    
""


  
	  
  
	.V .2 	  V $1 1 	  	 *		$$	  
&&7f 7> 	 % %o 65F 5( 	 # #M 2R#& R#j 	 ! !+ .&'K .. &&&&((	I " ,, .. ,, **!88 ..  66 22  66 44 ,, #+ #, 	 ) )*= >6Y&& 6 	 $ $^ 4*( """"$$  
""S;' S;l 	 # #M 2   / />)( )(X S  s   N NN