JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr i f @sidZdgZdddZgZddZejeddZejedd Zejed d Zejed d Z eje ddZ eje ddZ eje ddZ eje ddZ eje ddZejeddZejeddZddZedkreendS)zsr!cCsPt|dkrL|dtdkrL|ddkrL|ddkrLdSd S) zPBM (portable bitmap)Ps14rs ZpbmN)lenord)r rrrrtest_pbmEs6r(cCsPt|dkrL|dtdkrL|ddkrL|ddkrLdSd S) zPGM (portable graymap)r"r#r$r%s25rs ZpgmN)r&r')r rrrrtest_pgmMs6r)cCsPt|dkrL|dtdkrL|ddkrL|ddkrLdSd S) zPPM (portable pixmap)r"r#r$r%s36rs ZppmN)r&r')r rrrrtest_ppmUs6r*cCs|jdrdSdS)zSun raster filesYjZrastN)r)r rrrr test_rast]sr+cCs|jdrdSdS)zX bitmap (X10 or X11)s#define ZxbmN)r)r rrrrtest_xbmdsr,cCs|jdrdSdS)NsBMZbmp)r)r rrrrtest_bmpksr-c Csddl}d}|jddrQ|jddkrQ|jdd=d}nyJ|jddrt|jdd|dntdg|dWn/tk r|jjd|jdYnXdS)Nr#r%z-rr.z [Interrupted] )sysargvtestallKeyboardInterruptstderrwriteexit)r/ recursiverrrtestus &   r7c Csddl}ddl}x|D]}|jj|rt|ddd|sW|rtdddl}|j|jj|d}t||dqtdqt|ddd|jj ytt |Wqt k rtd YqXqWdS) Nr#z/:end zrecursing down:*z*** directory (use -r) ***:z*** not found ***) r/ospathisdirprintglobjoinr1stdoutflushrOSError)listr6Ztoplevelr/r<filenamer@namesrrrr1s"         r1__main__)__doc____all__rr rappendrrr r!r(r)r*r+r,r-r7r1__name__rrrrs: