� �4Wc�����������@`�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�Z�d��d�l�Z�d��d�l�Z�d��d�l �Z �d��d�l �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�m�Z�d��d �l�m�Z�d��d �l�m�Z�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"�m#�Z#�d��d�l$�m%�Z%�m&�Z&�d��d�l'�m(�Z(�d�d�l)�m*�Z*�d����Z+�d����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�d#����Z:�d$����Z;�d%����Z<�d&����Z=�d�S('���i����(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsN(���t���message(���t���GtkDocCommentBlockParser(���t���Includet ���Namespace(���t���compile_introspection_binary(���t���GDumpParsert���IntrospectionBinary(���t���IntrospectablePass(���t ���GIRParser(���t ���GIRWriter(���t���MainTransformer(���t���resolve_shlibs(���t ���SourceScannert���ALL_EXTS(���t���Transformeri���(���t���utilsc���������C`�s����t��|�j�|��j���}�x��t�|�j���d�k�r��|�j�d�d�k�r��|�j�j�d���}�|�d�k�r��|�j�r��|�j�d�d�k�r��|�|�j�j�d���7}�n��|�j�t�j�|�����q�Wd��S(���Ni����u���--cflags-endu���-I( ���t���getattrt���valuest���destt���lent���rargst���popt���appendR���t���cflag_real_include_path(���t���optiont���optt���valuet���parsert���cflagst���arg(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���process_cflags_begin5���s����+(c���������C`�s���d��S(���N(����(���R���R���R���R���(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���process_cflags_end?���s����c���������C`�s2���t��|�j�|��j���}�|�j�t�j�j�|�����d��S(���N(���R���R���R���R���t���ost���patht���realpath(���R���R���R���R���t���cpp_includes(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���process_cpp_includesC���s����c���������C`�s����t��j�|��d���}�|�j�d�d�d�d�d�d�d�g��d �d �d�t��|�j�d�d�d�d �d �d �d�t��|�j�d�d�d�d�d�d�g��d�d�d �d �d�t��|�j�d�d�d�d �d�d�d�d�g���|�j�d�d�d�d �d�d�d�d�g���|�j�d�d�d�d�d��|�S(���Nu���Preprocessor optionsu����u���--cflags-begint���helpu!���Start preprocessor/compiler flagsR���u���cflagst���defaultt���actionu���callbackt���callbacku���--cflags-endu���End preprocessor/compiler flagsu���-Iu���Pre-processor include fileu���cpp_includest���typeu���stringu���-Du���Pre-processor defineu���appendu���cpp_definesu���-Uu���Pre-processor undefineu ���cpp_undefinesu���-pu���Ignored(���t���optparset���OptionGroupt ���add_optionR"���R#���R(���(���R���t���group(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���get_preprocessor_option_groupH���s&���� c������ ���C`�s;���t��j�|��d���}�|�j�d�d�d�d�d�d�d�d �g���|�S( ���Nu���Machine Dependent Optionsu���-mR)���u���some machine dependent optionR+���u���appendR���u���m_optionR*���(���R.���R/���R0���(���R���R1���(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���get_windows_option_group^���s ����c����������C`�ss��t��j�d���}��|��j�d�d�d�d�d�d�d�t�d �d ��|��j�d�d�d�d�d�d �d�d�d �d��|��j�d�d�d�d�d�d�d�g��d �d��|��j�d�d�d�d�d�d�d�g��d �d��|��j�d�d�d�d�d�d�d�g��d �d��|��j�d�d�d�d�d�d�d�d��d �d��|��j�d�d�d�d�d�d�d�g��d �d ��|��j�d�d!�d�d�d�d"�d�d��d �d#��|��j�d�d$�d�d�d�d%�d�t�d �d&��|��j�d�d'�d�d�d�d(�d�t�d �d)�d*��|��j�d+�d,�d�d�d�d-�d�g��d �d.��|��j�d/�d0�d�d�d�d1�d�g��d �d2��|��j�d�d3�d�d�d�d4�d�g��d �d5��|��j�d6�d7�d�d�d�d8�d �d9��|��j�d�d:�d�d�d�d;�d �d<��|��j�d�d=�d�d�d�d>�d �d?��|��j�d�d@�d�d�d�dA�d�g��d �dB��|��j�d�dC�d�d�d�dD�d�d�d �dE��|��j�d�dF�d�d�d�dG�d�g��d �dH��|��j�d�dI�d�d�d�dJ�d�d�d �dK��|��j�d�dL�d�d�d�dM�d�t�d �dN��|��j�d�dO�d�d�d�dP�d�g��d �dQ��|��j�dR�dS�d�d�d�dT�d�dU�d �dV��|��j�d�dW�d�d�d�dX�d�g��d �dY��|��j�d�dZ�d�d�d�d[�d�g��d �d\��|��j�d�d]�d�d�d�d^�d�t�d �d_��|��j�d�d`�d�d�d�da�d �db��|��j�dc�dd�d�d�d�de�d �df��|��j�d�dg�d�d�d�dh�d�g��d �di��|��j�d�dj�d�d�d�dk�d�g��d �dl��t�|����}�|��j�|���t�j�j �dm���}�|�r|�j �dn���rt�|����}�|��j�|���n��|��j�d�do�d�d�d�dp�d�d��d �t��j��|��j�d�dq�d�d�d�dr�d�d��d �t��j��|��j�d�ds�d�d�d�dt�d�t�d �t��j��|��j�d�du�d�d�d�dv�d �t��j��|��j�d�dw�d�d�d�dx�d�g��d �dy��|��j�d�dz�d�d�d�d{�d�g��d �d|��|��j�d�d}�d�d�d�d~�d�g��d �d��|��j�d�d��d�d�d�d��d�g��d �d���|��j�d�d��d�d�d�d��d�g��d �d���|��S(����Nu���%prog [options] sourcesu����u���--quietR+���u ���store_trueR���u���quietR*���R)���u3���If passed, do not print details of normal operationu���--formatu���storeu���formatu���giru���format to use, one of gidl, giru���-iu ���--includeu���appendu���includesu$���Add specified gir file as dependencyu���--include-uninstalledu���includes_uninstalledu����A file path to a dependency; only use this " "when building multiple .gir files inside a " "single module.u���--add-include-pathu ���include_pathsu!���include paths for other GIR filesu ���--programu���programu���program to executeu ���--program-argu���program_argsu���extra arguments to programu ���--libtoolu���libtool_pathu���full path to libtoolu���--no-libtoolu ���nolibtoolu���do not use libtoolu���--external-libraryu���external_libraryu.���If true, the library is located on the system,u���not in the current directoryu���-lu ���--libraryu ���librariesu���libraries of this unitu���-Lu���--library-pathu ���library_pathsu#���directories to search for librariesu ���--header-onlyu���header_onlyu<���If specified, just generate a GIR for the given header filesu���-nu���--namespaceu���namespace_nameu]���name of namespace for this unit, also used to compute --identifier-prefix and --symbol-prefixu���--nsversionu���namespace_versionu"���version of namespace for this unitu���--strip-prefixu���strip_prefixuX���Option --strip-prefix is deprecated, please see --identifier-prefix and --symbol-prefix.u���--identifier-prefixu���identifier_prefixesu����Remove this prefix from C identifiers (structure typedefs, etc.). May be specified multiple times. This is also used as the default for --symbol-prefix if the latter is not specified.u���--identifier-filter-cmdu���identifier_filter_cmdu����Filter identifiers (struct and union typedefs) through the given shell command which will receive the identifier name as input to stdin and is expected to output the filtered results to stdout.u���--symbol-prefixu���symbol_prefixesu2���Remove this prefix from C symbols (function names)u���--symbol-filter-cmdu���symbol_filter_cmdu����Filter symbols (function names) through the given shell command which will receive the symbol name as input to stdin and is expected to output the filtered results to stdout.u���--accept-unprefixedu���accept_unprefixeduT���If specified, accept symbols and identifiers that do not match the namespace prefix.u���--add-init-sectionu ���init_sectionsu:���add extra initialization code in the introspection programu���-ou���--outputu���outputu���-u3���output filename to write to, defaults to - (stdout)u���--pkgu���packagesu&���pkg-config packages to get cflags fromu���--pkg-exportu���packages_exportu/���Associated pkg-config packages for this libraryu ���--warn-allu���warn_allu.���If true, enable all warnings for introspectionu���--warn-erroru ���warn_fatalu���Turn warnings into fatal errorsu���-vu ���--verboseu���verboseu ���be verboseu���--c-includeu ���c_includesu.���headers which should be included in C programsu ���--filelistu���filelistu1���file containing headers and sources to be scannedu���MSYSTEMu���MINGWu���--generate-typelib-testsu���test_codegenu���--passthrough-giru���passthrough_giru���--reparse-validateu���reparse_validate_giru ���--typelib-xmlu���typelib_xmlu���--function-decorationu���function_decorationu-���Macro to decorate functions in generated codeu���--include-first-in-headeru���include_first_headeru+���Header to include first in generated headeru���--include-last-in-headeru���include_last_headeru=���Header to include after the other headers in generated headeru���--include-first-in-srcu���include_first_srcu,���Header to include first in generated sourcesu���--include-last-in-srcu���include_last_srcu>���Header to include after the other headers in generated sources( ���R.���t���OptionParserR0���t���Falset���NoneR2���t���add_option_groupR$���t���environt���gett ���startswithR3���t ���SUPPRESS_HELP(���R���R1���t ���msystemenv(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���_get_option_parserg���s���� c���������C`�s���t��d�|��f�����d��S(���Nu ���ERROR: %s(���t ���SystemExit(���t���msg(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���_error����s����c���������C`�s?���t�����}�|�j�|����t�|�j������}�|�j�|�j������d��S(���N(���R���t���parseR ���t ���get_namespacet���writet���get_encoded_xml(���R%���t���fR���t���writer(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���passthrough_gir����s���� c���������C`�st���|��j��d���\�}�}�}�|�d�k�r_�d�d�l�m�} �| �|�|�|�|�|�|�|���} �| �j����n�t�d�|�f���d�S(���Nu���,u ���Everythingi���(���t���EverythingCodeGeneratoru���Invaild namespace '%s'i����(���t���splitt���testcodegenRH���RC���R@���(���t ���optstringt���function_decorationt���include_first_headert���include_last_headert���include_first_srct���include_last_srct ���namespacet���out_h_filenamet���out_c_filenameRH���t���gen(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���test_codegen��s���� c���������c`�sG���x@�|��j�����D]2�}�x)�|�D]!�}�|�j�|���s5�q�n��|�VPq�Wq �Wd��S(���N(���RI���R:���(���t���outputt ���allowed_flagsR���t���flag(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���process_options��s���� c��� ������C`�s ��t��j�j�d�d���d�g�}�|�j�|���t�j�|�d�t�j��j����d�}�|�d��k�rZ�d�S|�j �d���}�d�d �d �d�d�g�}�t �t�|�|�����}�t����}�|�j �|���\�}�}�|��j�j�g��|�j�D]�} �t��j�j�| ���^�q����|��j�j�|�j���|��j�j�|�j���d��S( ���Nu ���PKG_CONFIGu ���pkg-configu���--cflagst���stdouti����i���u���asciiu���-Iu���-Du���-Uu���-lu���-L(���R$���R8���R9���t���extendt ���subprocesst���Popent���PIPEt���communicateR6���t���decodet���listRY���R=���t ���parse_argsR'���R%���R&���t���cpp_definest ���cpp_undefines( ���t���optionst���packagest���argsRV���t���options_whitelistt���filtered_outputR���t���pkg_optionst���unusedRE���(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���process_packages%��s���� 2c���������C`�sm���g��}�x`�|��D]X�}�t��j�j�|���d�t�k�r �t��j�j�|���sU�t�d�|�f���n��|�j�|���q �q �W|�S(���Ni���u���%s: no such a file or directory(���R$���R%���t���splitextR���t���existsR@���R���(���Rg���t ���filenamesR!���(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���extract_filenames:��s���� c���������C`�s��g��}�t��j�j�|��j���s2�t�d�|��j�f���n��t�|��j�d�����}�|�j����}�Wd��QXx��|�D]��}�|�j����}�|�j�d���s��|�j�d���s��|�j�d���s��|�j�d���s��|�j�d���s��|�j�d���s��|�j�d ���r`�t��j�j�|���st�d �|�f���n��|�j �|���q`�q`�W|�S(���Nu���%s: no such filelist fileu���ru���.cu���.cppu���.ccu���.cxxu���.hu���.hppu���.hxxu4���%s: Invalid filelist entry-no such file or directory( ���R$���R%���Rn���t���filelistR@���t���opent ���readlinest���stript���endswithR���(���Re���Ro���t ���filelist_filet���linest���linet���filename(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���extract_filelistH��s���� c���������C`�s����|��j��r)�t�d���|��j�j�|��j����n��|��j�r>�|��j�}�n�d��}�|��j�r��x0�|��j�D]%�}�|�j����|�k�rW�t�d���qW�qW�W|��j�}�n�d��}�t�|��j �|��j �d�|�d�|��S(���Nun���g-ir-scanner: warning: Option --strip-prefix has been deprecated; see --identifier-prefix and --symbol-prefix.u5���Values for --symbol-prefix must be entirely lowercaset���identifier_prefixest���symbol_prefixes(���t���strip_prefixt���printR{���R���R6���R|���t���lowerR@���R���t���namespace_namet���namespace_version(���Re���R{���t���prefixR|���(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���create_namespace^��s"���� c���������C`�s����t��|��d�|�j�d�|�j�d�|�j��}�|�j�|�j���|�j�sI�|�j�r`�|�j����|�j ����n��xo�|�j �D]d�}�t�j�|�k�r��t �d�|�f���n��y�t�j�|���}�Wn�t �d�|�f���n�X|�j�|���qj�Wx�|�j�D]�}�|�j�|���q��W|�S(���Nt���accept_unprefixedt���identifier_filter_cmdt���symbol_filter_cmdu���Invalid include path '%s'u���Malformed include '%s' (���R���R����R����R����t���set_include_pathst ���include_pathsRG���t���reparse_validate_girt ���disable_cachet���set_passthrough_modet���includesR$���t���sepR@���R���t���from_stringt���register_includet���includes_uninstalledt���register_include_uninstalled(���RQ���Re���t���transformert���includet���include_objt���include_path(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���create_transformer{��s&���� c���������C`�s����t��|����}�|�j����|�j�rJ�|�j�g�}�|�j�|�j���t�|���}�n�t�|�|�j����|�j������}�t �|�|�|�j ���}�|�j�|���|�j����|�S(���N( ���R ���t ���init_parset���programR[���t���program_argsR ���R���t���get_get_type_functionst���get_error_quark_functionsR���t ���librariest���set_introspection_binaryRA���(���R����Re���Rg���t���gdump_parsert���binaryt���shlibs(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt ���create_binary���s���� c���������C`�s����t��|��d���r'�|��j�r'�t�|����}�n�t�|���}�t�j����d�k�rX�|��j�j�d���n��t����}�|�j �|��j �|��j�|��j�d�|��j��|�j �|���|�j�|���|�S(���Nu���filelistu���Darwinu ���__BLOCKS__R ���(���t���hasattrRq���Rz���Rp���t���platformt���systemRd���R���R���t���set_cpp_optionsR'���Rc���R ���t���parse_filest���parse_macros(���Re���Rg���Ro���t���ss(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���create_source_scanner���s���� c���������C`�s��|�j��d�k�r�t�j�}�n�|�j�r�t�j�d�d���\�}�}�t�j�j�|�j����rg�t �j �|�j��|���n(�t�j�|�t�j �t�j�Bt�j�Bt�j�B��t�j�|�d�����}�|�j�|����Wd�QXt�j�d�d���\�}�}�t�j�|�d�����}�t�|�|���Wd�QXt�j�|�|���s t�d�|�|�f���n��t�j�|���y�t �j�|�|�j����Wn8�t�k �r~}�|�j�t�j�k�rxt�j�|���n�����n�Xd�Sy�t�|�j��d���}�Wn'�t�k �r�}�t�d�|�j�f���n�Xy�|�j�|����Wn'�t�k �r�}�t�d �|�j�f���n�Xd�S( ���u@���Write encoded XML 'data' to the filename specified in 'options'.u���-t���suffixu���.giru���wbNu:���Failed to re-parse gir file; scanned='%s' passthrough='%s'i����u���opening output for writing: %su���while writing output: %s(���RV���t���sysRZ���R����t���tempfilet���mkstempR$���R%���t���isfilet���shutilt���copystatt���chmodt���statt���S_IWUSRt���S_IRUSRt���S_IRGRPt���S_IROTHt���fdopenRC���RG���R���t���files_are_identicalR@���t���unlinkt���movet���OSErrort���errnot���EPERMRr���t���IOErrort���strerror(���t���dataRe���RV���t���main_ft���main_f_namet���temp_ft���temp_f_namet���e(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���write_output���s@���� c���������C`�s=��t�����}�|�j�|����\�}�}��|�j�r=�t�|�j�t�j���n��|�j�rq�t�|�j�|�j�|�j�|�j�|�j �|�j ���St�|�d���r��|�j�r��t �|����d�k�r��t�d���q��n��|�j�s��t�d���n��|�j�d�k�r��d�d�l�m�}�n�t�d�|�j�f���|�j�p|�j�p|�j�s t�d ���n��t�|���}�t�j�j�d �|���}�|�j�rl|�j�t�j�t�j�t�j�f���n��t�|�|���}�t �|�j!���}�|�j"�|�j#������|�r�t$�|�|���}�|�r�|�Sn��t%�|�|����} �t&����} �| �j'�| �j(������}�|�j)�| �j*������|�j�st+�|�|�|����}�n�g��}�|�|�j,�_-�t.�|�|���} �| �j/����t0�j1�d���t2�|�|���}�|�j3����|�j4����}�|�j5�r�|�d�k�r�t�j6�d���d�S|�d�k�r�|�j�t7�k�r�t8�d �|�j,�j9�|�f���n��|�j:�r�|�j:�}�n �|�j!�}�|�j;�|�j,�_;�|�|�j,�_<�|�|�j,���}�|�j=����}�t>�|�|���d�S(���Nu���filelisti���u���Need at least one filenameu���Namespace name missingu���giri����(���R ���u���Unknown format: %su#���Must specify --program or --libraryRQ���u���treeu���warnings configured as fataluN���g-ir-scanner: %s: warning: %d warnings suppressed (use --warn-all to see them)(?���R=���Rb���RG���R����RZ���RU���RL���RM���RN���RO���RP���R����Rq���R���R@���R����t���formatt���giscanner.girwriterR ���R����R����t���header_onlyR����R���t ���MessageLoggerR9���t���warn_allt���enable_warningst���WARNINGt���ERRORt���FATALR����t���setRf���t���updatet���get_pkgconfig_packagesRl���R����R���t���parse_comment_blockst���get_commentsRA���t���get_symbolsR����RQ���t���shared_librariesR���t ���transformR���t���break_on_debug_flagR���t���validatet���get_warning_countt ���warn_fatalt���fatalR5���R~���t���namet���packages_exportt ���c_includest���exported_packagesRD���R����(���Rg���R���Re���t���WriterRQ���t���loggerR����Rf���t ���exit_codeR����t���cbpt���blocksR����t���maint���finalt ���warning_countR����RF���R����(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���scanner_main���s~���� " (>���t ���__future__R����R���R���R���R����R.���R$���R����R����R\���R����R����R����t ���giscannerR���t���giscanner.annotationparserR���t ���giscanner.astR���R���t���giscanner.dumperR���t���giscanner.gdumpparserR ���R ���t���giscanner.introspectablepassR���t���giscanner.girparserR���R����R ���t���giscanner.maintransformerR���t���giscanner.shlibsR���t���giscanner.sourcescannerR���R���t���giscanner.transformerR���t����R���R"���R#���R(���R2���R3���R=���R@���RG���RU���RY���Rl���Rp���Rz���R����R����R����R����R����R����(����(����(����su���/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyt���<module>���sX��� � *