ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ fc@sddZddlmZddlZddlZdddYZdZedkr`endS( s"Show file statistics by extension.i(tprint_functionNtStatscBs>eZdZdZdZdZdZdZRS(cCs i|_dS(N(tstats(tself((s+/usr/lib64/python2.7/Tools/scripts/byext.pyt__init__ scCsxy|D]q}tjj|r/|j|qtjj|rQ|j|qtjjd||j dddqWdS(NsCan't find %s stunknowni( tostpathtisdirtstatdirtisfiletstatfiletsyststderrtwritetaddstats(Rtargstarg((s+/usr/lib64/python2.7/Tools/scripts/byext.pytstatargss cCs|jdddyttj|}WnDtjk rr}tjjd||f|jddddSXx|D]}|jdrqzn|j drqzntj j ||}tj j |r|jdd dqztj j |r |j|qz|j|qzWdS( NstdirsisCan't list %s: %s t unlistables.#t~stlinks(RtsortedRtlistdirterrorR R Rt startswithtendswithRtjointislinkRR R (Rtdirtnamesterrtnametfull((s+/usr/lib64/python2.7/Tools/scripts/byext.pyR s$ c Cstjj|\}}tjj|\}}||krEd}ntjj|}|sfd}n|j|ddyt|d}WnAtk r}tj j d||f|j|dddSX|j }|j |j|dt |d |kr"|j|d ddS|s>|j|d dn|j}|j|d t |~|j} |j|d t | dS(NtstfilesitrbsCan't open %s: %s t unopenabletbytesstbinarytemptytlinestwords(RRtsplitexttsplittnormcaseRtopentIOErrorR R Rtreadtclosetlent splitlines( RtfilenametheadtexttbasetfR tdataR*R+((s+/usr/lib64/python2.7/Tools/scripts/byext.pyR .s6        cCs3|jj|i}|j|d|||s  o