§ y<ˆj.ãóЗddlZddlZddlZdZdZdeejdd…¦«zZddgZdezZ ej d ezej ¦«Z ej d ezej ¦«Z d „Zddd ezgd fd„Zd„Zejfd„Zedkr]e¦«\ZZe€ejZn eed¦«Zeee¦«gzZeed¬¦«Zee¦«\ZZeeee e¦«dSdS)éNaÔThis module generates a DEF file from the symbols in an MSVC-compiled DLL import library. It correctly discriminates between data and functions. The data is collected from the output of the program nm(1). Usage: python lib2def.py [libname.lib] [output.def] or python lib2def.py [libname.lib] > output.def libname.lib defaults to python.lib and output.def defaults to stdout Author: Robert Kern Last Update: April 30, 1999 z0.1az%d%déÚnmz-CszrLIBRARY python%s.dll ;CODE PRELOAD MOVEABLE DISCARDABLE ;DATA PRELOAD SINGLE EXPORTS z^(.*) in python%s\.dllz^_imp__(.*) in python%s\.dllcó—ttj¦«dkrÈtjddd…dkr7tjddd…dkrtjdd…\}}�n tjddd…dkr6tjddd…dkrtjdd…\}}n¶td¦«td ¦«n—ttj¦«dkrntjddd…dkrtjd}d tz}n?tjddd…dkrd}tjd}n d tz}d}||fS) zBParses the command-line arguments. libfile, deffile = parse_cmd()éééüÿÿÿNz.librz.defz4I'm assuming that your first argument is the libraryzand the second is the DEF file.ú python%s.lib)ÚlenÚsysÚargvÚprintÚpy_ver)ÚlibfileÚdeffiles úk/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/distutils/lib2def.pyÚ parse_cmdr&sS€õ �3Œ8�}„}˜ÒÐÝ Œ8�AŒ;�r�s�sÔ ˜vÒ %Ð %­#¬(°1¬+°b°c°cÔ*:¸fÒ*DÐ*DÝ"œx¨¨¨œ|Ñ ˆG�W‘WÝ ŒX�aŒ[˜˜˜Ô  Ò 'Ð '­C¬H°Q¬K¸¸¸Ô,<ÀÒ,FÐ,FÝ"œx¨¨¨œ|Ñ ˆG�W�Wå ÐHÑ IÔ IÐ IÝ Ð3Ñ 4Ô 4Ð 4Ð 4Ý �SŒX‰Œ˜!Ò Ð Ý Œ8�AŒ;�r�s�sÔ ˜vÒ %Ð %Ý”h˜q”kˆGØ$¥vÑ-ˆGˆGÝ ŒX�aŒ[˜˜˜Ô  Ò 'Ð '؈GÝ”h˜q”kˆGøà ¥6Ñ)ˆØˆØ �GÐ Ðór Tcóö—tj||tjtjd¬¦«}| ¦«\}}|jdkr)t dd |¦«›d|›d�¦«‚|S)zUReturns the output of nm_cmd via a pipe. nm_output = getnm(nm_cmd = 'nm -Cs py_lib')T)ÚshellÚstdoutÚstderrÚtextrzfailed to run "ú z": "ú")Ú subprocessÚPopenÚPIPEÚ communicateÚ returncodeÚ RuntimeErrorÚjoin)Únm_cmdrÚpÚ nm_outputÚnm_errs rÚgetnmr&>s†€õ Ô˜ uµZ´_Ý *¤°dð <ñ <ô <€AàŸ š ™œÑ€IˆvØ„|�qÒÐ݈lØ%(§X¢X¨fÑ%5Ô%5Ð%5Ð%5°v°v°vð?ñ@ô@ð @à ÐrcóΗt |¦«}t |¦«}g}|D]E}||vr?|dd…dks|dd…dks|dd…dkr| |¦«ŒFg}|D]7}||vr1|dd…dks|dd…dkr| |¦«Œ8| ¦«| ¦«||fS)zŒReturns a tuple of lists: dlist for the list of data symbols and flist for the list of function symbols. dlist, flist = parse_nm(nm_output)NrÚPyrÚ_PyéÚinit)ÚDATA_REÚfindallÚFUNC_REÚappendÚsort)r$ÚdataÚfuncÚflistÚsymÚdlists rÚparse_nmr6Js€õ �?Š?˜9Ñ %Ô %€DÝ �?Š?˜9Ñ %Ô %€Dà €EØððˆØ �$ˆ;ˆ;˜C   œG tšO˜O¨s°2°A°2¬w¸%Ò/?Ð/?À3ÀrÈÀrÄ7ÈfÒCTÐCTØ �LŠL˜Ñ Ô Ð øà €EØððˆØ �eÐ Ð   R a R¤¨D¢ °C¸¸¸´G¸uÒ4DÐ4DØ �LŠL˜Ñ Ô Ð øà ‡J‚J�L„L€LØ ‡J‚J�L„L€LØ �%ˆ<Ðrcón—|D] }|d|zz}Œ |dz}|D] }|d|zz}Œ | |¦«dS)zoOutputs the final DEF file to a file defaulting to stdout. output_def(dlist, flist, header, file = sys.stdout)z %s DATA ú z %s N)Úwrite)r5r3ÚheaderÚfileÚdata_symÚfunc_syms rÚ output_defr>`se€ðð3ð3ˆØ˜-¨(Ñ2Ñ2ˆˆØ �d‰]€FØð.ð.ˆØ˜( XÑ-Ñ-ˆˆØ‡J‚JˆvÑÔÐÐÐrÚ__main__ÚwF)r)Úrer rÚ__doc__Ú __version__ÚtupleÚ version_inforÚ DEFAULT_NMÚ DEF_HEADERÚcompileÚ MULTILINEr.r,rr&r6rr>Ú__name__rrÚopenÚstrr"r$r5r3©rrúrNsžðØ € € € Ø € € € ØÐÐÐð €ð € à �%�%˜Ô(¨¨!¨Ô,Ñ-Ô-Ñ -€à�Eˆ]€ ðð  ñ  € ð ˆ"Œ*Ð.°Ñ7¸¼Ñ FÔ F€Ø ˆ"Œ*Ð4°vÑ=¸r¼|Ñ LÔ L€ðððð0˜˜~°Ñ6Ð7¸tð ð ð ð ðððð,-0¬Jð ð ð ð ð ˆzÒÐØ �y‘{”{Ñ€GˆW؀ؔ*ˆˆà�$�w Ñ$Ô$ˆØ ˜3˜3˜w™<œ<˜.Ñ (€FØ��f EÐ*Ñ*Ô*€IØ�8˜IÑ&Ô&�L€Eˆ5Ø€Jˆu�e˜Z¨Ñ1Ô1Ð1Ð1Ð1ðÐr