grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´i£ã@sdZddlZddlmZddlmZddlTzddlmZWne yVdd„ZYn0gd ¢Z ej   d ¡d d d gZ ej   d¡dddgZdd„Zd-dd„Zd.dd„Zd/dd„Zd0dd„Zd1dd„Zd2dd„Zd3d d!„Zd4d"d#„Zd5d$d%„Zd6d&d'„Zd7d(d)„Zd*d+„Zed,k�reƒdS)8z dyld emulation éN)Úframework_info)Ú dylib_info)Ú*)Ú _dyld_shared_cache_contains_pathcGst‚dS)N)ÚNotImplementedError)Úargs©rú,/usr/lib64/python3.9/ctypes/macholib/dyld.pyr sr)Ú dyld_findÚframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|durtj}| |¡}|dur$gS| d¡S)Nú:)ÚosÚenvironÚgetÚsplit)ÚenvÚvarZrvalrrr Údyld_env$s  rcCs|durtj}| d¡S)NZDYLD_IMAGE_SUFFIX)r rr©rrrr Údyld_image_suffix,srcCs t|dƒS)NZDYLD_FRAMEWORK_PATH©rrrrr Údyld_framework_path1srcCs t|dƒS)NZDYLD_LIBRARY_PATHrrrrr Údyld_library_path4srcCs t|dƒS)NZDYLD_FALLBACK_FRAMEWORK_PATHrrrrr Údyld_fallback_framework_path7srcCs t|dƒS)NZDYLD_FALLBACK_LIBRARY_PATHrrrrr Údyld_fallback_library_path:srcCs(t|ƒ}|dur|S||fdd„}|ƒS)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssF|D]<}| d¡r0|dtdƒ …|dVn ||V|VqdS)Nz.dylib)ÚendswithÚlen)ÚiteratorÚsuffixÚpathrrr Ú_injectBs   z)dyld_image_suffix_search.._inject)r)rrrr rrr Údyld_image_suffix_search=s r!ccs\t|ƒ}|dur2t|ƒD]}tj ||d¡Vqt|ƒD]}tj |tj |¡¡Vq:dS©NÚname)rrr rÚjoinrÚbasename)r#rÚ frameworkrrrr Údyld_override_searchKs   r'ccs2| d¡r.|dur.tj ||tdƒd…¡VdS)Nz@executable_path/)Ú startswithr rr$r)r#Úexecutable_pathrrr Údyld_executable_path_search\sr*ccsº|Vt|ƒ}|dursD    ü ü