JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў f"c@sddlZddlZddlZddlZejdkrfddZddZddZnejd krd dZnejd krejd krdd l m Z ddZnejd krddl Z ddl Z ddlZddZejdkrddZn ddZejjd$rWddZddZqejdkrddZd%ddZqddZd dZnd!d"Zed#krendS(&iNuntcCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}t|ddd}|dkrd }n|dkr||SdS( uReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. uMSC v.iiNu iig$@iii(usysuversionufindulenusplituintuNone(uprefixuiusurestu majorVersionu minorVersion((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_get_build_versions %   u_get_build_versioncCsot}|dkrdS|dkr.d}nd|d}ddl}d|jjkrg|d7}n|d S( u%Return the name of the VC runtime dlliumsvcrtumsvcr%di iNu_d.pydudu.dll(u_get_build_versionuNoneuimportlib.machineryu machineryuEXTENSION_SUFFIXES(uversionuclibnameu importlib((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_msvcrts      u find_msvcrtcCs|dkrtSxtjdjtjD]l}tjj||}tjj|r^|S|jj dryq-n|d}tjj|r-|Sq-WdS(NucumuPATHu.dll(ucum( u find_msvcrtuosuenvironusplitupathsepupathujoinuisfileuloweruendswithuNone(unameu directoryufname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_library0s   u find_libraryucecCs|S(N((uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryFsuposixudarwin(u dyld_findc Cs\d|d|d||fg}x4|D],}yt|SWq(tk rSw(Yq(Xq(WdS(Nu lib%s.dylibu%s.dylibu%s.framework/%s(u _dyld_findu ValueErroruNone(unameupossible((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryKs   c Csdtj|}tj\}}tj|d|d|}z3tj|}z|j}Wd|j}XWdytj|Wn=t k r}z|j t j krnWYdd}~XnXX|dkrt dntj ||} | sdS| jdS(Nu[^\(\)\s]*lib%s\.[^\(\)\s]*uif type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit 10; fi;LANG=C LC_ALL=C $CC -Wl,-t -o u 2>&1 -li ugcc or cc command not foundi(ureuescapeutempfileumkstempuosucloseupopenureaduunlinkuOSErroruerrnouENOENTusearchuNoneugroup( unameuexprufdoutuccoutucmdufutraceurvueures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _findLib_gccZs(  u _findLib_gccusunos5c Csj|s dSd|}tjtj|}|j}WdQXtjd|}|s]dS|jdS(Nu#/usr/ccs/bin/dump -Lpv 2>/dev/null u\[.*\]\sSONAME\s+([^\s]+)i( uNoneu contextlibuclosinguosupopenureadureusearchugroup(ufucmdudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _get_sonamevs u _get_sonamecCs|s dSd|}tj|}|j}|j}|dkrVtdntjd|}|srdS|jdS(NuWif ! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j .dynamic 2>/dev/null i uobjdump command not foundu\sSONAME\s+([^\s]+)i( uNoneuosupopenureaducloseuOSErrorureusearchugroup(ufucmdudumpurvures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _get_sonames   ufreebsduopenbsdu dragonflyc Csg|jd}g}y-x&|r@|jdt|jqWWntk rVYnX|pftjgS(Nu.i(usplituinsertuintupopu ValueErrorusysumaxsize(ulibnameupartsunums((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _num_versions $ u _num_versionc Cstj|}d||f}tjtjd}|j}WdQXtj||}|sttt |S|j dt |dS(Nu:-l%s\.\S+ => \S*/(lib%s\.\S+)u/sbin/ldconfig -r 2>/dev/nullukeyii( ureuescapeu contextlibuclosinguosupopenureadufindallu _get_sonameu _findLib_gccusortu _num_version(unameuenameuexprufudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCstjjdsdS|r%d}nd}xKtj|jD]4}|j}|jdrA|jd}qAqAW|sdSxF|jdD]5}tjj |d|}tjj|r|SqWdS(Nu /usr/bin/crleu*env LC_ALL=C /usr/bin/crle -64 2>/dev/nullu&env LC_ALL=C /usr/bin/crle 2>/dev/nulluDefault Library Path (ELF):iu:ulib%s.so( uosupathuexistsuNoneupopenu readlinesustripu startswithusplitujoin(unameuis64ucmdulineupathsudirulibfile((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _findLib_crles   u _findLib_crlecCstt||pt|S(N(u _get_sonameu _findLib_crleu _findLib_gcc(unameuis64((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCsHddl}|jddkr7tjjd}ntjjd}idd6dd 6dd 6dd 6d d 6}|j|d}tjdtj||f}yt j ddgdt j dt j dt j didd6dd6>}tj ||jj}|r(tj|jdSWdQXWntk rCYnXdS(Niuliu-32u-64u libc6,x86-64u x86_64-64u libc6,64bituppc64-64u sparc64-64us390x-64u libc6,IA-64uia64-64ulibc6u\s+(lib%s\.[^\s]+)\s+\(%su/sbin/ldconfigu-pustdinustderrustdoutuenvuCuLC_ALLuLANGi(ustructucalcsizeuosuunameumachineugetufsencodeureuescapeu subprocessuPopenuDEVNULLuPIPEusearchustdoutureadufsdecodeugroupuOSError(unameustructumachineumach_mapuabi_typeuregexupures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_findSoname_ldconfigs0       u_findSoname_ldconfigcCst|ptt|S(N(u_findSoname_ldconfigu _get_sonameu _findLib_gcc(uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCs,ddlm}tjdkrRt|jt|jdttdntjdkr(ttdttdttdtj d krt|j d t|j d t|j d t|j d q(t|j dt|j dttdndS(Ni(ucdlluntumsvcrtuposixumucubz2udarwinu libm.dylibulibcrypto.dylibulibSystem.dylibuSystem.framework/Systemulibm.sou libcrypt.soucrypt( uctypesucdlluosunameuprintumsvcrtuloadu find_libraryusysuplatformu LoadLibrary(ucdll((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyutests" utestu__main__(ufreebsduopenbsdu dragonflyF(usysuosu contextlibu subprocessunameu_get_build_versionu find_msvcrtu find_libraryuplatformuctypes.macholib.dyldu dyld_findu _dyld_findureutempfileuerrnou _findLib_gccu _get_sonameu startswithu _num_versionu _findLib_crleuFalseu_findSoname_ldconfigutestu__name__(((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyus8     $