�
�d[c�����������@`�s����d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l�Z�d�d�l�m�Z�d�d�l�m	�Z	�d	�e
�f�d
�������YZ�d�e
�f�d�������YZ�d
�e
�f�d�������YZ
�d����Z�d����Z�d����Z�d�S(���i����(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsNi���(���t���ast(���t���to_underscorest���SectionsFilec�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s
���|�|��_��d��S(���N(���t���sections(���t���selfR���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���__init__���s����(���t���__name__t
���__module__R	���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR������s���t���Sectionc�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s(���d��|��_�d��|��_�d��|��_�g��|��_�d��S(���N(���t���Nonet���filet���titlet���includest���subsections(���R���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR	���$���s����			(���R
���R���R	���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR���#���s���t
���Subsectionc�����������B`�s���e��Z�d�����Z�RS(���c���������C`�s���|�|��_��g��|��_�d��S(���N(���t���namet���symbols(���R���R���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR	���,���s����	(���R
���R���R	���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR���+���s���c���������C`�s���g��}�d��}�d��}�x�|��D]�}�|�j����}�|�s�|�j����rD�q�n��|�d�k�r��t����}�|�j�|���t�d����}�|�j�j�|���q�n��|�d�k�r��d��}�q�n��t�j�d�|���}�|�r��|�j	�d�|�_
�q�n��t�j�d�|���}�|�r��|�j	�d�|�_�q�n��t�j�d�|���}�|�r*|�j	�d�|�_�q�n��t�j�d�|���}�|�rst�|�j	�j
�d�d������}�|�j�j�|���q�n��|�j�d	���r�|�j�d
���r�q�n��|�j�j�|���q�Wt�|���S(���Nu	���<SECTION>u
���</SECTION>u���<FILE>(?P<contents>.*)</FILE>u���contentsu���<TITLE>(?P<contents>.*)</TITLE>u#���<INCLUDE>(?P<contents>.*)</INCLUDE>u���<SUBSECTION(?: (?P<name>.*))?>u���nameu���<u���>(���R
���t���rstript���isspaceR���t���appendR���R���t���ret���matcht	���groupdictR���R���R���t���gett
���startswitht���endswithR���R���(���t���linesR���t���current_sectiont���current_subsectiont���lineR���(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���parse_sections_file1���sJ����
	
c���������C`�s$��x|�j��D]}�|��j�d���|�j�d��k	�rF�|��j�d�|�j�f���n��|�j�d��k	�ro�|��j�d�|�j�f���n��|�j�d��k	�r��|��j�d�|�j�f���n��t�}�x{�|�j�D]p�}�|�j�d��k	�r��|��j�d�|�j�f���n�|�s��|��j�d���n��t	�}�x"�|�j
�D]�}�|��j�|�d���q��Wq��Wq
�Wd��S(���Nu���
<SECTION>
u���<FILE>%s</FILE>
u���<TITLE>%s</TITLE>
u���<INCLUDE>%s</INCLUDE>
u���<SUBSECTION %s>
u���
<SUBSECTION>
u���
(���R���t���writeR���R
���R���R���t���TrueR���R���t���FalseR���(���t���ft
���sections_filet���sectiont���is_first_subsectiont
���subsectiont���symbol(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���write_sections_filee���s"����
c���
������`�sD��|��j��}�g��������f�d����}�d����}�|�d�d���}�x|�j����D]��}�t�|�t�j���rn�|�|�|�j���qC�t�|�t�j�t�j�f���rC�|�j�}�t	�|���j
�d�d���j����}�|�|�|���}�|�|�|���|�|�|�j�j
�j
�d�d�����x!�|�j�D]�}	�|�|�|	�j���q��Wx$�|�j�D]�}	�|�|�|	�j���qWqC�qC�Wt������S(	���Nc���������`�sB���t�����}�|��|�_�|�|�_�|�j�j�t�d���������j�|���|�S(���N(���R���R���R���R���R���R���R
���(���t���file_R���R(���(���R���(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���new_section����s����			
c���������S`�s���|��j��d�j�j�|���d��S(���Ni����(���R���R���R���(���R(���t���sym(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt
���append_symbol����s����u���mainu���Mainu���_u���-u���.u����(���t	���namespacet���valuest
���isinstanceR���t���FunctionR+���t���Classt	���Interfacet
���gtype_nameR���t���replacet���lowert���glib_type_structt
���target_ginamet���methodst���static_methodsR���(
���t���transformert���nsR.���R0���t���general_sectiont���nodeR7���t	���file_nameR(���t���meth(����(���R���sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���generate_sections_file|���s&����			
(���t
���__future__R����R���R���R���R���t����R���t���utilsR���t���objectR���R���R���R"���R,���RD���(����(����(����sq���/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���<module>���s���	4