�
��Zc�����������@��s/��d��d�l��m�Z�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�Z�d��d�l�Z�d�d�l	�m
�Z
�d�d	�l�m�Z�d�d
�l
�m�Z�e
�d�d����7�d�e�j�k�r��d��d�l�m�Z�n�d��d�l�m�Z�Wd�QXd
�d�d�g�Z�d�d�d�d�g�Z�e�e�Z�e�d���\
�Z�Z�Z�Z�Z�Z�Z�Z �Z!�Z"�e�d���\
�Z#�Z$�Z%�Z&�Z'�Z(�Z)�Z*�Z+�Z,�d��Z-�d"�Z.�d#�Z/�d$�Z0�d%�Z1�d&�Z2�d��Z3�d'�Z4�d(�Z5�d)�Z6�d*�Z7�d��Z8�d+�Z9�e�d���\�Z:�Z;�Z<�Z=�Z>�Z?�d����Z@�d����ZA�d�eB�f�d�������YZC�d�eB�f�d�������YZD�d �eB�f�d!�������YZ�d�S(,���i����(���t���with_statement(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsNi���(���t���LibtoolImporter(���t���Position(���t	���CCompileru ���UNINSTALLED_INTROSPECTION_SRCDIR(���t
���SourceScanneru���.hu���.hppu���.hxxu���.cu���.cppu���.ccu���.cxxi
���i���i���i���i���i���c���������C��sS���i
�d�t��6d�t�6d�t�6d�t�6d�t�6d�t�6d�t�6d�t�6d	�t�6d
�t	�6j
�|����S(���Nu���invalidu���ellipsisu���constu���objectu���functionu���structu���unionu���enumu���typedefu���member(���t���CSYMBOL_TYPE_INVALIDt���CSYMBOL_TYPE_ELLIPSISt���CSYMBOL_TYPE_CONSTt���CSYMBOL_TYPE_OBJECTt���CSYMBOL_TYPE_FUNCTIONt���CSYMBOL_TYPE_STRUCTt���CSYMBOL_TYPE_UNIONt���CSYMBOL_TYPE_ENUMt���CSYMBOL_TYPE_TYPEDEFt���CSYMBOL_TYPE_MEMBERt���get(���t���symbol_type(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���symbol_type_name[���s����c���������C��sS���i
�d�t��6d�t�6d�t�6d�t�6d�t�6d�t�6d�t�6d�t�6d	�t�6d
�t	�6j
�|����S(���Nu���invalidu���voidu���basicu���typedefu���structu���unionu���enumu���pointeru���arrayu���function(���t
���CTYPE_INVALIDt
���CTYPE_VOIDt���CTYPE_BASIC_TYPEt
���CTYPE_TYPEDEFt���CTYPE_STRUCTt���CTYPE_UNIONt
���CTYPE_ENUMt
���CTYPE_POINTERt���CTYPE_ARRAYt���CTYPE_FUNCTIONR���(���t���ctype(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt
���ctype_namei���s����t
���SourceTypec�����������B��s����e��Z�d��d�d�d�d�d�g�Z�d����Z�d����Z�e�d������Z�e�d	������Z�e�d
������Z�e�d������Z	�e�d������Z
�e�d
������Z�RS(���u���typeu	���base_typeu���nameu���type_qualifieru
���child_listu���is_bitfieldc���������C��s���|�|��_��|�|��_�d��S(���N(���t���_scannert���_stype(���t���selft���scannert���stype(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���__init__{���s����	c���������C��s#���d�|��j��j�t�|��j���|��j�f�S(���Nu���<%s type='%s' name='%s'>(���t	���__class__t���__name__R!���t���typet���name(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���__repr__���s����	c���������C��s
���|��j��j�S(���N(���R$���R+���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR+�������s����c���������C��s,���|��j��j�d��k	�r(�t�|��j�|��j��j���Sd��S(���N(���R$���t	���base_typet���NoneR"���R#���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR.�������s����c���������C��s
���|��j��j�S(���N(���R$���R,���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR,�������s����c���������C��s
���|��j��j�S(���N(���R$���t���type_qualifier(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR0�������s����c���������c��s>���x7�|��j��j�D])�}�|�d��k�r%�q
�n��t�|��j�|���Vq
�Wd��S(���N(���R$���t
���child_listR/���t���SourceSymbolR#���(���R%���t���symbol(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR1�������s����c���������C��s
���|��j��j�S(���N(���R$���t���is_bitfield(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR4�������s����(���R*���t
���__module__t���__members__R(���R-���t���propertyR+���R.���R,���R0���R1���R4���(����(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR"���w���s���		R2���c�����������B��s����e��Z�d��d�d�d�d�d�d�g�Z�d����Z�d����Z�e�d	������Z�e�d
������Z�e�d������Z�e�d������Z	�e�d
������Z
�e�d������Z�e�d������Z�e�d������Z
�e�d������Z�e�d������Z�e�d������Z�RS(���u	���const_intu���const_doubleu���const_stringu
���const_booleanu���identu���typeu	���base_typec���������C��s���|�|��_��|�|��_�d��S(���N(���R#���t���_symbol(���R%���R&���R3���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR(�������s����	c���������C��s[���|��j��}�|�r5�|��j�}�|�r5�|�d�|�f�7}�q5�n��d�|��j�j�t�|��j���|��j�|�f�S(���Nu���:'%s'u"���<%s type='%s' ident='%s' src='%s'>(���t���source_filenamet���lineR)���R*���R���R+���t���ident(���R%���t���srcR:���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR-�������s����			c���������C��s
���|��j��j�S(���N(���R8���t	���const_int(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR=�������s����c���������C��s
���|��j��j�S(���N(���R8���t���const_double(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR>�������s����c���������C��s
���|��j��j�S(���N(���R8���t���const_string(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR?�������s����c���������C��s
���|��j��j�S(���N(���R8���t
���const_boolean(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR@�������s����c���������C��s
���|��j��j�S(���N(���R8���R;���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR;�������s����c���������C��s
���|��j��j�S(���N(���R8���R+���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR+�������s����c���������C��s,���|��j��j�d��k	�r(�t�|��j�|��j��j���Sd��S(���N(���R8���R.���R/���R"���R#���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR.�������s����c���������C��s
���|��j��j�S(���N(���R8���R9���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR9�������s����c���������C��s
���|��j��j�S(���N(���R8���R:���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR:�������s����c���������C��s
���|��j��j�S(���N(���R8���t���private(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRA�������s����c���������C��s���t��|��j�j�|��j�j���S(���N(���R���R8���R9���R:���(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���position����s����(���R*���R5���R6���R(���R-���R7���R=���R>���R?���R@���R;���R+���R.���R9���R:���RA���RB���(����(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR2�������s���		R���c�����������B��s\���e��Z�d�����Z�g��d���Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z	�d����Z
�RS(	���c���������C��s"���t�����|��_�g��|��_�g��|��_�d��S(���N(���t���CSourceScannerR#���t
���_filenamest���_cpp_options(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR(�������s����	c���
������C��s����|��j��j�|���x��d�g��|�D]�}�t�j�j�|���^�q�f�d�|�f�d�|�f�g�D]O�\�}�}�x@�|�pi�g��D]2�}�|�|�}	�|	�|��j��k�rj�|��j��j�|	���qj�qj�WqQ�Wd��S(���Nu���-Iu���-Du���-U(���RE���t���extendt���ost���patht���realpatht���append(
���R%���t���includest���definest	���undefinest���cflagst���ft���prefixt���argst���argt���opt(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���set_cpp_options����s����+	
c���������C��s����x@�|�D]8�}�t��j�j�|���}�|��j�j�|���|��j�j�|���q�Wg��}�xM�|��j�D]B�}�t��j�j�|���d�t�k�r��|��j�j	�|���qS�|�j�|���qS�W|��j
�|���d��S(���Ni���(���RG���RH���RI���R#���t���append_filenameRD���RJ���t���splitextt���SOURCE_EXTSt���lex_filenamet���_parse(���R%���t	���filenamest���filenamet���headers(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���parse_files����s����
c���������C��sS���|��j��j�t���|��j��j�g��|�D]�}�t�j�j�|���^�q ���|��j��j�t���d��S(���N(���R#���t���set_macro_scant���Truet���parse_macrosRG���RH���RI���t���False(���R%���RZ���RO���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR`�����s����/c���������c��s/���x(�|��j��j����D]�}�t�|��j��|���Vq�Wd��S(���N(���R#���t���get_symbolsR2���(���R%���R3���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRb�����s����c���������C��s
���|��j��j����S(���N(���R#���t���get_comments(���R%���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRc�����s����c���������C��sH���t��d�d���x3�|��j�j����D]"�}�t��|�j�|�j�j�|�j���q�Wd��S(���Nu���-i���(���t���printR#���Rb���R;���R.���R,���R+���(���R%���R3���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���dump��s����c������	���C��s��|�s
�d��Sd�g�}�g��}�t�����}�t�j�d�d�d�d�d�t�j������\�}�}�t�j�|�d�����}�|��j�|�|�|�|���Wd��QXt�j�j�t�j�j	�|���d���}�|�d	�}	�|�j
�|�|	�|��j���t�j�|���t
�|	�d
���}
�|��j�j�|
�j������|
�j����t�j�|	���d��S(���Nu���__GI_SCANNER__RP���u	���g-ir-cpp-t���suffixu���.ct���diru���wbi����u���.iu���r(���R���t���tempfilet���mkstempRG���t���getcwdt���fdopent���_write_preprocess_srcRH���t���basenameRV���t
���preprocessRE���t���unlinkt���openR#���t
���parse_filet���filenot���close(���R%���RZ���RL���t���undefst���cct
���tmp_fd_cppt���tmp_name_cppt���fp_cppt���tmpfile_basenamet���tmpfile_outputt���fp(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRY�����s(����		"
	


c���������C��s����xU�|�D]M�}�|�j��d�|�f�j������|�j��d�|�f�j������|�j��d�j������q�Wx(�|�D] �}�|�j��d�|�f�j������q_�Wx(�|�D] �}�|�j��d�|�f�j������q��Wd��S(���Nu���#ifndef %s
u���# define %s
u���#endif
u
���#undef %s
u���#include <%s>
(���t���writet���encode(���R%���R{���RL���Rt���RZ���t���definet���undefR[���(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRl���<��s����


(���R*���R5���R(���RT���R]���R`���Rb���Rc���Re���RY���Rl���(����(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR�������s���	
						 i���i���i���i���i ���i���i���i���i���i���(E���t
���__future__R����R���R���R���R���RG���t
���subprocessRh���t���libtoolimporterR���t���messageR���t	���ccompilerR���R/���t���environt
���_giscannerR���RC���t���giscanner._giscannert���HEADER_EXTSRW���t���ALL_EXTSt���rangeR	���R
���R���R���R
���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���t���STORAGE_CLASS_NONEt���STORAGE_CLASS_TYPEDEFt���STORAGE_CLASS_EXTERNt���STORAGE_CLASS_STATICt���STORAGE_CLASS_AUTOt���STORAGE_CLASS_REGISTERt���TYPE_QUALIFIER_NONEt���TYPE_QUALIFIER_CONSTt���TYPE_QUALIFIER_RESTRICTt���TYPE_QUALIFIER_VOLATILEt���TYPE_QUALIFIER_EXTENSIONt
���FUNCTION_NONEt���FUNCTION_INLINEt���UNARY_ADDRESS_OFt���UNARY_POINTER_INDIRECTIONt
���UNARY_PLUSt���UNARY_MINUSt���UNARY_BITWISE_COMPLEMENTt���UNARY_LOGICAL_NEGATIONR���R!���t���objectR"���R2���(����(����(����sw���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt���<module>���sL���
**		+C