JFIFHHC     C  " 5????! ??? JFIF    >CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality C     p!ranha?
Server IP : 104.21.46.92  /  Your IP : 104.23.197.222
Web Server : Apache/2.4.51 (Unix) OpenSSL/1.1.1n
System : Linux ip-172-26-8-243 4.19.0-27-cloud-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
User : daemon ( 1)
PHP Version : 7.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /bin/X11/X11/X11/X11/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /bin/X11/X11/X11/X11/h2xs
#!/usr/bin/perl
    eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
	if $running_under_some_shell;

BEGIN { pop @INC if $INC[-1] eq '.' }

use warnings;

=head1 NAME

h2xs - convert .h C header files to Perl extensions

=head1 SYNOPSIS

B<h2xs> [B<OPTIONS> ...] [headerfile ... [extra_libraries]]

B<h2xs> B<-h>|B<-?>|B<--help>

=head1 DESCRIPTION

I<h2xs> builds a Perl extension from C header files.  The extension
will include functions which can be used to retrieve the value of any
#define statement which was in the C header files.

The I<module_name> will be used for the name of the extension.  If
module_name is not supplied then the name of the first header file
will be used, with the first character capitalized.

If the extension might need extra libraries, they should be included
here.  The extension Makefile.PL will take care of checking whether
the libraries actually exist and how they should be loaded.  The extra
libraries should be specified in the form -lm -lposix, etc, just as on
the cc command line.  By default, the Makefile.PL will search through
the library path determined by Configure.  That path can be augmented
by including arguments of the form B<-L/another/library/path> in the
extra-libraries argument.

In spite of its name, I<h2xs> may also be used to create a skeleton pure
Perl module. See the B<-X> option.

=head1 OPTIONS

=over 5

=item B<-A>, B<--omit-autoload>

Omit all autoload facilities.  This is the same as B<-c> but also
removes the S<C<use AutoLoader>> statement from the .pm file.

=item B<-B>, B<--beta-version>

Use an alpha/beta style version number.  Causes version number to
be "0.00_01" unless B<-v> is specified.

=item B<-C>, B<--omit-changes>

Omits creation of the F<Changes> file, and adds a HISTORY section to
the POD template.

=item B<-F>, B<--cpp-flags>=I<addflags>

Additional flags to specify to C preprocessor when scanning header for
function declarations.  Writes these options in the generated F<Makefile.PL>
too.

=item B<-M>, B<--func-mask>=I<regular expression>

selects functions/macros to process.

=item B<-O>, B<--overwrite-ok>

Allows a pre-existing extension directory to be overwritten.

=item B<-P>, B<--omit-pod>

Omit the autogenerated stub POD section.

=item B<-X>, B<--omit-XS>

Omit the XS portion. Used to generate a skeleton pure Perl module.
C<-c> and C<-f> are implicitly enabled.

=item B<-a>, B<--gen-accessors>

Generate an accessor method for each element of structs and unions. The
generated methods are named after the element name; will return the current
value of the element if called without additional arguments; and will set
the element to the supplied value (and return the new value) if called with
an additional argument. Embedded structures and unions are returned as a
pointer rather than the complete structure, to facilitate chained calls.

These methods all apply to the Ptr type for the structure; additionally
two methods are constructed for the structure type itself, C<_to_ptr>
which returns a Ptr type pointing to the same structure, and a C<new>
method to construct and return a new structure, initialised to zeroes.

=item B<-b>, B<--compat-version>=I<version>

Generates a .pm file which is backwards compatible with the specified
perl version.

For versions < 5.6.0, the changes are.
    - no use of 'our' (uses 'use vars' instead)
    - no 'use warnings'

Specifying a compatibility version higher than the version of perl you
are using to run h2xs will have no effect.  If unspecified h2xs will default
to compatibility with the version of perl you are using to run h2xs.

=item B<-c>, B<--omit-constant>

Omit C<constant()> from the .xs file and corresponding specialised
C<AUTOLOAD> from the .pm file.

=item B<-d>, B<--debugging>

Turn on debugging messages.

=item B<-e>, B<--omit-enums>=[I<regular expression>]

If I<regular expression> is not given, skip all constants that are defined in
a C enumeration. Otherwise skip only those constants that are defined in an
enum whose name matches I<regular expression>.

Since I<regular expression> is optional, make sure that this switch is followed
by at least one other switch if you omit I<regular expression> and have some
pending arguments such as header-file names. This is ok:

    h2xs -e -n Module::Foo foo.h

This is not ok:

    h2xs -n Module::Foo -e foo.h

In the latter, foo.h is taken as I<regular expression>.

=item B<-f>, B<--force>

Allows an extension to be created for a header even if that header is
not found in standard include directories.

=item B<-g>, B<--global>

Include code for safely storing static data in the .xs file.
Extensions that do no make use of static data can ignore this option.

=item B<-h>, B<-?>, B<--help>

Print the usage, help and version for this h2xs and exit.

=item B<-k>, B<--omit-const-func>

For function arguments declared as C<const>, omit the const attribute in the
generated XS code.

=item B<-m>, B<--gen-tied-var>

B<Experimental>: for each variable declared in the header file(s), declare
a perl variable of the same name magically tied to the C variable.

=item B<-n>, B<--name>=I<module_name>

Specifies a name to be used for the extension, e.g., S<-n RPC::DCE>

=item B<-o>, B<--opaque-re>=I<regular expression>

Use "opaque" data type for the C types matched by the regular
expression, even if these types are C<typedef>-equivalent to types
from typemaps.  Should not be used without B<-x>.

This may be useful since, say, types which are C<typedef>-equivalent
to integers may represent OS-related handles, and one may want to work
with these handles in OO-way, as in C<$handle-E<gt>do_something()>.
Use C<-o .> if you want to handle all the C<typedef>ed types as opaque
types.

The type-to-match is whitewashed (except for commas, which have no
whitespace before them, and multiple C<*> which have no whitespace
between them).

=item B<-p>, B<--remove-prefix>=I<prefix>

Specify a prefix which should be removed from the Perl function names,
e.g., S<-p sec_rgy_> This sets up the XS B<PREFIX> keyword and removes
the prefix from functions that are autoloaded via the C<constant()>
mechanism.

=item B<-s>, B<--const-subs>=I<sub1,sub2>

Create a perl subroutine for the specified macros rather than autoload
with the constant() subroutine.  These macros are assumed to have a
return type of B<char *>, e.g.,
S<-s sec_rgy_wildcard_name,sec_rgy_wildcard_sid>.

=item B<-t>, B<--default-type>=I<type>

Specify the internal type that the constant() mechanism uses for macros.
The default is IV (signed integer).  Currently all macros found during the
header scanning process will be assumed to have this type.  Future versions
of C<h2xs> may gain the ability to make educated guesses.

=item B<--use-new-tests>

When B<--compat-version> (B<-b>) is present the generated tests will use
C<Test::More> rather than C<Test> which is the default for versions before
5.6.2.  C<Test::More> will be added to PREREQ_PM in the generated
C<Makefile.PL>.

=item B<--use-old-tests>

Will force the generation of test code that uses the older C<Test> module.

=item B<--skip-exporter>

Do not use C<Exporter> and/or export any symbol.

=item B<--skip-ppport>

Do not use C<Devel::PPPort>: no portability to older version.

=item B<--skip-autoloader>

Do not use the module C<AutoLoader>; but keep the constant() function
and C<sub AUTOLOAD> for constants.

=item B<--skip-strict>

Do not use the pragma C<strict>.

=item B<--skip-warnings>

Do not use the pragma C<warnings>.

=item B<-v>, B<--version>=I<version>

Specify a version number for this extension.  This version number is added
to the templates.  The default is 0.01, or 0.00_01 if C<-B> is specified.
The version specified should be numeric.

=item B<-x>, B<--autogen-xsubs>

Automatically generate XSUBs basing on function declarations in the
header file.  The package C<C::Scan> should be installed. If this
option is specified, the name of the header file may look like
C<NAME1,NAME2>. In this case NAME1 is used instead of the specified
string, but XSUBs are emitted only for the declarations included from
file NAME2.

Note that some types of arguments/return-values for functions may
result in XSUB-declarations/typemap-entries which need
hand-editing. Such may be objects which cannot be converted from/to a
pointer (like C<long long>), pointers to functions, or arrays.  See
also the section on L<LIMITATIONS of B<-x>>.

=back

=head1 EXAMPLES


    # Default behavior, extension is Rusers
    h2xs rpcsvc/rusers

    # Same, but extension is RUSERS
    h2xs -n RUSERS rpcsvc/rusers

    # Extension is rpcsvc::rusers. Still finds <rpcsvc/rusers.h>
    h2xs rpcsvc::rusers

    # Extension is ONC::RPC.  Still finds <rpcsvc/rusers.h>
    h2xs -n ONC::RPC rpcsvc/rusers

    # Without constant() or AUTOLOAD
    h2xs -c rpcsvc/rusers

    # Creates templates for an extension named RPC
    h2xs -cfn RPC

    # Extension is ONC::RPC.
    h2xs -cfn ONC::RPC

    # Extension is a pure Perl module with no XS code.
    h2xs -X My::Module

    # Extension is Lib::Foo which works at least with Perl5.005_03.
    # Constants are created for all #defines and enums h2xs can find
    # in foo.h.
    h2xs -b 5.5.3 -n Lib::Foo foo.h

    # Extension is Lib::Foo which works at least with Perl5.005_03.
    # Constants are created for all #defines but only for enums
    # whose names do not start with 'bar_'.
    h2xs -b 5.5.3 -e '^bar_' -n Lib::Foo foo.h

    # Makefile.PL will look for library -lrpc in
    # additional directory /opt/net/lib
    h2xs rpcsvc/rusers -L/opt/net/lib -lrpc

    # Extension is DCE::rgynbase
    # prefix "sec_rgy_" is dropped from perl function names
    h2xs -n DCE::rgynbase -p sec_rgy_ dce/rgynbase

    # Extension is DCE::rgynbase
    # prefix "sec_rgy_" is dropped from perl function names
    # subroutines are created for sec_rgy_wildcard_name and
    # sec_rgy_wildcard_sid
    h2xs -n DCE::rgynbase -p sec_rgy_ \
    -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid dce/rgynbase

    # Make XS without defines in perl.h, but with function declarations
    # visible from perl.h. Name of the extension is perl1.
    # When scanning perl.h, define -DEXT=extern -DdEXT= -DINIT(x)=
    # Extra backslashes below because the string is passed to shell.
    # Note that a directory with perl header files would
    #  be added automatically to include path.
    h2xs -xAn perl1 -F "-DEXT=extern -DdEXT= -DINIT\(x\)=" perl.h

    # Same with function declaration in proto.h as visible from perl.h.
    h2xs -xAn perl2 perl.h,proto.h

    # Same but select only functions which match /^av_/
    h2xs -M '^av_' -xAn perl2 perl.h,proto.h

    # Same but treat SV* etc as "opaque" types
    h2xs -o '^[S]V \*$' -M '^av_' -xAn perl2 perl.h,proto.h

=head2 Extension based on F<.h> and F<.c> files

Suppose that you have some C files implementing some functionality,
and the corresponding header files.  How to create an extension which
makes this functionality accessible in Perl?  The example below
assumes that the header files are F<interface_simple.h> and
I<interface_hairy.h>, and you want the perl module be named as
C<Ext::Ension>.  If you need some preprocessor directives and/or
linking with external libraries, see the flags C<-F>, C<-L> and C<-l>
in L<"OPTIONS">.

=over

=item Find the directory name

Start with a dummy run of h2xs:

  h2xs -Afn Ext::Ension

The only purpose of this step is to create the needed directories, and
let you know the names of these directories.  From the output you can
see that the directory for the extension is F<Ext/Ension>.

=item Copy C files

Copy your header files and C files to this directory F<Ext/Ension>.

=item Create the extension

Run h2xs, overwriting older autogenerated files:

  h2xs -Oxan Ext::Ension interface_simple.h interface_hairy.h

h2xs looks for header files I<after> changing to the extension
directory, so it will find your header files OK.

=item Archive and test

As usual, run

  cd Ext/Ension
  perl Makefile.PL
  make dist
  make
  make test

=item Hints

It is important to do C<make dist> as early as possible.  This way you
can easily merge(1) your changes to autogenerated files if you decide
to edit your C<.h> files and rerun h2xs.

Do not forget to edit the documentation in the generated F<.pm> file.

Consider the autogenerated files as skeletons only, you may invent
better interfaces than what h2xs could guess.

Consider this section as a guideline only, some other options of h2xs
may better suit your needs.

=back

=head1 ENVIRONMENT

No environment variables are used.

=head1 AUTHOR

Larry Wall and others

=head1 SEE ALSO

L<perl>, L<perlxstut>, L<ExtUtils::MakeMaker>, and L<AutoLoader>.

=head1 DIAGNOSTICS

The usual warnings if it cannot read or write the files involved.

=head1 LIMITATIONS of B<-x>

F<h2xs> would not distinguish whether an argument to a C function
which is of the form, say, C<int *>, is an input, output, or
input/output parameter.  In particular, argument declarations of the
form

    int
    foo(n)
	int *n

should be better rewritten as

    int
    foo(n)
	int &n

if C<n> is an input parameter.

Additionally, F<h2xs> has no facilities to intuit that a function

   int
   foo(addr,l)
	char *addr
	int   l

takes a pair of address and length of data at this address, so it is better
to rewrite this function as

    int
    foo(sv)
	    SV *addr
	PREINIT:
	    STRLEN len;
	    char *s;
	CODE:
	    s = SvPV(sv,len);
	    RETVAL = foo(s, len);
	OUTPUT:
	    RETVAL

or alternately

    static int
    my_foo(SV *sv)
    {
	STRLEN len;
	char *s = SvPV(sv,len);

	return foo(s, len);
    }

    MODULE = foo	PACKAGE = foo	PREFIX = my_

    int
    foo(sv)
	SV *sv

See L<perlxs> and L<perlxstut> for additional details.

=cut

# ' # Grr
use strict;


my( $H2XS_VERSION ) = ' $Revision: 1.23 $ ' =~ /\$Revision:\s+([^\s]+)/;
my $TEMPLATE_VERSION = '0.01';
my @ARGS = @ARGV;
my $compat_version = $];

use Getopt::Long;
use Config;
use Text::Wrap;
$Text::Wrap::huge = 'overflow';
$Text::Wrap::columns = 80;
use ExtUtils::Constant qw (WriteConstants WriteMakefileSnippet autoload);
use File::Compare;
use File::Path;

sub usage {
    warn "@_\n" if @_;
    die <<EOFUSAGE;
h2xs [OPTIONS ... ] [headerfile [extra_libraries]]
version: $H2XS_VERSION
OPTIONS:
    -A, --omit-autoload   Omit all autoloading facilities (implies -c).
    -B, --beta-version    Use beta \$VERSION of 0.00_01 (ignored if -v).
    -C, --omit-changes    Omit creating the Changes file, add HISTORY heading
                          to stub POD.
    -F, --cpp-flags       Additional flags for C preprocessor/compile.
    -M, --func-mask       Mask to select C functions/macros
                          (default is select all).
    -O, --overwrite-ok    Allow overwriting of a pre-existing extension directory.
    -P, --omit-pod        Omit the stub POD section.
    -X, --omit-XS         Omit the XS portion (implies both -c and -f).
    -a, --gen-accessors   Generate get/set accessors for struct and union members
                          (used with -x).
    -b, --compat-version  Specify a perl version to be backwards compatible with.
    -c, --omit-constant   Omit the constant() function and specialised AUTOLOAD
                          from the XS file.
    -d, --debugging       Turn on debugging messages.
    -e, --omit-enums      Omit constants from enums in the constant() function.
                          If a pattern is given, only the matching enums are
                          ignored.
    -f, --force           Force creation of the extension even if the C header
                          does not exist.
    -g, --global          Include code for safely storing static data in the .xs file.
    -h, -?, --help        Display this help message.
    -k, --omit-const-func Omit 'const' attribute on function arguments
                          (used with -x).
    -m, --gen-tied-var    Generate tied variables for access to declared
                          variables.
    -n, --name            Specify a name to use for the extension (recommended).
    -o, --opaque-re       Regular expression for \"opaque\" types.
    -p, --remove-prefix   Specify a prefix which should be removed from the
                          Perl function names.
    -s, --const-subs      Create subroutines for specified macros.
    -t, --default-type    Default type for autoloaded constants (default is IV).
        --use-new-tests   Use Test::More in backward compatible modules.
        --use-old-tests   Use the module Test rather than Test::More.
        --skip-exporter   Do not export symbols.
        --skip-ppport     Do not use portability layer.
        --skip-autoloader Do not use the module C<AutoLoader>.
        --skip-strict     Do not use the pragma C<strict>.
        --skip-warnings   Do not use the pragma C<warnings>.
    -v, --version         Specify a version number for this extension.
    -x, --autogen-xsubs   Autogenerate XSUBs using C::Scan.
        --use-xsloader    Use XSLoader in backward compatible modules (ignored
                          when used with -X).

extra_libraries
         are any libraries that might be needed for loading the
         extension, e.g. -lm would try to link in the math library.
EOFUSAGE
}

my ($opt_A,
    $opt_B,
    $opt_C,
    $opt_F,
    $opt_M,
    $opt_O,
    $opt_P,
    $opt_X,
    $opt_a,
    $opt_c,
    $opt_d,
    $opt_e,
    $opt_f,
    $opt_g,
    $opt_h,
    $opt_k,
    $opt_m,
    $opt_n,
    $opt_o,
    $opt_p,
    $opt_s,
    $opt_v,
    $opt_x,
    $opt_b,
    $opt_t,
    $new_test,
    $old_test,
    $skip_exporter,
    $skip_ppport,
    $skip_autoloader,
    $skip_strict,
    $skip_warnings,
    $use_xsloader
   );

Getopt::Long::Configure('bundling');
Getopt::Long::Configure('pass_through');

my %options = (
                'omit-autoload|A'    => \$opt_A,
                'beta-version|B'     => \$opt_B,
                'omit-changes|C'     => \$opt_C,
                'cpp-flags|F=s'      => \$opt_F,
                'func-mask|M=s'      => \$opt_M,
                'overwrite_ok|O'     => \$opt_O,
                'omit-pod|P'         => \$opt_P,
                'omit-XS|X'          => \$opt_X,
                'gen-accessors|a'    => \$opt_a,
                'compat-version|b=s' => \$opt_b,
                'omit-constant|c'    => \$opt_c,
                'debugging|d'        => \$opt_d,
                'omit-enums|e:s'     => \$opt_e,
                'force|f'            => \$opt_f,
                'global|g'           => \$opt_g,
                'help|h|?'           => \$opt_h,
                'omit-const-func|k'  => \$opt_k,
                'gen-tied-var|m'     => \$opt_m,
                'name|n=s'           => \$opt_n,
                'opaque-re|o=s'      => \$opt_o,
                'remove-prefix|p=s'  => \$opt_p,
                'const-subs|s=s'     => \$opt_s,
                'default-type|t=s'   => \$opt_t,
                'version|v=s'        => \$opt_v,
                'autogen-xsubs|x'    => \$opt_x,
                'use-new-tests'      => \$new_test,
                'use-old-tests'      => \$old_test,
                'skip-exporter'      => \$skip_exporter,
                'skip-ppport'        => \$skip_ppport,
                'skip-autoloader'    => \$skip_autoloader,
                'skip-warnings'      => \$skip_warnings,
                'skip-strict'        => \$skip_strict,
                'use-xsloader'       => \$use_xsloader,
              );

