2biu" $ S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ r J r SSKJr SSKJ r SSKJrJrJrJr SSKJr \R* " \5 r\\- r SSKr\\- r SSKr\\- rS \4S jrS\S \ \ 4S jr S\\ S \!4S jr"S\S\S \!4S jr#S\S S4S jr$S\S \!4S jr%SS\S\S\!S S4S jjr&S\S\S S4S jr' SS\S\S\ \ S S4S jjr(g! \ a \R7 S5 Nf = f! \ a \R7 S 5 Nf = f)zUtilities related archives. N)IterableListOptional)ZipInfo)InstallationError)BZ2_EXTENSIONSTAR_EXTENSIONS XZ_EXTENSIONSZIP_EXTENSIONS) ensure_dirzbz2 module is not availablezlzma module is not availablereturnc ^ [ R " S5 n [ R " U 5 U $ )zBGet the current umask which involves having to set it temporarily.r )osumask)masks ڏ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_internal/utils/unpacking.py current_umaskr + s 88A;DHHTNK pathc U R S5 R S5 n SU ; aB SU ; a$ U R S5 U R S5 : d SU ; a U R SS5 $ SU ; a U R SS5 $ U S/$ )N/\ )lstripfindsplitr s r split_leading_dirr 2 sz ;;s""4(D d{ $))C.499T?:t4?Ozz#q!! zz$""bzr pathsc b SnU H' n[ U5 u p4U( d gUc UnM X1:w d M' g g)zuReturns true if all the paths have the same leading path name (i.e., everything is in one subdirectory in an archive)NFT)r )r common_prefixr prefixrests r has_leading_dirr% > s> M(. ""M $ r directorytargetc [ R R U 5 n[ R R U5 n[ R R X#/5 nXB:H $ )zD Return true if the absolute path of target is within the directory )r r abspathcommonprefix)r&