gIddlmZddlZddlZddlZddlZddlmZeje Z dZ dZ dZ dZdZd ZGd d Zgd Zy) ) annotationsN)S_IWUSRc|js>tjdt|t j t|yy)Nzcreate folder %s)existsLOGGERdebugstrosmakedirs)paths I/opt/hc_python/lib/python3.12/site-packages/virtualenv/util/path/_sync.py ensure_dirr s3 ;;= 'T3 CI c ||k(rd|}t||jsy|jr2|js"tj d|t |ytj d||jy)Nz#source and destination is the same zremove directory %szremove file %s) ValueErrorris_dir is_symlinkrr safe_deleteunlink)srcdestmsgs r ensure_safe_to_dorsl d{3C59o ;;= {{}T__. *D1D %t, rct||tjdt|||j ||j y)Nz symlink %s)target_is_directory)rrr_Debug symlink_torrrs r symlinkr s7c4  LLvc401OOCSZZ\O:rct|||j}|rtntj}t j dt|||t|t|y)Nzcopy %s) rrcopytreeshutilcopyrrrr )rrrmethods r r#r#&sKc4 ZZ\FXV[[F LLF3-. 3s8SYrctj|D]\}}}tjj|tjj ||}tjj |stj ||D]X}tjj||}tjj||}tj||ZyN) r walkr joinrelpathisdirr r"r#) rrroot_filesdest_dirnamesrc_fdest_fs r r!r!.s''#,a77<<bggoodC&@Aww}}X& KK !DGGLLt,EWW\\(D1F KKv & 'rc~d}tjdk\rdnd|i}tjt |fddi|y)Nctj|tjs#tj|t||yr&)r accessW_OKchmodr)funcr exc_infos r onerrorzsafe_delete..onerror:s,yyrww' HHT7 # J r) onexcr9 ignore_errorsT)sys version_infor"rmtreer )rr9kwargss r rr9s<))W4g)W MF MM#d):4:6:rceZdZddZddZy)rc ||_||_yr&r)selfrrs r __init__z_Debug.__init__Fs rct|jjrdnd|jd|jS)Nz directory z to )rrr)rDs r __str__z_Debug.__str__Js/"&((//"3,statr getLoggerrKrrrrr#r!rr__all__rNrr rTsZ"    8 $ ;  ' ;[[ r