GetOptions(%options) || usage;

usage if $opt_h;

if( $opt_b ){
    usage "You cannot use -b and -m at the same time.\n" if ($opt_b && $opt_m);
    $opt_b =~ /^v?(\d+)\.(\d+)\.(\d+)/ ||
    usage "You must provide the backwards compatibility version in X.Y.Z form. "
          .  "(i.e. 5.5.0)\n";
    my ($maj,$min,$sub) = ($1,$2,$3);
    if ($maj < 5 || ($maj == 5 && $min < 6)) {
        $compat_version =
	    $sub ? sprintf("%d.%03d%02d",$maj,$min,$sub) :
	           sprintf("%d.%03d",    $maj,$min);
    } else {
        $compat_version = sprintf("%d.%03d%03d",$maj,$min,$sub);
    }
} else {
    my ($maj,$min,$sub) = $compat_version =~ /(\d+)\.(\d\d\d)(\d*)/;
    $sub ||= 0;
    warn sprintf <<'EOF', $maj,$min,$sub;
Defaulting to backwards compatibility with perl %d.%d.%d
If you intend this module to be compatible with earlier perl versions, please
specify a minimum perl version with the -b option.

EOF
}

if( $opt_B ){
    $TEMPLATE_VERSION = '0.00_01';
}

if( $opt_v ){
	$TEMPLATE_VERSION = $opt_v;

    # check if it is numeric
    my $temp_version = $TEMPLATE_VERSION;
    my $beta_version = $temp_version =~ s/(\d)_(\d\d)/$1$2/;
    my $notnum;
    {
        local $SIG{__WARN__} = sub { $notnum = 1 };
        use warnings 'numeric';
        $temp_version = 0+$temp_version;
    }

    if ($notnum) {
        my $module = $opt_n || 'Your::Module';
        warn <<"EOF";
You have specified a non-numeric version.  Unless you supply an
appropriate VERSION class method, users may not be able to specify a
minimum required version with C<use $module versionnum>.

EOF
    }
    else {
        $opt_B = $beta_version;
    }
}

# -A implies -c.
$skip_autoloader = $opt_c = 1 if $opt_A;

# -X implies -c and -f
$opt_c = $opt_f = 1 if $opt_X;

$opt_t ||= 'IV';

my %const_xsub;
%const_xsub = map { $_,1 } split(/,+/, $opt_s) if $opt_s;

my $extralibs = '';

my @path_h;

while (my $arg = shift) {
    if ($arg =~ /^-l/i) {
        $extralibs .= "$arg ";
        next;
    }
    last if $extralibs;
    push(@path_h, $arg);
}

usage "Must supply header file or module name\n"
        unless (@path_h or $opt_n);

my $fmask;
my $tmask;

$fmask = qr{$opt_M} if defined $opt_M;
$tmask = qr{$opt_o} if defined $opt_o;
my $tmask_all = $tmask && $opt_o eq '.';

if ($opt_x) {
  eval {require C::Scan; 1}
    or die <<EOD;
C::Scan required if you use -x option.
To install C::Scan, execute
   perl -MCPAN -e "install C::Scan"
EOD
  unless ($tmask_all) {
    $C::Scan::VERSION >= 0.70
      or die <<EOD;
C::Scan v. 0.70 or later required unless you use -o . option.
You have version $C::Scan::VERSION installed as $INC{'C/Scan.pm'}.
To install C::Scan, execute
   perl -MCPAN -e "install C::Scan"
EOD
  }
  if (($opt_m || $opt_a) && $C::Scan::VERSION < 0.73) {
    die <<EOD;
C::Scan v. 0.73 or later required to use -m or -a options.
You have version $C::Scan::VERSION installed as $INC{'C/Scan.pm'}.
To install C::Scan, execute
   perl -MCPAN -e "install C::Scan"
EOD
  }
}
elsif ($opt_o or $opt_F) {
  warn <<EOD if $opt_o;
Option -o does not make sense without -x.
EOD
  warn <<EOD if $opt_F and $opt_X ;
Option -F does not make sense with -X.
EOD
}

my @path_h_ini = @path_h;
my ($name, %fullpath, %prefix, %seen_define, %prefixless, %const_names);

my $module = $opt_n;

