JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr 0i ddlmZddlZddlmZddlmZddlm Z Gdde Z d dZ dd  dd Z dd dd Zdd  dd Zy)) annotationsN)Mapping)NoReturn)parse_shebang_from_fileceZdZddZy)ExecutableNotFoundErrorcBd|jdjdfS)Nr)argsencode)selfs G/opt/hc_python/lib/python3.12/site-packages/pre_commit/parse_shebang.py to_outputz!ExecutableNotFoundError.to_output s 499Q<&&($//N)returnztuple[int, bytes, None])__name__ __module__ __qualname__rrrrr s0rrcXtjj|syt|S)Nr)ospathexistsr)filenames rparse_filenamers 77>>( #&x00renvcbtjjtjvrS||ntj}d|vr;|dj tj }tfd|Dfz}nf}|jddj tj D]s}|D]l}tjj||}tjj|sCtj|tjsh|ccSuy)NPATHEXTc3*K|] }| yw)Nr).0extexes r z"find_executable..!s"ADScU3%=DsPATH) rrnormpathsepenvironsplitpathseptuplegetjoinisfileaccessX_OK)r#rr)extspossible_exe_namesrpossible_exe_namejoineds` rfind_executabler6s ''  3 C vv} _c"**GGy!'' 3""AD"AASFJ!V FB'--bjj9!3 WW\\$(9:Fww~~f%"))FBGG*D "4: rcdfd }tjvr;tjrtjvrt|}||d|Stjj r |dytjj s |dytjtjs |dyS)Nc&tdd|)Nz Executable `z` )r)msgorigs r_errorznormexe.._error/s% TF"SE&BCCrrz not foundzis a directoryzis not executable)r9strrr) rr(altsepr6risdirr/r0r1)r:rr;r#s` rnormexer?.sD vvT299 0Ed, ; ;  t  WW^^D !{ YYtRWW %"# rc~t|d|}t||fz|ddz}t|d|}|f|ddzS)zFixes for the following issues on windows - https://bugs.python.org/issue8557 - windows does not parse shebangs This function also makes deep-path shebangs work just fine rrr N)r?r)cmdrr#s r normalize_cmdrBAsW #a&c "C   &QR 0C #a&c "C 6CG r)rr<rtuple[str, ...])r#r<rMapping[str, str] | Nonerz str | None)r:r<rrDrr<)rArCrrDrrC) __future__ros.pathrcollections.abcrtypingridentify.identifyrOSErrorrrr6r?rBrrrrKsw"#50g0 16: 20;?,)- & r