0x0 $ ˆl–Ãa¾”jhŠ�rãOÜmÕ1h߯ „x?ÅÄÃ?÷ a —`„Z$d?d@„Z%eZ&d]dAdB„Z'dCdD„Z(dEdF„Z)dGdH„Z*dIdJ„Z+d^dLdM„Z,d_dNdO„Z-dPdQ„Z.dRdS„Z/eZ0dTdU„Z1dVdW„Z2eZ3dXdY„Z4d;S)`ÚVGenericEngineÚgFcCs||_|j|_g|_i|_dS©N)ÚverifierÚffiÚexport_symbolsÚ_struct_pending_verification)Úselfr ©rú6/usr/lib64/python3.9/site-packages/cffi/vengine_gen.pyÚ__init__szVGenericEngine.__init__cCs| d|j¡dS)Nr )Ú setdefaultr )r ÚkwdsrrrÚpatch_extension_kwdssz#VGenericEngine.patch_extension_kwdscCsT|D]J}||}|durtj}|D]*}tj ||¡}tj |¡r"|Sq"qdSr)ÚsysÚpathÚosÚjoinÚisfile)r Z module_namerZ so_suffixesZ so_suffixÚbasenameÚdirnameÚfilenamerrrÚ find_modules zVGenericEngine.find_modulecCsdSrr©r rrrÚ collect_types%szVGenericEngine.collect_typesÚcCs|j |d¡dS)NÚ )Z_fÚwrite)r ZwhatrrrÚ_prnt(szVGenericEngine._prntcCs`|j}|tƒ||jjƒ| d¡tjdkr\tjdkr>d}nd}|j ¡}|d||fƒdS)NZdeclÚwin32©éZPyInit_Úinitzvoid %s%s(void) { } ) r"Úcffimod_headerr ZpreambleÚ _generaterÚplatformÚ version_infoZget_module_name)r ÚprntÚprefixÚmodnamerrrÚwrite_source_to_f+s     z VGenericEngine.write_source_to_frcsjˆjj}tj tjˆjj¡}| ||¡‰ˆ  ˆd¡G‡‡‡fdd„dt j ƒ‰ˆdƒ}ˆj ˆd|d�|S)NZloadingcs&eZdZ”Z”jZgZ‡fdd„ZdS)z/VGenericEngine.load_library..FFILibrarycsˆjSr)Ú _cffi_dirr)Ú FFILibraryrrÚ__dir__Tsz7VGenericEngine.load_library..FFILibrary.__dir__N)Ú__name__Ú __module__Ú __qualname__Z_cffi_generic_moduler Z _cffi_ffir/r1r©r0Úmoduler rrr0Psr0rZloaded©Úlibrary) r Ú_backendrrrÚcurdirr ZmodulefilenameÚ load_libraryÚ_loadÚtypesÚ ModuleType)r ÚflagsÚbackendrr8rr5rr;As  zVGenericEngine.load_librarycCs$dd„|jjj ¡Dƒ}| ¡|S)NcSsg|]\}\}}||f‘qSrr)Ú.0ÚkeyÚtpZqualrrrÚ ^óz4VGenericEngine._get_declarations..)r Z_parserZ _declarationsÚitemsÚsort)r ZlstrrrÚ_get_declarations]s  ÿz VGenericEngine._get_declarationsc Csž| ¡D]�\}}| dd¡\}}zt|d||fƒ}WntyTtd|ƒ‚Yn0z|||ƒWqty–}zt ||¡‚WYd}~qd}~00qdS)Nú rz_generate_gen_%s_%sznot implemented in verify(): %r)rHÚsplitÚgetattrÚAttributeErrorrÚ ExceptionrÚattach_exception_info)r Ú step_nameÚnamerCÚkindÚrealnameÚmethodÚerrrr(csÿ  ÿ  zVGenericEngine._generatec Ks„| ¡D]v\}}| dd¡\}}t|d||fƒ}z||||fi|¤ŽWqty|} zt | |¡‚WYd} ~ qd} ~ 00qdS)NrIrz _%s_gen_%s)rHrJrKrMrrN) r r6rOrrPrCrQrRrSrTrrrr<rs zVGenericEngine._loadc