if( @path_h ){
    use File::Spec;
    my @paths;
    my $pre_sub_tri_graphs = 1;
    if ($^O eq 'VMS') {  # Consider overrides of default location
      # XXXX This is not equivalent to what the older version did:
      #		it was looking at $hadsys header-file per header-file...
      my($hadsys) = grep s!^sys/!!i , @path_h;
      @paths = qw( Sys$Library VAXC$Include );
      push @paths, ($hadsys ? 'GNU_CC_Include[vms]' : 'GNU_CC_Include[000000]');
      push @paths, qw( DECC$Library_Include DECC$System_Include );
    }
    else {
      @paths = (File::Spec->curdir(), $Config{usrinc},
		(split / +/, $Config{locincpth} // ""), '/usr/include');
    }
    foreach my $path_h (@path_h) {
        $name ||= $path_h;
    $module ||= do {
      $name =~ s/\.h$//;
      if ( $name !~ /::/ ) {
	$name =~ s#^.*/##;
	$name = "\u$name";
      }
      $name;
    };

    if( $path_h =~ s#::#/#g && $opt_n ){
	warn "Nesting of headerfile ignored with -n\n";
    }
    $path_h .= ".h" unless $path_h =~ /\.h$/;
    my $fullpath = $path_h;
    $path_h =~ s/,.*$// if $opt_x;
    $fullpath{$path_h} = $fullpath;

    # Minor trickery: we can't chdir() before we processed the headers
    # (so know the name of the extension), but the header may be in the
    # extension directory...
    my $tmp_path_h = $path_h;
    my $rel_path_h = $path_h;
    my @dirs = @paths;
    if (not -f $path_h) {
      my $found;
      for my $dir (@paths) {
	$found++, last
	  if -f ($path_h = File::Spec->catfile($dir, $tmp_path_h));
      }
      if ($found) {
	$rel_path_h = $path_h;
	$fullpath{$path_h} = $fullpath;
      } else {
	(my $epath = $module) =~ s,::,/,g;
	$epath = File::Spec->catdir('ext', $epath) if -d 'ext';
	$rel_path_h = File::Spec->catfile($epath, $tmp_path_h);
	$path_h = $tmp_path_h;	# Used during -x
	push @dirs, $epath;
      }
    }

    if (!$opt_c) {
      die "Can't find $tmp_path_h in @dirs\n"
	if ( ! $opt_f && ! -f "$rel_path_h" );
      # Scan the header file (we should deal with nested header files)
      # Record the names of simple #define constants into const_names
            # Function prototypes are processed below.
      open(CH, "<", "$rel_path_h") || die "Can't open $rel_path_h: $!\n";
    defines:
      while (<CH>) {
	if ($pre_sub_tri_graphs) {
	    # Preprocess all tri-graphs
	    # including things stuck in quoted string constants.
	    s/\?\?=/#/g;                         # | ??=|  #|
	    s/\?\?\!/|/g;                        # | ??!|  ||
	    s/\?\?'/^/g;                         # | ??'|  ^|
	    s/\?\?\(/[/g;                        # | ??(|  [|
	    s/\?\?\)/]/g;                        # | ??)|  ]|
	    s/\?\?\-/~/g;                        # | ??-|  ~|
	    s/\?\?\//\\/g;                       # | ??/|  \|
	    s/\?\?</{/g;                         # | ??<|  {|
	    s/\?\?>/}/g;                         # | ??>|  }|
	}
	if (/^[ \t]*#[ \t]*define\s+([\$\w]+)\b(?!\()\s*(?=[^"\s])(.*)/) {
	    my $def = $1;
	    my $rest = $2;
	    $rest =~ s!/\*.*?(\*/|\n)|//.*!!g; # Remove comments
	    $rest =~ s/^\s+//;
	    $rest =~ s/\s+$//;
	    if ($rest eq '') {
	      print("Skip empty $def\n") if $opt_d;
	      next defines;
	    }
	    # Cannot do: (-1) and ((LHANDLE)3) are OK:
	    #print("Skip non-wordy $def => $rest\n"),
	    #  next defines if $rest =~ /[^\w\$]/;
	    if ($rest =~ /"/) {
	      print("Skip stringy $def => $rest\n") if $opt_d;
	      next defines;
	    }
	    print "Matched $_ ($def)\n" if $opt_d;
	    $seen_define{$def} = $rest;
	    $_ = $def;
	    next if /^_.*_h_*$/i; # special case, but for what?
	    if (defined $opt_p) {
	      if (!/^$opt_p(\d)/) {
		++$prefix{$_} if s/^$opt_p//;
	      }
	      else {
		warn "can't remove $opt_p prefix from '$_'!\n";
	      }
	    }
	    $prefixless{$def} = $_;
	    if (!$fmask or /$fmask/) {
		print "... Passes mask of -M.\n" if $opt_d and $fmask;
		$const_names{$_}++;
	    }
	  }
      }
      if (defined $opt_e and !$opt_e) {
        close(CH);
      }
      else {
	# Work from miniperl too - on "normal" systems
        my $SEEK_SET = eval 'use Fcntl qw/SEEK_SET/; SEEK_SET' || 0;
        seek CH, 0, $SEEK_SET;
        my $src = do { local $/; <CH> };
        close CH;
        no warnings 'uninitialized';

        # Remove C and C++ comments
        $src =~ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#$2#gs;
        $src =~ s#//.*$##gm;

	while ($src =~ /\benum\s*([\w_]*)\s*\{\s([^}]+)\}/gsc) {
	    my ($enum_name, $enum_body) = ($1, $2);
            # skip enums matching $opt_e
            next if $opt_e && $enum_name =~ /$opt_e/;
            my $val = 0;
            for my $item (split /,/, $enum_body) {
                next if $item =~ /\A\s*\Z/;
                my ($key, $declared_val) = $item =~ /(\w+)\s*(?:=\s*(.*))?/;
                $val = defined($declared_val) && length($declared_val) ? $declared_val : 1 + $val;
                $seen_define{$key} = $val;
                $const_names{$key} = { name => $key, macro => 1 };
            }
        } # while (...)
      } # if (!defined $opt_e or $opt_e)
    }
    }
}

# Save current directory so that C::Scan can use it
my $cwd = File::Spec->rel2abs( File::Spec->curdir );

# As Ilya suggested, use a name that contains - and then it can't clash with
# the names of any packages. A directory 'fallback' will clash with any
# new pragmata down the fallback:: tree, but that seems unlikely.
my $constscfname = 'const-c.inc';
my $constsxsfname = 'const-xs.inc';
my $fallbackdirname = 'fallback';

my $ext = chdir 'ext' ? 'ext/' : '';

my @modparts  = split(/::/,$module);
my $modpname  = join('-', @modparts);
my $modfname  = pop @modparts;
my $modpmdir  = join '/', 'lib', @modparts;
my $modpmname = join '/', $modpmdir, $modfname.'.pm';

if ($opt_O) {
	warn "Overwriting existing $ext$modpname!!!\n" if -e $modpname;
}
else {
	die "Won't overwrite existing $ext$modpname\n" if -e $modpname;
}
-d "$modpname"   || mkpath([$modpname], 0, 0775);
chdir($modpname) || die "Can't chdir $ext$modpname: $!\n";

my %types_seen;
my %std_types;
my $fdecls = [];
my $fdecls_parsed = [];
my $typedef_rex;
my %typedefs_pre;
my %known_fnames;
my %structs;

my @fnames;
my @fnames_no_prefix;
my %vdecl_hash;
my @vdecls;

if( ! $opt_X ){  # use XS, unless it was disabled
  unless ($skip_ppport) {
    require Devel::PPPort;
    warn "Writing $ext$modpname/ppport.h\n";
    Devel::PPPort::WriteFile('ppport.h')
        || die "Can't create $ext$modpname/ppport.h: $!\n";
  }
  open(XS, ">", "$modfname.xs") || die "Can't create $ext$modpname/$modfname.xs: $!\n";
  if ($opt_x) {
    warn "Scanning typemaps...\n";
    get_typemap();
    my @td;
    my @good_td;
    my $addflags = $opt_F || '';

    foreach my $filename (@path_h) {
      my $c;
      my $filter;

      if ($fullpath{$filename} =~ /,/) {
	$filename = $`;
	$filter = $';
      }
      warn "Scanning $filename for functions...\n";
      my @styles = $Config{gccversion} ? qw(C++ C9X GNU) : qw(C++ C9X);
      $c = C::Scan->new('filename' => $filename, 'filename_filter' => $filter,
        'add_cppflags' => $addflags, 'c_styles' => \@styles);
      $c->set('includeDirs' => ["$Config::Config{archlib}/CORE", $cwd]);

      $c->get('keywords')->{'__restrict'} = 1;

      push @$fdecls_parsed, @{ $c->get('parsed_fdecls') };
      push(@$fdecls, @{$c->get('fdecls')});

      push @td, @{$c->get('typedefs_maybe')};
      if ($opt_a) {
	my $structs = $c->get('typedef_structs');
	@structs{keys %$structs} = values %$structs;
      }

      if ($opt_m) {
	%vdecl_hash = %{ $c->get('vdecl_hash') };
	@vdecls = sort keys %vdecl_hash;
	for (local $_ = 0; $_ < @vdecls; ++$_) {
	  my $var = $vdecls[$_];
	  my($type, $post) = @{ $vdecl_hash{$var} };
	  if (defined $post) {
	    warn "Can't handle variable '$type $var $post', skipping.\n";
	    splice @vdecls, $_, 1;
	    redo;
	  }
	  $type = normalize_type($type);
	  $vdecl_hash{$var} = $type;
	}
      }

      unless ($tmask_all) {
	warn "Scanning $filename for typedefs...\n";
	my $td = $c->get('typedef_hash');
	# eval {require 'dumpvar.pl'; ::dumpValue($td)} or warn $@ if $opt_d;
	my @f_good_td = grep $td->{$_}[1] eq '', keys %$td;
	push @good_td, @f_good_td;
	@typedefs_pre{@f_good_td}  = map $_->[0], @$td{@f_good_td};
      }
    }
    { local $" = '|';
      $typedef_rex = qr(\b(?<!struct )(?<!enum )(?:@good_td)\b) if @good_td;
    }
    %known_fnames = map @$_[1,3], @$fdecls_parsed; # [1,3] is NAME, FULLTEXT
    if ($fmask) {
      my @good;
      for my $i (0..$#$fdecls_parsed) {
	next unless $fdecls_parsed->[$i][1] =~ /$fmask/; # [1] is NAME
	push @good, $i;
	print "... Function $fdecls_parsed->[$i][1] passes -M mask.\n"
	  if $opt_d;
      }
      $fdecls = [@$fdecls[@good]];
      $fdecls_parsed = [@$fdecls_parsed[@good]];
    }
    @fnames = sort map $_->[1], @$fdecls_parsed; # 1 is NAME
    # Sort declarations:
    {
      my %h = map( ($_->[1], $_), @$fdecls_parsed);
      $fdecls_parsed = [ @h{@fnames} ];
    }
    @fnames_no_prefix = @fnames;
    @fnames_no_prefix
      = sort map { ++$prefix{$_} if s/^$opt_p(?!\d)//; $_ } @fnames_no_prefix
         if defined $opt_p;
    # Remove macros which expand to typedefs
    print "Typedefs are @td.\n" if $opt_d;
    my %td = map {($_, $_)} @td;
    # Add some other possible but meaningless values for macros
    for my $k (qw(char double float int long short unsigned signed void)) {
      $td{"$_$k"} = "$_$k" for ('', 'signed ', 'unsigned ');
    }
    # eval {require 'dumpvar.pl'; ::dumpValue( [\@td, \%td] ); 1} or warn $@;
    my $n = 0;
    my %bad_macs;
    while (keys %td > $n) {
      $n = keys %td;
      my ($k, $v);
      while (($k, $v) = each %seen_define) {
	# print("found '$k'=>'$v'\n"),
	$bad_macs{$k} = $td{$k} = $td{$v} if exists $td{$v};
      }
    }
    # Now %bad_macs contains names of bad macros
    for my $k (keys %bad_macs) {
      delete $const_names{$prefixless{$k}};
      print "Ignoring macro $k which expands to a typedef name '$bad_macs{$k}'\n" if $opt_d;
    }
  }
}
my (@const_specs, @const_names);

for (sort(keys(%const_names))) {
    my $v = $const_names{$_};
    
    push(@const_specs, ref($v) ? $v : $_);
    push(@const_names, $_);
}

-d $modpmdir || mkpath([$modpmdir], 0, 0775);
open(PM, ">", "$modpmname") || die "Can't create $ext$modpname/$modpmname: $!\n";

$" = "\n\t";
warn "Writing $ext$modpname/$modpmname\n";

print PM <<"END";
package $module;

use $compat_version;
END

print PM <<"END" unless $skip_strict;
use strict;
END

print PM "use warnings;\n" unless $skip_warnings or $compat_version < 5.006;

unless( $opt_X || $opt_c || $opt_A ){
	# we'll have an AUTOLOAD(), and it will have $AUTOLOAD and
	# will want Carp.
	print PM <<'END';
use Carp;
END
}

print PM <<'END' unless $skip_exporter;

require Exporter;
END

my $use_Dyna = (not $opt_X and $compat_version < 5.006 and not $use_xsloader);
print PM <<"END" if $use_Dyna;  # use DynaLoader, unless XS was disabled
require DynaLoader;
END


# Are we using AutoLoader or not?
unless ($skip_autoloader) { # no autoloader whatsoever.
	unless ($opt_c) { # we're doing the AUTOLOAD
		print PM "use AutoLoader;\n";
	}
	else {
		print PM "use AutoLoader qw(AUTOLOAD);\n"
	}
}

if ( $compat_version < 5.006 ) {
    my $vars = '$VERSION @ISA';
    $vars .= ' @EXPORT @EXPORT_OK %EXPORT_TAGS' unless $skip_exporter;
    $vars .= ' $AUTOLOAD' unless $opt_X || $opt_c || $opt_A;
    $vars .= ' $XS_VERSION' if $opt_B && !$opt_X;
    print PM "use vars qw($vars);";
}

# Determine @ISA.
my @modISA;
push @modISA, 'Exporter'	unless $skip_exporter;
push @modISA, 'DynaLoader' 	if $use_Dyna;  # no XS
my $myISA = "our \@ISA = qw(@modISA);";
$myISA =~ s/^our // if $compat_version < 5.006;

print PM "\n$myISA\n\n";

my @exported_names = (@const_names, @fnames_no_prefix, map '$'.$_, @vdecls);

my $tmp='';
$tmp .= <<"END" unless $skip_exporter;
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use $module ':all';
# If you do not need this, moving things directly into \@EXPORT or \@EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
	@exported_names
) ] );

our \@EXPORT_OK = ( \@{ \$EXPORT_TAGS{'all'} } );

our \@EXPORT = qw(
	@const_names
);

END

$tmp .= "our \$VERSION = '$TEMPLATE_VERSION';\n";
if ($opt_B) {
    $tmp .= "our \$XS_VERSION = \$VERSION;\n" unless $opt_X;
    $tmp .= "\$VERSION = eval \$VERSION;  # see L<perlmodstyle>\n";
}
$tmp .= "\n";

$tmp =~ s/^our //mg if $compat_version < 5.006;
print PM $tmp;

if (@vdecls) {
    printf PM "our(@{[ join ', ', map '$'.$_, @vdecls ]});\n\n";
}


print PM autoload ($module, $compat_version) unless $opt_c or $opt_X;

if( ! $opt_X ){ # print bootstrap, unless XS is disabled
  if ($use_Dyna) {
	$tmp = <<"END";
bootstrap $module \$VERSION;
END
  } else {
	$tmp = <<"END";
require XSLoader;
XSLoader::load('$module', \$VERSION);
END
  }
  $tmp =~ s:\$VERSION:\$XS_VERSION:g if $opt_B;
  print PM $tmp;
}

# tying the variables can happen only after bootstrap
if (@vdecls) {
    printf PM <<END;
{
@{[ join "\n", map "    _tievar_$_(\$$_);", @vdecls ]}
}

END
}

my $after;
if( $opt_P ){ # if POD is disabled
	$after = '__END__';
}
else {
	$after = '=cut';
}

print PM <<"END";

# Preloaded methods go here.
END

print PM <<"END" unless $opt_A;

# Autoload methods go after $after, and are processed by the autosplit program.
END

print PM <<"END";

1;
__END__
END

my ($email,$author,$licence);

eval {
       my $username;
       ($username,$author) = (getpwuid($>))[0,6];
       if (defined $username && defined $author) {
	   $author =~ s/,.*$//; # in case of sub fields
	   my $domain = $Config{'mydomain'};
	   $domain =~ s/^\.//;
	   $email = "$username\@$domain";
       }
     };

$author =~ s/'/\\'/g if defined $author;
$author ||= "A. U. Thor";
$email  ||= 'a.u.thor@a.galaxy.far.far.away';

$licence = sprintf << "DEFAULT", $^V;
Copyright (C) ${\(1900 + (localtime) [5])} by $author

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version %vd or,
at your option, any later version of Perl 5 you may have available.
DEFAULT

my $revhist = '';
$revhist = <<EOT if $opt_C;
#
#=head1 HISTORY
#
#=over 8
#
#=item $TEMPLATE_VERSION
#
#Original version; created by h2xs $H2XS_VERSION with options
#
#  @ARGS
#
#=back
#
EOT

my $exp_doc = $skip_exporter ? '' : <<EOD;
#
#=head2 EXPORT
#
#None by default.
#
EOD

if (@const_names and not $opt_P) {
  $exp_doc .= <<EOD unless $skip_exporter;
#=head2 Exportable constants
#
#  @{[join "\n  ", @const_names]}
#
EOD
}

if (defined $fdecls and @$fdecls and not $opt_P) {
  $exp_doc .= <<EOD unless $skip_exporter;
#=head2 Exportable functions
#
EOD

#  $exp_doc .= <<EOD if $opt_p;
#When accessing these functions from Perl, prefix C<$opt_p> should be removed.
#
#EOD
  $exp_doc .= <<EOD unless $skip_exporter;
#  @{[join "\n  ", @known_fnames{@fnames}]}
#
EOD
}

my $meth_doc = '';

if ($opt_x && $opt_a) {
  my($name, $struct);
  $meth_doc .= accessor_docs($name, $struct)
    while ($name, $struct) = each %structs;
}

# Prefix the default licence with hash symbols.
# Is this just cargo cult - it seems that the first thing that happens to this
# block is that all the hashes are then s///g out.
my $licence_hash = $licence;
$licence_hash =~ s/^/#/gm;

my $pod;
$pod = <<"END" unless $opt_P;
## Below is stub documentation for your module. You'd better edit it!
#
#=head1 NAME
#
#$module - Perl extension for blah blah blah
#
#=head1 SYNOPSIS
#
#  use $module;
#  blah blah blah
#
#=head1 DESCRIPTION
#
#Stub documentation for $module, created by h2xs. It looks like the
#author of the extension was negligent enough to leave the stub
#unedited.
#
#Blah blah blah.
$exp_doc$meth_doc$revhist
#
#=head1 SEE ALSO
#
#Mention other useful documentation such as the documentation of
#related modules or operating system documentation (such as man pages
#in UNIX), or any relevant external documentation such as RFCs or
#standards.
#
#If you have a mailing list set up for your module, mention it here.
#
#If you have a web site set up for your module, mention it here.
#
#=head1 AUTHOR
#
#$author, E<lt>${email}E<gt>
#
#=head1 COPYRIGHT AND LICENSE
#
$licence_hash
#
#=cut
END

$pod =~ s/^\#//gm unless $opt_P;
print PM $pod unless $opt_P;

close PM;


if( ! $opt_X ){ # print XS, unless it is disabled
warn "Writing $ext$modpname/$modfname.xs\n";

print XS <<"END";
#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

END

print XS <<"END" unless $skip_ppport;
#include "ppport.h"

END

if( @path_h ){
    foreach my $path_h (@path_h_ini) {
	my($h) = $path_h;
	$h =~ s#^/usr/include/##;
	if ($^O eq 'VMS') { $h =~ s#.*vms\]#sys/# or $h =~ s#.*[:>\]]##; }
        print XS qq{#include <$h>\n};
    }
    print XS "\n";
}

print XS <<"END" if $opt_g;

/* Global Data */

#define MY_CXT_KEY "${module}::_guts" XS_VERSION

typedef struct {
    /* Put Global Data in here */
    int dummy;		/* you can access this elsewhere as MY_CXT.dummy */
} my_cxt_t;

START_MY_CXT

END

my %pointer_typedefs;
my %struct_typedefs;

sub td_is_pointer {
  my $type = shift;
  my $out = $pointer_typedefs{$type};
  return $out if defined $out;
  my $otype = $type;
  $out = ($type =~ /\*$/);
  # This converts only the guys which do not have trailing part in the typedef
  if (not $out
      and $typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) {
    $type = normalize_type($type);
    print "Is-Pointer: Type mutation via typedefs: $otype ==> $type\n"
      if $opt_d;
    $out = td_is_pointer($type);
  }
  return ($pointer_typedefs{$otype} = $out);
}

sub td_is_struct {
  my $type = shift;
  my $out = $struct_typedefs{$type};
  return $out if defined $out;
  my $otype = $type;
  $out = ($type =~ /^(struct|union)\b/) && !td_is_pointer($type);
  # This converts only the guys which do not have trailing part in the typedef
  if (not $out
      and $typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) {
    $type = normalize_type($type);
    print "Is-Struct: Type mutation via typedefs: $otype ==> $type\n"
      if $opt_d;
    $out = td_is_struct($type);
  }
  return ($struct_typedefs{$otype} = $out);
}

print_tievar_subs(\*XS, $_, $vdecl_hash{$_}) for @vdecls;

if( ! $opt_c ) {
  # We write the "sample" files used when this module is built by perl without
  # ExtUtils::Constant.
  # h2xs will later check that these are the same as those generated by the
  # code embedded into Makefile.PL
  unless (-d $fallbackdirname) {
    mkdir "$fallbackdirname" or die "Cannot mkdir $fallbackdirname: $!\n";
  }
  warn "Writing $ext$modpname/$fallbackdirname/$constscfname\n";
  warn "Writing $ext$modpname/$fallbackdirname/$constsxsfname\n";
  my $cfallback = File::Spec->catfile($fallbackdirname, $constscfname);
  my $xsfallback = File::Spec->catfile($fallbackdirname, $constsxsfname);
  WriteConstants ( C_FILE =>       $cfallback,
                   XS_FILE =>      $xsfallback,
                   DEFAULT_TYPE => $opt_t,
                   NAME =>         $module,
                   NAMES =>        \@const_specs,
                 );
  print XS "#include \"$constscfname\"\n";
}


my $prefix = defined $opt_p ? "PREFIX = $opt_p" : '';

# Now switch from C to XS by issuing the first MODULE declaration:
print XS <<"END";

MODULE = $module		PACKAGE = $module		$prefix

END

# If a constant() function was #included then output a corresponding
# XS declaration:
print XS "INCLUDE: $constsxsfname\n" unless $opt_c;

print XS <<"END" if $opt_g;

BOOT:
{
    MY_CXT_INIT;
    /* If any of the fields in the my_cxt_t struct need
       to be initialised, do it here.
     */
}

END

foreach (sort keys %const_xsub) {
    print XS <<"END";
char *
$_()

    CODE:
#ifdef $_
	RETVAL = $_;
#else
	croak("Your vendor has not defined the $module macro $_");
#endif

    OUTPUT:
	RETVAL

END
}

my %seen_decl;
my %typemap;

sub print_decl {
  my $fh = shift;
  my $decl = shift;
  my ($type, $name, $args) = @$decl;
  return if $seen_decl{$name}++; # Need to do the same for docs as well?

  my @argnames = map {$_->[1]} @$args;
  my @argtypes = map { normalize_type( $_->[0], 1 ) } @$args;
  if ($opt_k) {
    s/^\s*const\b\s*// for @argtypes;
  }
  my @argarrays = map { $_->[4] || '' } @$args;
  my $numargs = @$args;
  if ($numargs and $argtypes[-1] eq '...') {
    $numargs--;
    $argnames[-1] = '...';
  }
  local $" = ', ';
  $type = normalize_type($type, 1);

  print $fh <<"EOP";

$type
$name(@argnames)
EOP

  for my $arg (0 .. $numargs - 1) {
    print $fh <<"EOP";
	$argtypes[$arg]	$argnames[$arg]$argarrays[$arg]
EOP
  }
}

sub print_tievar_subs {
  my($fh, $name, $type) = @_;
  print $fh <<END;
I32
_get_$name(IV index, SV *sv) {
    dSP;
    PUSHMARK(SP);
    XPUSHs(sv);
    PUTBACK;
    (void)call_pv("$module\::_get_$name", G_DISCARD);
    return (I32)0;
}

I32
_set_$name(IV index, SV *sv) {
    dSP;
    PUSHMARK(SP);
    XPUSHs(sv);
    PUTBACK;
    (void)call_pv("$module\::_set_$name", G_DISCARD);
    return (I32)0;
}

END
}

sub print_tievar_xsubs {
  my($fh, $name, $type) = @_;
  print $fh <<END;
void
_tievar_$name(sv)
	SV* sv
    PREINIT:
	struct ufuncs uf;
    CODE:
	uf.uf_val = &_get_$name;
	uf.uf_set = &_set_$name;
	uf.uf_index = (IV)&_get_$name;
	sv_magic(sv, 0, 'U', (char*)&uf, sizeof(uf));

void
_get_$name(THIS)
	$type THIS = NO_INIT
    CODE:
	THIS = $name;
    OUTPUT:
	SETMAGIC: DISABLE
	THIS

void
_set_$name(THIS)
	$type THIS
    CODE:
	$name = THIS;

END
}

sub print_accessors {
  my($fh, $name, $struct) = @_;
  return unless defined $struct && $name !~ /\s|_ANON/;
  $name = normalize_type($name);
  my $ptrname = normalize_type("$name *");
  print $fh <<"EOF";

MODULE = $module		PACKAGE = ${name}		$prefix

$name *
_to_ptr(THIS)
	$name THIS = NO_INIT
    PROTOTYPE: \$
    CODE:
	if (sv_derived_from(ST(0), "$name")) {
	    STRLEN len;
	    char *s = SvPV((SV*)SvRV(ST(0)), len);
	    if (len != sizeof(THIS))
		croak("Size \%d of packed data != expected \%d",
			len, sizeof(THIS));
	    RETVAL = ($name *)s;
	}
	else
	    croak("THIS is not of type $name");
    OUTPUT:
	RETVAL

$name
new(CLASS)
	char *CLASS = NO_INIT
    PROTOTYPE: \$
    CODE:
	Zero((void*)&RETVAL, sizeof(RETVAL), char);
    OUTPUT:
	RETVAL

MODULE = $module		PACKAGE = ${name}Ptr		$prefix

EOF
  my @items = @$struct;
  while (@items) {
    my $item = shift @items;
    if ($item->[0] =~ /_ANON/) {
      if (defined $item->[2]) {
	push @items, map [
	  @$_[0, 1], "$item->[2]_$_->[2]", "$item->[2].$_->[2]",
	], @{ $structs{$item->[0]} };
      } else {
	push @items, @{ $structs{$item->[0]} };
      }
    } else {
      my $type = normalize_type($item->[0]);
      my $ttype = $structs{$type} ? normalize_type("$type *") : $type;
      print $fh <<"EOF";
$ttype
$item->[2](THIS, __value = NO_INIT)
	$ptrname THIS
	$type __value
    PROTOTYPE: \$;\$
    CODE:
	if (items > 1)
	    THIS->$item->[-1] = __value;
	RETVAL = @{[
	    $type eq $ttype ? "THIS->$item->[-1]" : "&(THIS->$item->[-1])"
	]};
    OUTPUT:
	RETVAL

EOF
    }
  }
}

sub accessor_docs {
  my($name, $struct) = @_;
  return unless defined $struct && $name !~ /\s|_ANON/;
  $name = normalize_type($name);
  my $ptrname = $name . 'Ptr';
  my @items = @$struct;
  my @list;
  while (@items) {
    my $item = shift @items;
    if ($item->[0] =~ /_ANON/) {
      if (defined $item->[2]) {
	push @items, map [
	  @$_[0, 1], "$item->[2]_$_->[2]", "$item->[2].$_->[2]",
	], @{ $structs{$item->[0]} };
      } else {
	push @items, @{ $structs{$item->[0]} };
      }
    } else {
      push @list, $item->[2];
    }
  }
  my $methods = (join '(...)>, C<', @list) . '(...)';

  my $pod = <<"EOF";
#
#=head2 Object and class methods for C<$name>/C<$ptrname>
#
#The principal Perl representation of a C object of type C<$name> is an
#object of class C<$ptrname> which is a reference to an integer
#representation of a C pointer.  To create such an object, one may use
#a combination
#
#  my \$buffer = $name->new();
#  my \$obj = \$buffer->_to_ptr();
#
#This exercises the following two methods, and an additional class
#C<$name>, the internal representation of which is a reference to a
#packed string with the C structure.  Keep in mind that \$buffer should
#better survive longer than \$obj.
#
#=over
#
#=item C<\$object_of_type_$name-E<gt>_to_ptr()>
#
#Converts an object of type C<$name> to an object of type C<$ptrname>.
#
#=item C<$name-E<gt>new()>
#
#Creates an empty object of type C<$name>.  The corresponding packed
#string is zeroed out.
#
#=item C<$methods>
#
#return the current value of the corresponding element if called
#without additional arguments.  Set the element to the supplied value
#(and return the new value) if called with an additional argument.
#
#Applicable to objects of type C<$ptrname>.
#
#=back
#
EOF
  $pod =~ s/^\#//gm;
  return $pod;
}

# Should be called before any actual call to normalize_type().
sub get_typemap {
  # We do not want to read ./typemap by obvios reasons.
  my @tm =  qw(../../../typemap ../../typemap ../typemap);
  my $stdtypemap =  "$Config::Config{privlib}/ExtUtils/typemap";
  unshift @tm, $stdtypemap;
  my $proto_re = "[" . quotemeta('\$%&*@;') . "]" ;

  # Start with useful default values
  $typemap{float} = 'T_NV';

  foreach my $typemap (@tm) {
    next unless -e $typemap ;
    # skip directories, binary files etc.
    warn " Scanning $typemap\n";
    warn("Warning: ignoring non-text typemap file '$typemap'\n"), next
      unless -T $typemap ;
    open(TYPEMAP, "<", $typemap)
      or warn ("Warning: could not open typemap file '$typemap': $!\n"), next;
    my $mode = 'Typemap';
    while (<TYPEMAP>) {
      next if /^\s*\#/;
      if (/^INPUT\s*$/)   { $mode = 'Input'; next; }
      elsif (/^OUTPUT\s*$/)  { $mode = 'Output'; next; }
      elsif (/^TYPEMAP\s*$/) { $mode = 'Typemap'; next; }
      elsif ($mode eq 'Typemap') {
	next if /^\s*($|\#)/ ;
	my ($type, $image);
	if ( ($type, $image) =
	     /^\s*(.*?\S)\s+(\S+)\s*($proto_re*)\s*$/o
	     # This may reference undefined functions:
	     and not ($image eq 'T_PACKED' and $typemap eq $stdtypemap)) {
	  $typemap{normalize_type($type)} = $image;
	}
      }
    }
    close(TYPEMAP) or die "Cannot close $typemap: $!";
  }
  %std_types = %types_seen;
  %types_seen = ();
}


sub normalize_type {		# Second arg: do not strip const's before \*
  my $type = shift;
  my $do_keep_deep_const = shift;
  # If $do_keep_deep_const this is heuristic only
  my $keep_deep_const = ($do_keep_deep_const ? '\b(?![^(,)]*\*)' : '');
  my $ignore_mods
    = "(?:\\b(?:(?:__const__|const)$keep_deep_const|static|inline|__inline__)\\b\\s*)*";
  if ($do_keep_deep_const) {	# Keep different compiled /RExen/o separately!
    $type =~ s/$ignore_mods//go;
  }
  else {
    $type =~ s/$ignore_mods//go;
  }
  $type =~ s/([^\s\w])/ $1 /g;
  $type =~ s/\s+$//;
  $type =~ s/^\s+//;
  $type =~ s/\s+/ /g;
  $type =~ s/\* (?=\*)/*/g;
  $type =~ s/\. \. \./.../g;
  $type =~ s/ ,/,/g;
  $types_seen{$type}++
    unless $type eq '...' or $type eq 'void' or $std_types{$type};
  $type;
}

my $need_opaque;

sub assign_typemap_entry {
  my $type = shift;
  my $otype = $type;
  my $entry;
  if ($tmask and $type =~ /$tmask/) {
    print "Type $type matches -o mask\n" if $opt_d;
    $entry = (td_is_struct($type) ? "T_OPAQUE_STRUCT" : "T_PTROBJ");
  }
  elsif ($typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) {
    $type = normalize_type $type;
    print "Type mutation via typedefs: $otype ==> $type\n" if $opt_d;
    $entry = assign_typemap_entry($type);
  }
  # XXX good do better if our UV happens to be long long
  return "T_NV" if $type =~ /^(unsigned\s+)?long\s+(long|double)\z/;
  $entry ||= $typemap{$otype}
    || (td_is_struct($type) ? "T_OPAQUE_STRUCT" : "T_PTROBJ");
  $typemap{$otype} = $entry;
  $need_opaque = 1 if $entry eq "T_OPAQUE_STRUCT";
  return $entry;
}

for (@vdecls) {
  print_tievar_xsubs(\*XS, $_, $vdecl_hash{$_});
}

if ($opt_x) {
  for my $decl (@$fdecls_parsed) { print_decl(\*XS, $decl) }
  if ($opt_a) {
    while (my($name, $struct) = each %structs) {
      print_accessors(\*XS, $name, $struct);
    }
  }
}

close XS;

if (%types_seen) {
  my $type;
  warn "Writing $ext$modpname/typemap\n";
  open TM, ">", "typemap" or die "Cannot open typemap file for write: $!";

  for $type (sort keys %types_seen) {
    my $entry = assign_typemap_entry $type;
    print TM $type, "\t" x (5 - int((length $type)/8)), "\t$entry\n"
  }

  print TM <<'EOP' if $need_opaque; # Older Perls do not have correct entry
#############################################################################
INPUT
T_OPAQUE_STRUCT
	if (sv_derived_from($arg, \"${ntype}\")) {
	    STRLEN len;
	    char  *s = SvPV((SV*)SvRV($arg), len);

	    if (len != sizeof($var))
		croak(\"Size %d of packed data != expected %d\",
			len, sizeof($var));
	    $var = *($type *)s;
	}
	else
	    croak(\"$var is not of type ${ntype}\")
#############################################################################
OUTPUT
T_OPAQUE_STRUCT
	sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
EOP

  close TM or die "Cannot close typemap file for write: $!";
}

} # if( ! $opt_X )

warn "Writing $ext$modpname/Makefile.PL\n";
open(PL, ">", "Makefile.PL") || die "Can't create $ext$modpname/Makefile.PL: $!\n";

my $prereq_pm = '';

if ( $compat_version < 5.006002 and $new_test )
{
  $prereq_pm .= q%'Test::More'  =>  0, %;
}
elsif ( $compat_version < 5.006002 )
{
  $prereq_pm .= q%'Test'        =>  0, %;
}

if (!$opt_X and $use_xsloader)
{
  $prereq_pm .= q%'XSLoader'    =>  0, %;
}

print PL <<"END";
use $compat_version;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
    NAME              => '$module',
    VERSION_FROM      => '$modpmname', # finds \$VERSION, requires EU::MM from perl >= 5.5
    PREREQ_PM         => {$prereq_pm}, # e.g., Module::Name => 1.1
    ABSTRACT_FROM     => '$modpmname', # retrieve abstract from module
    AUTHOR            => '$author <$email>',
    #LICENSE           => 'perl',
    #Value must be from legacy list of licenses here
    #http://search.cpan.org/perldoc?Module%3A%3ABuild%3A%3AAPI
END
if (!$opt_X) { # print C stuff, unless XS is disabled
  $opt_F = '' unless defined $opt_F;
  my $I = (((glob '*.h') || (glob '*.hh')) ? '-I.' : '');
  my $Ihelp = ($I ? '-I. ' : '');
  my $Icomment = ($I ? '' : <<EOC);
	# Insert -I. if you add *.h files later:
EOC

  print PL <<END;
    LIBS              => ['$extralibs'], # e.g., '-lm'
    DEFINE            => '$opt_F', # e.g., '-DHAVE_SOMETHING'
$Icomment    INC               => '$I', # e.g., '${Ihelp}-I/usr/include/other'
END

  my $C = grep {$_ ne "$modfname.c"}
    (glob '*.c'), (glob '*.cc'), (glob '*.C');
  my $Cpre = ($C ? '' : '# ');
  my $Ccomment = ($C ? '' : <<EOC);
	# Un-comment this if you add C files to link with later:
EOC

  print PL <<END;
$Ccomment    ${Cpre}OBJECT            => '\$(O_FILES)', # link all the C files too
END
} # ' # Grr
print PL ");\n";
if (!$opt_c) {
  my $generate_code =
    WriteMakefileSnippet ( C_FILE =>       $constscfname,
                           XS_FILE =>      $constsxsfname,
                           DEFAULT_TYPE => $opt_t,
                           NAME =>         $module,
                           NAMES =>        \@const_specs,
                 );
  print PL <<"END";
if  (eval {require ExtUtils::Constant; 1}) {
  # If you edit these definitions to change the constants used by this module,
  # you will need to use the generated $constscfname and $constsxsfname
  # files to replace their "fallback" counterparts before distributing your
  # changes.
$generate_code
}
else {
  use File::Copy;
  use File::Spec;
  foreach my \$file ('$constscfname', '$constsxsfname') {
    my \$fallback = File::Spec->catfile('$fallbackdirname', \$file);
    copy (\$fallback, \$file) or die "Can't copy \$fallback to \$file: \$!";
  }
}
END

  eval $generate_code;
  if ($@) {
    warn <<"EOM";
Attempting to test constant code in $ext$modpname/Makefile.PL:
$generate_code
__END__
gave unexpected error $@
Please report the circumstances of this bug in h2xs version $H2XS_VERSION
using the perlbug script.
EOM
  } else {
    my $fail;

    foreach my $file ($constscfname, $constsxsfname) {
      my $fallback = File::Spec->catfile($fallbackdirname, $file);
      if (compare($file, $fallback)) {
        warn << "EOM";
Files "$ext$modpname/$fallbackdirname/$file" and "$ext$modpname/$file" differ.
EOM
        $fail++;
      }
    }
    if ($fail) {
      warn fill ('','', <<"EOM") . "\n";
It appears that the code in $ext$modpname/Makefile.PL does not autogenerate
the files $ext$modpname/$constscfname and $ext$modpname/$constsxsfname
correctly.

Please report the circumstances of this bug in h2xs version $H2XS_VERSION
using the perlbug script.
EOM
    } else {
      unlink $constscfname, $constsxsfname;
    }
  }
}
close(PL) || die "Can't close $ext$modpname/Makefile.PL: $!\n";

# Create a simple README since this is a CPAN requirement
# and it doesn't hurt to have one
warn "Writing $ext$modpname/README\n";
open(RM, ">", "README") || die "Can't create $ext$modpname/README:$!\n";
my $thisyear = (gmtime)[5] + 1900;
my $rmhead = "$modpname version $TEMPLATE_VERSION";
my $rmheadeq = "=" x length($rmhead);

my $rm_prereq;

if ( $compat_version < 5.006002 and $new_test )
{
  $rm_prereq = 'Test::More';
}
elsif ( $compat_version < 5.006002 )
{
  $rm_prereq = 'Test';
}
else
{
  $rm_prereq = 'blah blah blah';
}

print RM <<_RMEND_;
$rmhead
$rmheadeq

The README is used to introduce the module and provide instructions on
how to install the module, any machine dependencies it may have (for
example C compilers and installed libraries) and any other information
that should be provided before the module is installed.

A README file is required for CPAN modules since CPAN extracts the
README file from a module distribution so that people browsing the
archive can use it get an idea of the modules uses. It is usually a
good idea to provide version information here so that people can
decide whether fixes for the module are worth downloading.

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

This module requires these other modules and libraries:

  $rm_prereq

COPYRIGHT AND LICENCE

Put the correct copyright and licence information here.

$licence

_RMEND_
close(RM) || die "Can't close $ext$modpname/README: $!\n";

my $testdir  = "t";
my $testfile = "$testdir/$modpname.t";
unless (-d "$testdir") {
  mkdir "$testdir" or die "Cannot mkdir $testdir: $!\n";
}
warn "Writing $ext$modpname/$testfile\n";
my $tests = @const_names ? 2 : 1;

open EX, ">", "$testfile" or die "Can't create $ext$modpname/$testfile: $!\n";

print EX <<_END_;
# Before 'make install' is performed this script should be runnable with
# 'make test'. After 'make install' it should work as 'perl $modpname.t'

#########################

# change 'tests => $tests' to 'tests => last_test_to_print';

use strict;
use warnings;

_END_

my $test_mod = 'Test::More';

if ( $old_test or ($compat_version < 5.006002 and not $new_test ))
{
  my $test_mod = 'Test';

  print EX <<_END_;
use Test;
BEGIN { plan tests => $tests };
use $module;
ok(1); # If we made it this far, we're ok.

_END_

   if (@const_names) {
     my $const_names = join " ", @const_names;
     print EX <<'_END_';

my $fail;
foreach my $constname (qw(
_END_

     print EX wrap ("\t", "\t", $const_names);
     print EX (")) {\n");

     print EX <<_END_;
  next if (eval "my \\\$a = \$constname; 1");
  if (\$\@ =~ /^Your vendor has not defined $module macro \$constname/) {
    print "# pass: \$\@";
  } else {
    print "# fail: \$\@";
    \$fail = 1;
  }
}
if (\$fail) {
  print "not ok 2\\n";
} else {
  print "ok 2\\n";
}

_END_
  }
}
else
{
  print EX <<_END_;
use Test::More tests => $tests;
BEGIN { use_ok('$module') };

_END_

   if (@const_names) {
     my $const_names = join " ", @const_names;
     print EX <<'_END_';

my $fail = 0;
foreach my $constname (qw(
_END_

     print EX wrap ("\t", "\t", $const_names);
     print EX (")) {\n");

     print EX <<_END_;
  next if (eval "my \\\$a = \$constname; 1");
  if (\$\@ =~ /^Your vendor has not defined $module macro \$constname/) {
    print "# pass: \$\@";
  } else {
    print "# fail: \$\@";
    \$fail = 1;
  }

}

ok( \$fail == 0 , 'Constants' );
_END_
  }
}

print EX <<_END_;
#########################

# Insert your test code below, the $test_mod module is use()ed here so read
# its man page ( perldoc $test_mod ) for help writing this test script.

_END_

close(EX) || die "Can't close $ext$modpname/$testfile: $!\n";

unless ($opt_C) {
  warn "Writing $ext$modpname/Changes\n";
  $" = ' ';
  open(EX, ">", "Changes") || die "Can't create $ext$modpname/Changes: $!\n";
  @ARGS = map {/[\s\"\'\`\$*?^|&<>\[\]\{\}\(\)]/ ? "'$_'" : $_} @ARGS;
  print EX <<EOP;
Revision history for Perl extension $module.

$TEMPLATE_VERSION  @{[scalar localtime]}
\t- original version; created by h2xs $H2XS_VERSION with options
\t\t@ARGS

EOP
  close(EX) || die "Can't close $ext$modpname/Changes: $!\n";
}

warn "Writing $ext$modpname/MANIFEST\n";
open(MANI, '>', 'MANIFEST') or die "Can't create MANIFEST: $!";
my @files = grep { -f } (<*>, <t/*>, <$fallbackdirname/*>, <$modpmdir/*>);
if (!@files) {
  eval {opendir(D,'.');};
  unless ($@) { @files = readdir(D); closedir(D); }
}
if (!@files) { @files = map {chomp && $_} `ls`; }
if ($^O eq 'VMS') {
  foreach (@files) {
    # Clip trailing '.' for portability -- non-VMS OSs don't expect it
    s%\.$%%;
    # Fix up for case-sensitive file systems
    s/$modfname/$modfname/i && next;
    $_ = "\U$_" if $_ eq 'manifest' or $_ eq 'changes';
    $_ = 'Makefile.PL' if $_ eq 'makefile.pl';
  }
}
print MANI join("\n",@files), "\n";
close MANI;
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
July 01 2024 06:14:58
root / root
0755
X11
--
July 01 2024 06:14:58
root / root
0755
2to3-2.7
0.094 KB
March 23 2024 18:55:36
root / root
0755
[
58.656 KB
February 28 2019 15:30:31
root / root
0755
aa-enabled
30.211 KB
March 30 2019 13:23:11
root / root
0755
aa-exec
30.211 KB
March 30 2019 13:23:11
root / root
0755
add-apt-repository
6.207 KB
March 30 2019 19:45:34
root / root
0755
addpart
26.078 KB
April 06 2024 22:33:55
root / root
0755
addr2line
31.094 KB
March 21 2019 14:49:23
root / root
0755
apropos
54.977 KB
February 01 2024 13:35:20
root / root
0755
apt
18.086 KB
April 19 2021 16:41:13
root / root
0755
apt-add-repository
6.207 KB
March 30 2019 19:45:34
root / root
0755
apt-cache
82.156 KB
April 19 2021 16:41:13
root / root
0755
apt-cdrom
26.156 KB
April 19 2021 16:41:13
root / root
0755
apt-config
26.086 KB
April 19 2021 16:41:13
root / root
0755
apt-extracttemplates
22.156 KB
April 19 2021 16:41:13
root / root
0755
apt-ftparchive
238.156 KB
April 19 2021 16:41:13
root / root
0755
apt-get
46.156 KB
April 19 2021 16:41:13
root / root
0755
apt-key
27.08 KB
April 19 2021 16:41:13
root / root
0755
apt-listchanges
10.613 KB
March 17 2019 22:48:06
root / root
0755
apt-mark
54.156 KB
April 19 2021 16:41:13
root / root
0755
apt-sortpkgs
46.086 KB
April 19 2021 16:41:13
root / root
0755
ar
63.07 KB
March 21 2019 14:49:23
root / root
0755
arch
38.656 KB
February 28 2019 15:30:31
root / root
0755
as
872.93 KB
March 21 2019 14:49:23
root / root
0755
at
54.258 KB
July 24 2018 09:17:21
daemon / daemon
6755
atq
54.258 KB
July 24 2018 09:17:21
daemon / daemon
6755
atrm
54.258 KB
July 24 2018 09:17:21
daemon / daemon
6755
autoconf
14.422 KB
August 20 2017 18:17:16
root / root
0755
autoheader
8.336 KB
August 20 2017 18:17:16
root / root
0755
autom4te
31.905 KB
August 20 2017 18:17:16
root / root
0755
autoreconf
20.667 KB
August 20 2017 18:17:16
root / root
0755
autoscan
16.73 KB
August 20 2017 18:17:16
root / root
0755
autoupdate
33.08 KB
August 20 2017 18:17:16
root / root
0755
awk
119.117 KB
March 23 2012 20:15:00
root / root
0755
aws
0.796 KB
February 27 2019 07:44:49
root / root
0755
aws_completer
1.109 KB
February 27 2019 07:44:49
root / root
0755
b2sum
58.781 KB
February 28 2019 15:30:31
root / root
0755
base32
42.688 KB
February 28 2019 15:30:31
root / root
0755
base64
42.688 KB
February 28 2019 15:30:31
root / root
0755
basename
38.594 KB
February 28 2019 15:30:31
root / root
0755
bash
1.11 MB
April 18 2019 04:12:36
root / root
0755
bashbug
6.634 KB
April 18 2019 04:12:36
root / root
0755
batch
0.148 KB
July 24 2018 09:17:21
root / root
0755
bootctl
46.234 KB
June 29 2023 13:57:02
root / root
0755
bsd-from
10.242 KB
May 04 2018 12:24:31
root / root
0755
bsd-write
14.391 KB
May 04 2018 12:24:31
root / tty
2755
bunzip2
38.07 KB
July 21 2020 08:36:47
root / root
0755
busctl
78.188 KB
June 29 2023 13:57:02
root / root
0755
bzcat
38.07 KB
July 21 2020 08:36:47
root / root
0755
bzcmp
2.173 KB
July 21 2020 08:36:47
root / root
0755
bzdiff
2.173 KB
July 21 2020 08:36:47
root / root
0755
bzegrep
3.556 KB
July 21 2020 08:36:47
root / root
0755
bzexe
4.763 KB
June 24 2019 20:16:40
root / root
0755
bzfgrep
3.556 KB
July 21 2020 08:36:47
root / root
0755
bzgrep
3.556 KB
July 21 2020 08:36:47
root / root
0755
bzip2
38.07 KB
July 21 2020 08:36:47
root / root
0755
bzip2recover
13.992 KB
July 21 2020 08:36:47
root / root
0755
bzless
1.267 KB
July 21 2020 08:36:47
root / root
0755
bzmore
1.267 KB
July 21 2020 08:36:47
root / root
0755
c++
1.05 MB
April 06 2019 14:44:55
root / root
0755
c++filt
30.688 KB
March 21 2019 14:49:23
root / root
0755
c89
0.418 KB
June 12 2013 21:03:20
root / root
0755
c89-gcc
0.418 KB
June 12 2013 21:03:20
root / root
0755
c99
0.443 KB
June 12 2013 21:03:20
root / root
0755
c99-gcc
0.443 KB
June 12 2013 21:03:20
root / root
0755
c_rehash
6.13 KB
August 15 2023 19:14:44
root / root
0755
cal
29.148 KB
May 04 2018 12:24:31
root / root
0755
calendar
31.148 KB
May 04 2018 12:24:31
root / root
0755
captoinfo
86.109 KB
December 03 2023 15:31:37
root / root
0755
cat
42.719 KB
February 28 2019 15:30:31
root / root
0755
catchsegv
3.226 KB
June 29 2024 10:27:34
root / root
0755
catman
38.461 KB
February 01 2024 13:35:20
root / root
0755
cc
1.05 MB
April 06 2019 14:44:55
root / root
0755
certbot
0.376 KB
December 05 2020 02:33:11
root / root
0755
chacl
13.992 KB
March 01 2019 22:22:21
root / root
0755
chage
70.133 KB
July 27 2018 08:07:37
root / shadow
2755
chardet
0.38 KB
January 22 2019 00:46:22
root / root
0755
chardet3
0.38 KB
January 22 2019 00:46:22
root / root
0755
chardetect
0.38 KB
January 22 2019 00:46:22
root / root
0755
chardetect3
0.38 KB
January 22 2019 00:46:22
root / root
0755
chattr
14 KB
January 10 2020 01:19:57
root / root
0755
chcon
62.906 KB
February 28 2019 15:30:31
root / root
0755
chfn
52.828 KB
July 27 2018 08:07:37
root / root
4755
chgrp
62.813 KB
February 28 2019 15:30:31
root / root
0755
chmod
62.781 KB
February 28 2019 15:30:31
root / root
0755
choom
50.078 KB
April 06 2024 22:33:55
root / root
0755
chown
70.813 KB
February 28 2019 15:30:31
root / root
0755
chronyc
83.016 KB
March 15 2022 12:45:14
root / root
0755
chrt
34.078 KB
April 06 2024 22:33:55
root / root
0755
chsh
43.484 KB
July 27 2018 08:07:37
root / root
4755
cksum
38.625 KB
February 28 2019 15:30:31
root / root
0755
clear
14 KB
December 03 2023 15:31:37
root / root
0755
clear_console
14.305 KB
April 18 2019 04:12:36
root / root
0755
cloud-id
0.381 KB
March 19 2021 16:43:23
root / root
0755
cloud-init
0.385 KB
March 19 2021 16:43:23
root / root
0755
cloud-init-per
2.059 KB
April 29 2020 22:17:14
root / root
0755
cloud-localds
7.232 KB
July 21 2016 18:23:53
root / root
0755
cmp
50.641 KB
April 08 2019 12:04:00
root / root
0755
col
10.227 KB
May 04 2018 12:24:31
root / root
0755
colcrt
10.195 KB
May 04 2018 12:24:31
root / root
0755
colrm
10.188 KB
May 04 2018 12:24:31
root / root
0755
column
10.336 KB
May 04 2018 12:24:31
root / root
0755
comm
42.688 KB
February 28 2019 15:30:31
root / root
0755
compose
17.735 KB
February 09 2019 12:32:33
root / root
0755
corelist
14.734 KB
July 21 2020 19:27:00
root / root
0755
cp
143.438 KB
February 28 2019 15:30:31
root / root
0755
cpan
7.965 KB
July 21 2020 19:27:00
root / root
0755
cpan5.28-x86_64-linux-gnu
7.985 KB
July 21 2020 19:27:00
root / root
0755
cpio
154.609 KB
June 04 2023 15:01:54
root / root
0755
cpp
1.05 MB
April 06 2019 14:44:55
root / root
0755
cpp-8
1.05 MB
April 06 2019 14:44:55
root / root
0755
crontab
42.547 KB
October 11 2019 07:58:52
root / crontab
2755
csplit
54.844 KB
February 28 2019 15:30:31
root / root
0755
ctstat
22.742 KB
December 03 2020 18:42:49
root / root
0755
curl
226.07 KB
January 28 2024 21:15:21
root / root
0755
cut
42.75 KB
February 28 2019 15:30:31
root / root
0755
cvtsudoers
250.289 KB
January 21 2024 20:52:36
root / root
0755
dash
118.617 KB
January 17 2019 19:08:32
root / root
0755
date
106.844 KB
February 28 2019 15:30:31
root / root
0755
dbus-cleanup-sockets
13.984 KB
October 23 2023 08:29:25
root / root
0755
dbus-daemon
235.039 KB
October 23 2023 08:29:25
root / root
0755
dbus-monitor
25.992 KB
October 23 2023 08:29:25
root / root
0755
dbus-run-session
13.984 KB
October 23 2023 08:29:25
root / root
0755
dbus-send
29.984 KB
October 23 2023 08:29:25
root / root
0755
dbus-update-activation-environment
13.984 KB
October 23 2023 08:29:25
root / root
0755
dbus-uuidgen
13.984 KB
October 23 2023 08:29:25
root / root
0755
dd
74.914 KB
February 28 2019 15:30:31
root / root
0755
deb-systemd-helper
20.828 KB
November 21 2018 23:15:24
root / root
0755
deb-systemd-invoke
4.326 KB
November 21 2018 23:15:24
root / root
0755
debconf
2.792 KB
October 01 2021 09:39:27
root / root
0755
debconf-apt-progress
11.271 KB
October 01 2021 09:39:27
root / root
0755
debconf-communicate
0.594 KB
October 01 2021 09:39:27
root / root
0755
debconf-copydb
1.679 KB
October 01 2021 09:39:27
root / root
0755
debconf-escape
0.632 KB
October 01 2021 09:39:27
root / root
0755
debconf-set-selections
2.866 KB
October 01 2021 09:39:27
root / root
0755
debconf-show
1.784 KB
October 01 2021 09:39:27
root / root
0755
debianbts
0.403 KB
December 31 2018 14:34:02
root / root
0755
delpart
26.078 KB
April 06 2024 22:33:55
root / root
0755
delv
44.828 KB
May 17 2024 15:43:53
root / root
0755
devdump
167.977 KB
July 21 2014 23:56:34
root / root
0755
df
91.547 KB
February 28 2019 15:30:31
root / root
0755
dh_autotools-dev_restoreconfig
1.793 KB
February 24 2018 16:00:57
root / root
0755
dh_autotools-dev_updateconfig
1.806 KB
February 24 2018 16:00:57
root / root
0755
dh_bash-completion
2.389 KB
February 11 2019 23:36:02
root / root
0755
dh_installxmlcatalogs
9.223 KB
February 27 2019 00:18:49
root / root
0755
dh_python2
1.031 KB
March 04 2019 15:48:56
root / root
0755
diff
215.281 KB
April 08 2019 12:04:00
root / root
0755
diff3
66.844 KB
April 08 2019 12:04:00
root / root
0755
dig
146.508 KB
May 17 2024 15:43:53
root / root
0755
dir
135.602 KB
February 28 2019 15:30:31
root / root
0755
dircolors
46.664 KB
February 28 2019 15:30:31
root / root
0755
dirname
34.594 KB
February 28 2019 15:30:31
root / root
0755
dirsplit
16.741 KB
November 25 2006 23:13:29
root / root
0755
dmesg
82.313 KB
April 06 2024 22:33:55
root / root
0755
dnsdomainname
26.07 KB
September 27 2018 08:45:17
root / root
0755
dnstap-read
18.008 KB
May 17 2024 15:43:53
root / root
0755
domainname
26.07 KB
September 27 2018 08:45:17
root / root
0755
dpkg
298.531 KB
May 24 2022 11:40:09
root / root
0755
dpkg-architecture
12.551 KB
May 24 2022 11:40:09
root / root
0755
dpkg-buildflags
7.388 KB
May 24 2022 11:40:09
root / root
0755
dpkg-buildpackage
29.893 KB
May 24 2022 11:40:09
root / root
0755
dpkg-checkbuilddeps
7.445 KB
May 24 2022 11:40:09
root / root
0755
dpkg-deb
162.383 KB
May 24 2022 11:40:09
root / root
0755
dpkg-distaddfile
2.717 KB
May 24 2022 11:40:09
root / root
0755
dpkg-divert
150.438 KB
May 24 2022 11:40:09
root / root
0755
dpkg-genbuildinfo
16.401 KB
May 24 2022 11:40:09
root / root
0755
dpkg-genchanges
17.082 KB
May 24 2022 11:40:09
root / root
0755
dpkg-gencontrol
13.823 KB
May 24 2022 11:40:09
root / root
0755
dpkg-gensymbols
10.646 KB
May 24 2022 11:40:09
root / root
0755
dpkg-maintscript-helper
20.033 KB
May 24 2022 11:40:09
root / root
0755
dpkg-mergechangelogs
8.347 KB
May 24 2022 11:40:09
root / root
0755
dpkg-name
6.63 KB
May 24 2022 11:40:09
root / root
0755
dpkg-parsechangelog
4.46 KB
May 24 2022 11:40:09
root / root
0755
dpkg-query
158.43 KB
May 24 2022 11:40:09
root / root
0755
dpkg-scanpackages
8.494 KB
May 24 2022 11:40:09
root / root
0755
dpkg-scansources
8.952 KB
May 24 2022 11:40:09
root / root
0755
dpkg-shlibdeps
30.68 KB
May 24 2022 11:40:09
root / root
0755
dpkg-source
22.482 KB
May 24 2022 11:40:09
root / root
0755
dpkg-split
122.336 KB
May 24 2022 11:40:09
root / root
0755
dpkg-statoverride
62.117 KB
May 24 2022 11:40:09
root / root
0755
dpkg-trigger
78.336 KB
May 24 2022 11:40:09
root / root
0755
dpkg-vendor
3.186 KB
May 24 2022 11:40:09
root / root
0755
du
107.094 KB
February 28 2019 15:30:31
root / root
0755
dwp
2.74 MB
March 21 2019 14:49:23
root / root
0755
ec2metadata
7.126 KB
July 21 2016 18:23:53
root / root
0755
echo
38.594 KB
February 28 2019 15:30:31
root / root
0755
edit
17.735 KB
February 09 2019 12:32:33
root / root
0755
editor
240.391 KB
June 11 2024 18:30:35
root / root
0755
egrep
0.027 KB
January 07 2019 15:04:36
root / root
0755
elfedit
38.836 KB
March 21 2019 14:49:23
root / root
0755
enc2xs
41.124 KB
July 21 2020 19:27:00
root / root
0755
encguess
2.994 KB
July 21 2020 19:27:00
root / root
0755
env
42.656 KB
February 28 2019 15:30:31
root / root
0755
envsubst
42.641 KB
November 10 2018 17:34:46
root / root
0755
eqn
201.188 KB
March 19 2021 10:36:25
root / root
0755
ex
2.58 MB
September 27 2023 19:47:00
root / root
0755
expand
42.688 KB
February 28 2019 15:30:31
root / root
0755
expiry
30.273 KB
July 27 2018 08:07:37
root / shadow
2755
expr
50.719 KB
February 28 2019 15:30:31
root / root
0755
factor
74.75 KB
February 28 2019 15:30:31
root / root
0755
faillog
22.289 KB
July 27 2018 08:07:37
root / root
0755
fallocate
30.078 KB
April 06 2024 22:33:55
root / root
0755
false
34.594 KB
February 28 2019 15:30:31
root / root
0755
fgrep
0.027 KB
January 07 2019 15:04:36
root / root
0755
filan
83.781 KB
November 19 2017 13:56:10
root / root
0755
file
26.313 KB
January 25 2021 21:40:17
root / root
0755
fincore
30.125 KB
April 06 2024 22:33:55
root / root
0755
find
308.5 KB
February 16 2019 12:14:53
root / root
0755
findmnt
67.266 KB
April 06 2024 22:33:55
root / root
0755
flock
34.156 KB
April 06 2024 22:33:55
root / root
0755
fmt
42.656 KB
February 28 2019 15:30:31
root / root
0755
fold
38.656 KB
February 28 2019 15:30:31
root / root
0755
free
18.078 KB
May 31 2018 09:42:46
root / root
0755
from
10.242 KB
May 04 2018 12:24:31
root / root
0755
funzip
22.258 KB
September 22 2022 16:25:09
root / root
0755
fuser
39.625 KB
August 16 2021 09:17:53
root / root
0755
futurize
0.375 KB
January 30 2019 20:47:52
root / root
0755
g++
1.05 MB
April 06 2019 14:44:55
root / root
0755
g++-8
1.05 MB
April 06 2019 14:44:55
root / root
0755
gapplication
22.07 KB
May 10 2024 14:33:34
root / root
0755
gcc
1.05 MB
April 06 2019 14:44:55
root / root
0755
gcc-8
1.05 MB
April 06 2019 14:44:55
root / root
0755
gcc-ar
34.469 KB
April 06 2019 14:44:55
root / root
0755
gcc-ar-8
34.469 KB
April 06 2019 14:44:55
root / root
0755
gcc-nm
34.469 KB
April 06 2019 14:44:55
root / root
0755
gcc-nm-8
34.469 KB
April 06 2019 14:44:55
root / root
0755
gcc-ranlib
34.469 KB
April 06 2019 14:44:55
root / root
0755
gcc-ranlib-8
34.469 KB
April 06 2019 14:44:55
root / root
0755
gcov
672.086 KB
April 06 2019 14:44:55
root / root
0755
gcov-8
672.086 KB
April 06 2019 14:44:55
root / root
0755
gcov-dump
511.953 KB
April 06 2019 14:44:55
root / root
0755
gcov-dump-8
511.953 KB
April 06 2019 14:44:55
root / root
0755
gcov-tool
548.016 KB
April 06 2019 14:44:55
root / root
0755
gcov-tool-8
548.016 KB
April 06 2019 14:44:55
root / root
0755
gdbus
50.078 KB
May 10 2024 14:33:34
root / root
0755
gencat
26.602 KB
June 29 2024 10:27:34
root / root
0755
genisoimage
619.008 KB
July 21 2014 23:56:34
root / root
0755
geqn
201.188 KB
March 19 2021 10:36:25
root / root
0755
getconf
34.367 KB
June 29 2024 10:27:34
root / root
0755
geteltorito
6.064 KB
July 21 2014 23:56:34
root / root
0755
getent
35.344 KB
June 29 2024 10:27:34
root / root
0755
getfacl
30.617 KB
March 01 2019 22:22:21
root / root
0755
getopt
22.07 KB
April 06 2024 22:33:55
root / root
0755
gettext
42.617 KB
November 10 2018 17:34:46
root / root
0755
gettext.sh
4.521 KB
November 10 2018 17:34:46
root / root
0755
gio
86.086 KB
May 10 2024 14:33:34
root / root
0755
gio-querymodules
13.992 KB
May 10 2024 14:33:34
root / root
0755
glib-compile-schemas
46.07 KB
May 10 2024 14:33:34
root / root
0755
gold
2.97 MB
March 21 2019 14:49:23
root / root
0755
gonit
8.52 MB
May 18 2021 09:22:15
root / root
0755
gpasswd
82.047 KB
July 27 2018 08:07:37
root / root
4755
gpgv
434.992 KB
July 01 2022 16:06:43
root / root
0755
gpic
208.031 KB
March 19 2021 10:36:25
root / root
0755
gprof
96.391 KB
March 21 2019 14:49:23
root / root
0755
grep
194.313 KB
January 07 2019 15:04:36
root / root
0755
gresource
21.992 KB
May 10 2024 14:33:34
root / root
0755
groff
117.219 KB
March 19 2021 10:36:25
root / root
0755
grog
2.711 KB
March 19 2021 10:36:25
root / root
0755
grops
177.625 KB
March 19 2021 10:36:25
root / root
0755
grotty
129.25 KB
March 19 2021 10:36:25
root / root
0755
groups
38.656 KB
February 28 2019 15:30:31
root / root
0755
growpart
20.926 KB
July 21 2016 18:23:53
root / root
0755
grub-editenv
369.961 KB
October 02 2023 14:11:34
root / root
0755
grub-file
801.211 KB
October 02 2023 14:11:34
root / root
0755
grub-fstest
922.898 KB
October 02 2023 14:11:34
root / root
0755
grub-glue-efi
244.773 KB
October 02 2023 14:11:34
root / root
0755
grub-kbdcomp
1.642 KB
October 02 2023 14:11:34
root / root
0755
grub-menulst2cfg
228.852 KB
October 02 2023 14:11:34
root / root
0755
grub-mkfont
269.461 KB
October 02 2023 14:11:34
root / root
0755
grub-mkimage
349.961 KB
October 02 2023 14:11:34
root / root
0755
grub-mklayout
249.086 KB
October 02 2023 14:11:34
root / root
0755
grub-mknetdir
402.758 KB
October 02 2023 14:11:34
root / root
0755
grub-mkpasswd-pbkdf2
249.148 KB
October 02 2023 14:11:34
root / root
0755
grub-mkrelpath
240.492 KB
October 02 2023 14:11:34
root / root
0755
grub-mkrescue
979.633 KB
October 02 2023 14:11:34
root / root
0755
grub-mkstandalone
487.086 KB
October 02 2023 14:11:34
root / root
0755
grub-mount
745.852 KB
October 02 2023 14:11:34
root / root
0755
grub-render-label
817.773 KB
October 02 2023 14:11:34
root / root
0755
grub-script-check
264.617 KB
October 02 2023 14:11:34
root / root
0755
grub-syslinux2cfg
766.289 KB
October 02 2023 14:11:34
root / root
0755
gsettings
30.07 KB
May 10 2024 14:33:34
root / root
0755
gtbl
138.195 KB
March 19 2021 10:36:25
root / root
0755
gunzip
2.29 KB
April 15 2022 18:16:55
root / root
0755
gzexe
6.295 KB
April 15 2022 18:16:55
root / root
0755
gzip
95.75 KB
April 15 2022 18:16:55
root / root
0755
h2ph
28.539 KB
July 21 2020 19:27:00
root / root
0755
h2xs
59.439 KB
July 21 2020 19:27:00
root / root
0755
hd
26.547 KB
May 04 2018 12:24:31
root / root
0755
head
46.719 KB
February 28 2019 15:30:31
root / root
0755
helpztags
2.455 KB
September 27 2023 19:35:23
root / root
0755
hexdump
26.547 KB
May 04 2018 12:24:31
root / root
0755
host
126.633 KB
May 17 2024 15:43:53
root / root
0755
hostid
34.594 KB
February 28 2019 15:30:31
root / root
0755
hostname
26.07 KB
September 27 2018 08:45:17
root / root
0755
hostnamectl
26.07 KB
June 29 2023 13:57:02
root / root
0755
i386
22.344 KB
April 06 2024 22:33:55
root / root
0755
iconv
59.008 KB
June 29 2024 10:27:34
root / root
0755
id
42.781 KB
February 28 2019 15:30:31
root / root
0755
ifnames
4.033 KB
August 20 2017 18:17:16
root / root
0755
infocmp
62.07 KB
December 03 2023 15:31:37
root / root
0755
infotocap
86.109 KB
December 03 2023 15:31:37
root / root
0755
install
151.602 KB
February 28 2019 15:30:31
root / root
0755
instmodsh
4.268 KB
July 21 2020 19:27:00
root / root
0755
ionice
30.078 KB
April 06 2024 22:33:55
root / root
0755
ip
574.727 KB
December 03 2020 18:42:49
root / root
0755
ipcmk
30.141 KB
April 06 2024 22:33:55
root / root
0755
ipcrm
30.078 KB
April 06 2024 22:33:55
root / root
0755
ipcs
66.078 KB
April 06 2024 22:33:55
root / root
0755
iptables-xml
100.68 KB
March 01 2019 12:28:35
root / root
0755
ischroot
14.234 KB
January 21 2019 21:12:11
root / root
0755
isodump
167.977 KB
July 21 2014 23:56:34
root / root
0755
isoinfo
335.227 KB
July 21 2014 23:56:34
root / root
0755
isovfy
167.945 KB
July 21 2014 23:56:34
root / root
0755
join
50.75 KB
February 28 2019 15:30:31
root / root
0755
journalctl
66.086 KB
June 29 2023 13:57:02
root / root
0755
json_pp
4.276 KB
July 21 2020 19:27:00
root / root
0755
jsondiff
0.994 KB
March 03 2018 21:11:27
root / root
0755
jsonpatch
3.575 KB
March 03 2018 21:11:27
root / root
0755
jsonpointer
1.311 KB
April 30 2016 22:01:28
root / root
0755
jsonschema
0.389 KB
September 07 2018 07:03:51
root / root
0755
kernel-install
4.53 KB
February 14 2019 10:11:58
root / root
0755
kill
26.078 KB
May 31 2018 09:42:46
root / root
0755
killall
31.719 KB
August 16 2021 09:17:53
root / root
0755
kmod
162.18 KB
February 09 2019 23:00:31
root / root
0755
last
46.078 KB
April 06 2024 22:33:55
root / root
0755
lastb
46.078 KB
April 06 2024 22:33:55
root / root
0755
lastlog
22.07 KB
July 27 2018 08:07:37
root / root
0755
lcf
7.604 KB
December 14 2018 08:51:14
root / root
0755
ld
1.7 MB
March 21 2019 14:49:23
root / root
0755
ld.bfd
1.7 MB
March 21 2019 14:49:23
root / root
0755
ld.gold
2.97 MB
March 21 2019 14:49:23
root / root
0755
ldd
5.27 KB
June 29 2024 10:27:34
root / root
0755
less
166.758 KB
May 27 2024 17:20:40
root / root
0755
lessecho
14.016 KB
May 27 2024 17:20:40
root / root
0755
lessfile
8.363 KB
May 27 2024 17:20:40
root / root
0755
lesskey
23.391 KB
May 27 2024 17:20:40
root / root
0755
lesspipe
8.363 KB
May 27 2024 17:20:40
root / root
0755
letsencrypt
0.376 KB
December 05 2020 02:33:11
root / root
0755
lexgrog
94.57 KB
February 01 2024 13:35:20
root / root
0755
lft
2.435 KB
August 29 2016 15:45:51
root / root
0755
lft.db
2.435 KB
August 29 2016 15:45:51
root / root
0755
libnetcfg
15.405 KB
July 21 2020 19:27:00
root / root
0755
libtoolize
128.258 KB
January 28 2019 09:07:40
root / root
0755
link
34.594 KB
February 28 2019 15:30:31
root / root
0755
linux-check-removal
4.564 KB
September 05 2018 17:52:35
root / root
0755
linux-update-symlinks
6.172 KB
June 05 2016 01:13:24
root / root
0755
linux-version
2.633 KB
August 11 2015 15:45:25
root / root
0755
linux32
22.344 KB
April 06 2024 22:33:55
root / root
0755
linux64
22.344 KB
April 06 2024 22:33:55
root / root
0755
ln
66.945 KB
February 28 2019 15:30:31
root / root
0755
lnstat
22.742 KB
December 03 2020 18:42:49
root / root
0755
locale
54.039 KB
June 29 2024 10:27:34
root / root
0755
localectl
26.07 KB
June 29 2023 13:57:02
root / root
0755
localedef
299.75 KB
June 29 2024 10:27:34
root / root
0755
logger
46.672 KB
April 06 2024 22:33:55
root / root
0755
login
55.43 KB
July 27 2018 08:07:37
root / root
0755
loginctl
54.18 KB
June 29 2023 13:57:02
root / root
0755
logname
34.594 KB
February 28 2019 15:30:31
root / root
0755
look
10.492 KB
May 04 2018 12:24:31
root / root
0755
lorder
2.817 KB
May 04 2018 12:24:31
root / root
0755
ls
135.602 KB
February 28 2019 15:30:31
root / root
0755
lsattr
14 KB
January 10 2020 01:19:57
root / root
0755
lsb_release
3.553 KB
May 14 2019 06:50:39
root / root
0755
lsblk
106.078 KB
April 06 2024 22:33:55
root / root
0755
lscpu
86.078 KB
April 06 2024 22:33:55
root / root
0755
lsinitramfs
0.689 KB
February 06 2019 03:55:08
root / root
0755
lsipc
90.078 KB
April 06 2024 22:33:55
root / root
0755
lslocks
34.406 KB
April 06 2024 22:33:55
root / root
0755
lslogins
66.078 KB
April 06 2024 22:33:55
root / root
0755
lsmem
62.078 KB
April 06 2024 22:33:55
root / root
0755
lsmod
162.18 KB
February 09 2019 23:00:31
root / root
0755
lsns
50.078 KB
April 06 2024 22:33:55
root / root
0755
lspci
80.313 KB
November 30 2016 06:53:07
root / root
0755
lzcat
79.289 KB
April 11 2022 14:51:17
root / root
0755
lzcmp
6.477 KB
April 11 2022 14:51:17
root / root
0755
lzdiff
6.477 KB
April 11 2022 14:51:17
root / root
0755
lzegrep
5.764 KB
April 11 2022 14:51:17
root / root
0755
lzfgrep
5.764 KB
April 11 2022 14:51:17
root / root
0755
lzgrep
5.764 KB
April 11 2022 14:51:17
root / root
0755
lzless
1.76 KB
April 11 2022 14:51:17
root / root
0755
lzma
79.289 KB
April 11 2022 14:51:17
root / root
0755
lzmainfo
14.313 KB
April 11 2022 14:51:17
root / root
0755
lzmore
2.11 KB
April 11 2022 14:51:17
root / root
0755
m4
159.18 KB
December 01 2018 14:46:54
root / root
0755
make
226.594 KB
July 28 2018 10:07:31
root / root
0755
make-first-existing-target
4.79 KB
July 28 2018 10:07:31
root / root
0755
man
112.5 KB
February 01 2024 13:35:20
root / root
0755
mandb
134.719 KB
February 01 2024 13:35:20
root / root
0755
manpath
34.469 KB
February 01 2024 13:35:20
root / root
0755
mawk
119.117 KB
March 23 2012 20:15:00
root / root
0755
mcookie
34.141 KB
April 06 2024 22:33:55
root / root
0755
md5sum
46.719 KB
February 28 2019 15:30:31
root / root
0755
md5sum.textutils
46.719 KB
February 28 2019 15:30:31
root / root
0755
mdig
46.094 KB
May 17 2024 15:43:53
root / root
0755
mesg
14.07 KB
April 06 2024 22:33:55
root / root
0755
mkdir
87 KB
February 28 2019 15:30:31
root / root
0755
mkfifo
62.906 KB
February 28 2019 15:30:31
root / root
0755
mknod
66.938 KB
February 28 2019 15:30:31
root / root
0755
mktemp
42.781 KB
February 28 2019 15:30:31
root / root
0755
mkzftree
22.68 KB
July 21 2014 23:56:34
root / root
0755
monit
8.52 MB
May 18 2021 09:22:15
root / root
0755
more
42 KB
April 06 2024 22:33:55
root / root
0755
mount
46.078 KB
April 06 2024 22:33:55
root / root
4755
mount-image-callback
11.244 KB
July 21 2016 18:23:53
root / root
0755
mountpoint
14.07 KB
April 06 2024 22:33:55
root / root
0755
mt
83.32 KB
June 04 2023 15:01:54
root / root
0755
mt-gnu
83.32 KB
June 04 2023 15:01:54
root / root
0755
mtrace
6.318 KB
June 29 2024 10:27:34
root / root
0755
mv
135.477 KB
February 28 2019 15:30:31
root / root
0755
namei
34.078 KB
April 06 2024 22:33:55
root / root
0755
nano
240.391 KB
June 11 2024 18:30:35
root / root
0755
nawk
119.117 KB
March 23 2012 20:15:00
root / root
0755
nc
42.484 KB
February 12 2019 11:31:51
root / root
0755
nc.openbsd
42.484 KB
February 12 2019 11:31:51
root / root
0755
ncal
29.148 KB
May 04 2018 12:24:31
root / root
0755
neqn
0.892 KB
March 19 2021 10:36:25
root / root
0755
netcat
42.484 KB
February 12 2019 11:31:51
root / root
0755
netstat
151.461 KB
September 24 2018 19:08:57
root / root
0755
networkctl
46.07 KB
June 29 2023 13:57:02
root / root
0755
newgrp
43.398 KB
July 27 2018 08:07:37
root / root
4755
ngettext
42.633 KB
November 10 2018 17:34:46
root / root
0755
nice
38.625 KB
February 28 2019 15:30:31
root / root
0755
nisdomainname
26.07 KB
September 27 2018 08:45:17
root / root
0755
nl
42.781 KB
February 28 2019 15:30:31
root / root
0755
nm
47.906 KB
March 21 2019 14:49:23
root / root
0755
nohup
38.656 KB
February 28 2019 15:30:31
root / root
0755
nproc
38.656 KB
February 28 2019 15:30:31
root / root
0755
nroff
3.216 KB
March 19 2021 10:36:25
root / root
0755
nsenter
34.281 KB
April 06 2024 22:33:55
root / root
0755
nslookup
134.508 KB
May 17 2024 15:43:53
root / root
0755
nstat
79.141 KB
December 03 2020 18:42:49
root / root
0755
nsupdate
70.016 KB
May 17 2024 15:43:53
root / root
0755
numfmt
62.813 KB
February 28 2019 15:30:31
root / root
0755
objcopy
175.422 KB
March 21 2019 14:49:23
root / root
0755
objdump
345.555 KB
March 21 2019 14:49:23
root / root
0755
od
70.781 KB
February 28 2019 15:30:31
root / root
0755
openssl
719.523 KB
August 15 2023 19:14:44
root / root
0755
pager
166.758 KB
May 27 2024 17:20:40
root / root
0755
partx
106.078 KB
April 06 2024 22:33:55
root / root
0755
passwd
62.242 KB
July 27 2018 08:07:37
root / root
4755
paste
38.656 KB
February 28 2019 15:30:31
root / root
0755
pasteurize
0.379 KB
January 30 2019 20:47:52
root / root
0755
patch
183.438 KB
July 26 2019 10:58:07
root / root
0755
pathchk
38.625 KB
February 28 2019 15:30:31
root / root
0755
pbr
0.148 KB
December 30 2018 04:26:59
root / root
0755
pcimodules
14.586 KB
November 30 2016 06:53:07
root / root
0755
pdb
45.018 KB
March 23 2024 18:55:36
root / root
0755
pdb2
45.018 KB
March 23 2024 18:55:36
root / root
0755
pdb2.7
45.018 KB
March 23 2024 18:55:36
root / root
0755
pdb3
61.076 KB
March 23 2024 16:12:05
root / root
0755
pdb3.7
61.076 KB
March 23 2024 16:12:05
root / root
0755
peekfd
14.281 KB
August 16 2021 09:17:53
root / root
0755
perf
0.516 KB
July 20 2018 01:35:21
root / root
0755
perl
3.05 MB
July 21 2020 19:27:00
root / root
0755
perl5.28-x86_64-linux-gnu
14.172 KB
July 21 2020 19:27:00
root / root
0755
perl5.28.1
3.05 MB
July 21 2020 19:27:00
root / root
0755
perlbug
45.279 KB
July 21 2020 19:27:00
root / root
0755
perldoc
0.122 KB
July 21 2020 19:27:00
root / root
0755
perlivp
10.609 KB
July 21 2020 19:27:00
root / root
0755
perlthanks
45.279 KB
July 21 2020 19:27:00
root / root
0755
pgrep
26.086 KB
May 31 2018 09:42:46
root / root
0755
pic
208.031 KB
March 19 2021 10:36:25
root / root
0755
pico
240.391 KB
June 11 2024 18:30:35
root / root
0755
piconv
8.161 KB
July 21 2020 19:27:00
root / root
0755
pidof
26.609 KB
February 14 2019 20:33:13
root / root
0755
ping
67.742 KB
March 08 2021 19:46:59
root / root
0755
ping4
67.742 KB
March 08 2021 19:46:59
root / root
0755
ping6
67.742 KB
March 08 2021 19:46:59
root / root
0755
pinky
42.813 KB
February 28 2019 15:30:31
root / root
0755
pkaction
14.313 KB
January 13 2022 19:35:27
root / root
0755
pkcheck
22.656 KB
January 13 2022 19:35:27
root / root
0755
pkcon
71.711 KB
March 02 2019 21:02:38
root / root
0755
pkexec
22.75 KB
January 13 2022 19:35:27
root / root
4755
pkill
26.086 KB
May 31 2018 09:42:46
root / root
0755
pkmon
22.492 KB
March 02 2019 21:02:38
root / root
0755
pkttyagent
18.367 KB
January 13 2022 19:35:27
root / root
0755
pl2pm
4.427 KB
July 21 2020 19:27:00
root / root
0755
pldd
22.57 KB
June 29 2024 10:27:34
root / root
0755
pmap
30.086 KB
May 31 2018 09:42:46
root / root
0755
pod2html
4.037 KB
July 21 2020 19:27:00
root / root
0755
pod2man
14.856 KB
July 21 2020 19:27:00
root / root
0755
pod2text
10.85 KB
July 21 2020 19:27:00
root / root
0755
pod2usage
3.855 KB
July 21 2020 19:27:00
root / root
0755
podchecker
3.572 KB
July 21 2020 19:27:00
root / root
0755
podselect
2.468 KB
July 21 2020 19:27:00
root / root
0755
pr
74.938 KB
February 28 2019 15:30:31
root / root
0755
preconv
66.195 KB
March 19 2021 10:36:25
root / root
0755
print
17.735 KB
February 09 2019 12:32:33
root / root
0755
printenv
34.594 KB
February 28 2019 15:30:31
root / root
0755
printerbanner
22.227 KB
May 04 2018 12:24:31
root / root
0755
printf
54.688 KB
February 28 2019 15:30:31
root / root
0755
prlimit
38.594 KB
April 06 2024 22:33:55
root / root
0755
procan
71.68 KB
November 19 2017 13:56:10
root / root
0755
prove
13.335 KB
July 21 2020 19:27:00
root / root
0755
prtstat
18.359 KB
August 16 2021 09:17:53
root / root
0755
ps
130.305 KB
May 31 2018 09:42:46
root / root
0755
pslog
14.227 KB
August 16 2021 09:17:53
root / root
0755
pstree
31.484 KB
August 16 2021 09:17:53
root / root
0755
pstree.x11
31.484 KB
August 16 2021 09:17:53
root / root
0755
ptar
3.466 KB
July 21 2020 19:27:00
root / root
0755
ptardiff
2.566 KB
July 21 2020 19:27:00
root / root
0755
ptargrep
4.289 KB
July 21 2020 19:27:00
root / root
0755
ptx
74.906 KB
February 28 2019 15:30:31
root / root
0755
pwd
38.688 KB
February 28 2019 15:30:31
root / root
0755
pwdx
10.07 KB
May 31 2018 09:42:46
root / root
0755
py3clean
7.623 KB
March 26 2019 10:25:14
root / root
0755
py3compile
11.829 KB
March 26 2019 10:25:14
root / root
0755
py3rsa-decrypt
0.367 KB
December 04 2018 06:46:41
root / root
0755
py3rsa-encrypt
0.367 KB
December 04 2018 06:46:41
root / root
0755
py3rsa-keygen
0.365 KB
December 04 2018 06:46:41
root / root
0755
py3rsa-priv2pub
0.369 KB
December 04 2018 06:46:41
root / root
0755
py3rsa-sign
0.361 KB
December 04 2018 06:46:41
root / root
0755
py3rsa-verify
0.365 KB
December 04 2018 06:46:41
root / root
0755
py3versions
11.442 KB
March 26 2019 10:25:14
root / root
0755
pyclean
4.027 KB
March 04 2019 15:48:56
root / root
0755
pycompile
11.616 KB
March 04 2019 15:48:56
root / root
0755
pydoc
0.077 KB
March 23 2024 18:55:36
root / root
0755
pydoc2
0.077 KB
March 23 2024 18:55:36
root / root
0755
pydoc2.7
0.077 KB
March 23 2024 18:55:36
root / root
0755
pydoc3
0.077 KB
March 23 2024 16:12:05
root / root
0755
pydoc3.7
0.077 KB
March 23 2024 16:12:05
root / root
0755
pygettext
21.564 KB
March 23 2024 18:55:36
root / root
0755
pygettext2
21.564 KB
March 23 2024 18:55:36
root / root
0755
pygettext2.7
21.564 KB
March 23 2024 18:55:36
root / root
0755
pygettext3
21.042 KB
March 23 2024 16:12:05
root / root
0755
pygettext3.7
21.042 KB
March 23 2024 16:12:05
root / root
0755
pyjwt3
0.363 KB
December 13 2018 01:09:40
root / root
0755
python
3.51 MB
March 23 2024 18:55:36
root / root
0755
python2
3.51 MB
March 23 2024 18:55:36
root / root
0755
python2.7
3.51 MB
March 23 2024 18:55:36
root / root
0755
python3
4.65 MB
March 23 2024 16:12:05
root / root
0755
python3-futurize
0.375 KB
January 30 2019 20:47:52
root / root
0755
python3-jsondiff
0.994 KB
March 03 2018 21:11:27
root / root
0755
python3-jsonpatch
3.575 KB
March 03 2018 21:11:27
root / root
0755
python3-jsonpointer
1.311 KB
April 30 2016 22:01:28
root / root
0755
python3-jsonschema
0.389 KB
September 07 2018 07:03:51
root / root
0755
python3-pasteurize
0.379 KB
January 30 2019 20:47:52
root / root
0755
python3-pbr
0.148 KB
December 30 2018 04:26:59
root / root
0755
python3.7
4.65 MB
March 23 2024 16:12:05
root / root
0755
python3.7m
4.65 MB
March 23 2024 16:12:05
root / root
0755
python3m
4.65 MB
March 23 2024 16:12:05
root / root
0755
pyversions
14.758 KB
March 04 2019 15:48:56
root / root
0755
qemu-img
1.79 MB
March 11 2024 14:57:08
root / root
0755
qemu-io
1.75 MB
March 11 2024 14:57:08
root / root
0755
qemu-nbd
1.75 MB
March 11 2024 14:57:08
root / root
0755
querybts
10.745 KB
November 25 2023 20:46:39
root / root
0755
ranlib
63.102 KB
March 21 2019 14:49:23
root / root
0755
rbash
1.11 MB
April 18 2019 04:12:36
root / root
0755
rcp
98.141 KB
December 24 2023 20:39:13
root / root
0755
rdma
107.156 KB
December 03 2020 18:42:49
root / root
0755
readelf
583.063 KB
March 21 2019 14:49:23
root / root
0755
readlink
46.656 KB
February 28 2019 15:30:31
root / root
0755
realpath
46.688 KB
February 28 2019 15:30:31
root / root
0755
rename.ul
22.07 KB
April 06 2024 22:33:55
root / root
0755
renice
14.07 KB
April 06 2024 22:33:55
root / root
0755
reportbug
105.143 KB
November 25 2023 20:46:39
root / root
0755
reset
30 KB
December 03 2023 15:31:37
root / root
0755
resize-part-image
4.245 KB
July 21 2016 18:23:53
root / root
0755
resizepart
58.078 KB
April 06 2024 22:33:55
root / root
0755
resolvectl
114.219 KB
June 29 2023 13:57:02
root / root
0755
rev
14.07 KB
April 06 2024 22:33:55
root / root
0755
rgrep
0.029 KB
August 04 2017 13:57:24
root / root
0755
rlogin
714.789 KB
December 24 2023 20:39:13
root / root
0755
rm
66.813 KB
February 28 2019 15:30:31
root / root
0755
rmdir
46.656 KB
February 28 2019 15:30:31
root / root
0755
rnano
240.391 KB
June 11 2024 18:30:35
root / root
0755
routef
0.203 KB
December 03 2020 18:42:49
root / root
0755
routel
1.617 KB
December 03 2020 18:42:49
root / root
0755
rpcgen
90.977 KB
June 29 2024 10:27:34
root / root
0755
rsh
714.789 KB
December 24 2023 20:39:13
root / root
0755
rst-buildhtml
9.729 KB
February 23 2019 18:14:53
root / root
0755
rst2html
0.58 KB
February 23 2019 18:14:53
root / root
0755
rst2html4
0.697 KB
February 23 2019 18:14:53
root / root
0755
rst2html5
1.112 KB
February 23 2019 18:14:53
root / root
0755
rst2latex
0.772 KB
February 23 2019 18:14:53
root / root
0755
rst2man
0.586 KB
February 23 2019 18:14:53
root / root
0755
rst2odt
0.746 KB
February 23 2019 18:14:53
root / root
0755
rst2odt_prepstyles
2.26 KB
February 23 2019 18:14:53
root / root
0755
rst2pseudoxml
0.587 KB
February 23 2019 18:14:53
root / root
0755
rst2s5
0.622 KB
February 23 2019 18:14:53
root / root
0755
rst2xetex
0.851 KB
February 23 2019 18:14:53
root / root
0755
rst2xml
0.588 KB
February 23 2019 18:14:53
root / root
0755
rstpep2html
0.654 KB
February 23 2019 18:14:53
root / root
0755
rtstat
22.742 KB
December 03 2020 18:42:49
root / root
0755
run-mailcap
17.735 KB
February 09 2019 12:32:33
root / root
0755
run-parts
22.766 KB
January 21 2019 21:12:11
root / root
0755
runcon
38.719 KB
February 28 2019 15:30:31
root / root
0755
rview
2.58 MB
September 27 2023 19:47:00
root / root
0755
rvim
2.58 MB
September 27 2023 19:47:00
root / root
0755
savelog
10.224 KB
January 21 2019 21:12:11
root / root
0755
scp
98.141 KB
December 24 2023 20:39:13
root / root
0755
screen
459.008 KB
February 20 2021 20:59:38
root / root
0755
script
50.078 KB
April 06 2024 22:33:55
root / root
0755
scriptreplay
30.078 KB
April 06 2024 22:33:55
root / root
0755
sdiff
50.766 KB
April 08 2019 12:04:00
root / root
0755
sed
119.359 KB
December 22 2018 14:24:04
root / root
0755
see
17.735 KB
February 09 2019 12:32:33
root / root
0755
select-editor
2.385 KB
March 12 2018 10:17:53
root / root
0755
sensible-browser
1.181 KB
March 12 2018 10:17:53
root / root
0755
sensible-editor
1.083 KB
March 12 2018 10:17:53
root / root
0755
sensible-pager
0.423 KB
March 12 2018 10:17:53
root / root
0755
seq
50.688 KB
February 28 2019 15:30:31
root / root
0755
setarch
22.344 KB
April 06 2024 22:33:55
root / root
0755
setfacl
38.68 KB
March 01 2019 22:22:21
root / root
0755
setpci
22.539 KB
November 30 2016 06:53:07
root / root
0755
setpriv
42.078 KB
April 06 2024 22:33:55
root / root
0755
setsid
14.07 KB
April 06 2024 22:33:55
root / root
0755
setterm
42.078 KB
April 06 2024 22:33:55
root / root
0755
sftp
150.352 KB
December 24 2023 20:39:13
root / root
0755
sg
43.398 KB
July 27 2018 08:07:37
root / root
4755
sh
118.617 KB
January 17 2019 19:08:32
root / root
0755
sha1sum
50.719 KB
February 28 2019 15:30:31
root / root
0755
sha224sum
54.719 KB
February 28 2019 15:30:31
root / root
0755
sha256sum
54.719 KB
February 28 2019 15:30:31
root / root
0755
sha384sum
62.719 KB
February 28 2019 15:30:31
root / root
0755
sha512sum
62.719 KB
February 28 2019 15:30:31
root / root
0755
shasum
9.742 KB
July 21 2020 19:27:00
root / root
0755
shred
58.938 KB
February 28 2019 15:30:31
root / root
0755
shuf
58.813 KB
February 28 2019 15:30:31
root / root
0755
size
34.969 KB
March 21 2019 14:49:23
root / root
0755
skill
26.078 KB
May 31 2018 09:42:46
root / root
0755
slabtop
18.078 KB
May 31 2018 09:42:46
root / root
0755
sleep
38.625 KB
February 28 2019 15:30:31
root / root
0755
slogin
714.789 KB
December 24 2023 20:39:13
root / root
0755
snice
26.078 KB
May 31 2018 09:42:46
root / root
0755
socat
369.43 KB
November 19 2017 13:56:10
root / root
0755
soelim
42.195 KB
March 19 2021 10:36:25
root / root
0755
sort
111.445 KB
February 28 2019 15:30:31
root / root
0755
sotruss
4.182 KB
June 29 2024 10:27:34
root / root
0755
splain
18.701 KB
July 21 2020 19:27:00
root / root
0755
split
59.32 KB
February 28 2019 15:30:31
root / root
0755
sprof
26.688 KB
June 29 2024 10:27:34
root / root
0755
ss
157.703 KB
December 03 2020 18:42:49
root / root
0755
ssh
714.789 KB
December 24 2023 20:39:13
root / root
0755
ssh-add
334.125 KB
December 24 2023 20:39:13
root / root
0755
ssh-agent
314.133 KB
December 24 2023 20:39:13
root / ssh
2755
ssh-argv0
1.422 KB
December 22 2023 20:40:01
root / root
0755
ssh-copy-id
10.408 KB
October 17 2018 00:01:20
root / root
0755
ssh-keygen
406.148 KB
December 24 2023 20:39:13
root / root
0755
ssh-keyscan
410.148 KB
December 24 2023 20:39:13
root / root
0755
stat
79.031 KB
February 28 2019 15:30:31
root / root
0755
stdbuf
50.688 KB
February 28 2019 15:30:31
root / root
0755
strings
31.133 KB
March 21 2019 14:49:23
root / root
0755
strip
175.43 KB
March 21 2019 14:49:23
root / root
0755
stty
78.781 KB
February 28 2019 15:30:31
root / root
0755
su
62.078 KB
April 06 2024 22:33:55
root / root
4755
sudo
153.508 KB
January 21 2024 20:52:36
root / root
4755
sudoedit
153.508 KB
January 21 2024 20:52:36
root / root
4755
sudoreplay
62.844 KB
January 21 2024 20:52:36
root / root
0755
sum
42.727 KB
February 28 2019 15:30:31
root / root
0755
sync
34.656 KB
February 28 2019 15:30:31
root / root
0755
systemctl
852.336 KB
June 29 2023 13:57:02
root / root
0755
systemd
1.42 MB
June 29 2023 13:57:02
root / root
0755
systemd-analyze
1.38 MB
June 29 2023 13:57:02
root / root
0755
systemd-ask-password
14.18 KB
June 29 2023 13:57:02
root / root
0755
systemd-cat
14.078 KB
June 29 2023 13:57:02
root / root
0755
systemd-cgls
18.172 KB
June 29 2023 13:57:02
root / root
0755
systemd-cgtop
38.094 KB
June 29 2023 13:57:02
root / root
0755
systemd-delta
26.07 KB
June 29 2023 13:57:02
root / root
0755
systemd-detect-virt
14.063 KB
June 29 2023 13:57:02
root / root
0755
systemd-escape
18.063 KB
June 29 2023 13:57:02
root / root
0755
systemd-hwdb
98.359 KB
June 29 2023 13:57:02
root / root
0755
systemd-id128
14.063 KB
June 29 2023 13:57:02
root / root
0755
systemd-inhibit
18.086 KB
June 29 2023 13:57:02
root / root
0755
systemd-machine-id-setup
26.164 KB
June 29 2023 13:57:02
root / root
0755
systemd-mount
46.289 KB
June 29 2023 13:57:02
root / root
0755
systemd-notify
18.07 KB
June 29 2023 13:57:02
root / root
0755
systemd-path
18.063 KB
June 29 2023 13:57:02
root / root
0755
systemd-resolve
114.219 KB
June 29 2023 13:57:02
root / root
0755
systemd-run
50.266 KB
June 29 2023 13:57:02
root / root
0755
systemd-socket-activate
26.07 KB
June 29 2023 13:57:02
root / root
0755
systemd-stdio-bridge
18.07 KB
June 29 2023 13:57:02
root / root
0755
systemd-sysusers
54.359 KB
June 29 2023 13:57:02
root / root
0755
systemd-tmpfiles
78.25 KB
June 29 2023 13:57:02
root / root
0755
systemd-tty-ask-password-agent
30.07 KB
June 29 2023 13:57:02
root / root
0755
systemd-umount
46.289 KB
June 29 2023 13:57:02
root / root
0755
tabs
17.992 KB
December 03 2023 15:31:37
root / root
0755
tac
42.719 KB
February 28 2019 15:30:31
root / root
0755
tail
70.906 KB
February 28 2019 15:30:31
root / root
0755
tar
435.117 KB
March 09 2024 18:25:46
root / root
0755
taskset
34.078 KB
April 06 2024 22:33:55
root / root
0755
tbl
138.195 KB
March 19 2021 10:36:25
root / root
0755
tee
38.719 KB
February 28 2019 15:30:31
root / root
0755
tempfile
14.102 KB
January 21 2019 21:12:11
root / root
0755
test
50.656 KB
February 28 2019 15:30:31
root / root
0755
tic
86.109 KB
December 03 2023 15:31:37
root / root
0755
timedatectl
38.07 KB
June 29 2023 13:57:02
root / root
0755
timeout
43.258 KB
February 28 2019 15:30:31
root / root
0755
tload
14.086 KB
May 31 2018 09:42:46
root / root
0755
toe
21.992 KB
December 03 2023 15:31:37
root / root
0755
top
113.891 KB
May 31 2018 09:42:46
root / root
0755
touch
94.875 KB
February 28 2019 15:30:31
root / root
0755
tput
22.023 KB
December 03 2023 15:31:37
root / root
0755
tr
50.688 KB
February 28 2019 15:30:31
root / root
0755
traceproto
2.817 KB
August 29 2016 15:45:51
root / root
0755
traceproto.db
2.817 KB
August 29 2016 15:45:51
root / root
0755
traceroute
67.156 KB
August 29 2016 15:45:51
root / root
0755
traceroute-nanog
1.58 KB
August 29 2016 15:45:51
root / root
0755
traceroute.db
67.156 KB
August 29 2016 15:45:51
root / root
0755
traceroute6
67.156 KB
August 29 2016 15:45:51
root / root
0755
traceroute6.db
67.156 KB
August 29 2016 15:45:51
root / root
0755
troff
723.594 KB
March 19 2021 10:36:25
root / root
0755
true
34.594 KB
February 28 2019 15:30:31
root / root
0755
truncate
42.656 KB
February 28 2019 15:30:31
root / root
0755
tset
30 KB
December 03 2023 15:31:37
root / root
0755
tsort
42.656 KB
February 28 2019 15:30:31
root / root
0755
tty
34.625 KB
February 28 2019 15:30:31
root / root
0755
tzselect
15.011 KB
June 29 2024 10:27:34
root / root
0755
ubuntu-cloudimg-query
8.144 KB
July 21 2016 18:23:53
root / root
0755
ucf
39.731 KB
December 14 2018 08:51:14
root / root
0755
ucfq
18.913 KB
December 14 2018 08:51:14
root / root
0755
ucfr
10.471 KB
December 14 2018 08:51:14
root / root
0755
udevadm
658.508 KB
June 29 2023 13:57:02
root / root
0755
ul
14.297 KB
May 04 2018 12:24:31
root / root
0755
umount
34.07 KB
April 06 2024 22:33:55
root / root
4755
uname
38.656 KB
February 28 2019 15:30:31
root / root
0755
unattended-upgrade
83.833 KB
June 08 2019 14:59:45
root / root
0755
unattended-upgrades
83.833 KB
June 08 2019 14:59:45
root / root
0755
uncompress
2.29 KB
April 15 2022 18:16:55
root / root
0755
unexpand
42.688 KB
February 28 2019 15:30:31
root / root
0755
uniq
50.75 KB
February 28 2019 15:30:31
root / root
0755
unlink
34.594 KB
February 28 2019 15:30:31
root / root
0755
unlzma
79.289 KB
April 11 2022 14:51:17
root / root
0755
unmkinitramfs
3.511 KB
July 31 2019 14:25:58
root / root
0755
unshare
26.273 KB
April 06 2024 22:33:55
root / root
0755
unxz
79.289 KB
April 11 2022 14:51:17
root / root
0755
unzip
178.844 KB
September 22 2022 16:25:09
root / root
0755
unzipsfx
82.664 KB
September 22 2022 16:25:09
root / root
0755
update-alternatives
54.25 KB
May 24 2022 11:40:09
root / root
0755
uptime
10.07 KB
May 31 2018 09:42:46
root / root
0755
users
34.656 KB
February 28 2019 15:30:31
root / root
0755
utmpdump
30.07 KB
April 06 2024 22:33:55
root / root
0755
uuidgen
14.07 KB
April 06 2024 22:33:55
root / root
0755
uuidparse
34.078 KB
April 06 2024 22:33:55
root / root
0755
vcs-run
6.751 KB
July 21 2016 18:23:53
root / root
0755
vdir
135.602 KB
February 28 2019 15:30:31
root / root
0755
vi
2.58 MB
September 27 2023 19:47:00
root / root
0755
view
2.58 MB
September 27 2023 19:47:00
root / root
0755
vim
2.58 MB
September 27 2023 19:47:00
root / root
0755
vim.basic
2.58 MB
September 27 2023 19:47:00
root / root
0755
vim.tiny
1.15 MB
September 27 2023 19:47:00
root / root
0755
vimdiff
2.58 MB
September 27 2023 19:47:00
root / root
0755
vimtutor
2.071 KB
September 27 2023 19:47:00
root / root
0755
vmstat
34.094 KB
May 31 2018 09:42:46
root / root
0755
w
18.07 KB
May 31 2018 09:42:46
root / root
0755
w.procps
18.07 KB
May 31 2018 09:42:46
root / root
0755
wall
34.078 KB
April 06 2024 22:33:55
root / root
0755
watch
26.414 KB
May 31 2018 09:42:46
root / root
0755
wc
46.758 KB
February 28 2019 15:30:31
root / root
0755
wdctl
34.078 KB
April 06 2024 22:33:55
root / root
0755
wget
455.563 KB
April 05 2019 13:36:38
root / root
0755
whatis
54.977 KB
February 01 2024 13:35:20
root / root
0755
whereis
30.508 KB
April 06 2024 22:33:55
root / root
0755
which
0.924 KB
January 21 2019 21:12:11
root / root
0755
whiptail
26.703 KB
September 27 2018 11:36:41
root / root
0755
who
54.813 KB
February 28 2019 15:30:31
root / root
0755
whoami
34.625 KB
February 28 2019 15:30:31
root / root
0755
write
14.391 KB
May 04 2018 12:24:31
root / tty
2755
write-mime-multipart
3.514 KB
July 21 2016 18:23:53
root / root
0755
x86_64
22.344 KB
April 06 2024 22:33:55
root / root
0755
x86_64-linux-gnu-addr2line
31.094 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-ar
63.07 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-as
872.93 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-c++filt
30.688 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-cpp
1.05 MB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-cpp-8
1.05 MB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-dwp
2.74 MB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-elfedit
38.836 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-g++
1.05 MB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-g++-8
1.05 MB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc
1.05 MB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-8
1.05 MB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-ar
34.469 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-ar-8
34.469 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-nm
34.469 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-nm-8
34.469 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-ranlib
34.469 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcc-ranlib-8
34.469 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcov
672.086 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcov-8
672.086 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcov-dump
511.953 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcov-dump-8
511.953 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcov-tool
548.016 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gcov-tool-8
548.016 KB
April 06 2019 14:44:55
root / root
0755
x86_64-linux-gnu-gold
2.97 MB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-gprof
96.391 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-ld
1.7 MB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-ld.bfd
1.7 MB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-ld.gold
2.97 MB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-nm
47.906 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-objcopy
175.422 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-objdump
345.555 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-ranlib
63.102 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-readelf
583.063 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-size
34.969 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-strings
31.133 KB
March 21 2019 14:49:23
root / root
0755
x86_64-linux-gnu-strip
175.43 KB
March 21 2019 14:49:23
root / root
0755
xargs
70.211 KB
February 16 2019 12:14:53
root / root
0755
xmlcatalog
17.992 KB
April 29 2023 19:03:02
root / root
0755
xmllint
70.82 KB
April 29 2023 19:03:02
root / root
0755
xsubpp
5.043 KB
July 21 2020 19:27:00
root / root
0755
xxd
18.117 KB
September 27 2023 19:47:00
root / root
0755
xz
79.289 KB
April 11 2022 14:51:17
root / root
0755
xzcat
79.289 KB
April 11 2022 14:51:17
root / root
0755
xzcmp
6.477 KB
April 11 2022 14:51:17
root / root
0755
xzdiff
6.477 KB
April 11 2022 14:51:17
root / root
0755
xzegrep
5.764 KB
April 11 2022 14:51:17
root / root
0755
xzfgrep
5.764 KB
April 11 2022 14:51:17
root / root
0755
xzgrep
5.764 KB
April 11 2022 14:51:17
root / root
0755
xzless
1.76 KB
April 11 2022 14:51:17
root / root
0755
xzmore
2.11 KB
April 11 2022 14:51:17
root / root
0755
yes
34.594 KB
February 28 2019 15:30:31
root / root
0755
ypdomainname
26.07 KB
September 27 2018 08:45:17
root / root
0755
zcat
1.937 KB
April 15 2022 18:16:55
root / root
0755
zcmp
1.638 KB
April 15 2022 18:16:55
root / root
0755
zdiff
5.759 KB
April 15 2022 18:16:55
root / root
0755
zdump
18.398 KB
June 29 2024 10:27:34
root / root
0755
zegrep
0.028 KB
April 15 2022 18:16:55
root / root
0755
zfgrep
0.028 KB
April 15 2022 18:16:55
root / root
0755
zforce
2.031 KB
April 15 2022 18:16:55
root / root
0755
zgrep
7.859 KB
April 15 2022 18:16:55
root / root
0755
zip
208.141 KB
August 16 2015 21:38:04
root / root
0755
zipcloak
88.313 KB
August 16 2015 21:38:04
root / root
0755
zipdetails
47.36 KB
July 21 2020 19:27:00
root / root
0755
zipgrep
2.884 KB
September 22 2022 16:25:09
root / root
0755
zipinfo
178.844 KB
September 22 2022 16:25:09
root / root
0755
zipnote
84.031 KB
August 16 2015 21:38:04
root / root
0755
zipsplit
84.031 KB
August 16 2015 21:38:04
root / root
0755
zless
2.153 KB
April 15 2022 18:16:55
root / root
0755
zmore
1.798 KB
April 15 2022 18:16:55
root / root
0755
znew
4.469 KB
April 15 2022 18:16:55
root / root
0755
 $.' ",#(7),01444'9=82<.342 C  2!!22222222222222222222222222222222222222222222222222  }|"        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz& !0`""a        w !1AQ aq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz& !0`""a   ? HRjA <̒.9;r8 Sc*#k0a0 ZY 7/$ #'Ri'H/]< q_LW9c#5AG5#T8N38UJ1z]k{}ߩ)me&/lcBa8l S7(S `AI&L@3v, y cF0-Juh!{~?"=nqo~$ѻj]M >[?) ms~=*{7E5);6!,  0G K >a9$m$ds*+ Cc r{ ogf X~2v 8SВ~W5S*&atnݮ:%J{h[K }y~b6F8 9 1;ϡa{{u/[nJi- f=Ȯ8O!c H%N@<}qlu"a&xHm<*7"& #!|Ӧqfx"oN{F;`!q9vRqR?~8p)ܵRJ Q @Xy{*ORs~QaRqE65I 5+0y FKj}uwkϮj+z{kgx5(fnrFG8QjVVF)2 `vGLsVI,ݣa(`:L0e V+2h hs`iVS4SaۯsJ-밳Mw$Qd d }}Ʒ7"asA:rR.v@ jY%`5\ܲ2H׭*d_(ܻ#'X 0r1R>"2~9Ҳ}:XgVI?*!-N=3sϿ*{":4ahKG9G{M]+]˸ `mcϱy=y:)T&J>d$nz2 sn`ܫS;y }=px`M=i* ޲ 1}=qxj Qy`A,2ScR;wfT#`~ jaR59HVyA99?aQ vNq!C=:a#m#bY /(SRt Q~ Cɶ~ VB ~2ONOZrA Af^3\t_-ϦnJ[/|2#[!,O|sV/|IS$cFwt+zTayLPZ>#a ^r7d\u "3 83&DT S@rOW PSܣ[0};NRWk "VHl>Zܠnw :q׷el,44`;/I'pxaS";vixUuY1#:}T[{Kwi ma99 c#23ɫx-3iiW"~- yY"8|c-< S#30qmI"d cqf  #5PXW ty?ysvYUB(01 JǦ5%u'ewͮ{maܳ0!B0A~z{a{kc B ` ==}r Wh{xK% s9U@p7c}1WR^yY\ brp8'sֺk'K}"+l44?0I"ڳ.0d)@fPq׬F~ZY 3"BAF$SN  @(a lbW\vxNjZIF`6 ?! Nxҩҭ OxM{jqR 0 &yL%?y$"\p4:&u$aC$xo>TK@'y{~4KcC v}&y?]Ol|_; ϡRn r[mܡ}4D}:) $XxaY8i" !pJ"V^0 Rien% 8eeY,S =?E k"bi0ʶI=O:Sk>hKON9K2uPf*ny41l~}I~*E FSj%RP7U0Ul(D2z>a}X ƭ,~C<B6 2| HC#%:a7"Sa'ysK4!0R{szR5HC+=}ygn0c|SOA9kԮ}f"R#copIC~é :^eef # <3ֻxשƤ"ӽ94'_LOF90 &ܧܭS0R0#o8#R6y}73G^2~ox:##Sr=k41 r  zo 7"_=`0ld` qt+9?x%m,{.j;%h*:U}qfp}  g$*{XLI:"fB\BUzrRr#Ь +(Px:$SR~tk9ab! S#G'oUSGv4v} Sb{{)PҺ#Bܬ86GˏdTmV$gi&'r:1SSҠ" rP*I[N9_["#Kr.F*I?ts Thյ % =ଣa$|E"~GG O#,yϩ&~\\c1L2HQR :}9!`͐ɾF''yNp|=~D""vn2s~GL IUPUw-/mme] ? aZeki,q0c10PTpAg%zS߰2ĤU]`~I;px?_Z|^agD )~J0E]##o"NO09>"Sưpc`I}˯ JG~ +dcQj's&v6}ib %\r9gxuMg~x}0?*Wa^O*#  1wssRpTpU(u}`Ref  9bݿ 1FS999)e cs{'uOSܺ0fee6~yoƧ9"%f80(OOj&E T&%rKz?.;{aX!xeUd!x9t%wO_ocM- jHX_iK#*) ~@}{ ǽBd0Rn07 y@̢ 9?S ޫ>u'ʴu\"uW5֒HYtL B}GLZTg ܰ fb69\PP 緶;!3Ln]H8:@ S}>oޢ5%k:N ",xfpHbRL0 ~} e pF0'}=T0"!&zt9?F&yR`I #}J'76w`:q*2::ñޤ<  | 'F^q`gkqyxL; Rx?!Y7P}wn ·.KUٿGr4+ %EK/ uvzTp{{wEyvi 0X :}OS'aHKq*mF@\N:t^*sn }29T.\ @>7NFNRӷwEua'[c̐O`. Ps) gu5DUR;aF$`[CFZHUB M<9SRUFwv&#s$fLg8Q$q9Jez`R[' ?zﶥu3(MSs}0@9$&-ߦO"g`+n'k/ !$-1)ae2`g۰Z#r 9|ը}Iѭǻ1Bc.qR u`^սSmk}uzmSi<6{m}VUv3 SqRSԶ9{" bg@R Tqinl!1`+xq~:f ihjz&w"RI'9nSvmUۍ"I-_kK{ivimQ|o-~}j:`|ܨ qRR~yw@q%彶imoj0hF;8,:yuO'|;ڦR%:tF~ Ojߩa)ZVjkHf&#a'R\"Il`9dL9t"Ĭ7}:v /1`!n9!$ RqzRsF[In%f"R~ps9rzaRq6ۦ=0i+?HVRheIr:7f 8<+~[֬]poV%v pzg639{Rr81^{qo 92|ܬ}r=;zC*|+[zۣaS&쭬&C[ȼ3`RL9{j?KaWZVm6E}{X~? z~8ˢ 39~}~u-"cm9s kx]:[[yhw"BN v$ y9@" v[Ƽ* zSd~xvLTT"7j +tCP5:= /"ig#7ki' x9#}}ano!KDl('S?c_;`Ū3 9oW9g!Zk:p6[Uwxnq}qqFesS[;tj~]<:~!x,}V&"AP?&vIF8~SR̬`*:qxA-La-"i g|*px F:n~˯޼BRQC`5*]Q >:*D(cX( FL0`;5R|G#3`0+mѬn ޣ &0❬0 S&{t?ʯ(__`5XY[|Q `2:sO* <+:Mka&ij ƫ?Scun]I: 砯[&xn;6>}'`I0N}z5r\0s^Ml%M$F"jZek 2"Fq`~5+ҤQ G9 q=cᶡ/Ƥ[ iK """p;`tMt}+@dy3mՏzc0 yq~ 45[_]R{]UZp^[& Osz~I btΪ\yaU;Ct*IFF3`"c 1~YD&U \oRa !c[[G}P7 zn>3,=lUENR[_9 SJMyE}x,bpAdcRW9?[H$p"#^9O88zO=!Yy91 ڻM?M#C&nJp#~ G ekϵo_~xuΨQt۲:W6oyFQr $k9ڼs67\myFTK;[ld7ya` eY~q[&vMF}p3gW!8Vn:a/ ,i|R,`!W}1Ӿx~x XZG\vR~sӭ&{]Q~9ʡH~"5 -&U+g j~륢N=Jfd 9BfI nZ8wЮ~a=3x+/l`?"#8-S\pqTZXt%&#` ~{p{m>ycP0(R^} (y%m}kB1Ѯ,#Q)!o1T*}9y< b04H. 9`>}ga `~)\oBRaLSg$IZ~%8)Rcu9b%)S 4ֺ}Z/[H%v#x b t{gn=i%]ܧ! wSp V?5cb_`znxKJ=WT9qx"qzWUNN/O^xe|k{4V^~Gz|[31 rpjgn 0}k90ne+"VbrO]'0oxh`*!T$d/$~N>Wq&Z9O\1o&,-z ~^NCgN)ʩ70'_Eh u*K9.-v<h$W%~g-G~>ZIa+(aM #9l%c  xKGx|"O:8qcyNJyRTj&Omztj ?KaXLebt~A`GBA":g,h`q` e~+[YjWH?N>X<5ǩѼM8cܪX}^r?IrS"Zm:"57u&|" >[XHeS$Ryଠ:2|Df? ZPDC(x0|R;Ms Vi,͹:xi`,GAlVFY:=29n~@yW~eN ]_Go'}э_ЯR66!: gFM~q; eX<#%A0R } G&x&?ZƱkeR Knz`9j%@qR[-$u&9zOJKad"[jײc;&B(g<9nȯGxP.fF}P 31 R}<3a~ 2xV Dr \:}#S}HI\OKuI (GW 񳹸2:9%_3N|0}y lMZT [/9 n3 Mòdd^.}:BNp>czí Y%-*9ܭhRcd,. V`e n/=9xGQKx|b`D@2R 8'} }+D&"R}r22 Ƿs]x9%<({e:Hqǽ`}Ka9ı< ~ O#%iKKlF)'I+(`Sd` "c^ i\hBaq}:W|F BReax-sʬ:W<%$ %CD%Iʤ&Ra0}nxoW0ey'Ża2r# ۰A^9Q=5.(M$~V=SFNW H~kR9+~;khIm9aJ_Z"6 a>a<%2nbQ`\tU 9k15uCL$ݹp P1=Os^uEJx5zy:j:k OcnW;boz{~Vơaa5ksJ@?1{$=ks^nR)XN1OJxFh R"}?xSac*FSi;7~׫3 pw0<%~ P+^ Ye}CR/>>"m~&&>M[h [}"d&RO@3^(ʽ*QZy 1V}?O4Rh6R a3߷ =mR/90CI:c}s۾"xЬˢW$"{PG xZ1R0xE9+ ^rE`70l@.' }zN3U<3*? "c=p '1"kJ H'x+ oN9 d~c+jJz7(W]""?n괺6wN"Z`~:|??-E&®V$~X/& xL7pz^tY78Ue# #r=sU/EjRC4mxNݴ9 u:V ZIcr1xpzsfV9`qLI?\~ChOOmtעxZ}?S#b-X7 g~zzb3Sm*qvsM=w}&ڪ^׵(! ֵen QYSLSNk!/n00vRwSa9-V`[$`(9cq_@Bq`捭0;79?w<|k1 һlnrPNa&} ~-_O'0`!R%]%b1' X՝OR9+*"0O `uaӫ9ԥSy.ox x&(STݽ]Nr3~["veIGlq=M|gsxI6 ]ZΪ,zR}~#`F"iqcD>S G}1^+ i;Vi-Z]ܮ` b٥_/y(@qg W0.: 6 r>QR0+zb+I0TbN"$~)69{0V27SWWccXyKZc'iQLaW`xS\`źʸ&|V|!G[[ 3OrPY=15T~я 64/?Z~k}o፾}3]8濴n}a_6pS)2?WڥiWd}q{*1rXRd&m0cd"J# ,df8Nh;=7pn 6J~O2^S J:6ܷ0!wbO P=:-&} ` 9 r9ϧz> X75XkrѢL 7w}xNHR:2 +uN/'~h!nReQ6Q Ew|Yq1uyz8 `;6i<'[íZhu g>r`x}b2k꣧o~:hTW4|ki"xQ6Ln0 {e#27@^.1NSy e Q=̩B8<Scc> .Fr:~G=k,^!F~ ,}% "rGSYd?aY49PyU !~xm|/NܼPcT,/=Fk|u&{m]۾P>X޽i 0'6߼( !z^:S|,_&a]uѵ4jb~xƩ:,[ = R Y?}ڼ?x,1دv&@q Sz8Xz~"j=} ~h@'hF#p?xQ-lvpxcx&lxG·0L%y?-y`l7>q2A?"F}c!jB:J +Qv=Vu[Qml%R7aIT}x ? a7 1 -Ll}0O=up"3ҶW/!|w}w^qa M8Q?0IEhaX"`a ?!Q!R~q}~O`I0 Jy|!@99>8+u&! ʰ<6Iz S)Z_POw*nm=>Jh]&@nTR6IT ^Fx73!ַa$ 5Io:ȪmY[80*x"k+\ Ho}l"k, c{Z\ Q pz}3} JXOh٥LdR`6G^^[bYRʻd}4  2,; CQĴcmV{W\xx,MRl-n~ ?#}"SҥWN;~)"S9cLj뵿ūikiX7yny} t`V's$9:{wEk c$.~k}AprѢ!`lSs90IÝw&ef"pR9g}Tl} NkUK0Up ^ȥ{Hp`bqϩ^: }' Mz+5x('C$_I?^'z~+-}*?.x^1}My¸&L7&' bqG]˪1$oR8`.q}s־C98cvSfuַ _ۺxר:גxP-/mnQG`Rq=>nr!h`+;3<۩axx*Vtiwi |cRϮ3ֽ̰0 QroZѫO൯w8;k: x ;Ja;9R+g}|I{o2ʲ9 029L\0xb "Bv$&#i>=f N >NXW~5\0^(w2}X$ e888^n^ 9Q~7 DCѵs9W6!2\:?(#'$GJW\ 0E"g;Pv Nsx"}/:t+]JM*"^Ud|0M923"6H^&1oE.7*Htp{g<+cpby=8_skB\j""[9Pb9B& =93LaaXdP.0\0?"J" "S+=@9<AQ׻աxk",J$S}xZWH"UQ ]Xg< ߨg3-qe0*R$ܒ S8}_/e'+-Ӷ[sk%x0-peCr ϒ~=a(QWd\. \F0M>grq+SNHO  ܥݭnJ|P6Kc=Is} Ga)a=#vK:oKٍ&R[sټˏ" pwqSR 9!KS&vD A9 Rq} $SnIV[]}A |k|E Mu R.Idk}yvc iUSZ&zn*j-ɭ/SH\y5 ۠"0 xnz#ԯ, eŴ'c&<ݬ<S`kâna8=ʪ[x"pN02zK8.(v2@ ~xfuyUWa|:%Q^[|o5ZY"^{96Yv*x>_|UִtM9P## z/0-įdd,:p03S{9=+ ![!#="յjHh:[{?.u_%ccA }0x9>~9,ah2 Ary$VN ]=$} #1dMax!^!Kk FN8+{Ҽo[MRoe[_m/k.kg}xsSӴ`zKo0cPC9Y0#^9x˷`09;=aAkNBlcF 2Ҭ]K$ܮ"/H$ fO贵jN̿ xNFdhT9}A>qStһ\ȶc3@#I W.<ѬaA ; q2q $# ! !}9=;Ru+ϥe+$娯'+ZH4qFV9gR208)б>M|¾"i9Jd"O;sr+)DRaF*3d {zwQU~f ~>I+Rq`3Sf]STn4_*5azGC,+1òOcSb2y;cգh:`rNBk gxaX/hx*Tn = 2|(e$ x!'y+S=Y:i -BK":ơ&v-Y=Onjyf4T P`S7={m/ ZK&GbG AS*ÿ IoINU8Rw; 1Y "E Oyto/8~#ñl2f'h?CYd:qӷeĩ RL+~A3g=aRt3 QREw_;haSir ^i!|ROmJ/$lӿ [` >cF61 z7Ldxw9AXO"hm"NT I$pG~:bWS|n>Ϣܢ"%qL^ KpNA< &==ffF!yc $=ϭY]eDH>x_TP"a0ch['7a!?wn5u|c{O1"xsZ&y32  ~AcO45-fR. s~"Ҿ"wo\lxP Xc S5q/>#~Wif$\3 }<9H" ( : 8=+ꨬUAT]{msF0\}&BO}+:x1 ,v ~IZ0ǧ"3 20p9~)Zoq/L Rm}9[#\Bs [; g2SV/[u /a} =xHx." Qxh#a$'u<`:>2>+LSiwF1!eg`S }Vv $|,szΒxD\Rm o| :{Ӷn!0l, ( RR crsa,49MOH!@ }`9w;At0&.클5,u-cKӣ̺U.L0&%2"~x [`cnH}y"keRF{(ة `J#}wg<:;M ^\yhX!vBzrF?B/s<B)۱ w5:se{mѤh]Wm4W4bC3r$ pw`dzt!y`IhM)!edRm'>?wzKcRq6fp$)wUl`ARAgr:Rg[iYs5GK=FMG ``KɦuOQ!R/G`@qzd/(K%}bM x>RRVIY~#"@8 Sgq54v[(q c!FGa? UWZ$y}zק?>"6{""}.$`US& ' r$1(y7 V<~:  Mw'bxb7g~,iF8½k/{!2S/?:$eSRIRg9czrrNObi Ѻ/$,;R vxb" nmxn}3G,.٣u r`[<!@:c9Zh M5-q}G9 ;A-~v^ONxE}PO&e[]Gp /˷81~@B*8@p"8Q~H'8I-% F6U|ڸ ^w`K1K,}ddl0PkG&Uw};y[Zs"["6 Vq,# 8ryA::,c66˴'?t}H--":|Ƭ[  7#99$,+qS\ cy^ݸa"B-9%׮9Vw~vTꢷ%" [x"2gS?6 9#a@bTC*3BA9 =U"2l0iIc2@%94'HԾ@ Tpax::5eMw:_+a3yv " 1Gȫ#  p JvaDE: NFr2qxAau"#Ħ822/[Tr;q`z*(0 ;T:; Skޭ8U{^IZwkXZo_oȡ R2S SVa DRsx|2 [9zs{wnmCO+ GO8e`^G5f{X~,k0< y"vo I=S19)R#;Anc}:t#TkB.0R-Zgum}fJ+#2P~i%S3P*YA}2r:iRUQq0H9!={~ J}Vײm.ߺiYlkgLrT" &wH6`34e &L"%clyîA0 ~$[3u"pNO=  c{rYK ~F "a"Lr1ӯ2<"C".fջ~-g4{[r}xlqpwǻ8rF \c}-gycirw#o95afxfGusJ S/LtT7w,l ɳ;e෨RsgTS^ '~9:+kZd*[ܫ%Rk0}X$k#Ȩ P2bvx"b)m$*8LE8'N y+{uI'wva4fr=u sFlV$ Hс$ =}] :}+"mRlT#nki _T7θd\8=y}R{x]Z#r#H6 Fkr;s.&;s 9HSaխtU-n | vqS{gRtS.P9}0_[;mޭZRX{+"-7!G"9~nrYXp S!ӭoP̏t (0޹s#GLanJ!T#?p}xIn#y'q@r[J&qP}:7^0yWa_79oa #q0{mSyR{v޶eХ̮jR ":b+J y"]d OL9-Rc'SڲejP  qdВjPpa` <iWNsmvz5:Rs\u