6
      ˆƒYw_•I|¥‰ÓMdœv ©ƒ&íK<óo¬ÁÀ Y    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
 <head>
  <title>Index of /ALFA_DATA/alfasymlink/root/proc/self/cwd/lib64/python2.7/site-packages/cryptography-1.7.2-py2.7.egg-info</title>
 </head>
 <body>
<h1>Index of /ALFA_DATA/alfasymlink/root/proc/self/cwd/lib64/python2.7/site-packages/cryptography-1.7.2-py2.7.egg-info</h1>
  <table>
   <tr><th valign="top">&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
   <tr><th colspan="5"><hr></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/ALFA_DATA/alfasymlink/root/proc/self/cwd/lib64/python2.7/site-packages/">Parent Directory</a>       </td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="PKG-INFO">PKG-INFO</a>               </td><td align="right">2018-04-11 04:13  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="SOURCES.txt">SOURCES.txt</a>            </td><td align="right">2018-04-11 04:13  </td><td align="right"> 11K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="dependency_links.txt">dependency_links.txt</a>   </td><td align="right">2018-04-11 04:13  </td><td align="right">  1 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="entry_points.txt">entry_points.txt</a>       </td><td align="right">2018-04-11 04:13  </td><td align="right"> 80 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="not-zip-safe">not-zip-safe</a>           </td><td align="right">2017-01-27 18:44  </td><td align="right">  1 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="requires.txt">requires.txt</a>           </td><td align="right">2018-04-11 04:13  </td><td align="right">321 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="top_level.txt">top_level.txt</a>          </td><td align="right">2018-04-11 04:13  </td><td align="right"> 46 </td><td>&nbsp;</td></tr>
   <tr><th colspan="5"><hr></th></tr>
</table>
</body></html>
  "   ˆl–Ãa¾”êClÊ}@ãLÜmÅ1hßÄƒhL‡ÂÁ ‡    #!/usr/bin/perl

eval 'exec /usr/bin/perl  -S $0 ${1+"$@"}'
    if 0; # not running under some shell
##############################################################################
# Tool for using regular expressions against the contents of files in a tar
# archive.  See 'ptargrep --help' for more documentation.
#

use strict;
use warnings;

use Pod::Usage   qw(pod2usage);
use Getopt::Long qw(GetOptions);
use Archive::Tar qw();
use File::Path   qw(mkpath);

my(%opt, $pattern);

if(!GetOptions(\%opt,
    'basename|b',
    'ignore-case|i',
    'list-only|l',
    'verbose|v',
    'help|?',
)) {
    pod2usage(-exitval => 1,  -verbose => 0);
}


pod2usage(-exitstatus => 0, -verbose => 2) if $opt{help};

pod2usage(-exitval => 1,  -verbose => 0,
    -message => "No pattern specified",
) unless @ARGV;
make_pattern( shift(@ARGV) );

pod2usage(-exitval => 1,  -verbose => 0,
    -message => "No tar files specified",
) unless @ARGV;

process_archive($_) foreach @ARGV;

exit 0;


sub make_pattern {
    my($pat) = @_;

    if($opt{'ignore-case'}) {
        $pattern = qr{(?im)$pat};
    }
    else {
        $pattern = qr{(?m)$pat};
    }
}


sub process_archive {
    my($filename) = @_;

    _log("Processing archive: $filename");
    my $next = Archive::Tar->iter($filename);
    while( my $f = $next->() ) {
        next unless $f->is_file;
        match_file($f) if $f->size > 0;
    }
}


sub match_file {
    my($f)   = @_;
    my $path = $f->name;

    _log("filename: %s  (%d bytes)", $path, $f->size);

    my $body = $f->get_content();
    if($body !~ $pattern) {
        _log("  no match");
        return;
    }

    if($opt{'list-only'}) {
        print $path, "\n";
        return;
    }

    save_file($path, $body);
}


sub save_file {
    my($path, $body) = @_;

    _log("  found match - extracting");
    my($fh);
    my($dir, $file)