PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pY0@sddlZddlZddlZddlZddlmZddlmZmZddl m Z GdddZ ddZ ej d d Zd d Zd ddddZdS)N) convert_path)DistutilsTemplateErrorDistutilsInternalError)logc@seZdZddddZddZejddZdd Zd d Z d d Z ddZ ddZ ddZ ddZdddddZdddddZdS)FileListNcCsd|_g|_dS)N)allfilesfiles)selfwarn debug_printr '/opt/python35/lib/python3.5/filelist.py__init__s zFileList.__init__cCs ||_dS)N)r)r rr r r set_allfiles#szFileList.set_allfilescCst||_dS)N)findallr)r dirr r r r&szFileList.findallcCs$ddlm}|r t|dS)Nr)DEBUG)Zdistutils.debugrprint)r msgrr r r r )szFileList.debug_printcCs|jj|dS)N)rappend)r itemr r r r3szFileList.appendcCs|jj|dS)N)rextend)r itemsr r r r6szFileList.extendcCsXtttjj|j}g|_x*|D]"}|jjtjj|q.WdS)N)sortedmapospathsplitrrjoin)r Zsortable_filesZ sort_tupler r r sort9s  z FileList.sortcCsVxOtt|jdddD].}|j||j|dkr |j|=q WdS)Nr)rangelenr)r ir r r remove_duplicatesCs&zFileList.remove_duplicatescCs1|j}|d}d}}}|dkrrt|dkrRtd|dd |d dD}n|dkrt|d krtd|t|d }dd |ddD}nQ|dkrt|dkrtd|t|d }ntd|||||fS)Nrincludeexcludeglobal-includeglobal-excludez&'%s' expects ...cSsg|]}t|qSr )r).0wr r r Ws z1FileList._parse_template_line..r recursive-includerecursive-excludez,'%s' expects ...cSsg|]}t|qSr )r)r+r,r r r r-]s graftprunez#'%s' expects a single zunknown action '%s')r&r'r(r))r.r/)r1r2)rr#rr)r lineZwordsactionpatternsr dir_patternr r r _parse_template_lineLs,          zFileList._parse_template_linecCs|j|\}}}}|dkrz|jddj|x|D]+}|j|ddsHtjd|qHWn|dkr|jddj|x^|D]+}|j|ddstjd |qWn(|d kr8|jd dj|x|D]+}|j|dd stjd |qWn|dkr|jddj|x|D]+}|j|dd setjd|qeWnj|dkr|jd|dj|fx;|D].}|j|d|stjd||qWn|dkrg|jd|dj|fx|D].}|j|d|s2tjd||q2Wn|dkr|jd||jdd|stjd|nU|dkr|jd||jdd|stjd|ntd|dS)Nr&zinclude  anchorr z%warning: no files found matching '%s'r'zexclude z9warning: no previously-included files found matching '%s'zglobal-includezglobal-include rz>warning: no files found matching '%s' anywhere in distributionzglobal-excludezglobal-exclude zRwarning: no previously-included files matching '%s' found anywhere in distributionzrecursive-includezrecursive-include %s %sprefixz:warning: no files found matching '%s' under directory '%s'zrecursive-excludezrecursive-exclude %s %szNwarning: no previously-included files matching '%s' found under directory '%s'r1zgraft z+warning: no directories found matching '%s'r2zprune z6no previously-included directories found matching '%s'z'this cannot happen: invalid action '%s')r7r rinclude_patternrr exclude_patternr)r r3r4r5rr6patternr r r process_template_linehsf                          zFileList.process_template_liner rcCsd}t||||}|jd|j|jdkrH|jxG|jD]<}|j|rR|jd||jj|d}qRW|S)NFz%include_pattern: applying regex r'%s'z adding T)translate_patternr r=rrsearchrr)r r=r9r:is_regex files_found pattern_renamer r r r;s    zFileList.include_patterncCsd}t||||}|jd|jxett|jdddD]D}|j|j|rO|jd|j||j|=d}qOW|S)NFz%exclude_pattern: applying regex r'%s'r z removing Tr!r!)r?r r=r"r#rr@)r r=r9r:rArBrCr$r r r r<s  &  zFileList.exclude_pattern)__name__ __module__ __qualname__rrrcurdirrr rrrr%r7r>r;r<r r r r rs      L,rcCs5ddtj|ddD}ttjj|S)Ncss:|]0\}}}|D]}tjj||VqqdS)N)rrr)r+basedirsrfiler r r s z#_find_all_simple.. followlinksT)rwalkfilterrisfile)rresultsr r r _find_all_simples rRcCsOt|}|tjkrEtjtjjd|}t||}t|S)Nstart) rRrrH functoolspartialrrelpathrlist)rrZmake_relr r r rs  rcCsPtj|}tj}tjdkr-d}d|}tjd||}|S)N\z\\\\z\1[^%s]z((?s