Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +3 -0
- my_container_sandbox/usr/local/cuda-11.7/nvvm/lib64/libnvvm.so.4 +3 -0
- my_container_sandbox/usr/local/cuda-11.7/nvvm/lib64/libnvvm.so.4.0.0 +3 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows.pm +289 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows/BCC.pm +132 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows/GCC.pm +153 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows/MSVC.pm +134 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/aix.pm +31 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/dec_osf.pm +18 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/os2.pm +74 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/Constant/Utils.pm +135 -0
- my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/Liblist/Kid.pm +653 -0
- my_container_sandbox/usr/share/perl/5.30.0/Parse/CPAN/Meta.pm +370 -0
- my_container_sandbox/usr/share/perl/5.30.0/PerlIO/via/QuotedPrint.pm +102 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/Bail.pm +109 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/Exception.pm +113 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/Ok.pm +162 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/TAP/Version.pm +101 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/EventFacet/Info/Table.pm +142 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Hub/Interceptor.pm +88 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Hub/Interceptor/Terminator.pm +51 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Hub/Subtest.pm +136 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/IPC/Driver.pm +287 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/IPC/Driver/Files.pm +479 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Util/ExternalMeta.pm +182 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Util/Facets2Legacy.pm +299 -0
- my_container_sandbox/usr/share/perl/5.30.0/Test2/Util/Trace.pm +54 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/BidiC/Y.pl +22 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/Bpt/C.pl +134 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/CE/Y.pl +80 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/Dt/Sqr.pl +32 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/Dt/Sup.pl +62 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/11_0.pl +1350 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/2_0.pl +638 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/4_1.pl +874 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/5_2.pl +1004 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/6_2.pl +1112 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/6_3.pl +1112 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/7_0.pl +1234 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/InPC/Right.pl +336 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/InPC/TopAndL2.pl +22 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/InPC/TopAndLe.pl +26 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/NFKDQC/Y.pl +793 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/FO.pl +52 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/HL.pl +34 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/KA.pl +34 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/LE.pl +1088 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/MB.pl +26 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/ML.pl +30 -0
- my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/MN.pl +42 -0
.gitattributes
CHANGED
|
@@ -434,3 +434,6 @@ my_container_sandbox/workspace/anaconda3/lib/python3.8/site-packages/scipy/misc/
|
|
| 434 |
my_container_sandbox/workspace/anaconda3/lib/python3.8/site-packages/scipy/stats/_boost/beta_ufunc.cpython-38-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
|
| 435 |
my_container_sandbox/opt/nvidia/nsight-compute/2022.2.1/target/linux-desktop-t210-a64/libcuda-injection.so filter=lfs diff=lfs merge=lfs -text
|
| 436 |
my_container_sandbox/usr/local/cuda-11.7/targets/x86_64-linux/lib/libnpps.so filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
| 434 |
my_container_sandbox/workspace/anaconda3/lib/python3.8/site-packages/scipy/stats/_boost/beta_ufunc.cpython-38-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
|
| 435 |
my_container_sandbox/opt/nvidia/nsight-compute/2022.2.1/target/linux-desktop-t210-a64/libcuda-injection.so filter=lfs diff=lfs merge=lfs -text
|
| 436 |
my_container_sandbox/usr/local/cuda-11.7/targets/x86_64-linux/lib/libnpps.so filter=lfs diff=lfs merge=lfs -text
|
| 437 |
+
my_container_sandbox/usr/local/cuda-11.7/nvvm/lib64/libnvvm.so.4 filter=lfs diff=lfs merge=lfs -text
|
| 438 |
+
my_container_sandbox/workspace/anaconda3/lib/libcudnn_adv_train.so filter=lfs diff=lfs merge=lfs -text
|
| 439 |
+
my_container_sandbox/usr/local/cuda-11.7/nvvm/lib64/libnvvm.so.4.0.0 filter=lfs diff=lfs merge=lfs -text
|
my_container_sandbox/usr/local/cuda-11.7/nvvm/lib64/libnvvm.so.4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:334b544644f1979b4918ff5d61bd51d97a1415dae960ae1fa5e3c7e129e36cbd
|
| 3 |
+
size 27199432
|
my_container_sandbox/usr/local/cuda-11.7/nvvm/lib64/libnvvm.so.4.0.0
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:334b544644f1979b4918ff5d61bd51d97a1415dae960ae1fa5e3c7e129e36cbd
|
| 3 |
+
size 27199432
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows.pm
ADDED
|
@@ -0,0 +1,289 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::Windows;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
use File::Basename;
|
| 6 |
+
use File::Spec;
|
| 7 |
+
|
| 8 |
+
use ExtUtils::CBuilder::Base;
|
| 9 |
+
use IO::File;
|
| 10 |
+
|
| 11 |
+
our $VERSION = '0.280231'; # VERSION
|
| 12 |
+
our @ISA = qw(ExtUtils::CBuilder::Base);
|
| 13 |
+
|
| 14 |
+
=begin comment
|
| 15 |
+
|
| 16 |
+
The compiler-specific packages implement functions for generating properly
|
| 17 |
+
formatted commandlines for the compiler being used. Each package
|
| 18 |
+
defines two primary functions 'format_linker_cmd()' &
|
| 19 |
+
'format_compiler_cmd()' that accepts a list of named arguments (a
|
| 20 |
+
hash) and returns a list of formatted options suitable for invoking the
|
| 21 |
+
compiler. By default, if the compiler supports scripting of its
|
| 22 |
+
operation then a script file is built containing the options while
|
| 23 |
+
those options are removed from the commandline, and a reference to the
|
| 24 |
+
script is pushed onto the commandline in their place. Scripting the
|
| 25 |
+
compiler in this way helps to avoid the problems associated with long
|
| 26 |
+
commandlines under some shells.
|
| 27 |
+
|
| 28 |
+
=end comment
|
| 29 |
+
|
| 30 |
+
=cut
|
| 31 |
+
|
| 32 |
+
sub new {
|
| 33 |
+
my $class = shift;
|
| 34 |
+
my $self = $class->SUPER::new(@_);
|
| 35 |
+
my $cf = $self->{config};
|
| 36 |
+
|
| 37 |
+
# Inherit from an appropriate compiler driver class
|
| 38 |
+
my $driver = "ExtUtils::CBuilder::Platform::Windows::" . $self->_compiler_type;
|
| 39 |
+
eval "require $driver" or die "Could not load compiler driver: $@";
|
| 40 |
+
unshift @ISA, $driver;
|
| 41 |
+
|
| 42 |
+
return $self;
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
sub _compiler_type {
|
| 46 |
+
my $self = shift;
|
| 47 |
+
my $cc = $self->{config}{cc};
|
| 48 |
+
|
| 49 |
+
return ( $cc =~ /cl(\.exe)?$/ ? 'MSVC'
|
| 50 |
+
: $cc =~ /bcc32(\.exe)?$/ ? 'BCC'
|
| 51 |
+
: 'GCC');
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
sub split_like_shell {
|
| 55 |
+
# Since Windows will pass the whole command string (not an argument
|
| 56 |
+
# array) to the target program and make the program parse it itself,
|
| 57 |
+
# we don't actually need to do any processing here.
|
| 58 |
+
(my $self, local $_) = @_;
|
| 59 |
+
|
| 60 |
+
return @$_ if defined() && UNIVERSAL::isa($_, 'ARRAY');
|
| 61 |
+
return unless defined() && length();
|
| 62 |
+
return ($_);
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
sub do_system {
|
| 66 |
+
# See above
|
| 67 |
+
my $self = shift;
|
| 68 |
+
my $cmd = join(" ",
|
| 69 |
+
grep length,
|
| 70 |
+
map {$a=$_;$a=~s/\t/ /g;$a=~s/^\s+|\s+$//;$a}
|
| 71 |
+
grep defined, @_);
|
| 72 |
+
return $self->SUPER::do_system($cmd);
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
sub arg_defines {
|
| 76 |
+
my ($self, %args) = @_;
|
| 77 |
+
s/"/\\"/g foreach values %args;
|
| 78 |
+
return map qq{"-D$_=$args{$_}"}, sort keys %args;
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
+
sub compile {
|
| 82 |
+
my ($self, %args) = @_;
|
| 83 |
+
my $cf = $self->{config};
|
| 84 |
+
|
| 85 |
+
die "Missing 'source' argument to compile()" unless defined $args{source};
|
| 86 |
+
|
| 87 |
+
$args{include_dirs} = [ $args{include_dirs} ]
|
| 88 |
+
if exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY";
|
| 89 |
+
|
| 90 |
+
my ($basename, $srcdir) =
|
| 91 |
+
( File::Basename::fileparse($args{source}, '\.[^.]+$') )[0,1];
|
| 92 |
+
|
| 93 |
+
$srcdir ||= File::Spec->curdir();
|
| 94 |
+
|
| 95 |
+
my @defines = $self->arg_defines( %{ $args{defines} || {} } );
|
| 96 |
+
|
| 97 |
+
my %spec = (
|
| 98 |
+
srcdir => $srcdir,
|
| 99 |
+
builddir => $srcdir,
|
| 100 |
+
basename => $basename,
|
| 101 |
+
source => $args{source},
|
| 102 |
+
output => $args{object_file} || File::Spec->catfile($srcdir, $basename) . $cf->{obj_ext},
|
| 103 |
+
cc => $cf->{cc},
|
| 104 |
+
cflags => [
|
| 105 |
+
$self->split_like_shell($cf->{ccflags}),
|
| 106 |
+
$self->split_like_shell($cf->{cccdlflags}),
|
| 107 |
+
$self->split_like_shell($args{extra_compiler_flags}),
|
| 108 |
+
],
|
| 109 |
+
optimize => [ $self->split_like_shell($cf->{optimize}) ],
|
| 110 |
+
defines => \@defines,
|
| 111 |
+
includes => [ @{$args{include_dirs} || []} ],
|
| 112 |
+
perlinc => [
|
| 113 |
+
$self->perl_inc(),
|
| 114 |
+
$self->split_like_shell($cf->{incpath}),
|
| 115 |
+
],
|
| 116 |
+
use_scripts => 1, # XXX provide user option to change this???
|
| 117 |
+
);
|
| 118 |
+
|
| 119 |
+
$self->normalize_filespecs(
|
| 120 |
+
\$spec{source},
|
| 121 |
+
\$spec{output},
|
| 122 |
+
$spec{includes},
|
| 123 |
+
$spec{perlinc},
|
| 124 |
+
);
|
| 125 |
+
|
| 126 |
+
my @cmds = $self->format_compiler_cmd(%spec);
|
| 127 |
+
while ( my $cmd = shift @cmds ) {
|
| 128 |
+
$self->do_system( @$cmd )
|
| 129 |
+
or die "error building $cf->{dlext} file from '$args{source}'";
|
| 130 |
+
}
|
| 131 |
+
|
| 132 |
+
(my $out = $spec{output}) =~ tr/'"//d;
|
| 133 |
+
return $out;
|
| 134 |
+
}
|
| 135 |
+
|
| 136 |
+
sub need_prelink { 1 }
|
| 137 |
+
|
| 138 |
+
sub link {
|
| 139 |
+
my ($self, %args) = @_;
|
| 140 |
+
my $cf = $self->{config};
|
| 141 |
+
|
| 142 |
+
my @objects = ( ref $args{objects} eq 'ARRAY' ? @{$args{objects}} : $args{objects} );
|
| 143 |
+
my $to = join '', (File::Spec->splitpath($objects[0]))[0,1];
|
| 144 |
+
$to ||= File::Spec->curdir();
|
| 145 |
+
|
| 146 |
+
(my $file_base = $args{module_name}) =~ s/.*:://;
|
| 147 |
+
my $output = $args{lib_file} ||
|
| 148 |
+
File::Spec->catfile($to, "$file_base.$cf->{dlext}");
|
| 149 |
+
|
| 150 |
+
# if running in perl source tree, look for libs there, not installed
|
| 151 |
+
my $lddlflags = $cf->{lddlflags};
|
| 152 |
+
my $perl_src = $self->perl_src();
|
| 153 |
+
$lddlflags =~ s{\Q$cf->{archlibexp}\E[\\/]CORE}{$perl_src/lib/CORE} if $perl_src;
|
| 154 |
+
|
| 155 |
+
my %spec = (
|
| 156 |
+
srcdir => $to,
|
| 157 |
+
builddir => $to,
|
| 158 |
+
startup => [ ],
|
| 159 |
+
objects => \@objects,
|
| 160 |
+
libs => [ ],
|
| 161 |
+
output => $output,
|
| 162 |
+
ld => $cf->{ld},
|
| 163 |
+
libperl => $cf->{libperl},
|
| 164 |
+
perllibs => [ $self->split_like_shell($cf->{perllibs}) ],
|
| 165 |
+
libpath => [ $self->split_like_shell($cf->{libpth}) ],
|
| 166 |
+
lddlflags => [ $self->split_like_shell($lddlflags) ],
|
| 167 |
+
other_ldflags => [ $self->split_like_shell($args{extra_linker_flags} || '') ],
|
| 168 |
+
use_scripts => 1, # XXX provide user option to change this???
|
| 169 |
+
);
|
| 170 |
+
|
| 171 |
+
unless ( $spec{basename} ) {
|
| 172 |
+
($spec{basename} = $args{module_name}) =~ s/.*:://;
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
$spec{srcdir} = File::Spec->canonpath( $spec{srcdir} );
|
| 176 |
+
$spec{builddir} = File::Spec->canonpath( $spec{builddir} );
|
| 177 |
+
|
| 178 |
+
$spec{output} ||= File::Spec->catfile( $spec{builddir},
|
| 179 |
+
$spec{basename} . '.'.$cf->{dlext} );
|
| 180 |
+
$spec{manifest} ||= $spec{output} . '.manifest';
|
| 181 |
+
$spec{implib} ||= File::Spec->catfile( $spec{builddir},
|
| 182 |
+
$spec{basename} . $cf->{lib_ext} );
|
| 183 |
+
$spec{explib} ||= File::Spec->catfile( $spec{builddir},
|
| 184 |
+
$spec{basename} . '.exp' );
|
| 185 |
+
if ($cf->{cc} eq 'cl') {
|
| 186 |
+
$spec{dbg_file} ||= File::Spec->catfile( $spec{builddir},
|
| 187 |
+
$spec{basename} . '.pdb' );
|
| 188 |
+
}
|
| 189 |
+
elsif ($cf->{cc} eq 'bcc32') {
|
| 190 |
+
$spec{dbg_file} ||= File::Spec->catfile( $spec{builddir},
|
| 191 |
+
$spec{basename} . '.tds' );
|
| 192 |
+
}
|
| 193 |
+
$spec{def_file} ||= File::Spec->catfile( $spec{srcdir} ,
|
| 194 |
+
$spec{basename} . '.def' );
|
| 195 |
+
$spec{base_file} ||= File::Spec->catfile( $spec{srcdir} ,
|
| 196 |
+
$spec{basename} . '.base' );
|
| 197 |
+
|
| 198 |
+
$self->add_to_cleanup(
|
| 199 |
+
grep defined,
|
| 200 |
+
@{[ @spec{qw(manifest implib explib dbg_file def_file base_file map_file)} ]}
|
| 201 |
+
);
|
| 202 |
+
|
| 203 |
+
foreach my $opt ( qw(output manifest implib explib dbg_file def_file map_file base_file) ) {
|
| 204 |
+
$self->normalize_filespecs( \$spec{$opt} );
|
| 205 |
+
}
|
| 206 |
+
|
| 207 |
+
foreach my $opt ( qw(libpath startup objects) ) {
|
| 208 |
+
$self->normalize_filespecs( $spec{$opt} );
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
(my $def_base = $spec{def_file}) =~ tr/'"//d;
|
| 212 |
+
$def_base =~ s/\.def$//;
|
| 213 |
+
$self->prelink( %args,
|
| 214 |
+
dl_name => $args{module_name},
|
| 215 |
+
dl_file => $def_base,
|
| 216 |
+
dl_base => $spec{basename} );
|
| 217 |
+
|
| 218 |
+
my @cmds = $self->format_linker_cmd(%spec);
|
| 219 |
+
while ( my $cmd = shift @cmds ) {
|
| 220 |
+
$self->do_system( @$cmd );
|
| 221 |
+
}
|
| 222 |
+
|
| 223 |
+
$spec{output} =~ tr/'"//d;
|
| 224 |
+
return wantarray
|
| 225 |
+
? grep defined, @spec{qw[output manifest implib explib dbg_file def_file map_file base_file]}
|
| 226 |
+
: $spec{output};
|
| 227 |
+
}
|
| 228 |
+
|
| 229 |
+
# canonize & quote paths
|
| 230 |
+
sub normalize_filespecs {
|
| 231 |
+
my ($self, @specs) = @_;
|
| 232 |
+
foreach my $spec ( grep defined, @specs ) {
|
| 233 |
+
if ( ref $spec eq 'ARRAY') {
|
| 234 |
+
$self->normalize_filespecs( map {\$_} grep defined, @$spec )
|
| 235 |
+
} elsif ( ref $spec eq 'SCALAR' ) {
|
| 236 |
+
$$spec =~ tr/"//d if $$spec;
|
| 237 |
+
next unless $$spec;
|
| 238 |
+
$$spec = '"' . File::Spec->canonpath($$spec) . '"';
|
| 239 |
+
} elsif ( ref $spec eq '' ) {
|
| 240 |
+
$spec = '"' . File::Spec->canonpath($spec) . '"';
|
| 241 |
+
} else {
|
| 242 |
+
die "Don't know how to normalize " . (ref $spec || $spec) . "\n";
|
| 243 |
+
}
|
| 244 |
+
}
|
| 245 |
+
}
|
| 246 |
+
|
| 247 |
+
# directory of perl's include files
|
| 248 |
+
sub perl_inc {
|
| 249 |
+
my $self = shift;
|
| 250 |
+
|
| 251 |
+
my $perl_src = $self->perl_src();
|
| 252 |
+
|
| 253 |
+
if ($perl_src) {
|
| 254 |
+
File::Spec->catdir($perl_src, "lib", "CORE");
|
| 255 |
+
} else {
|
| 256 |
+
File::Spec->catdir($self->{config}{archlibexp},"CORE");
|
| 257 |
+
}
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
1;
|
| 261 |
+
|
| 262 |
+
__END__
|
| 263 |
+
|
| 264 |
+
=head1 NAME
|
| 265 |
+
|
| 266 |
+
ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms
|
| 267 |
+
|
| 268 |
+
=head1 DESCRIPTION
|
| 269 |
+
|
| 270 |
+
This module implements the Windows-specific parts of ExtUtils::CBuilder.
|
| 271 |
+
Most of the Windows-specific stuff has to do with compiling and
|
| 272 |
+
linking C code. Currently we support the 3 compilers perl itself
|
| 273 |
+
supports: MSVC, BCC, and GCC.
|
| 274 |
+
|
| 275 |
+
This module inherits from C<ExtUtils::CBuilder::Base>, so any functionality
|
| 276 |
+
not implemented here will be implemented there. The interfaces are
|
| 277 |
+
defined by the L<ExtUtils::CBuilder> documentation.
|
| 278 |
+
|
| 279 |
+
=head1 AUTHOR
|
| 280 |
+
|
| 281 |
+
Ken Williams <ken@mathforum.org>
|
| 282 |
+
|
| 283 |
+
Most of the code here was written by Randy W. Sims <RandyS@ThePierianSpring.org>.
|
| 284 |
+
|
| 285 |
+
=head1 SEE ALSO
|
| 286 |
+
|
| 287 |
+
perl(1), ExtUtils::CBuilder(3), ExtUtils::MakeMaker(3)
|
| 288 |
+
|
| 289 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows/BCC.pm
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::Windows::BCC;
|
| 2 |
+
|
| 3 |
+
our $VERSION = '0.280231'; # VERSION
|
| 4 |
+
|
| 5 |
+
use strict;
|
| 6 |
+
use warnings;
|
| 7 |
+
|
| 8 |
+
sub format_compiler_cmd {
|
| 9 |
+
my ($self, %spec) = @_;
|
| 10 |
+
|
| 11 |
+
foreach my $path ( @{ $spec{includes} || [] },
|
| 12 |
+
@{ $spec{perlinc} || [] } ) {
|
| 13 |
+
$path = '-I' . $path;
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
%spec = $self->write_compiler_script(%spec)
|
| 17 |
+
if $spec{use_scripts};
|
| 18 |
+
|
| 19 |
+
return [ grep {defined && length} (
|
| 20 |
+
$spec{cc}, '-c' ,
|
| 21 |
+
@{$spec{includes}} ,
|
| 22 |
+
@{$spec{cflags}} ,
|
| 23 |
+
@{$spec{optimize}} ,
|
| 24 |
+
@{$spec{defines}} ,
|
| 25 |
+
@{$spec{perlinc}} ,
|
| 26 |
+
"-o$spec{output}" ,
|
| 27 |
+
$spec{source} ,
|
| 28 |
+
) ];
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
sub write_compiler_script {
|
| 32 |
+
my ($self, %spec) = @_;
|
| 33 |
+
|
| 34 |
+
my $script = File::Spec->catfile( $spec{srcdir},
|
| 35 |
+
$spec{basename} . '.ccs' );
|
| 36 |
+
|
| 37 |
+
$self->add_to_cleanup($script);
|
| 38 |
+
|
| 39 |
+
print "Generating script '$script'\n" if !$self->{quiet};
|
| 40 |
+
|
| 41 |
+
my $SCRIPT = IO::File->new( ">$script" )
|
| 42 |
+
or die( "Could not create script '$script': $!" );
|
| 43 |
+
|
| 44 |
+
# XXX Borland "response files" seem to be unable to accept macro
|
| 45 |
+
# definitions containing quoted strings. Escaping strings with
|
| 46 |
+
# backslash doesn't work, and any level of quotes are stripped. The
|
| 47 |
+
# result is a floating point number in the source file where a
|
| 48 |
+
# string is expected. So we leave the macros on the command line.
|
| 49 |
+
print $SCRIPT join( "\n",
|
| 50 |
+
map { ref $_ ? @{$_} : $_ }
|
| 51 |
+
grep defined,
|
| 52 |
+
delete(
|
| 53 |
+
@spec{ qw(includes cflags optimize perlinc) } )
|
| 54 |
+
);
|
| 55 |
+
|
| 56 |
+
push @{$spec{includes}}, '@"' . $script . '"';
|
| 57 |
+
|
| 58 |
+
return %spec;
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
sub format_linker_cmd {
|
| 62 |
+
my ($self, %spec) = @_;
|
| 63 |
+
|
| 64 |
+
foreach my $path ( @{$spec{libpath}} ) {
|
| 65 |
+
$path = "-L$path";
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
push( @{$spec{startup}}, 'c0d32.obj' )
|
| 69 |
+
unless ( $spec{startup} && @{$spec{startup}} );
|
| 70 |
+
|
| 71 |
+
%spec = $self->write_linker_script(%spec)
|
| 72 |
+
if $spec{use_scripts};
|
| 73 |
+
|
| 74 |
+
return [ grep {defined && length} (
|
| 75 |
+
$spec{ld} ,
|
| 76 |
+
@{$spec{lddlflags}} ,
|
| 77 |
+
@{$spec{libpath}} ,
|
| 78 |
+
@{$spec{other_ldflags}} ,
|
| 79 |
+
@{$spec{startup}} ,
|
| 80 |
+
@{$spec{objects}} , ',',
|
| 81 |
+
$spec{output} , ',',
|
| 82 |
+
$spec{map_file} , ',',
|
| 83 |
+
$spec{libperl} ,
|
| 84 |
+
@{$spec{perllibs}} , ',',
|
| 85 |
+
$spec{def_file}
|
| 86 |
+
) ];
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
sub write_linker_script {
|
| 90 |
+
my ($self, %spec) = @_;
|
| 91 |
+
|
| 92 |
+
# To work around Borlands "unique" commandline syntax,
|
| 93 |
+
# two scripts are used:
|
| 94 |
+
|
| 95 |
+
my $ld_script = File::Spec->catfile( $spec{srcdir},
|
| 96 |
+
$spec{basename} . '.lds' );
|
| 97 |
+
my $ld_libs = File::Spec->catfile( $spec{srcdir},
|
| 98 |
+
$spec{basename} . '.lbs' );
|
| 99 |
+
|
| 100 |
+
$self->add_to_cleanup($ld_script, $ld_libs);
|
| 101 |
+
|
| 102 |
+
print "Generating scripts '$ld_script' and '$ld_libs'.\n" if !$self->{quiet};
|
| 103 |
+
|
| 104 |
+
# Script 1: contains options & names of object files.
|
| 105 |
+
my $LD_SCRIPT = IO::File->new( ">$ld_script" )
|
| 106 |
+
or die( "Could not create linker script '$ld_script': $!" );
|
| 107 |
+
|
| 108 |
+
print $LD_SCRIPT join( " +\n",
|
| 109 |
+
map { @{$_} }
|
| 110 |
+
grep defined,
|
| 111 |
+
delete(
|
| 112 |
+
@spec{ qw(lddlflags libpath other_ldflags startup objects) } )
|
| 113 |
+
);
|
| 114 |
+
|
| 115 |
+
# Script 2: contains name of libs to link against.
|
| 116 |
+
my $LD_LIBS = IO::File->new( ">$ld_libs" )
|
| 117 |
+
or die( "Could not create linker script '$ld_libs': $!" );
|
| 118 |
+
|
| 119 |
+
print $LD_LIBS join( " +\n",
|
| 120 |
+
(delete $spec{libperl} || ''),
|
| 121 |
+
@{delete $spec{perllibs} || []},
|
| 122 |
+
);
|
| 123 |
+
|
| 124 |
+
push @{$spec{lddlflags}}, '@"' . $ld_script . '"';
|
| 125 |
+
push @{$spec{perllibs}}, '@"' . $ld_libs . '"';
|
| 126 |
+
|
| 127 |
+
return %spec;
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
1;
|
| 131 |
+
|
| 132 |
+
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows/GCC.pm
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::Windows::GCC;
|
| 2 |
+
|
| 3 |
+
our $VERSION = '0.280231'; # VERSION
|
| 4 |
+
|
| 5 |
+
use warnings;
|
| 6 |
+
use strict;
|
| 7 |
+
|
| 8 |
+
sub format_compiler_cmd {
|
| 9 |
+
my ($self, %spec) = @_;
|
| 10 |
+
|
| 11 |
+
foreach my $path ( @{ $spec{includes} || [] },
|
| 12 |
+
@{ $spec{perlinc} || [] } ) {
|
| 13 |
+
$path = '-I' . $path;
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
# split off any -arguments included in cc
|
| 17 |
+
my @cc = split / (?=-)/, $spec{cc};
|
| 18 |
+
|
| 19 |
+
return [ grep {defined && length} (
|
| 20 |
+
@cc, '-c' ,
|
| 21 |
+
@{$spec{includes}} ,
|
| 22 |
+
@{$spec{cflags}} ,
|
| 23 |
+
@{$spec{optimize}} ,
|
| 24 |
+
@{$spec{defines}} ,
|
| 25 |
+
@{$spec{perlinc}} ,
|
| 26 |
+
'-o', $spec{output} ,
|
| 27 |
+
$spec{source} ,
|
| 28 |
+
) ];
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
sub format_linker_cmd {
|
| 32 |
+
my ($self, %spec) = @_;
|
| 33 |
+
my $cf = $self->{config};
|
| 34 |
+
|
| 35 |
+
# The Config.pm variable 'libperl' is hardcoded to the full name
|
| 36 |
+
# of the perl import library (i.e. 'libperl56.a'). GCC will not
|
| 37 |
+
# find it unless the 'lib' prefix & the extension are stripped.
|
| 38 |
+
$spec{libperl} =~ s/^(?:lib)?([^.]+).*$/-l$1/;
|
| 39 |
+
|
| 40 |
+
unshift( @{$spec{other_ldflags}}, '-nostartfiles' )
|
| 41 |
+
if ( $spec{startup} && @{$spec{startup}} );
|
| 42 |
+
|
| 43 |
+
# From ExtUtils::MM_Win32:
|
| 44 |
+
#
|
| 45 |
+
## one thing for GCC/Mingw32:
|
| 46 |
+
## we try to overcome non-relocateable-DLL problems by generating
|
| 47 |
+
## a (hopefully unique) image-base from the dll's name
|
| 48 |
+
## -- BKS, 10-19-1999
|
| 49 |
+
File::Basename::basename( $spec{output} ) =~ /(....)(.{0,4})/;
|
| 50 |
+
$spec{image_base} = sprintf( "0x%x0000", unpack('n', $1 ^ $2) );
|
| 51 |
+
|
| 52 |
+
%spec = $self->write_linker_script(%spec)
|
| 53 |
+
if $spec{use_scripts};
|
| 54 |
+
|
| 55 |
+
foreach my $path ( @{$spec{libpath}} ) {
|
| 56 |
+
$path = "-L$path";
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
my @cmds; # Stores the series of commands needed to build the module.
|
| 60 |
+
|
| 61 |
+
my $DLLTOOL = $cf->{dlltool} || 'dlltool';
|
| 62 |
+
|
| 63 |
+
push @cmds, [
|
| 64 |
+
$DLLTOOL, '--def' , $spec{def_file},
|
| 65 |
+
'--output-exp' , $spec{explib}
|
| 66 |
+
];
|
| 67 |
+
|
| 68 |
+
# split off any -arguments included in ld
|
| 69 |
+
my @ld = split / (?=-)/, $spec{ld};
|
| 70 |
+
|
| 71 |
+
push @cmds, [ grep {defined && length} (
|
| 72 |
+
@ld ,
|
| 73 |
+
'-o', $spec{output} ,
|
| 74 |
+
"-Wl,--base-file,$spec{base_file}" ,
|
| 75 |
+
"-Wl,--image-base,$spec{image_base}" ,
|
| 76 |
+
@{$spec{lddlflags}} ,
|
| 77 |
+
@{$spec{libpath}} ,
|
| 78 |
+
@{$spec{startup}} ,
|
| 79 |
+
@{$spec{objects}} ,
|
| 80 |
+
@{$spec{other_ldflags}} ,
|
| 81 |
+
$spec{libperl} ,
|
| 82 |
+
@{$spec{perllibs}} ,
|
| 83 |
+
$spec{explib} ,
|
| 84 |
+
$spec{map_file} ? ('-Map', $spec{map_file}) : ''
|
| 85 |
+
) ];
|
| 86 |
+
|
| 87 |
+
push @cmds, [
|
| 88 |
+
$DLLTOOL, '--def' , $spec{def_file},
|
| 89 |
+
'--output-exp' , $spec{explib},
|
| 90 |
+
'--base-file' , $spec{base_file}
|
| 91 |
+
];
|
| 92 |
+
|
| 93 |
+
push @cmds, [ grep {defined && length} (
|
| 94 |
+
@ld ,
|
| 95 |
+
'-o', $spec{output} ,
|
| 96 |
+
"-Wl,--image-base,$spec{image_base}" ,
|
| 97 |
+
@{$spec{lddlflags}} ,
|
| 98 |
+
@{$spec{libpath}} ,
|
| 99 |
+
@{$spec{startup}} ,
|
| 100 |
+
@{$spec{objects}} ,
|
| 101 |
+
@{$spec{other_ldflags}} ,
|
| 102 |
+
$spec{libperl} ,
|
| 103 |
+
@{$spec{perllibs}} ,
|
| 104 |
+
$spec{explib} ,
|
| 105 |
+
$spec{map_file} ? ('-Map', $spec{map_file}) : ''
|
| 106 |
+
) ];
|
| 107 |
+
|
| 108 |
+
return @cmds;
|
| 109 |
+
}
|
| 110 |
+
|
| 111 |
+
sub write_linker_script {
|
| 112 |
+
my ($self, %spec) = @_;
|
| 113 |
+
|
| 114 |
+
my $script = File::Spec->catfile( $spec{srcdir},
|
| 115 |
+
$spec{basename} . '.lds' );
|
| 116 |
+
|
| 117 |
+
$self->add_to_cleanup($script);
|
| 118 |
+
|
| 119 |
+
print "Generating script '$script'\n" if !$self->{quiet};
|
| 120 |
+
|
| 121 |
+
my $SCRIPT = IO::File->new( ">$script" )
|
| 122 |
+
or die( "Could not create script '$script': $!" );
|
| 123 |
+
|
| 124 |
+
print $SCRIPT ( 'SEARCH_DIR(' . $_ . ")\n" )
|
| 125 |
+
for @{delete $spec{libpath} || []};
|
| 126 |
+
|
| 127 |
+
# gcc takes only one startup file, so the first object in startup is
|
| 128 |
+
# specified as the startup file and any others are shifted into the
|
| 129 |
+
# beginning of the list of objects.
|
| 130 |
+
if ( $spec{startup} && @{$spec{startup}} ) {
|
| 131 |
+
print $SCRIPT 'STARTUP(' . shift( @{$spec{startup}} ) . ")\n";
|
| 132 |
+
unshift @{$spec{objects}},
|
| 133 |
+
@{delete $spec{startup} || []};
|
| 134 |
+
}
|
| 135 |
+
|
| 136 |
+
print $SCRIPT 'INPUT(' . join( ',',
|
| 137 |
+
@{delete $spec{objects} || []}
|
| 138 |
+
) . ")\n";
|
| 139 |
+
|
| 140 |
+
print $SCRIPT 'INPUT(' . join( ' ',
|
| 141 |
+
(delete $spec{libperl} || ''),
|
| 142 |
+
@{delete $spec{perllibs} || []},
|
| 143 |
+
) . ")\n";
|
| 144 |
+
|
| 145 |
+
#it is important to keep the order 1.linker_script - 2.other_ldflags
|
| 146 |
+
unshift @{$spec{other_ldflags}}, '"' . $script . '"';
|
| 147 |
+
|
| 148 |
+
return %spec;
|
| 149 |
+
}
|
| 150 |
+
|
| 151 |
+
1;
|
| 152 |
+
|
| 153 |
+
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::Windows::MSVC;
|
| 2 |
+
|
| 3 |
+
our $VERSION = '0.280231'; # VERSION
|
| 4 |
+
|
| 5 |
+
use warnings;
|
| 6 |
+
use strict;
|
| 7 |
+
|
| 8 |
+
sub arg_exec_file {
|
| 9 |
+
my ($self, $file) = @_;
|
| 10 |
+
return "/OUT:$file";
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
sub format_compiler_cmd {
|
| 14 |
+
my ($self, %spec) = @_;
|
| 15 |
+
|
| 16 |
+
foreach my $path ( @{ $spec{includes} || [] },
|
| 17 |
+
@{ $spec{perlinc} || [] } ) {
|
| 18 |
+
$path = '-I' . $path;
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
%spec = $self->write_compiler_script(%spec)
|
| 22 |
+
if $spec{use_scripts};
|
| 23 |
+
|
| 24 |
+
return [ grep {defined && length} (
|
| 25 |
+
$spec{cc},'-nologo','-c',
|
| 26 |
+
@{$spec{includes}} ,
|
| 27 |
+
@{$spec{cflags}} ,
|
| 28 |
+
@{$spec{optimize}} ,
|
| 29 |
+
@{$spec{defines}} ,
|
| 30 |
+
@{$spec{perlinc}} ,
|
| 31 |
+
"-Fo$spec{output}" ,
|
| 32 |
+
$spec{source} ,
|
| 33 |
+
) ];
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
sub write_compiler_script {
|
| 37 |
+
my ($self, %spec) = @_;
|
| 38 |
+
|
| 39 |
+
my $script = File::Spec->catfile( $spec{srcdir},
|
| 40 |
+
$spec{basename} . '.ccs' );
|
| 41 |
+
|
| 42 |
+
$self->add_to_cleanup($script);
|
| 43 |
+
print "Generating script '$script'\n" if !$self->{quiet};
|
| 44 |
+
|
| 45 |
+
my $SCRIPT = IO::File->new( ">$script" )
|
| 46 |
+
or die( "Could not create script '$script': $!" );
|
| 47 |
+
|
| 48 |
+
print $SCRIPT join( "\n",
|
| 49 |
+
map { ref $_ ? @{$_} : $_ }
|
| 50 |
+
grep defined,
|
| 51 |
+
delete(
|
| 52 |
+
@spec{ qw(includes cflags optimize defines perlinc) } )
|
| 53 |
+
);
|
| 54 |
+
|
| 55 |
+
push @{$spec{includes}}, '@"' . $script . '"';
|
| 56 |
+
|
| 57 |
+
return %spec;
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
sub format_linker_cmd {
|
| 61 |
+
my ($self, %spec) = @_;
|
| 62 |
+
my $cf = $self->{config};
|
| 63 |
+
|
| 64 |
+
foreach my $path ( @{$spec{libpath}} ) {
|
| 65 |
+
$path = "-libpath:$path";
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
my $output = $spec{output};
|
| 69 |
+
my $manifest = $spec{manifest};
|
| 70 |
+
|
| 71 |
+
$spec{def_file} &&= '-def:' . $spec{def_file};
|
| 72 |
+
$spec{output} &&= '-out:' . $spec{output};
|
| 73 |
+
$spec{manifest} &&= '-manifest ' . $spec{manifest};
|
| 74 |
+
$spec{implib} &&= '-implib:' . $spec{implib};
|
| 75 |
+
$spec{map_file} &&= '-map:' . $spec{map_file};
|
| 76 |
+
|
| 77 |
+
%spec = $self->write_linker_script(%spec)
|
| 78 |
+
if $spec{use_scripts};
|
| 79 |
+
|
| 80 |
+
my @cmds; # Stores the series of commands needed to build the module.
|
| 81 |
+
|
| 82 |
+
push @cmds, [ grep {defined && length} (
|
| 83 |
+
$spec{ld} ,
|
| 84 |
+
@{$spec{lddlflags}} ,
|
| 85 |
+
@{$spec{libpath}} ,
|
| 86 |
+
@{$spec{other_ldflags}} ,
|
| 87 |
+
@{$spec{startup}} ,
|
| 88 |
+
@{$spec{objects}} ,
|
| 89 |
+
$spec{map_file} ,
|
| 90 |
+
$spec{libperl} ,
|
| 91 |
+
@{$spec{perllibs}} ,
|
| 92 |
+
$spec{def_file} ,
|
| 93 |
+
$spec{implib} ,
|
| 94 |
+
$spec{output} ,
|
| 95 |
+
) ];
|
| 96 |
+
|
| 97 |
+
# Embed the manifest file if it exists
|
| 98 |
+
push @cmds, [
|
| 99 |
+
'if', 'exist', $manifest, 'mt', '-nologo', $spec{manifest}, '-outputresource:' . "$output;2"
|
| 100 |
+
];
|
| 101 |
+
|
| 102 |
+
return @cmds;
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
sub write_linker_script {
|
| 106 |
+
my ($self, %spec) = @_;
|
| 107 |
+
|
| 108 |
+
my $script = File::Spec->catfile( $spec{srcdir},
|
| 109 |
+
$spec{basename} . '.lds' );
|
| 110 |
+
|
| 111 |
+
$self->add_to_cleanup($script);
|
| 112 |
+
|
| 113 |
+
print "Generating script '$script'\n" if !$self->{quiet};
|
| 114 |
+
|
| 115 |
+
my $SCRIPT = IO::File->new( ">$script" )
|
| 116 |
+
or die( "Could not create script '$script': $!" );
|
| 117 |
+
|
| 118 |
+
print $SCRIPT join( "\n",
|
| 119 |
+
map { ref $_ ? @{$_} : $_ }
|
| 120 |
+
grep defined,
|
| 121 |
+
delete(
|
| 122 |
+
@spec{ qw(lddlflags libpath other_ldflags
|
| 123 |
+
startup objects libperl perllibs
|
| 124 |
+
def_file implib map_file) } )
|
| 125 |
+
);
|
| 126 |
+
|
| 127 |
+
push @{$spec{lddlflags}}, '@"' . $script . '"';
|
| 128 |
+
|
| 129 |
+
return %spec;
|
| 130 |
+
}
|
| 131 |
+
|
| 132 |
+
1;
|
| 133 |
+
|
| 134 |
+
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/aix.pm
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::aix;
|
| 2 |
+
|
| 3 |
+
use warnings;
|
| 4 |
+
use strict;
|
| 5 |
+
use ExtUtils::CBuilder::Platform::Unix;
|
| 6 |
+
use File::Spec;
|
| 7 |
+
|
| 8 |
+
our $VERSION = '0.280231'; # VERSION
|
| 9 |
+
our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
|
| 10 |
+
|
| 11 |
+
sub need_prelink { 1 }
|
| 12 |
+
|
| 13 |
+
sub link {
|
| 14 |
+
my ($self, %args) = @_;
|
| 15 |
+
my $cf = $self->{config};
|
| 16 |
+
|
| 17 |
+
(my $baseext = $args{module_name}) =~ s/.*:://;
|
| 18 |
+
my $perl_inc = $self->perl_inc();
|
| 19 |
+
|
| 20 |
+
# Massage some very naughty bits in %Config
|
| 21 |
+
local $cf->{lddlflags} = $cf->{lddlflags};
|
| 22 |
+
for ($cf->{lddlflags}) {
|
| 23 |
+
s/\Q$(BASEEXT)\E/$baseext/;
|
| 24 |
+
s/\Q$(PERL_INC)\E/$perl_inc/;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
return $self->SUPER::link(%args);
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
1;
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/dec_osf.pm
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::dec_osf;
|
| 2 |
+
|
| 3 |
+
use warnings;
|
| 4 |
+
use strict;
|
| 5 |
+
use ExtUtils::CBuilder::Platform::Unix;
|
| 6 |
+
use File::Spec;
|
| 7 |
+
|
| 8 |
+
our $VERSION = '0.280231'; # VERSION
|
| 9 |
+
our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
|
| 10 |
+
|
| 11 |
+
sub link_executable {
|
| 12 |
+
my $self = shift;
|
| 13 |
+
# $Config{ld} is 'ld' but that won't work: use the cc instead.
|
| 14 |
+
local $self->{config}{ld} = $self->{config}{cc};
|
| 15 |
+
return $self->SUPER::link_executable(@_);
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
1;
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/CBuilder/Platform/os2.pm
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::CBuilder::Platform::os2;
|
| 2 |
+
|
| 3 |
+
use warnings;
|
| 4 |
+
use strict;
|
| 5 |
+
use ExtUtils::CBuilder::Platform::Unix;
|
| 6 |
+
|
| 7 |
+
our $VERSION = '0.280231'; # VERSION
|
| 8 |
+
our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
|
| 9 |
+
|
| 10 |
+
sub need_prelink { 1 }
|
| 11 |
+
|
| 12 |
+
sub prelink {
|
| 13 |
+
# Generate import libraries (XXXX currently near .DEF; should be near DLL!)
|
| 14 |
+
my $self = shift;
|
| 15 |
+
my %args = @_;
|
| 16 |
+
|
| 17 |
+
my @res = $self->SUPER::prelink(%args);
|
| 18 |
+
die "Unexpected number of DEF files" unless @res == 1;
|
| 19 |
+
die "Can't find DEF file in the output"
|
| 20 |
+
unless $res[0] =~ m,^(.*)\.def$,si;
|
| 21 |
+
my $libname = "$1$self->{config}{lib_ext}"; # Put .LIB file near .DEF file
|
| 22 |
+
$self->do_system('emximp', '-o', $libname, $res[0]) or die "emxexp: res=$?";
|
| 23 |
+
return (@res, $libname);
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
sub _do_link {
|
| 27 |
+
my $self = shift;
|
| 28 |
+
my ($how, %args) = @_;
|
| 29 |
+
if ($how eq 'lib_file'
|
| 30 |
+
and (defined $args{module_name} and length $args{module_name})) {
|
| 31 |
+
|
| 32 |
+
# Now know the basename, find directory parts via lib_file, or objects
|
| 33 |
+
my $objs = ( (ref $args{objects}) ? $args{objects} : [$args{objects}] );
|
| 34 |
+
my $near_obj = $self->lib_file(@$objs);
|
| 35 |
+
my $exp_dir = ($near_obj =~ m,(.*)[/\\],s ? "$1/" : '' );
|
| 36 |
+
|
| 37 |
+
$args{dl_file} = $1 if $near_obj =~ m,(.*)\.,s; # put ExportList near OBJ
|
| 38 |
+
|
| 39 |
+
# XXX _do_link does not have place to put libraries?
|
| 40 |
+
push @$objs, $self->perl_inc() . "/libperl$self->{config}{lib_ext}";
|
| 41 |
+
$args{objects} = $objs;
|
| 42 |
+
}
|
| 43 |
+
# Some 'env' do exec(), thus return too early when run from ksh;
|
| 44 |
+
# To avoid 'env', remove (useless) shrpenv
|
| 45 |
+
local $self->{config}{shrpenv} = '';
|
| 46 |
+
return $self->SUPER::_do_link($how, %args);
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
sub extra_link_args_after_prelink {
|
| 50 |
+
# Add .DEF file to the link line
|
| 51 |
+
my ($self, %args) = @_;
|
| 52 |
+
|
| 53 |
+
my @DEF = grep /\.def$/i, @{$args{prelink_res}};
|
| 54 |
+
die "More than one .def files created by 'prelink' stage" if @DEF > 1;
|
| 55 |
+
# XXXX No "$how" argument here, so how to test for dynamic link?
|
| 56 |
+
die "No .def file created by 'prelink' stage"
|
| 57 |
+
unless @DEF or not @{$args{prelink_res}};
|
| 58 |
+
|
| 59 |
+
my @after_libs = ($OS2::is_aout ? ()
|
| 60 |
+
: $self->perl_inc() . "/libperl_override$self->{config}{lib_ext}");
|
| 61 |
+
# , "-L", "-lperl"
|
| 62 |
+
(@after_libs, @DEF);
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
sub link_executable {
|
| 66 |
+
# ldflags is not expecting .exe extension given on command line; remove -Zexe
|
| 67 |
+
my $self = shift;
|
| 68 |
+
local $self->{config}{ldflags} = $self->{config}{ldflags};
|
| 69 |
+
$self->{config}{ldflags} =~ s/(?<!\S)-Zexe(?!\S)//;
|
| 70 |
+
return $self->SUPER::link_executable(@_);
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
1;
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/Constant/Utils.pm
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::Constant::Utils;
|
| 2 |
+
|
| 3 |
+
use strict;
|
| 4 |
+
use vars qw($VERSION @EXPORT_OK @ISA);
|
| 5 |
+
use Carp;
|
| 6 |
+
|
| 7 |
+
@ISA = 'Exporter';
|
| 8 |
+
@EXPORT_OK = qw(C_stringify perl_stringify);
|
| 9 |
+
$VERSION = '0.04';
|
| 10 |
+
|
| 11 |
+
use constant is_perl55 => ($] < 5.005_50);
|
| 12 |
+
use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
|
| 13 |
+
use constant is_sane_perl => $] > 5.007;
|
| 14 |
+
|
| 15 |
+
=head1 NAME
|
| 16 |
+
|
| 17 |
+
ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant
|
| 18 |
+
|
| 19 |
+
=head1 SYNOPSIS
|
| 20 |
+
|
| 21 |
+
use ExtUtils::Constant::Utils qw (C_stringify);
|
| 22 |
+
$C_code = C_stringify $stuff;
|
| 23 |
+
|
| 24 |
+
=head1 DESCRIPTION
|
| 25 |
+
|
| 26 |
+
ExtUtils::Constant::Utils packages up utility subroutines used by
|
| 27 |
+
ExtUtils::Constant, ExtUtils::Constant::Base and derived classes. All its
|
| 28 |
+
functions are explicitly exportable.
|
| 29 |
+
|
| 30 |
+
=head1 USAGE
|
| 31 |
+
|
| 32 |
+
=over 4
|
| 33 |
+
|
| 34 |
+
=item C_stringify NAME
|
| 35 |
+
|
| 36 |
+
A function which returns a 7 bit ASCII correctly \ escaped version of the
|
| 37 |
+
string passed suitable for C's "" or ''. It will die if passed Unicode
|
| 38 |
+
characters.
|
| 39 |
+
|
| 40 |
+
=cut
|
| 41 |
+
|
| 42 |
+
# Hopefully make a happy C identifier.
|
| 43 |
+
sub C_stringify {
|
| 44 |
+
local $_ = shift;
|
| 45 |
+
return unless defined $_;
|
| 46 |
+
# grr 5.6.1
|
| 47 |
+
confess "Wide character in '$_' intended as a C identifier"
|
| 48 |
+
if tr/\0-\377// != length;
|
| 49 |
+
# grr 5.6.1 more so because its regexps will break on data that happens to
|
| 50 |
+
# be utf8, which includes my 8 bit test cases.
|
| 51 |
+
$_ = pack 'C*', unpack 'U*', $_ . pack 'U*' if is_perl56;
|
| 52 |
+
s/\\/\\\\/g;
|
| 53 |
+
s/([\"\'])/\\$1/g; # Grr. fix perl mode.
|
| 54 |
+
s/\n/\\n/g; # Ensure newlines don't end up in octal
|
| 55 |
+
s/\r/\\r/g;
|
| 56 |
+
s/\t/\\t/g;
|
| 57 |
+
s/\f/\\f/g;
|
| 58 |
+
s/\a/\\a/g;
|
| 59 |
+
unless (is_perl55) {
|
| 60 |
+
# This will elicit a warning on 5.005_03 about [: :] being reserved unless
|
| 61 |
+
# I cheat
|
| 62 |
+
my $cheat = '([[:^print:]])';
|
| 63 |
+
|
| 64 |
+
if (ord('A') == 193) { # EBCDIC has no ^\0-\177 workalike.
|
| 65 |
+
s/$cheat/sprintf "\\%03o", ord $1/ge;
|
| 66 |
+
} else {
|
| 67 |
+
s/([^\0-\177])/sprintf "\\%03o", ord $1/ge;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
s/$cheat/sprintf "\\%03o", ord $1/ge;
|
| 71 |
+
} else {
|
| 72 |
+
require POSIX;
|
| 73 |
+
s/([^A-Za-z0-9_])/POSIX::isprint($1) ? $1 : sprintf "\\%03o", ord $1/ge;
|
| 74 |
+
}
|
| 75 |
+
$_;
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
=item perl_stringify NAME
|
| 79 |
+
|
| 80 |
+
A function which returns a 7 bit ASCII correctly \ escaped version of the
|
| 81 |
+
string passed suitable for a perl "" string.
|
| 82 |
+
|
| 83 |
+
=cut
|
| 84 |
+
|
| 85 |
+
# Hopefully make a happy perl identifier.
|
| 86 |
+
sub perl_stringify {
|
| 87 |
+
local $_ = shift;
|
| 88 |
+
return unless defined $_;
|
| 89 |
+
s/\\/\\\\/g;
|
| 90 |
+
s/([\"\'])/\\$1/g; # Grr. fix perl mode.
|
| 91 |
+
s/\n/\\n/g; # Ensure newlines don't end up in octal
|
| 92 |
+
s/\r/\\r/g;
|
| 93 |
+
s/\t/\\t/g;
|
| 94 |
+
s/\f/\\f/g;
|
| 95 |
+
s/\a/\\a/g;
|
| 96 |
+
unless (is_perl55) {
|
| 97 |
+
# This will elicit a warning on 5.005_03 about [: :] being reserved unless
|
| 98 |
+
# I cheat
|
| 99 |
+
my $cheat = '([[:^print:]])';
|
| 100 |
+
if (is_sane_perl) {
|
| 101 |
+
if (ord('A') == 193) { # EBCDIC has no ^\0-\177 workalike.
|
| 102 |
+
s/$cheat/sprintf "\\x{%X}", ord $1/ge;
|
| 103 |
+
} else {
|
| 104 |
+
s/([^\0-\177])/sprintf "\\x{%X}", ord $1/ge;
|
| 105 |
+
}
|
| 106 |
+
} else {
|
| 107 |
+
# Grr 5.6.1. And I don't think I can use utf8; to force the regexp
|
| 108 |
+
# because 5.005_03 will fail.
|
| 109 |
+
# This is grim, but I also can't split on //
|
| 110 |
+
my $copy;
|
| 111 |
+
foreach my $index (0 .. length ($_) - 1) {
|
| 112 |
+
my $char = substr ($_, $index, 1);
|
| 113 |
+
$copy .= ($char le "\177") ? $char : sprintf "\\x{%X}", ord $char;
|
| 114 |
+
}
|
| 115 |
+
$_ = $copy;
|
| 116 |
+
}
|
| 117 |
+
s/$cheat/sprintf "\\%03o", ord $1/ge;
|
| 118 |
+
} else {
|
| 119 |
+
# Turns out "\x{}" notation only arrived with 5.6
|
| 120 |
+
s/([^\0-\177])/sprintf "\\x%02X", ord $1/ge;
|
| 121 |
+
require POSIX;
|
| 122 |
+
s/([^A-Za-z0-9_])/POSIX::isprint($1) ? $1 : sprintf "\\%03o", ord $1/ge;
|
| 123 |
+
}
|
| 124 |
+
$_;
|
| 125 |
+
}
|
| 126 |
+
|
| 127 |
+
1;
|
| 128 |
+
__END__
|
| 129 |
+
|
| 130 |
+
=back
|
| 131 |
+
|
| 132 |
+
=head1 AUTHOR
|
| 133 |
+
|
| 134 |
+
Nicholas Clark <nick@ccl4.org> based on the code in C<h2xs> by Larry Wall and
|
| 135 |
+
others
|
my_container_sandbox/usr/share/perl/5.30.0/ExtUtils/Liblist/Kid.pm
ADDED
|
@@ -0,0 +1,653 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package ExtUtils::Liblist::Kid;
|
| 2 |
+
|
| 3 |
+
# XXX Splitting this out into its own .pm is a temporary solution.
|
| 4 |
+
|
| 5 |
+
# This kid package is to be used by MakeMaker. It will not work if
|
| 6 |
+
# $self is not a Makemaker.
|
| 7 |
+
|
| 8 |
+
use 5.006;
|
| 9 |
+
|
| 10 |
+
# Broken out of MakeMaker from version 4.11
|
| 11 |
+
|
| 12 |
+
use strict;
|
| 13 |
+
use warnings;
|
| 14 |
+
our $VERSION = '7.34';
|
| 15 |
+
$VERSION = eval $VERSION;
|
| 16 |
+
|
| 17 |
+
use ExtUtils::MakeMaker::Config;
|
| 18 |
+
use Cwd 'cwd';
|
| 19 |
+
use File::Basename;
|
| 20 |
+
use File::Spec;
|
| 21 |
+
|
| 22 |
+
sub ext {
|
| 23 |
+
if ( $^O eq 'VMS' ) { return &_vms_ext; }
|
| 24 |
+
elsif ( $^O eq 'MSWin32' ) { return &_win32_ext; }
|
| 25 |
+
else { return &_unix_os2_ext; }
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
sub _unix_os2_ext {
|
| 29 |
+
my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
|
| 30 |
+
$verbose ||= 0;
|
| 31 |
+
|
| 32 |
+
if ( $^O =~ /os2|android/ and $Config{perllibs} ) {
|
| 33 |
+
|
| 34 |
+
# Dynamic libraries are not transitive, so we may need including
|
| 35 |
+
# the libraries linked against perl.dll/libperl.so again.
|
| 36 |
+
|
| 37 |
+
$potential_libs .= " " if $potential_libs;
|
| 38 |
+
$potential_libs .= $Config{perllibs};
|
| 39 |
+
}
|
| 40 |
+
return ( "", "", "", "", ( $give_libs ? [] : () ) ) unless $potential_libs;
|
| 41 |
+
warn "Potential libraries are '$potential_libs':\n" if $verbose;
|
| 42 |
+
|
| 43 |
+
my ( $so ) = $Config{so};
|
| 44 |
+
my ( $libs ) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
|
| 45 |
+
my $Config_libext = $Config{lib_ext} || ".a";
|
| 46 |
+
my $Config_dlext = $Config{dlext};
|
| 47 |
+
|
| 48 |
+
# compute $extralibs, $bsloadlibs and $ldloadlibs from
|
| 49 |
+
# $potential_libs
|
| 50 |
+
# this is a rewrite of Andy Dougherty's extliblist in perl
|
| 51 |
+
|
| 52 |
+
my ( @searchpath ); # from "-L/path" entries in $potential_libs
|
| 53 |
+
my ( @libpath ) = split " ", $Config{'libpth'} || '';
|
| 54 |
+
my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen );
|
| 55 |
+
my ( @libs, %libs_seen );
|
| 56 |
+
my ( $fullname, @fullname );
|
| 57 |
+
my ( $pwd ) = cwd(); # from Cwd.pm
|
| 58 |
+
my ( $found ) = 0;
|
| 59 |
+
|
| 60 |
+
if ( $^O eq 'darwin' or $^O eq 'next' ) {
|
| 61 |
+
# 'escape' Mach-O ld -framework and -F flags, so they aren't dropped later on
|
| 62 |
+
$potential_libs =~ s/(^|\s)(-(?:weak_|reexport_|lazy_)?framework)\s+(\S+)/$1-Wl,$2 -Wl,$3/g;
|
| 63 |
+
$potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g;
|
| 64 |
+
}
|
| 65 |
+
# Debian-specific: don't use LD_RUN_PATH for standard dirs
|
| 66 |
+
$ld_run_path_seen{$_}++ for @libpath;
|
| 67 |
+
|
| 68 |
+
foreach my $thislib ( split ' ', $potential_libs ) {
|
| 69 |
+
my ( $custom_name ) = '';
|
| 70 |
+
|
| 71 |
+
# Handle possible linker path arguments.
|
| 72 |
+
if ( $thislib =~ s/^(-[LR]|-Wl,-R|-Wl,-rpath,)// ) { # save path flag type
|
| 73 |
+
my ( $ptype ) = $1;
|
| 74 |
+
unless ( -d $thislib ) {
|
| 75 |
+
warn "$ptype$thislib ignored, directory does not exist\n"
|
| 76 |
+
if $verbose;
|
| 77 |
+
next;
|
| 78 |
+
}
|
| 79 |
+
my ( $rtype ) = $ptype;
|
| 80 |
+
if ( ( $ptype eq '-R' ) or ( $ptype =~ m!^-Wl,-[Rr]! ) ) {
|
| 81 |
+
if ( $Config{'lddlflags'} =~ /-Wl,-[Rr]/ ) {
|
| 82 |
+
$rtype = '-Wl,-R';
|
| 83 |
+
}
|
| 84 |
+
elsif ( $Config{'lddlflags'} =~ /-R/ ) {
|
| 85 |
+
$rtype = '-R';
|
| 86 |
+
}
|
| 87 |
+
}
|
| 88 |
+
unless ( File::Spec->file_name_is_absolute( $thislib ) ) {
|
| 89 |
+
warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
|
| 90 |
+
$thislib = $self->catdir( $pwd, $thislib );
|
| 91 |
+
}
|
| 92 |
+
push( @searchpath, $thislib );
|
| 93 |
+
push( @extralibs, "$ptype$thislib" );
|
| 94 |
+
push( @ldloadlibs, "$rtype$thislib" );
|
| 95 |
+
next;
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
if ( $thislib =~ m!^-Wl,! ) {
|
| 99 |
+
push( @extralibs, $thislib );
|
| 100 |
+
push( @ldloadlibs, $thislib );
|
| 101 |
+
next;
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
# Handle possible library arguments.
|
| 105 |
+
if ( $thislib =~ s/^-l(:)?// ) {
|
| 106 |
+
# Handle -l:foo.so, which means that the library will
|
| 107 |
+
# actually be called foo.so, not libfoo.so. This
|
| 108 |
+
# is used in Android by ExtUtils::Depends to allow one XS
|
| 109 |
+
# module to link to another.
|
| 110 |
+
$custom_name = $1 || '';
|
| 111 |
+
}
|
| 112 |
+
else {
|
| 113 |
+
warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
|
| 114 |
+
next;
|
| 115 |
+
}
|
| 116 |
+
|
| 117 |
+
my ( $found_lib ) = 0;
|
| 118 |
+
foreach my $thispth ( @searchpath, @libpath ) {
|
| 119 |
+
|
| 120 |
+
# Try to find the full name of the library. We need this to
|
| 121 |
+
# determine whether it's a dynamically-loadable library or not.
|
| 122 |
+
# This tends to be subject to various os-specific quirks.
|
| 123 |
+
# For gcc-2.6.2 on linux (March 1995), DLD can not load
|
| 124 |
+
# .sa libraries, with the exception of libm.sa, so we
|
| 125 |
+
# deliberately skip them.
|
| 126 |
+
if ((@fullname =
|
| 127 |
+
$self->lsdir($thispth, "^\Qlib$thislib.$so.\E[0-9]+")) ||
|
| 128 |
+
(@fullname =
|
| 129 |
+
$self->lsdir($thispth, "^\Qlib$thislib.\E[0-9]+\Q\.$so"))) {
|
| 130 |
+
# Take care that libfoo.so.10 wins against libfoo.so.9.
|
| 131 |
+
# Compare two libraries to find the most recent version
|
| 132 |
+
# number. E.g. if you have libfoo.so.9.0.7 and
|
| 133 |
+
# libfoo.so.10.1, first convert all digits into two
|
| 134 |
+
# decimal places. Then we'll add ".00" to the shorter
|
| 135 |
+
# strings so that we're comparing strings of equal length
|
| 136 |
+
# Thus we'll compare libfoo.so.09.07.00 with
|
| 137 |
+
# libfoo.so.10.01.00. Some libraries might have letters
|
| 138 |
+
# in the version. We don't know what they mean, but will
|
| 139 |
+
# try to skip them gracefully -- we'll set any letter to
|
| 140 |
+
# '0'. Finally, sort in reverse so we can take the
|
| 141 |
+
# first element.
|
| 142 |
+
|
| 143 |
+
#TODO: iterate through the directory instead of sorting
|
| 144 |
+
|
| 145 |
+
$fullname = "$thispth/" . (
|
| 146 |
+
sort {
|
| 147 |
+
my ( $ma ) = $a;
|
| 148 |
+
my ( $mb ) = $b;
|
| 149 |
+
$ma =~ tr/A-Za-z/0/s;
|
| 150 |
+
$ma =~ s/\b(\d)\b/0$1/g;
|
| 151 |
+
$mb =~ tr/A-Za-z/0/s;
|
| 152 |
+
$mb =~ s/\b(\d)\b/0$1/g;
|
| 153 |
+
while ( length( $ma ) < length( $mb ) ) { $ma .= ".00"; }
|
| 154 |
+
while ( length( $mb ) < length( $ma ) ) { $mb .= ".00"; }
|
| 155 |
+
|
| 156 |
+
# Comparison deliberately backwards
|
| 157 |
+
$mb cmp $ma;
|
| 158 |
+
} @fullname
|
| 159 |
+
)[0];
|
| 160 |
+
}
|
| 161 |
+
elsif ( -f ( $fullname = "$thispth/lib$thislib.$so" )
|
| 162 |
+
&& ( ( $Config{'dlsrc'} ne "dl_dld.xs" ) || ( $thislib eq "m" ) ) )
|
| 163 |
+
{
|
| 164 |
+
}
|
| 165 |
+
elsif (-f ( $fullname = "$thispth/lib${thislib}_s$Config_libext" )
|
| 166 |
+
&& ( $Config{'archname'} !~ /RM\d\d\d-svr4/ )
|
| 167 |
+
&& ( $thislib .= "_s" ) )
|
| 168 |
+
{ # we must explicitly use _s version
|
| 169 |
+
}
|
| 170 |
+
elsif ( -f ( $fullname = "$thispth/lib$thislib$Config_libext" ) ) {
|
| 171 |
+
}
|
| 172 |
+
elsif ( defined( $Config_dlext )
|
| 173 |
+
&& -f ( $fullname = "$thispth/lib$thislib.$Config_dlext" ) )
|
| 174 |
+
{
|
| 175 |
+
}
|
| 176 |
+
elsif ( -f ( $fullname = "$thispth/$thislib$Config_libext" ) ) {
|
| 177 |
+
}
|
| 178 |
+
elsif ( -f ( $fullname = "$thispth/lib$thislib.dll$Config_libext" ) ) {
|
| 179 |
+
}
|
| 180 |
+
elsif ( $^O eq 'cygwin' && -f ( $fullname = "$thispth/$thislib.dll" ) ) {
|
| 181 |
+
}
|
| 182 |
+
elsif ( -f ( $fullname = "$thispth/Slib$thislib$Config_libext" ) ) {
|
| 183 |
+
}
|
| 184 |
+
elsif ($^O eq 'dgux'
|
| 185 |
+
&& -l ( $fullname = "$thispth/lib$thislib$Config_libext" )
|
| 186 |
+
&& readlink( $fullname ) =~ /^elink:/s )
|
| 187 |
+
{
|
| 188 |
+
|
| 189 |
+
# Some of DG's libraries look like misconnected symbolic
|
| 190 |
+
# links, but development tools can follow them. (They
|
| 191 |
+
# look like this:
|
| 192 |
+
#
|
| 193 |
+
# libm.a -> elink:${SDE_PATH:-/usr}/sde/\
|
| 194 |
+
# ${TARGET_BINARY_INTERFACE:-m88kdgux}/usr/lib/libm.a
|
| 195 |
+
#
|
| 196 |
+
# , the compilation tools expand the environment variables.)
|
| 197 |
+
}
|
| 198 |
+
elsif ( $custom_name && -f ( $fullname = "$thispth/$thislib" ) ) {
|
| 199 |
+
}
|
| 200 |
+
else {
|
| 201 |
+
warn "$thislib not found in $thispth\n" if $verbose;
|
| 202 |
+
next;
|
| 203 |
+
}
|
| 204 |
+
warn "'-l$thislib' found at $fullname\n" if $verbose;
|
| 205 |
+
push @libs, $fullname unless $libs_seen{$fullname}++;
|
| 206 |
+
$found++;
|
| 207 |
+
$found_lib++;
|
| 208 |
+
|
| 209 |
+
# Now update library lists
|
| 210 |
+
|
| 211 |
+
# what do we know about this library...
|
| 212 |
+
my $is_dyna = ( $fullname !~ /\Q$Config_libext\E\z/ );
|
| 213 |
+
my $in_perl = ( $libs =~ /\B-l:?\Q${thislib}\E\b/s );
|
| 214 |
+
|
| 215 |
+
# include the path to the lib once in the dynamic linker path
|
| 216 |
+
# but only if it is a dynamic lib and not in Perl itself
|
| 217 |
+
my ( $fullnamedir ) = dirname( $fullname );
|
| 218 |
+
push @ld_run_path, $fullnamedir
|
| 219 |
+
if $is_dyna
|
| 220 |
+
&& !$in_perl
|
| 221 |
+
&& !$ld_run_path_seen{$fullnamedir}++;
|
| 222 |
+
|
| 223 |
+
# Do not add it into the list if it is already linked in
|
| 224 |
+
# with the main perl executable.
|
| 225 |
+
# We have to special-case the NeXT, because math and ndbm
|
| 226 |
+
# are both in libsys_s
|
| 227 |
+
unless (
|
| 228 |
+
$in_perl
|
| 229 |
+
|| ( $Config{'osname'} eq 'next'
|
| 230 |
+
&& ( $thislib eq 'm' || $thislib eq 'ndbm' ) )
|
| 231 |
+
)
|
| 232 |
+
{
|
| 233 |
+
push( @extralibs, "-l$custom_name$thislib" );
|
| 234 |
+
}
|
| 235 |
+
|
| 236 |
+
# We might be able to load this archive file dynamically
|
| 237 |
+
if ( ( $Config{'dlsrc'} =~ /dl_next/ && $Config{'osvers'} lt '4_0' )
|
| 238 |
+
|| ( $Config{'dlsrc'} =~ /dl_dld/ ) )
|
| 239 |
+
{
|
| 240 |
+
|
| 241 |
+
# We push -l$thislib instead of $fullname because
|
| 242 |
+
# it avoids hardwiring a fixed path into the .bs file.
|
| 243 |
+
# Mkbootstrap will automatically add dl_findfile() to
|
| 244 |
+
# the .bs file if it sees a name in the -l format.
|
| 245 |
+
# USE THIS, when dl_findfile() is fixed:
|
| 246 |
+
# push(@bsloadlibs, "-l$thislib");
|
| 247 |
+
# OLD USE WAS while checking results against old_extliblist
|
| 248 |
+
push( @bsloadlibs, "$fullname" );
|
| 249 |
+
}
|
| 250 |
+
else {
|
| 251 |
+
if ( $is_dyna ) {
|
| 252 |
+
|
| 253 |
+
# For SunOS4, do not add in this shared library if
|
| 254 |
+
# it is already linked in the main perl executable
|
| 255 |
+
push( @ldloadlibs, "-l$custom_name$thislib" )
|
| 256 |
+
unless ( $in_perl and $^O eq 'sunos' );
|
| 257 |
+
}
|
| 258 |
+
else {
|
| 259 |
+
push( @ldloadlibs, "-l$custom_name$thislib" );
|
| 260 |
+
}
|
| 261 |
+
}
|
| 262 |
+
last; # found one here so don't bother looking further
|
| 263 |
+
}
|
| 264 |
+
warn "Warning (mostly harmless): " . "No library found for -l$thislib\n"
|
| 265 |
+
unless $found_lib > 0;
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
unless ( $found ) {
|
| 269 |
+
return ( '', '', '', '', ( $give_libs ? \@libs : () ) );
|
| 270 |
+
}
|
| 271 |
+
else {
|
| 272 |
+
return ( "@extralibs", "@bsloadlibs", "@ldloadlibs", join( ":", @ld_run_path ), ( $give_libs ? \@libs : () ) );
|
| 273 |
+
}
|
| 274 |
+
}
|
| 275 |
+
|
| 276 |
+
sub _win32_ext {
|
| 277 |
+
|
| 278 |
+
require Text::ParseWords;
|
| 279 |
+
|
| 280 |
+
my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
|
| 281 |
+
$verbose ||= 0;
|
| 282 |
+
|
| 283 |
+
# If user did not supply a list, we punt.
|
| 284 |
+
# (caller should probably use the list in $Config{libs})
|
| 285 |
+
return ( "", "", "", "", ( $give_libs ? [] : () ) ) unless $potential_libs;
|
| 286 |
+
|
| 287 |
+
# TODO: make this use MM_Win32.pm's compiler detection
|
| 288 |
+
my %libs_seen;
|
| 289 |
+
my @extralibs;
|
| 290 |
+
my $cc = $Config{cc} || '';
|
| 291 |
+
my $VC = $cc =~ /\bcl\b/i;
|
| 292 |
+
my $GC = $cc =~ /\bgcc\b/i;
|
| 293 |
+
|
| 294 |
+
my $libext = _win32_lib_extensions();
|
| 295 |
+
my @searchpath = ( '' ); # from "-L/path" entries in $potential_libs
|
| 296 |
+
my @libpath = _win32_default_search_paths( $VC, $GC );
|
| 297 |
+
my $pwd = cwd(); # from Cwd.pm
|
| 298 |
+
my $search = 1;
|
| 299 |
+
|
| 300 |
+
# compute @extralibs from $potential_libs
|
| 301 |
+
my @lib_search_list = _win32_make_lib_search_list( $potential_libs, $verbose );
|
| 302 |
+
for ( @lib_search_list ) {
|
| 303 |
+
|
| 304 |
+
my $thislib = $_;
|
| 305 |
+
|
| 306 |
+
# see if entry is a flag
|
| 307 |
+
if ( /^:\w+$/ ) {
|
| 308 |
+
$search = 0 if lc eq ':nosearch';
|
| 309 |
+
$search = 1 if lc eq ':search';
|
| 310 |
+
_debug( "Ignoring unknown flag '$thislib'\n", $verbose ) if !/^:(no)?(search|default)$/i;
|
| 311 |
+
next;
|
| 312 |
+
}
|
| 313 |
+
|
| 314 |
+
# if searching is disabled, do compiler-specific translations
|
| 315 |
+
unless ( $search ) {
|
| 316 |
+
s/^-l(.+)$/$1.lib/ unless $GC;
|
| 317 |
+
s/^-L/-libpath:/ if $VC;
|
| 318 |
+
push( @extralibs, $_ );
|
| 319 |
+
next;
|
| 320 |
+
}
|
| 321 |
+
|
| 322 |
+
# handle possible linker path arguments
|
| 323 |
+
if ( s/^-L// and not -d ) {
|
| 324 |
+
_debug( "$thislib ignored, directory does not exist\n", $verbose );
|
| 325 |
+
next;
|
| 326 |
+
}
|
| 327 |
+
elsif ( -d ) {
|
| 328 |
+
unless ( File::Spec->file_name_is_absolute( $_ ) ) {
|
| 329 |
+
warn "Warning: '$thislib' changed to '-L$pwd/$_'\n";
|
| 330 |
+
$_ = $self->catdir( $pwd, $_ );
|
| 331 |
+
}
|
| 332 |
+
push( @searchpath, $_ );
|
| 333 |
+
next;
|
| 334 |
+
}
|
| 335 |
+
|
| 336 |
+
my @paths = ( @searchpath, @libpath );
|
| 337 |
+
my ( $fullname, $path ) = _win32_search_file( $thislib, $libext, \@paths, $verbose, $GC );
|
| 338 |
+
|
| 339 |
+
if ( !$fullname ) {
|
| 340 |
+
warn "Warning (mostly harmless): No library found for $thislib\n";
|
| 341 |
+
next;
|
| 342 |
+
}
|
| 343 |
+
|
| 344 |
+
_debug( "'$thislib' found as '$fullname'\n", $verbose );
|
| 345 |
+
push( @extralibs, $fullname );
|
| 346 |
+
$libs_seen{$fullname} = 1 if $path; # why is this a special case?
|
| 347 |
+
}
|
| 348 |
+
|
| 349 |
+
my @libs = sort keys %libs_seen;
|
| 350 |
+
|
| 351 |
+
return ( '', '', '', '', ( $give_libs ? \@libs : () ) ) unless @extralibs;
|
| 352 |
+
|
| 353 |
+
# make sure paths with spaces are properly quoted
|
| 354 |
+
@extralibs = map { qq["$_"] } @extralibs;
|
| 355 |
+
@libs = map { qq["$_"] } @libs;
|
| 356 |
+
|
| 357 |
+
my $lib = join( ' ', @extralibs );
|
| 358 |
+
|
| 359 |
+
# normalize back to backward slashes (to help braindead tools)
|
| 360 |
+
# XXX this may break equally braindead GNU tools that don't understand
|
| 361 |
+
# backslashes, either. Seems like one can't win here. Cursed be CP/M.
|
| 362 |
+
$lib =~ s,/,\\,g;
|
| 363 |
+
|
| 364 |
+
_debug( "Result: $lib\n", $verbose );
|
| 365 |
+
wantarray ? ( $lib, '', $lib, '', ( $give_libs ? \@libs : () ) ) : $lib;
|
| 366 |
+
}
|
| 367 |
+
|
| 368 |
+
sub _win32_make_lib_search_list {
|
| 369 |
+
my ( $potential_libs, $verbose ) = @_;
|
| 370 |
+
|
| 371 |
+
# If Config.pm defines a set of default libs, we always
|
| 372 |
+
# tack them on to the user-supplied list, unless the user
|
| 373 |
+
# specified :nodefault
|
| 374 |
+
my $libs = $Config{'perllibs'};
|
| 375 |
+
$potential_libs = join( ' ', $potential_libs, $libs ) if $libs and $potential_libs !~ /:nodefault/i;
|
| 376 |
+
_debug( "Potential libraries are '$potential_libs':\n", $verbose );
|
| 377 |
+
|
| 378 |
+
$potential_libs =~ s,\\,/,g; # normalize to forward slashes
|
| 379 |
+
|
| 380 |
+
my @list = Text::ParseWords::quotewords( '\s+', 0, $potential_libs );
|
| 381 |
+
|
| 382 |
+
return @list;
|
| 383 |
+
}
|
| 384 |
+
|
| 385 |
+
sub _win32_default_search_paths {
|
| 386 |
+
my ( $VC, $GC ) = @_;
|
| 387 |
+
|
| 388 |
+
my $libpth = $Config{'libpth'} || '';
|
| 389 |
+
$libpth =~ s,\\,/,g; # normalize to forward slashes
|
| 390 |
+
|
| 391 |
+
my @libpath = Text::ParseWords::quotewords( '\s+', 0, $libpth );
|
| 392 |
+
push @libpath, "$Config{installarchlib}/CORE"; # add "$Config{installarchlib}/CORE" to default search path
|
| 393 |
+
|
| 394 |
+
push @libpath, split /;/, $ENV{LIB} if $VC and $ENV{LIB};
|
| 395 |
+
push @libpath, split /;/, $ENV{LIBRARY_PATH} if $GC and $ENV{LIBRARY_PATH};
|
| 396 |
+
|
| 397 |
+
return @libpath;
|
| 398 |
+
}
|
| 399 |
+
|
| 400 |
+
sub _win32_search_file {
|
| 401 |
+
my ( $thislib, $libext, $paths, $verbose, $GC ) = @_;
|
| 402 |
+
|
| 403 |
+
my @file_list = _win32_build_file_list( $thislib, $GC, $libext );
|
| 404 |
+
|
| 405 |
+
for my $lib_file ( @file_list ) {
|
| 406 |
+
for my $path ( @{$paths} ) {
|
| 407 |
+
my $fullname = $lib_file;
|
| 408 |
+
$fullname = "$path\\$fullname" if $path;
|
| 409 |
+
|
| 410 |
+
return ( $fullname, $path ) if -f $fullname;
|
| 411 |
+
|
| 412 |
+
_debug( "'$thislib' not found as '$fullname'\n", $verbose );
|
| 413 |
+
}
|
| 414 |
+
}
|
| 415 |
+
|
| 416 |
+
return;
|
| 417 |
+
}
|
| 418 |
+
|
| 419 |
+
sub _win32_build_file_list {
|
| 420 |
+
my ( $lib, $GC, $extensions ) = @_;
|
| 421 |
+
|
| 422 |
+
my @pre_fixed = _win32_build_prefixed_list( $lib, $GC );
|
| 423 |
+
return map _win32_attach_extensions( $_, $extensions ), @pre_fixed;
|
| 424 |
+
}
|
| 425 |
+
|
| 426 |
+
sub _win32_build_prefixed_list {
|
| 427 |
+
my ( $lib, $GC ) = @_;
|
| 428 |
+
|
| 429 |
+
return $lib if $lib !~ s/^-l//;
|
| 430 |
+
return $lib if $lib =~ /^lib/ and !$GC;
|
| 431 |
+
|
| 432 |
+
( my $no_prefix = $lib ) =~ s/^lib//i;
|
| 433 |
+
$lib = "lib$lib" if $no_prefix eq $lib;
|
| 434 |
+
|
| 435 |
+
return ( $lib, $no_prefix ) if $GC;
|
| 436 |
+
return ( $no_prefix, $lib );
|
| 437 |
+
}
|
| 438 |
+
|
| 439 |
+
sub _win32_attach_extensions {
|
| 440 |
+
my ( $lib, $extensions ) = @_;
|
| 441 |
+
return map _win32_try_attach_extension( $lib, $_ ), @{$extensions};
|
| 442 |
+
}
|
| 443 |
+
|
| 444 |
+
sub _win32_try_attach_extension {
|
| 445 |
+
my ( $lib, $extension ) = @_;
|
| 446 |
+
|
| 447 |
+
return $lib if $lib =~ /\Q$extension\E$/i;
|
| 448 |
+
return "$lib$extension";
|
| 449 |
+
}
|
| 450 |
+
|
| 451 |
+
sub _win32_lib_extensions {
|
| 452 |
+
my @extensions;
|
| 453 |
+
push @extensions, $Config{'lib_ext'} if $Config{'lib_ext'};
|
| 454 |
+
push @extensions, '.dll.a' if grep { m!^\.a$! } @extensions;
|
| 455 |
+
push @extensions, '.lib' unless grep { m!^\.lib$! } @extensions;
|
| 456 |
+
return \@extensions;
|
| 457 |
+
}
|
| 458 |
+
|
| 459 |
+
sub _debug {
|
| 460 |
+
my ( $message, $verbose ) = @_;
|
| 461 |
+
return if !$verbose;
|
| 462 |
+
warn $message;
|
| 463 |
+
return;
|
| 464 |
+
}
|
| 465 |
+
|
| 466 |
+
sub _vms_ext {
|
| 467 |
+
my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
|
| 468 |
+
$verbose ||= 0;
|
| 469 |
+
|
| 470 |
+
my ( @crtls, $crtlstr );
|
| 471 |
+
@crtls = ( ( $Config{'ldflags'} =~ m-/Debug-i ? $Config{'dbgprefix'} : '' ) . 'PerlShr/Share' );
|
| 472 |
+
push( @crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'} );
|
| 473 |
+
push( @crtls, grep { not /\(/ } split /\s+/, $Config{'libc'} );
|
| 474 |
+
|
| 475 |
+
# In general, we pass through the basic libraries from %Config unchanged.
|
| 476 |
+
# The one exception is that if we're building in the Perl source tree, and
|
| 477 |
+
# a library spec could be resolved via a logical name, we go to some trouble
|
| 478 |
+
# to insure that the copy in the local tree is used, rather than one to
|
| 479 |
+
# which a system-wide logical may point.
|
| 480 |
+
if ( $self->{PERL_SRC} ) {
|
| 481 |
+
my ( $locspec, $type );
|
| 482 |
+
foreach my $lib ( @crtls ) {
|
| 483 |
+
if ( ( $locspec, $type ) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i ) {
|
| 484 |
+
if ( lc $type eq '/share' ) { $locspec .= $Config{'exe_ext'}; }
|
| 485 |
+
elsif ( lc $type eq '/library' ) { $locspec .= $Config{'lib_ext'}; }
|
| 486 |
+
else { $locspec .= $Config{'obj_ext'}; }
|
| 487 |
+
$locspec = $self->catfile( $self->{PERL_SRC}, $locspec );
|
| 488 |
+
$lib = "$locspec$type" if -e $locspec;
|
| 489 |
+
}
|
| 490 |
+
}
|
| 491 |
+
}
|
| 492 |
+
$crtlstr = @crtls ? join( ' ', @crtls ) : '';
|
| 493 |
+
|
| 494 |
+
unless ( $potential_libs ) {
|
| 495 |
+
warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose;
|
| 496 |
+
return ( '', '', $crtlstr, '', ( $give_libs ? [] : () ) );
|
| 497 |
+
}
|
| 498 |
+
|
| 499 |
+
my ( %found, @fndlibs, $ldlib );
|
| 500 |
+
my $cwd = cwd();
|
| 501 |
+
my ( $so, $lib_ext, $obj_ext ) = @Config{ 'so', 'lib_ext', 'obj_ext' };
|
| 502 |
+
|
| 503 |
+
# List of common Unix library names and their VMS equivalents
|
| 504 |
+
# (VMS equivalent of '' indicates that the library is automatically
|
| 505 |
+
# searched by the linker, and should be skipped here.)
|
| 506 |
+
my ( @flibs, %libs_seen );
|
| 507 |
+
my %libmap = (
|
| 508 |
+
'm' => '',
|
| 509 |
+
'f77' => '',
|
| 510 |
+
'F77' => '',
|
| 511 |
+
'V77' => '',
|
| 512 |
+
'c' => '',
|
| 513 |
+
'malloc' => '',
|
| 514 |
+
'crypt' => '',
|
| 515 |
+
'resolv' => '',
|
| 516 |
+
'c_s' => '',
|
| 517 |
+
'socket' => '',
|
| 518 |
+
'X11' => 'DECW$XLIBSHR',
|
| 519 |
+
'Xt' => 'DECW$XTSHR',
|
| 520 |
+
'Xm' => 'DECW$XMLIBSHR',
|
| 521 |
+
'Xmu' => 'DECW$XMULIBSHR'
|
| 522 |
+
);
|
| 523 |
+
|
| 524 |
+
warn "Potential libraries are '$potential_libs'\n" if $verbose;
|
| 525 |
+
|
| 526 |
+
# First, sort out directories and library names in the input
|
| 527 |
+
my ( @dirs, @libs );
|
| 528 |
+
foreach my $lib ( split ' ', $potential_libs ) {
|
| 529 |
+
push( @dirs, $1 ), next if $lib =~ /^-L(.*)/;
|
| 530 |
+
push( @dirs, $lib ), next if $lib =~ /[:>\]]$/;
|
| 531 |
+
push( @dirs, $lib ), next if -d $lib;
|
| 532 |
+
push( @libs, $1 ), next if $lib =~ /^-l(.*)/;
|
| 533 |
+
push( @libs, $lib );
|
| 534 |
+
}
|
| 535 |
+
push( @dirs, split( ' ', $Config{'libpth'} ) );
|
| 536 |
+
|
| 537 |
+
# Now make sure we've got VMS-syntax absolute directory specs
|
| 538 |
+
# (We don't, however, check whether someone's hidden a relative
|
| 539 |
+
# path in a logical name.)
|
| 540 |
+
foreach my $dir ( @dirs ) {
|
| 541 |
+
unless ( -d $dir ) {
|
| 542 |
+
warn "Skipping nonexistent Directory $dir\n" if $verbose > 1;
|
| 543 |
+
$dir = '';
|
| 544 |
+
next;
|
| 545 |
+
}
|
| 546 |
+
warn "Resolving directory $dir\n" if $verbose;
|
| 547 |
+
if ( File::Spec->file_name_is_absolute( $dir ) ) {
|
| 548 |
+
$dir = VMS::Filespec::vmspath( $dir );
|
| 549 |
+
}
|
| 550 |
+
else {
|
| 551 |
+
$dir = $self->catdir( $cwd, $dir );
|
| 552 |
+
}
|
| 553 |
+
}
|
| 554 |
+
@dirs = grep { length( $_ ) } @dirs;
|
| 555 |
+
unshift( @dirs, '' ); # Check each $lib without additions first
|
| 556 |
+
|
| 557 |
+
LIB: foreach my $lib ( @libs ) {
|
| 558 |
+
if ( exists $libmap{$lib} ) {
|
| 559 |
+
next unless length $libmap{$lib};
|
| 560 |
+
$lib = $libmap{$lib};
|
| 561 |
+
}
|
| 562 |
+
|
| 563 |
+
my ( @variants, $cand );
|
| 564 |
+
my ( $ctype ) = '';
|
| 565 |
+
|
| 566 |
+
# If we don't have a file type, consider it a possibly abbreviated name and
|
| 567 |
+
# check for common variants. We try these first to grab libraries before
|
| 568 |
+
# a like-named executable image (e.g. -lperl resolves to perlshr.exe
|
| 569 |
+
# before perl.exe).
|
| 570 |
+
if ( $lib !~ /\.[^:>\]]*$/ ) {
|
| 571 |
+
push( @variants, "${lib}shr", "${lib}rtl", "${lib}lib" );
|
| 572 |
+
push( @variants, "lib$lib" ) if $lib !~ /[:>\]]/;
|
| 573 |
+
}
|
| 574 |
+
push( @variants, $lib );
|
| 575 |
+
warn "Looking for $lib\n" if $verbose;
|
| 576 |
+
foreach my $variant ( @variants ) {
|
| 577 |
+
my ( $fullname, $name );
|
| 578 |
+
|
| 579 |
+
foreach my $dir ( @dirs ) {
|
| 580 |
+
my ( $type );
|
| 581 |
+
|
| 582 |
+
$name = "$dir$variant";
|
| 583 |
+
warn "\tChecking $name\n" if $verbose > 2;
|
| 584 |
+
$fullname = VMS::Filespec::rmsexpand( $name );
|
| 585 |
+
if ( defined $fullname and -f $fullname ) {
|
| 586 |
+
|
| 587 |
+
# It's got its own suffix, so we'll have to figure out the type
|
| 588 |
+
if ( $fullname =~ /(?:$so|exe)$/i ) { $type = 'SHR'; }
|
| 589 |
+
elsif ( $fullname =~ /(?:$lib_ext|olb)$/i ) { $type = 'OLB'; }
|
| 590 |
+
elsif ( $fullname =~ /(?:$obj_ext|obj)$/i ) {
|
| 591 |
+
warn "Warning (mostly harmless): " . "Plain object file $fullname found in library list\n";
|
| 592 |
+
$type = 'OBJ';
|
| 593 |
+
}
|
| 594 |
+
else {
|
| 595 |
+
warn "Warning (mostly harmless): " . "Unknown library type for $fullname; assuming shared\n";
|
| 596 |
+
$type = 'SHR';
|
| 597 |
+
}
|
| 598 |
+
}
|
| 599 |
+
elsif (-f ( $fullname = VMS::Filespec::rmsexpand( $name, $so ) )
|
| 600 |
+
or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.exe' ) ) )
|
| 601 |
+
{
|
| 602 |
+
$type = 'SHR';
|
| 603 |
+
$name = $fullname unless $fullname =~ /exe;?\d*$/i;
|
| 604 |
+
}
|
| 605 |
+
elsif (
|
| 606 |
+
not length( $ctype ) and # If we've got a lib already,
|
| 607 |
+
# don't bother
|
| 608 |
+
( -f ( $fullname = VMS::Filespec::rmsexpand( $name, $lib_ext ) ) or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.olb' ) ) )
|
| 609 |
+
)
|
| 610 |
+
{
|
| 611 |
+
$type = 'OLB';
|
| 612 |
+
$name = $fullname unless $fullname =~ /olb;?\d*$/i;
|
| 613 |
+
}
|
| 614 |
+
elsif (
|
| 615 |
+
not length( $ctype ) and # If we've got a lib already,
|
| 616 |
+
# don't bother
|
| 617 |
+
( -f ( $fullname = VMS::Filespec::rmsexpand( $name, $obj_ext ) ) or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.obj' ) ) )
|
| 618 |
+
)
|
| 619 |
+
{
|
| 620 |
+
warn "Warning (mostly harmless): " . "Plain object file $fullname found in library list\n";
|
| 621 |
+
$type = 'OBJ';
|
| 622 |
+
$name = $fullname unless $fullname =~ /obj;?\d*$/i;
|
| 623 |
+
}
|
| 624 |
+
if ( defined $type ) {
|
| 625 |
+
$ctype = $type;
|
| 626 |
+
$cand = $name;
|
| 627 |
+
last if $ctype eq 'SHR';
|
| 628 |
+
}
|
| 629 |
+
}
|
| 630 |
+
if ( $ctype ) {
|
| 631 |
+
|
| 632 |
+
push @{ $found{$ctype} }, $cand;
|
| 633 |
+
warn "\tFound as $cand (really $fullname), type $ctype\n"
|
| 634 |
+
if $verbose > 1;
|
| 635 |
+
push @flibs, $name unless $libs_seen{$fullname}++;
|
| 636 |
+
next LIB;
|
| 637 |
+
}
|
| 638 |
+
}
|
| 639 |
+
warn "Warning (mostly harmless): " . "No library found for $lib\n";
|
| 640 |
+
}
|
| 641 |
+
|
| 642 |
+
push @fndlibs, @{ $found{OBJ} } if exists $found{OBJ};
|
| 643 |
+
push @fndlibs, map { "$_/Library" } @{ $found{OLB} } if exists $found{OLB};
|
| 644 |
+
push @fndlibs, map { "$_/Share" } @{ $found{SHR} } if exists $found{SHR};
|
| 645 |
+
my $lib = join( ' ', @fndlibs );
|
| 646 |
+
|
| 647 |
+
$ldlib = $crtlstr ? "$lib $crtlstr" : $lib;
|
| 648 |
+
$ldlib =~ s/^\s+|\s+$//g;
|
| 649 |
+
warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose;
|
| 650 |
+
wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib;
|
| 651 |
+
}
|
| 652 |
+
|
| 653 |
+
1;
|
my_container_sandbox/usr/share/perl/5.30.0/Parse/CPAN/Meta.pm
ADDED
|
@@ -0,0 +1,370 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
use 5.008001;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
package Parse::CPAN::Meta;
|
| 5 |
+
# ABSTRACT: Parse META.yml and META.json CPAN metadata files
|
| 6 |
+
|
| 7 |
+
our $VERSION = '2.150010';
|
| 8 |
+
|
| 9 |
+
use Exporter;
|
| 10 |
+
use Carp 'croak';
|
| 11 |
+
|
| 12 |
+
our @ISA = qw/Exporter/;
|
| 13 |
+
our @EXPORT_OK = qw/Load LoadFile/;
|
| 14 |
+
|
| 15 |
+
sub load_file {
|
| 16 |
+
my ($class, $filename) = @_;
|
| 17 |
+
|
| 18 |
+
my $meta = _slurp($filename);
|
| 19 |
+
|
| 20 |
+
if ($filename =~ /\.ya?ml$/) {
|
| 21 |
+
return $class->load_yaml_string($meta);
|
| 22 |
+
}
|
| 23 |
+
elsif ($filename =~ /\.json$/) {
|
| 24 |
+
return $class->load_json_string($meta);
|
| 25 |
+
}
|
| 26 |
+
else {
|
| 27 |
+
$class->load_string($meta); # try to detect yaml/json
|
| 28 |
+
}
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
sub load_string {
|
| 32 |
+
my ($class, $string) = @_;
|
| 33 |
+
if ( $string =~ /^---/ ) { # looks like YAML
|
| 34 |
+
return $class->load_yaml_string($string);
|
| 35 |
+
}
|
| 36 |
+
elsif ( $string =~ /^\s*\{/ ) { # looks like JSON
|
| 37 |
+
return $class->load_json_string($string);
|
| 38 |
+
}
|
| 39 |
+
else { # maybe doc-marker-free YAML
|
| 40 |
+
return $class->load_yaml_string($string);
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
sub load_yaml_string {
|
| 45 |
+
my ($class, $string) = @_;
|
| 46 |
+
my $backend = $class->yaml_backend();
|
| 47 |
+
my $data = eval { no strict 'refs'; &{"$backend\::Load"}($string) };
|
| 48 |
+
croak $@ if $@;
|
| 49 |
+
return $data || {}; # in case document was valid but empty
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
sub load_json_string {
|
| 53 |
+
my ($class, $string) = @_;
|
| 54 |
+
require Encode;
|
| 55 |
+
# load_json_string takes characters, decode_json expects bytes
|
| 56 |
+
my $encoded = Encode::encode('UTF-8', $string, Encode::PERLQQ());
|
| 57 |
+
my $data = eval { $class->json_decoder()->can('decode_json')->($encoded) };
|
| 58 |
+
croak $@ if $@;
|
| 59 |
+
return $data || {};
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
sub yaml_backend {
|
| 63 |
+
if ($ENV{PERL_CORE} or not defined $ENV{PERL_YAML_BACKEND} ) {
|
| 64 |
+
_can_load( 'CPAN::Meta::YAML', 0.011 )
|
| 65 |
+
or croak "CPAN::Meta::YAML 0.011 is not available\n";
|
| 66 |
+
return "CPAN::Meta::YAML";
|
| 67 |
+
}
|
| 68 |
+
else {
|
| 69 |
+
my $backend = $ENV{PERL_YAML_BACKEND};
|
| 70 |
+
_can_load( $backend )
|
| 71 |
+
or croak "Could not load PERL_YAML_BACKEND '$backend'\n";
|
| 72 |
+
$backend->can("Load")
|
| 73 |
+
or croak "PERL_YAML_BACKEND '$backend' does not implement Load()\n";
|
| 74 |
+
return $backend;
|
| 75 |
+
}
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
sub json_decoder {
|
| 79 |
+
if ($ENV{PERL_CORE}) {
|
| 80 |
+
_can_load( 'JSON::PP' => 2.27300 )
|
| 81 |
+
or croak "JSON::PP 2.27300 is not available\n";
|
| 82 |
+
return 'JSON::PP';
|
| 83 |
+
}
|
| 84 |
+
if (my $decoder = $ENV{CPAN_META_JSON_DECODER}) {
|
| 85 |
+
_can_load( $decoder )
|
| 86 |
+
or croak "Could not load CPAN_META_JSON_DECODER '$decoder'\n";
|
| 87 |
+
$decoder->can('decode_json')
|
| 88 |
+
or croak "No decode_json sub provided by CPAN_META_JSON_DECODER '$decoder'\n";
|
| 89 |
+
return $decoder;
|
| 90 |
+
}
|
| 91 |
+
return $_[0]->json_backend;
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
sub json_backend {
|
| 95 |
+
if ($ENV{PERL_CORE}) {
|
| 96 |
+
_can_load( 'JSON::PP' => 2.27300 )
|
| 97 |
+
or croak "JSON::PP 2.27300 is not available\n";
|
| 98 |
+
return 'JSON::PP';
|
| 99 |
+
}
|
| 100 |
+
if (my $backend = $ENV{CPAN_META_JSON_BACKEND}) {
|
| 101 |
+
_can_load( $backend )
|
| 102 |
+
or croak "Could not load CPAN_META_JSON_BACKEND '$backend'\n";
|
| 103 |
+
$backend->can('new')
|
| 104 |
+
or croak "No constructor provided by CPAN_META_JSON_BACKEND '$backend'\n";
|
| 105 |
+
return $backend;
|
| 106 |
+
}
|
| 107 |
+
if (! $ENV{PERL_JSON_BACKEND} or $ENV{PERL_JSON_BACKEND} eq 'JSON::PP') {
|
| 108 |
+
_can_load( 'JSON::PP' => 2.27300 )
|
| 109 |
+
or croak "JSON::PP 2.27300 is not available\n";
|
| 110 |
+
return 'JSON::PP';
|
| 111 |
+
}
|
| 112 |
+
else {
|
| 113 |
+
_can_load( 'JSON' => 2.5 )
|
| 114 |
+
or croak "JSON 2.5 is required for " .
|
| 115 |
+
"\$ENV{PERL_JSON_BACKEND} = '$ENV{PERL_JSON_BACKEND}'\n";
|
| 116 |
+
return "JSON";
|
| 117 |
+
}
|
| 118 |
+
}
|
| 119 |
+
|
| 120 |
+
sub _slurp {
|
| 121 |
+
require Encode;
|
| 122 |
+
open my $fh, "<:raw", "$_[0]" ## no critic
|
| 123 |
+
or die "can't open $_[0] for reading: $!";
|
| 124 |
+
my $content = do { local $/; <$fh> };
|
| 125 |
+
$content = Encode::decode('UTF-8', $content, Encode::PERLQQ());
|
| 126 |
+
return $content;
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
sub _can_load {
|
| 130 |
+
my ($module, $version) = @_;
|
| 131 |
+
(my $file = $module) =~ s{::}{/}g;
|
| 132 |
+
$file .= ".pm";
|
| 133 |
+
return 1 if $INC{$file};
|
| 134 |
+
return 0 if exists $INC{$file}; # prior load failed
|
| 135 |
+
eval { require $file; 1 }
|
| 136 |
+
or return 0;
|
| 137 |
+
if ( defined $version ) {
|
| 138 |
+
eval { $module->VERSION($version); 1 }
|
| 139 |
+
or return 0;
|
| 140 |
+
}
|
| 141 |
+
return 1;
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
# Kept for backwards compatibility only
|
| 145 |
+
# Create an object from a file
|
| 146 |
+
sub LoadFile ($) { ## no critic
|
| 147 |
+
return Load(_slurp(shift));
|
| 148 |
+
}
|
| 149 |
+
|
| 150 |
+
# Parse a document from a string.
|
| 151 |
+
sub Load ($) { ## no critic
|
| 152 |
+
require CPAN::Meta::YAML;
|
| 153 |
+
my $object = eval { CPAN::Meta::YAML::Load(shift) };
|
| 154 |
+
croak $@ if $@;
|
| 155 |
+
return $object;
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
1;
|
| 159 |
+
|
| 160 |
+
__END__
|
| 161 |
+
|
| 162 |
+
=pod
|
| 163 |
+
|
| 164 |
+
=encoding UTF-8
|
| 165 |
+
|
| 166 |
+
=head1 NAME
|
| 167 |
+
|
| 168 |
+
Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
|
| 169 |
+
|
| 170 |
+
=head1 VERSION
|
| 171 |
+
|
| 172 |
+
version 2.150010
|
| 173 |
+
|
| 174 |
+
=head1 SYNOPSIS
|
| 175 |
+
|
| 176 |
+
#############################################
|
| 177 |
+
# In your file
|
| 178 |
+
|
| 179 |
+
---
|
| 180 |
+
name: My-Distribution
|
| 181 |
+
version: 1.23
|
| 182 |
+
resources:
|
| 183 |
+
homepage: "http://example.com/dist/My-Distribution"
|
| 184 |
+
|
| 185 |
+
|
| 186 |
+
#############################################
|
| 187 |
+
# In your program
|
| 188 |
+
|
| 189 |
+
use Parse::CPAN::Meta;
|
| 190 |
+
|
| 191 |
+
my $distmeta = Parse::CPAN::Meta->load_file('META.yml');
|
| 192 |
+
|
| 193 |
+
# Reading properties
|
| 194 |
+
my $name = $distmeta->{name};
|
| 195 |
+
my $version = $distmeta->{version};
|
| 196 |
+
my $homepage = $distmeta->{resources}{homepage};
|
| 197 |
+
|
| 198 |
+
=head1 DESCRIPTION
|
| 199 |
+
|
| 200 |
+
B<Parse::CPAN::Meta> is a parser for F<META.json> and F<META.yml> files, using
|
| 201 |
+
L<JSON::PP> and/or L<CPAN::Meta::YAML>.
|
| 202 |
+
|
| 203 |
+
B<Parse::CPAN::Meta> provides three methods: C<load_file>, C<load_json_string>,
|
| 204 |
+
and C<load_yaml_string>. These will read and deserialize CPAN metafiles, and
|
| 205 |
+
are described below in detail.
|
| 206 |
+
|
| 207 |
+
B<Parse::CPAN::Meta> provides a legacy API of only two functions,
|
| 208 |
+
based on the YAML functions of the same name. Wherever possible,
|
| 209 |
+
identical calling semantics are used. These may only be used with YAML sources.
|
| 210 |
+
|
| 211 |
+
All error reporting is done with exceptions (die'ing).
|
| 212 |
+
|
| 213 |
+
Note that META files are expected to be in UTF-8 encoding, only. When
|
| 214 |
+
converted string data, it must first be decoded from UTF-8.
|
| 215 |
+
|
| 216 |
+
=begin Pod::Coverage
|
| 217 |
+
|
| 218 |
+
|
| 219 |
+
|
| 220 |
+
|
| 221 |
+
=end Pod::Coverage
|
| 222 |
+
|
| 223 |
+
=head1 METHODS
|
| 224 |
+
|
| 225 |
+
=head2 load_file
|
| 226 |
+
|
| 227 |
+
my $metadata_structure = Parse::CPAN::Meta->load_file('META.json');
|
| 228 |
+
|
| 229 |
+
my $metadata_structure = Parse::CPAN::Meta->load_file('META.yml');
|
| 230 |
+
|
| 231 |
+
This method will read the named file and deserialize it to a data structure,
|
| 232 |
+
determining whether it should be JSON or YAML based on the filename.
|
| 233 |
+
The file will be read using the ":utf8" IO layer.
|
| 234 |
+
|
| 235 |
+
=head2 load_yaml_string
|
| 236 |
+
|
| 237 |
+
my $metadata_structure = Parse::CPAN::Meta->load_yaml_string($yaml_string);
|
| 238 |
+
|
| 239 |
+
This method deserializes the given string of YAML and returns the first
|
| 240 |
+
document in it. (CPAN metadata files should always have only one document.)
|
| 241 |
+
If the source was UTF-8 encoded, the string must be decoded before calling
|
| 242 |
+
C<load_yaml_string>.
|
| 243 |
+
|
| 244 |
+
=head2 load_json_string
|
| 245 |
+
|
| 246 |
+
my $metadata_structure = Parse::CPAN::Meta->load_json_string($json_string);
|
| 247 |
+
|
| 248 |
+
This method deserializes the given string of JSON and the result.
|
| 249 |
+
If the source was UTF-8 encoded, the string must be decoded before calling
|
| 250 |
+
C<load_json_string>.
|
| 251 |
+
|
| 252 |
+
=head2 load_string
|
| 253 |
+
|
| 254 |
+
my $metadata_structure = Parse::CPAN::Meta->load_string($some_string);
|
| 255 |
+
|
| 256 |
+
If you don't know whether a string contains YAML or JSON data, this method
|
| 257 |
+
will use some heuristics and guess. If it can't tell, it assumes YAML.
|
| 258 |
+
|
| 259 |
+
=head2 yaml_backend
|
| 260 |
+
|
| 261 |
+
my $backend = Parse::CPAN::Meta->yaml_backend;
|
| 262 |
+
|
| 263 |
+
Returns the module name of the YAML serializer. See L</ENVIRONMENT>
|
| 264 |
+
for details.
|
| 265 |
+
|
| 266 |
+
=head2 json_backend
|
| 267 |
+
|
| 268 |
+
my $backend = Parse::CPAN::Meta->json_backend;
|
| 269 |
+
|
| 270 |
+
Returns the module name of the JSON serializer. If C<CPAN_META_JSON_BACKEND>
|
| 271 |
+
is set, this will be whatever that's set to. If not, this will either
|
| 272 |
+
be L<JSON::PP> or L<JSON>. If C<PERL_JSON_BACKEND> is set,
|
| 273 |
+
this will return L<JSON> as further delegation is handled by
|
| 274 |
+
the L<JSON> module. See L</ENVIRONMENT> for details.
|
| 275 |
+
|
| 276 |
+
=head2 json_decoder
|
| 277 |
+
|
| 278 |
+
my $decoder = Parse::CPAN::Meta->json_decoder;
|
| 279 |
+
|
| 280 |
+
Returns the module name of the JSON decoder. Unlike L</json_backend>, this
|
| 281 |
+
is not necessarily a full L<JSON>-style module, but only something that will
|
| 282 |
+
provide a C<decode_json> subroutine. If C<CPAN_META_JSON_DECODER> is set,
|
| 283 |
+
this will be whatever that's set to. If not, this will be whatever has
|
| 284 |
+
been selected as L</json_backend>. See L</ENVIRONMENT> for more notes.
|
| 285 |
+
|
| 286 |
+
=head1 FUNCTIONS
|
| 287 |
+
|
| 288 |
+
For maintenance clarity, no functions are exported by default. These functions
|
| 289 |
+
are available for backwards compatibility only and are best avoided in favor of
|
| 290 |
+
C<load_file>.
|
| 291 |
+
|
| 292 |
+
=head2 Load
|
| 293 |
+
|
| 294 |
+
my @yaml = Parse::CPAN::Meta::Load( $string );
|
| 295 |
+
|
| 296 |
+
Parses a string containing a valid YAML stream into a list of Perl data
|
| 297 |
+
structures.
|
| 298 |
+
|
| 299 |
+
=head2 LoadFile
|
| 300 |
+
|
| 301 |
+
my @yaml = Parse::CPAN::Meta::LoadFile( 'META.yml' );
|
| 302 |
+
|
| 303 |
+
Reads the YAML stream from a file instead of a string.
|
| 304 |
+
|
| 305 |
+
=head1 ENVIRONMENT
|
| 306 |
+
|
| 307 |
+
=head2 CPAN_META_JSON_DECODER
|
| 308 |
+
|
| 309 |
+
By default, L<JSON::PP> will be used for deserializing JSON data. If the
|
| 310 |
+
C<CPAN_META_JSON_DECODER> environment variable exists, this is expected to
|
| 311 |
+
be the name of a loadable module that provides a C<decode_json> subroutine,
|
| 312 |
+
which will then be used for deserialization. Relying only on the existence
|
| 313 |
+
of said subroutine allows for maximum compatibility, since this API is
|
| 314 |
+
provided by all of L<JSON::PP>, L<JSON::XS>, L<Cpanel::JSON::XS>,
|
| 315 |
+
L<JSON::MaybeXS>, L<JSON::Tiny>, and L<Mojo::JSON>.
|
| 316 |
+
|
| 317 |
+
=head2 CPAN_META_JSON_BACKEND
|
| 318 |
+
|
| 319 |
+
By default, L<JSON::PP> will be used for deserializing JSON data. If the
|
| 320 |
+
C<CPAN_META_JSON_BACKEND> environment variable exists, this is expected to
|
| 321 |
+
be the name of a loadable module that provides the L<JSON> API, since
|
| 322 |
+
downstream code expects to be able to call C<new> on this class. As such,
|
| 323 |
+
while L<JSON::PP>, L<JSON::XS>, L<Cpanel::JSON::XS> and L<JSON::MaybeXS> will
|
| 324 |
+
work for this, to use L<Mojo::JSON> or L<JSON::Tiny> for decoding requires
|
| 325 |
+
setting L</CPAN_META_JSON_DECODER>.
|
| 326 |
+
|
| 327 |
+
=head2 PERL_JSON_BACKEND
|
| 328 |
+
|
| 329 |
+
If the C<CPAN_META_JSON_BACKEND> environment variable does not exist, and if
|
| 330 |
+
C<PERL_JSON_BACKEND> environment variable exists, is true and is not
|
| 331 |
+
"JSON::PP", then the L<JSON> module (version 2.5 or greater) will be loaded and
|
| 332 |
+
used to interpret C<PERL_JSON_BACKEND>. If L<JSON> is not installed or is too
|
| 333 |
+
old, an exception will be thrown. Note that at the time of writing, the only
|
| 334 |
+
useful values are 1, which will tell L<JSON> to guess, or L<JSON::XS> - if
|
| 335 |
+
you want to use a newer JSON module, see L</CPAN_META_JSON_BACKEND>.
|
| 336 |
+
|
| 337 |
+
=head2 PERL_YAML_BACKEND
|
| 338 |
+
|
| 339 |
+
By default, L<CPAN::Meta::YAML> will be used for deserializing YAML data. If
|
| 340 |
+
the C<PERL_YAML_BACKEND> environment variable is defined, then it is interpreted
|
| 341 |
+
as a module to use for deserialization. The given module must be installed,
|
| 342 |
+
must load correctly and must implement the C<Load()> function or an exception
|
| 343 |
+
will be thrown.
|
| 344 |
+
|
| 345 |
+
=head1 AUTHORS
|
| 346 |
+
|
| 347 |
+
=over 4
|
| 348 |
+
|
| 349 |
+
=item *
|
| 350 |
+
|
| 351 |
+
David Golden <dagolden@cpan.org>
|
| 352 |
+
|
| 353 |
+
=item *
|
| 354 |
+
|
| 355 |
+
Ricardo Signes <rjbs@cpan.org>
|
| 356 |
+
|
| 357 |
+
=item *
|
| 358 |
+
|
| 359 |
+
Adam Kennedy <adamk@cpan.org>
|
| 360 |
+
|
| 361 |
+
=back
|
| 362 |
+
|
| 363 |
+
=head1 COPYRIGHT AND LICENSE
|
| 364 |
+
|
| 365 |
+
This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors.
|
| 366 |
+
|
| 367 |
+
This is free software; you can redistribute it and/or modify it under
|
| 368 |
+
the same terms as the Perl 5 programming language system itself.
|
| 369 |
+
|
| 370 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/PerlIO/via/QuotedPrint.pm
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package PerlIO::via::QuotedPrint;
|
| 2 |
+
|
| 3 |
+
$VERSION= '0.08';
|
| 4 |
+
|
| 5 |
+
# be as strict as possible
|
| 6 |
+
use strict;
|
| 7 |
+
|
| 8 |
+
# modules that we need
|
| 9 |
+
use MIME::QuotedPrint (); # no need to pollute this namespace
|
| 10 |
+
|
| 11 |
+
# satisfy -require-
|
| 12 |
+
1;
|
| 13 |
+
|
| 14 |
+
#-------------------------------------------------------------------------------
|
| 15 |
+
#
|
| 16 |
+
# Standard Perl features
|
| 17 |
+
#
|
| 18 |
+
#-------------------------------------------------------------------------------
|
| 19 |
+
# IN: 1 class to bless with
|
| 20 |
+
# 2 mode string (ignored)
|
| 21 |
+
# 3 file handle of PerlIO layer below (ignored)
|
| 22 |
+
# OUT: 1 blessed object
|
| 23 |
+
|
| 24 |
+
sub PUSHED { bless \*PUSHED,$_[0] } #PUSHED
|
| 25 |
+
|
| 26 |
+
#-------------------------------------------------------------------------------
|
| 27 |
+
# IN: 1 instantiated object (ignored)
|
| 28 |
+
# 2 handle to read from
|
| 29 |
+
# OUT: 1 decoded string
|
| 30 |
+
|
| 31 |
+
sub FILL {
|
| 32 |
+
|
| 33 |
+
# decode and return
|
| 34 |
+
my $line= readline( $_[1] );
|
| 35 |
+
return ( defined $line )
|
| 36 |
+
? MIME::QuotedPrint::decode_qp($line)
|
| 37 |
+
: undef;
|
| 38 |
+
} #FILL
|
| 39 |
+
|
| 40 |
+
#-------------------------------------------------------------------------------
|
| 41 |
+
# IN: 1 instantiated object (ignored)
|
| 42 |
+
# 2 buffer to be written
|
| 43 |
+
# 3 handle to write to
|
| 44 |
+
# OUT: 1 number of bytes written
|
| 45 |
+
|
| 46 |
+
sub WRITE {
|
| 47 |
+
|
| 48 |
+
# encode and write to handle: indicate result
|
| 49 |
+
return ( print { $_[2] } MIME::QuotedPrint::encode_qp( $_[1] ) )
|
| 50 |
+
? length( $_[1] )
|
| 51 |
+
: -1;
|
| 52 |
+
} #WRITE
|
| 53 |
+
|
| 54 |
+
#-------------------------------------------------------------------------------
|
| 55 |
+
|
| 56 |
+
__END__
|
| 57 |
+
|
| 58 |
+
=head1 NAME
|
| 59 |
+
|
| 60 |
+
PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
|
| 61 |
+
|
| 62 |
+
=head1 SYNOPSIS
|
| 63 |
+
|
| 64 |
+
use PerlIO::via::QuotedPrint;
|
| 65 |
+
|
| 66 |
+
open( my $in, '<:via(QuotedPrint)', 'file.qp' )
|
| 67 |
+
or die "Can't open file.qp for reading: $!\n";
|
| 68 |
+
|
| 69 |
+
open( my $out, '>:via(QuotedPrint)', 'file.qp' )
|
| 70 |
+
or die "Can't open file.qp for writing: $!\n";
|
| 71 |
+
|
| 72 |
+
=head1 VERSION
|
| 73 |
+
|
| 74 |
+
This documentation describes version 0.08.
|
| 75 |
+
|
| 76 |
+
=head1 DESCRIPTION
|
| 77 |
+
|
| 78 |
+
This module implements a PerlIO layer that works on files encoded in the
|
| 79 |
+
quoted-printable format. It will decode from quoted-printable while reading
|
| 80 |
+
from a handle, and it will encode as quoted-printable while writing to a handle.
|
| 81 |
+
|
| 82 |
+
=head1 REQUIRED MODULES
|
| 83 |
+
|
| 84 |
+
MIME::QuotedPrint (any)
|
| 85 |
+
|
| 86 |
+
=head1 SEE ALSO
|
| 87 |
+
|
| 88 |
+
L<PerlIO::via>, L<MIME::QuotedPrint>, L<PerlIO::via::Base64>,
|
| 89 |
+
L<PerlIO::via::MD5>, L<PerlIO::via::StripHTML>, L<PerlIO::via::Rotate>.
|
| 90 |
+
|
| 91 |
+
=head1 ACKNOWLEDGEMENTS
|
| 92 |
+
|
| 93 |
+
Based on example that was initially added to MIME::QuotedPrint.pm for the
|
| 94 |
+
5.8.0 distribution of Perl.
|
| 95 |
+
|
| 96 |
+
=head1 COPYRIGHT
|
| 97 |
+
|
| 98 |
+
Copyright (c) 2002, 2003, 2004, 2012 Elizabeth Mattijsen. All rights reserved.
|
| 99 |
+
This library is free software; you can redistribute it and/or modify it under
|
| 100 |
+
the same terms as Perl itself.
|
| 101 |
+
|
| 102 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/Bail.pm
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Event::Bail;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
|
| 9 |
+
use Test2::Util::HashBase qw{reason buffered};
|
| 10 |
+
|
| 11 |
+
# Make sure the tests terminate
|
| 12 |
+
sub terminate { 255 };
|
| 13 |
+
|
| 14 |
+
sub global { 1 };
|
| 15 |
+
|
| 16 |
+
sub causes_fail { 1 }
|
| 17 |
+
|
| 18 |
+
sub summary {
|
| 19 |
+
my $self = shift;
|
| 20 |
+
return "Bail out! " . $self->{+REASON}
|
| 21 |
+
if $self->{+REASON};
|
| 22 |
+
|
| 23 |
+
return "Bail out!";
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
sub diagnostics { 1 }
|
| 27 |
+
|
| 28 |
+
sub facet_data {
|
| 29 |
+
my $self = shift;
|
| 30 |
+
my $out = $self->common_facet_data;
|
| 31 |
+
|
| 32 |
+
$out->{control} = {
|
| 33 |
+
global => 1,
|
| 34 |
+
halt => 1,
|
| 35 |
+
details => $self->{+REASON},
|
| 36 |
+
terminate => 255,
|
| 37 |
+
};
|
| 38 |
+
|
| 39 |
+
return $out;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
1;
|
| 43 |
+
|
| 44 |
+
__END__
|
| 45 |
+
|
| 46 |
+
=pod
|
| 47 |
+
|
| 48 |
+
=encoding UTF-8
|
| 49 |
+
|
| 50 |
+
=head1 NAME
|
| 51 |
+
|
| 52 |
+
Test2::Event::Bail - Bailout!
|
| 53 |
+
|
| 54 |
+
=head1 DESCRIPTION
|
| 55 |
+
|
| 56 |
+
The bailout event is generated when things go horribly wrong and you need to
|
| 57 |
+
halt all testing in the current file.
|
| 58 |
+
|
| 59 |
+
=head1 SYNOPSIS
|
| 60 |
+
|
| 61 |
+
use Test2::API qw/context/;
|
| 62 |
+
use Test2::Event::Bail;
|
| 63 |
+
|
| 64 |
+
my $ctx = context();
|
| 65 |
+
my $event = $ctx->bail('Stuff is broken');
|
| 66 |
+
|
| 67 |
+
=head1 METHODS
|
| 68 |
+
|
| 69 |
+
Inherits from L<Test2::Event>. Also defines:
|
| 70 |
+
|
| 71 |
+
=over 4
|
| 72 |
+
|
| 73 |
+
=item $reason = $e->reason
|
| 74 |
+
|
| 75 |
+
The reason for the bailout.
|
| 76 |
+
|
| 77 |
+
=back
|
| 78 |
+
|
| 79 |
+
=head1 SOURCE
|
| 80 |
+
|
| 81 |
+
The source code repository for Test2 can be found at
|
| 82 |
+
F<http://github.com/Test-More/test-more/>.
|
| 83 |
+
|
| 84 |
+
=head1 MAINTAINERS
|
| 85 |
+
|
| 86 |
+
=over 4
|
| 87 |
+
|
| 88 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 89 |
+
|
| 90 |
+
=back
|
| 91 |
+
|
| 92 |
+
=head1 AUTHORS
|
| 93 |
+
|
| 94 |
+
=over 4
|
| 95 |
+
|
| 96 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 97 |
+
|
| 98 |
+
=back
|
| 99 |
+
|
| 100 |
+
=head1 COPYRIGHT
|
| 101 |
+
|
| 102 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 103 |
+
|
| 104 |
+
This program is free software; you can redistribute it and/or
|
| 105 |
+
modify it under the same terms as Perl itself.
|
| 106 |
+
|
| 107 |
+
See F<http://dev.perl.org/licenses/>
|
| 108 |
+
|
| 109 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/Exception.pm
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Event::Exception;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
|
| 9 |
+
use Test2::Util::HashBase qw{error};
|
| 10 |
+
|
| 11 |
+
sub init {
|
| 12 |
+
my $self = shift;
|
| 13 |
+
$self->{+ERROR} = "$self->{+ERROR}";
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
sub causes_fail { 1 }
|
| 17 |
+
|
| 18 |
+
sub summary {
|
| 19 |
+
my $self = shift;
|
| 20 |
+
chomp(my $msg = "Exception: " . $self->{+ERROR});
|
| 21 |
+
return $msg;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
sub diagnostics { 1 }
|
| 25 |
+
|
| 26 |
+
sub facet_data {
|
| 27 |
+
my $self = shift;
|
| 28 |
+
my $out = $self->common_facet_data;
|
| 29 |
+
|
| 30 |
+
$out->{errors} = [
|
| 31 |
+
{
|
| 32 |
+
tag => 'ERROR',
|
| 33 |
+
fail => 1,
|
| 34 |
+
details => $self->{+ERROR},
|
| 35 |
+
}
|
| 36 |
+
];
|
| 37 |
+
|
| 38 |
+
return $out;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
1;
|
| 43 |
+
|
| 44 |
+
__END__
|
| 45 |
+
|
| 46 |
+
=pod
|
| 47 |
+
|
| 48 |
+
=encoding UTF-8
|
| 49 |
+
|
| 50 |
+
=head1 NAME
|
| 51 |
+
|
| 52 |
+
Test2::Event::Exception - Exception event
|
| 53 |
+
|
| 54 |
+
=head1 DESCRIPTION
|
| 55 |
+
|
| 56 |
+
An exception event will display to STDERR, and will prevent the overall test
|
| 57 |
+
file from passing.
|
| 58 |
+
|
| 59 |
+
=head1 SYNOPSIS
|
| 60 |
+
|
| 61 |
+
use Test2::API qw/context/;
|
| 62 |
+
use Test2::Event::Exception;
|
| 63 |
+
|
| 64 |
+
my $ctx = context();
|
| 65 |
+
my $event = $ctx->send_event('Exception', error => 'Stuff is broken');
|
| 66 |
+
|
| 67 |
+
=head1 METHODS
|
| 68 |
+
|
| 69 |
+
Inherits from L<Test2::Event>. Also defines:
|
| 70 |
+
|
| 71 |
+
=over 4
|
| 72 |
+
|
| 73 |
+
=item $reason = $e->error
|
| 74 |
+
|
| 75 |
+
The reason for the exception.
|
| 76 |
+
|
| 77 |
+
=back
|
| 78 |
+
|
| 79 |
+
=head1 CAVEATS
|
| 80 |
+
|
| 81 |
+
Be aware that all exceptions are stringified during construction.
|
| 82 |
+
|
| 83 |
+
=head1 SOURCE
|
| 84 |
+
|
| 85 |
+
The source code repository for Test2 can be found at
|
| 86 |
+
F<http://github.com/Test-More/test-more/>.
|
| 87 |
+
|
| 88 |
+
=head1 MAINTAINERS
|
| 89 |
+
|
| 90 |
+
=over 4
|
| 91 |
+
|
| 92 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 93 |
+
|
| 94 |
+
=back
|
| 95 |
+
|
| 96 |
+
=head1 AUTHORS
|
| 97 |
+
|
| 98 |
+
=over 4
|
| 99 |
+
|
| 100 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 101 |
+
|
| 102 |
+
=back
|
| 103 |
+
|
| 104 |
+
=head1 COPYRIGHT
|
| 105 |
+
|
| 106 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 107 |
+
|
| 108 |
+
This program is free software; you can redistribute it and/or
|
| 109 |
+
modify it under the same terms as Perl itself.
|
| 110 |
+
|
| 111 |
+
See F<http://dev.perl.org/licenses/>
|
| 112 |
+
|
| 113 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/Ok.pm
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Event::Ok;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
|
| 9 |
+
use Test2::Util::HashBase qw{
|
| 10 |
+
pass effective_pass name todo
|
| 11 |
+
};
|
| 12 |
+
|
| 13 |
+
sub init {
|
| 14 |
+
my $self = shift;
|
| 15 |
+
|
| 16 |
+
# Do not store objects here, only true or false
|
| 17 |
+
$self->{+PASS} = $self->{+PASS} ? 1 : 0;
|
| 18 |
+
$self->{+EFFECTIVE_PASS} = $self->{+PASS} || (defined($self->{+TODO}) ? 1 : 0);
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
{
|
| 22 |
+
no warnings 'redefine';
|
| 23 |
+
sub set_todo {
|
| 24 |
+
my $self = shift;
|
| 25 |
+
my ($todo) = @_;
|
| 26 |
+
$self->{+TODO} = $todo;
|
| 27 |
+
$self->{+EFFECTIVE_PASS} = defined($todo) ? 1 : $self->{+PASS};
|
| 28 |
+
}
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
sub increments_count { 1 };
|
| 32 |
+
|
| 33 |
+
sub causes_fail { !$_[0]->{+EFFECTIVE_PASS} }
|
| 34 |
+
|
| 35 |
+
sub summary {
|
| 36 |
+
my $self = shift;
|
| 37 |
+
|
| 38 |
+
my $name = $self->{+NAME} || "Nameless Assertion";
|
| 39 |
+
|
| 40 |
+
my $todo = $self->{+TODO};
|
| 41 |
+
if ($todo) {
|
| 42 |
+
$name .= " (TODO: $todo)";
|
| 43 |
+
}
|
| 44 |
+
elsif (defined $todo) {
|
| 45 |
+
$name .= " (TODO)"
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
return $name;
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
sub extra_amnesty {
|
| 52 |
+
my $self = shift;
|
| 53 |
+
return unless defined($self->{+TODO}) || ($self->{+EFFECTIVE_PASS} && !$self->{+PASS});
|
| 54 |
+
return {
|
| 55 |
+
tag => 'TODO',
|
| 56 |
+
details => $self->{+TODO},
|
| 57 |
+
};
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
sub facet_data {
|
| 61 |
+
my $self = shift;
|
| 62 |
+
|
| 63 |
+
my $out = $self->common_facet_data;
|
| 64 |
+
|
| 65 |
+
$out->{assert} = {
|
| 66 |
+
no_debug => 1, # Legacy behavior
|
| 67 |
+
pass => $self->{+PASS},
|
| 68 |
+
details => $self->{+NAME},
|
| 69 |
+
};
|
| 70 |
+
|
| 71 |
+
if (my @exra_amnesty = $self->extra_amnesty) {
|
| 72 |
+
unshift @{$out->{amnesty}} => @exra_amnesty;
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
return $out;
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
1;
|
| 79 |
+
|
| 80 |
+
__END__
|
| 81 |
+
|
| 82 |
+
=pod
|
| 83 |
+
|
| 84 |
+
=encoding UTF-8
|
| 85 |
+
|
| 86 |
+
=head1 NAME
|
| 87 |
+
|
| 88 |
+
Test2::Event::Ok - Ok event type
|
| 89 |
+
|
| 90 |
+
=head1 DESCRIPTION
|
| 91 |
+
|
| 92 |
+
Ok events are generated whenever you run a test that produces a result.
|
| 93 |
+
Examples are C<ok()>, and C<is()>.
|
| 94 |
+
|
| 95 |
+
=head1 SYNOPSIS
|
| 96 |
+
|
| 97 |
+
use Test2::API qw/context/;
|
| 98 |
+
use Test2::Event::Ok;
|
| 99 |
+
|
| 100 |
+
my $ctx = context();
|
| 101 |
+
my $event = $ctx->ok($bool, $name, \@diag);
|
| 102 |
+
|
| 103 |
+
or:
|
| 104 |
+
|
| 105 |
+
my $ctx = context();
|
| 106 |
+
my $event = $ctx->send_event(
|
| 107 |
+
'Ok',
|
| 108 |
+
pass => $bool,
|
| 109 |
+
name => $name,
|
| 110 |
+
);
|
| 111 |
+
|
| 112 |
+
=head1 ACCESSORS
|
| 113 |
+
|
| 114 |
+
=over 4
|
| 115 |
+
|
| 116 |
+
=item $rb = $e->pass
|
| 117 |
+
|
| 118 |
+
The original true/false value of whatever was passed into the event (but
|
| 119 |
+
reduced down to 1 or 0).
|
| 120 |
+
|
| 121 |
+
=item $name = $e->name
|
| 122 |
+
|
| 123 |
+
Name of the test.
|
| 124 |
+
|
| 125 |
+
=item $b = $e->effective_pass
|
| 126 |
+
|
| 127 |
+
This is the true/false value of the test after TODO and similar modifiers are
|
| 128 |
+
taken into account.
|
| 129 |
+
|
| 130 |
+
=back
|
| 131 |
+
|
| 132 |
+
=head1 SOURCE
|
| 133 |
+
|
| 134 |
+
The source code repository for Test2 can be found at
|
| 135 |
+
F<http://github.com/Test-More/test-more/>.
|
| 136 |
+
|
| 137 |
+
=head1 MAINTAINERS
|
| 138 |
+
|
| 139 |
+
=over 4
|
| 140 |
+
|
| 141 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 142 |
+
|
| 143 |
+
=back
|
| 144 |
+
|
| 145 |
+
=head1 AUTHORS
|
| 146 |
+
|
| 147 |
+
=over 4
|
| 148 |
+
|
| 149 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 150 |
+
|
| 151 |
+
=back
|
| 152 |
+
|
| 153 |
+
=head1 COPYRIGHT
|
| 154 |
+
|
| 155 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 156 |
+
|
| 157 |
+
This program is free software; you can redistribute it and/or
|
| 158 |
+
modify it under the same terms as Perl itself.
|
| 159 |
+
|
| 160 |
+
See F<http://dev.perl.org/licenses/>
|
| 161 |
+
|
| 162 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Event/TAP/Version.pm
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Event::TAP::Version;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
use Carp qw/croak/;
|
| 8 |
+
|
| 9 |
+
BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
|
| 10 |
+
use Test2::Util::HashBase qw/version/;
|
| 11 |
+
|
| 12 |
+
sub init {
|
| 13 |
+
my $self = shift;
|
| 14 |
+
defined $self->{+VERSION} or croak "'version' is a required attribute";
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
sub summary { 'TAP version ' . $_[0]->{+VERSION} }
|
| 18 |
+
|
| 19 |
+
sub facet_data {
|
| 20 |
+
my $self = shift;
|
| 21 |
+
|
| 22 |
+
my $out = $self->common_facet_data;
|
| 23 |
+
|
| 24 |
+
$out->{about}->{details} = $self->summary;
|
| 25 |
+
|
| 26 |
+
push @{$out->{info}} => {
|
| 27 |
+
tag => 'INFO',
|
| 28 |
+
debug => 0,
|
| 29 |
+
details => $self->summary,
|
| 30 |
+
};
|
| 31 |
+
|
| 32 |
+
return $out;
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
1;
|
| 36 |
+
|
| 37 |
+
__END__
|
| 38 |
+
|
| 39 |
+
=pod
|
| 40 |
+
|
| 41 |
+
=encoding UTF-8
|
| 42 |
+
|
| 43 |
+
=head1 NAME
|
| 44 |
+
|
| 45 |
+
Test2::Event::TAP::Version - Event for TAP version.
|
| 46 |
+
|
| 47 |
+
=head1 DESCRIPTION
|
| 48 |
+
|
| 49 |
+
This event is used if a TAP formatter wishes to set a version.
|
| 50 |
+
|
| 51 |
+
=head1 SYNOPSIS
|
| 52 |
+
|
| 53 |
+
use Test2::API qw/context/;
|
| 54 |
+
use Test2::Event::Encoding;
|
| 55 |
+
|
| 56 |
+
my $ctx = context();
|
| 57 |
+
my $event = $ctx->send_event('TAP::Version', version => 42);
|
| 58 |
+
|
| 59 |
+
=head1 METHODS
|
| 60 |
+
|
| 61 |
+
Inherits from L<Test2::Event>. Also defines:
|
| 62 |
+
|
| 63 |
+
=over 4
|
| 64 |
+
|
| 65 |
+
=item $version = $e->version
|
| 66 |
+
|
| 67 |
+
The TAP version being parsed.
|
| 68 |
+
|
| 69 |
+
=back
|
| 70 |
+
|
| 71 |
+
=head1 SOURCE
|
| 72 |
+
|
| 73 |
+
The source code repository for Test2 can be found at
|
| 74 |
+
F<http://github.com/Test-More/test-more/>.
|
| 75 |
+
|
| 76 |
+
=head1 MAINTAINERS
|
| 77 |
+
|
| 78 |
+
=over 4
|
| 79 |
+
|
| 80 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 81 |
+
|
| 82 |
+
=back
|
| 83 |
+
|
| 84 |
+
=head1 AUTHORS
|
| 85 |
+
|
| 86 |
+
=over 4
|
| 87 |
+
|
| 88 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 89 |
+
|
| 90 |
+
=back
|
| 91 |
+
|
| 92 |
+
=head1 COPYRIGHT
|
| 93 |
+
|
| 94 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 95 |
+
|
| 96 |
+
This program is free software; you can redistribute it and/or
|
| 97 |
+
modify it under the same terms as Perl itself.
|
| 98 |
+
|
| 99 |
+
See F<http://dev.perl.org/licenses/>
|
| 100 |
+
|
| 101 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/EventFacet/Info/Table.pm
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::EventFacet::Info::Table;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
use Carp qw/confess/;
|
| 6 |
+
|
| 7 |
+
use Test2::Util::HashBase qw{-header -rows -collapse -no_collapse -as_string};
|
| 8 |
+
|
| 9 |
+
sub init {
|
| 10 |
+
my $self = shift;
|
| 11 |
+
|
| 12 |
+
confess "Table may not be empty" unless ref($self->{+ROWS}) eq 'ARRAY' && @{$self->{+ROWS}};
|
| 13 |
+
|
| 14 |
+
$self->{+AS_STRING} ||= '<TABLE NOT DISPLAYED>';
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
sub as_hash { my $out = +{%{$_[0]}}; delete $out->{as_string}; $out }
|
| 18 |
+
|
| 19 |
+
sub info_args {
|
| 20 |
+
my $self = shift;
|
| 21 |
+
|
| 22 |
+
my $hash = $self->as_hash;
|
| 23 |
+
my $desc = $self->as_string;
|
| 24 |
+
|
| 25 |
+
return (table => $hash, details => $desc);
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
1;
|
| 29 |
+
|
| 30 |
+
__END__
|
| 31 |
+
|
| 32 |
+
=pod
|
| 33 |
+
|
| 34 |
+
=encoding UTF-8
|
| 35 |
+
|
| 36 |
+
=head1 NAME
|
| 37 |
+
|
| 38 |
+
Test2::EventFacet::Info::Table - Intermediary representation of a table.
|
| 39 |
+
|
| 40 |
+
=head1 DESCRIPTION
|
| 41 |
+
|
| 42 |
+
Intermediary representation of a table for use in specialized
|
| 43 |
+
L<Test::API::Context> methods which generate L<Test2::EventFacet::Info> facets.
|
| 44 |
+
|
| 45 |
+
=head1 SYNOPSIS
|
| 46 |
+
|
| 47 |
+
use Test2::EventFacet::Info::Table;
|
| 48 |
+
use Test2::API qw/context/;
|
| 49 |
+
|
| 50 |
+
sub my_tool {
|
| 51 |
+
my $ctx = context();
|
| 52 |
+
|
| 53 |
+
...
|
| 54 |
+
|
| 55 |
+
$ctx->fail(
|
| 56 |
+
$name,
|
| 57 |
+
"failure diag message",
|
| 58 |
+
Test2::EventFacet::Info::Table->new(
|
| 59 |
+
# Required
|
| 60 |
+
rows => [['a', 'b'], ['c', 'd'], ...],
|
| 61 |
+
|
| 62 |
+
# Strongly Recommended
|
| 63 |
+
as_string => "... string to print when table cannot be rendered ...",
|
| 64 |
+
|
| 65 |
+
# Optional
|
| 66 |
+
header => ['col1', 'col2'],
|
| 67 |
+
collapse => $bool,
|
| 68 |
+
no_collapse => ['col1', ...],
|
| 69 |
+
),
|
| 70 |
+
);
|
| 71 |
+
|
| 72 |
+
...
|
| 73 |
+
|
| 74 |
+
$ctx->release;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
my_tool();
|
| 78 |
+
|
| 79 |
+
=head1 ATTRIBUTES
|
| 80 |
+
|
| 81 |
+
=over 4
|
| 82 |
+
|
| 83 |
+
=item $header_aref = $t->header()
|
| 84 |
+
|
| 85 |
+
=item $rows_aref = $t->rows()
|
| 86 |
+
|
| 87 |
+
=item $bool = $t->collapse()
|
| 88 |
+
|
| 89 |
+
=item $aref = $t->no_collapse()
|
| 90 |
+
|
| 91 |
+
The above are all directly tied to the table hashref structure described in
|
| 92 |
+
L<Test2::EventFacet::Info>.
|
| 93 |
+
|
| 94 |
+
=item $str = $t->as_string()
|
| 95 |
+
|
| 96 |
+
This returns the string form of the table if it was set, otherwise it returns
|
| 97 |
+
the string C<< "<TABLE NOT DISPLAYED>" >>.
|
| 98 |
+
|
| 99 |
+
=item $href = $t->as_hash()
|
| 100 |
+
|
| 101 |
+
This returns the data structure used for tables by L<Test2::EventFacet::Info>.
|
| 102 |
+
|
| 103 |
+
=item %args = $t->info_args()
|
| 104 |
+
|
| 105 |
+
This returns the arguments that should be used to construct the proper
|
| 106 |
+
L<Test2::EventFacet::Info> structure.
|
| 107 |
+
|
| 108 |
+
return (table => $t->as_hash(), details => $t->as_string());
|
| 109 |
+
|
| 110 |
+
=back
|
| 111 |
+
|
| 112 |
+
=head1 SOURCE
|
| 113 |
+
|
| 114 |
+
The source code repository for Test2 can be found at
|
| 115 |
+
F<http://github.com/Test-More/test-more/>.
|
| 116 |
+
|
| 117 |
+
=head1 MAINTAINERS
|
| 118 |
+
|
| 119 |
+
=over 4
|
| 120 |
+
|
| 121 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 122 |
+
|
| 123 |
+
=back
|
| 124 |
+
|
| 125 |
+
=head1 AUTHORS
|
| 126 |
+
|
| 127 |
+
=over 4
|
| 128 |
+
|
| 129 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 130 |
+
|
| 131 |
+
=back
|
| 132 |
+
|
| 133 |
+
=head1 COPYRIGHT
|
| 134 |
+
|
| 135 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 136 |
+
|
| 137 |
+
This program is free software; you can redistribute it and/or
|
| 138 |
+
modify it under the same terms as Perl itself.
|
| 139 |
+
|
| 140 |
+
See F<http://dev.perl.org/licenses/>
|
| 141 |
+
|
| 142 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Hub/Interceptor.pm
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Hub::Interceptor;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
use Test2::Hub::Interceptor::Terminator();
|
| 9 |
+
|
| 10 |
+
BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
|
| 11 |
+
use Test2::Util::HashBase;
|
| 12 |
+
|
| 13 |
+
sub init {
|
| 14 |
+
my $self = shift;
|
| 15 |
+
$self->SUPER::init();
|
| 16 |
+
$self->{+NESTED} = 0;
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
sub inherit {
|
| 20 |
+
my $self = shift;
|
| 21 |
+
my ($from, %params) = @_;
|
| 22 |
+
|
| 23 |
+
$self->{+NESTED} = 0;
|
| 24 |
+
|
| 25 |
+
if ($from->{+IPC} && !$self->{+IPC} && !exists($params{ipc})) {
|
| 26 |
+
my $ipc = $from->{+IPC};
|
| 27 |
+
$self->{+IPC} = $ipc;
|
| 28 |
+
$ipc->add_hub($self->{+HID});
|
| 29 |
+
}
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
sub terminate {
|
| 33 |
+
my $self = shift;
|
| 34 |
+
my ($code) = @_;
|
| 35 |
+
|
| 36 |
+
eval {
|
| 37 |
+
no warnings 'exiting';
|
| 38 |
+
last T2_SUBTEST_WRAPPER;
|
| 39 |
+
};
|
| 40 |
+
my $err = $@;
|
| 41 |
+
|
| 42 |
+
# Fallback
|
| 43 |
+
die bless(\$err, 'Test2::Hub::Interceptor::Terminator');
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
1;
|
| 47 |
+
|
| 48 |
+
__END__
|
| 49 |
+
|
| 50 |
+
=pod
|
| 51 |
+
|
| 52 |
+
=encoding UTF-8
|
| 53 |
+
|
| 54 |
+
=head1 NAME
|
| 55 |
+
|
| 56 |
+
Test2::Hub::Interceptor - Hub used by interceptor to grab results.
|
| 57 |
+
|
| 58 |
+
=head1 SOURCE
|
| 59 |
+
|
| 60 |
+
The source code repository for Test2 can be found at
|
| 61 |
+
F<http://github.com/Test-More/test-more/>.
|
| 62 |
+
|
| 63 |
+
=head1 MAINTAINERS
|
| 64 |
+
|
| 65 |
+
=over 4
|
| 66 |
+
|
| 67 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 68 |
+
|
| 69 |
+
=back
|
| 70 |
+
|
| 71 |
+
=head1 AUTHORS
|
| 72 |
+
|
| 73 |
+
=over 4
|
| 74 |
+
|
| 75 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 76 |
+
|
| 77 |
+
=back
|
| 78 |
+
|
| 79 |
+
=head1 COPYRIGHT
|
| 80 |
+
|
| 81 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 82 |
+
|
| 83 |
+
This program is free software; you can redistribute it and/or
|
| 84 |
+
modify it under the same terms as Perl itself.
|
| 85 |
+
|
| 86 |
+
See F<http://dev.perl.org/licenses/>
|
| 87 |
+
|
| 88 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Hub/Interceptor/Terminator.pm
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Hub::Interceptor::Terminator;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
1;
|
| 9 |
+
|
| 10 |
+
__END__
|
| 11 |
+
|
| 12 |
+
=pod
|
| 13 |
+
|
| 14 |
+
=encoding UTF-8
|
| 15 |
+
|
| 16 |
+
=head1 NAME
|
| 17 |
+
|
| 18 |
+
Test2::Hub::Interceptor::Terminator - Exception class used by
|
| 19 |
+
Test2::Hub::Interceptor
|
| 20 |
+
|
| 21 |
+
=head1 SOURCE
|
| 22 |
+
|
| 23 |
+
The source code repository for Test2 can be found at
|
| 24 |
+
F<http://github.com/Test-More/test-more/>.
|
| 25 |
+
|
| 26 |
+
=head1 MAINTAINERS
|
| 27 |
+
|
| 28 |
+
=over 4
|
| 29 |
+
|
| 30 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 31 |
+
|
| 32 |
+
=back
|
| 33 |
+
|
| 34 |
+
=head1 AUTHORS
|
| 35 |
+
|
| 36 |
+
=over 4
|
| 37 |
+
|
| 38 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 39 |
+
|
| 40 |
+
=back
|
| 41 |
+
|
| 42 |
+
=head1 COPYRIGHT
|
| 43 |
+
|
| 44 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 45 |
+
|
| 46 |
+
This program is free software; you can redistribute it and/or
|
| 47 |
+
modify it under the same terms as Perl itself.
|
| 48 |
+
|
| 49 |
+
See F<http://dev.perl.org/licenses/>
|
| 50 |
+
|
| 51 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Hub/Subtest.pm
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Hub::Subtest;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
|
| 8 |
+
use Test2::Util::HashBase qw/nested exit_code manual_skip_all/;
|
| 9 |
+
use Test2::Util qw/get_tid/;
|
| 10 |
+
|
| 11 |
+
sub is_subtest { 1 }
|
| 12 |
+
|
| 13 |
+
sub inherit {
|
| 14 |
+
my $self = shift;
|
| 15 |
+
my ($from) = @_;
|
| 16 |
+
|
| 17 |
+
$self->SUPER::inherit($from);
|
| 18 |
+
|
| 19 |
+
$self->{+NESTED} = $from->nested + 1;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
{
|
| 23 |
+
# Legacy
|
| 24 |
+
no warnings 'once';
|
| 25 |
+
*ID = \&Test2::Hub::HID;
|
| 26 |
+
*id = \&Test2::Hub::hid;
|
| 27 |
+
*set_id = \&Test2::Hub::set_hid;
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
sub send {
|
| 31 |
+
my $self = shift;
|
| 32 |
+
my ($e) = @_;
|
| 33 |
+
|
| 34 |
+
my $out = $self->SUPER::send($e);
|
| 35 |
+
|
| 36 |
+
return $out if $self->{+MANUAL_SKIP_ALL};
|
| 37 |
+
|
| 38 |
+
my $f = $e->facet_data;
|
| 39 |
+
|
| 40 |
+
my $plan = $f->{plan} or return $out;
|
| 41 |
+
return $out unless $plan->{skip};
|
| 42 |
+
|
| 43 |
+
my $trace = $f->{trace} or die "Missing Trace!";
|
| 44 |
+
return $out unless $trace->{pid} != $self->pid
|
| 45 |
+
|| $trace->{tid} != $self->tid;
|
| 46 |
+
|
| 47 |
+
no warnings 'exiting';
|
| 48 |
+
last T2_SUBTEST_WRAPPER;
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
sub terminate {
|
| 52 |
+
my $self = shift;
|
| 53 |
+
my ($code, $e, $f) = @_;
|
| 54 |
+
$self->set_exit_code($code);
|
| 55 |
+
|
| 56 |
+
return if $self->{+MANUAL_SKIP_ALL};
|
| 57 |
+
|
| 58 |
+
$f ||= $e->facet_data;
|
| 59 |
+
|
| 60 |
+
if(my $plan = $f->{plan}) {
|
| 61 |
+
my $trace = $f->{trace} or die "Missing Trace!";
|
| 62 |
+
return if $plan->{skip}
|
| 63 |
+
&& ($trace->{pid} != $$ || $trace->{tid} != get_tid);
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
no warnings 'exiting';
|
| 67 |
+
last T2_SUBTEST_WRAPPER;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
1;
|
| 71 |
+
|
| 72 |
+
__END__
|
| 73 |
+
|
| 74 |
+
=pod
|
| 75 |
+
|
| 76 |
+
=encoding UTF-8
|
| 77 |
+
|
| 78 |
+
=head1 NAME
|
| 79 |
+
|
| 80 |
+
Test2::Hub::Subtest - Hub used by subtests
|
| 81 |
+
|
| 82 |
+
=head1 DESCRIPTION
|
| 83 |
+
|
| 84 |
+
Subtests make use of this hub to route events.
|
| 85 |
+
|
| 86 |
+
=head1 TOGGLES
|
| 87 |
+
|
| 88 |
+
=over 4
|
| 89 |
+
|
| 90 |
+
=item $bool = $hub->manual_skip_all
|
| 91 |
+
|
| 92 |
+
=item $hub->set_manual_skip_all($bool)
|
| 93 |
+
|
| 94 |
+
The default is false.
|
| 95 |
+
|
| 96 |
+
Normally a skip-all plan event will cause a subtest to stop executing. This is
|
| 97 |
+
accomplished via C<last LABEL> to a label inside the subtest code. Most of the
|
| 98 |
+
time this is perfectly fine. There are times however where this flow control
|
| 99 |
+
causes bad things to happen.
|
| 100 |
+
|
| 101 |
+
This toggle lets you turn off the abort logic for the hub. When this is toggled
|
| 102 |
+
to true B<you> are responsible for ensuring no additional events are generated.
|
| 103 |
+
|
| 104 |
+
=back
|
| 105 |
+
|
| 106 |
+
=head1 SOURCE
|
| 107 |
+
|
| 108 |
+
The source code repository for Test2 can be found at
|
| 109 |
+
F<http://github.com/Test-More/test-more/>.
|
| 110 |
+
|
| 111 |
+
=head1 MAINTAINERS
|
| 112 |
+
|
| 113 |
+
=over 4
|
| 114 |
+
|
| 115 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 116 |
+
|
| 117 |
+
=back
|
| 118 |
+
|
| 119 |
+
=head1 AUTHORS
|
| 120 |
+
|
| 121 |
+
=over 4
|
| 122 |
+
|
| 123 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 124 |
+
|
| 125 |
+
=back
|
| 126 |
+
|
| 127 |
+
=head1 COPYRIGHT
|
| 128 |
+
|
| 129 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 130 |
+
|
| 131 |
+
This program is free software; you can redistribute it and/or
|
| 132 |
+
modify it under the same terms as Perl itself.
|
| 133 |
+
|
| 134 |
+
See F<http://dev.perl.org/licenses/>
|
| 135 |
+
|
| 136 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/IPC/Driver.pm
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::IPC::Driver;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
use Carp qw/confess/;
|
| 9 |
+
use Test2::Util::HashBase qw{no_fatal no_bail};
|
| 10 |
+
|
| 11 |
+
use Test2::API qw/test2_ipc_add_driver/;
|
| 12 |
+
|
| 13 |
+
my %ADDED;
|
| 14 |
+
sub import {
|
| 15 |
+
my $class = shift;
|
| 16 |
+
return if $class eq __PACKAGE__;
|
| 17 |
+
return if $ADDED{$class}++;
|
| 18 |
+
test2_ipc_add_driver($class);
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
sub pending { -1 }
|
| 22 |
+
sub set_pending { -1 }
|
| 23 |
+
|
| 24 |
+
for my $meth (qw/send cull add_hub drop_hub waiting is_viable/) {
|
| 25 |
+
no strict 'refs';
|
| 26 |
+
*$meth = sub {
|
| 27 |
+
my $thing = shift;
|
| 28 |
+
confess "'$thing' did not define the required method '$meth'."
|
| 29 |
+
};
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
# Print the error and call exit. We are not using 'die' cause this is a
|
| 33 |
+
# catastrophic error that should never be caught. If we get here it
|
| 34 |
+
# means some serious shit has happened in a child process, the only way
|
| 35 |
+
# to inform the parent may be to exit false.
|
| 36 |
+
|
| 37 |
+
sub abort {
|
| 38 |
+
my $self = shift;
|
| 39 |
+
chomp(my ($msg) = @_);
|
| 40 |
+
|
| 41 |
+
$self->driver_abort($msg) if $self->can('driver_abort');
|
| 42 |
+
|
| 43 |
+
print STDERR "IPC Fatal Error: $msg\n";
|
| 44 |
+
print STDOUT "Bail out! IPC Fatal Error: $msg\n" unless $self->no_bail;
|
| 45 |
+
|
| 46 |
+
CORE::exit(255) unless $self->no_fatal;
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
sub abort_trace {
|
| 50 |
+
my $self = shift;
|
| 51 |
+
my ($msg) = @_;
|
| 52 |
+
# Older versions of Carp do not export longmess() function, so it needs to be called with package name
|
| 53 |
+
$self->abort(Carp::longmess($msg));
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
1;
|
| 57 |
+
|
| 58 |
+
__END__
|
| 59 |
+
|
| 60 |
+
=pod
|
| 61 |
+
|
| 62 |
+
=encoding UTF-8
|
| 63 |
+
|
| 64 |
+
=head1 NAME
|
| 65 |
+
|
| 66 |
+
Test2::IPC::Driver - Base class for Test2 IPC drivers.
|
| 67 |
+
|
| 68 |
+
=head1 SYNOPSIS
|
| 69 |
+
|
| 70 |
+
package Test2::IPC::Driver::MyDriver;
|
| 71 |
+
|
| 72 |
+
use base 'Test2::IPC::Driver';
|
| 73 |
+
|
| 74 |
+
...
|
| 75 |
+
|
| 76 |
+
=head1 METHODS
|
| 77 |
+
|
| 78 |
+
=over 4
|
| 79 |
+
|
| 80 |
+
=item $self->abort($msg)
|
| 81 |
+
|
| 82 |
+
If an IPC encounters a fatal error it should use this. This will print the
|
| 83 |
+
message to STDERR with C<'IPC Fatal Error: '> prefixed to it, then it will
|
| 84 |
+
forcefully exit 255. IPC errors may occur in threads or processes other than
|
| 85 |
+
the main one, this method provides the best chance of the harness noticing the
|
| 86 |
+
error.
|
| 87 |
+
|
| 88 |
+
=item $self->abort_trace($msg)
|
| 89 |
+
|
| 90 |
+
This is the same as C<< $ipc->abort($msg) >> except that it uses
|
| 91 |
+
C<Carp::longmess> to add a stack trace to the message.
|
| 92 |
+
|
| 93 |
+
=back
|
| 94 |
+
|
| 95 |
+
=head1 LOADING DRIVERS
|
| 96 |
+
|
| 97 |
+
Test2::IPC::Driver has an C<import()> method. All drivers inherit this import
|
| 98 |
+
method. This import method registers the driver.
|
| 99 |
+
|
| 100 |
+
In most cases you just need to load the desired IPC driver to make it work. You
|
| 101 |
+
should load this driver as early as possible. A warning will be issued if you
|
| 102 |
+
load it too late for it to be effective.
|
| 103 |
+
|
| 104 |
+
use Test2::IPC::Driver::MyDriver;
|
| 105 |
+
...
|
| 106 |
+
|
| 107 |
+
=head1 WRITING DRIVERS
|
| 108 |
+
|
| 109 |
+
package Test2::IPC::Driver::MyDriver;
|
| 110 |
+
use strict;
|
| 111 |
+
use warnings;
|
| 112 |
+
|
| 113 |
+
use base 'Test2::IPC::Driver';
|
| 114 |
+
|
| 115 |
+
sub is_viable {
|
| 116 |
+
return 0 if $^O eq 'win32'; # Will not work on windows.
|
| 117 |
+
return 1;
|
| 118 |
+
}
|
| 119 |
+
|
| 120 |
+
sub add_hub {
|
| 121 |
+
my $self = shift;
|
| 122 |
+
my ($hid) = @_;
|
| 123 |
+
|
| 124 |
+
... # Make it possible to contact the hub
|
| 125 |
+
}
|
| 126 |
+
|
| 127 |
+
sub drop_hub {
|
| 128 |
+
my $self = shift;
|
| 129 |
+
my ($hid) = @_;
|
| 130 |
+
|
| 131 |
+
... # Nothing should try to reach the hub anymore.
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
sub send {
|
| 135 |
+
my $self = shift;
|
| 136 |
+
my ($hid, $e, $global) = @_;
|
| 137 |
+
|
| 138 |
+
... # Send the event to the proper hub.
|
| 139 |
+
|
| 140 |
+
# This may notify other procs/threads that there is a pending event.
|
| 141 |
+
Test2::API::test2_ipc_set_pending($uniq_val);
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
sub cull {
|
| 145 |
+
my $self = shift;
|
| 146 |
+
my ($hid) = @_;
|
| 147 |
+
|
| 148 |
+
my @events = ...; # Here is where you get the events for the hub
|
| 149 |
+
|
| 150 |
+
return @events;
|
| 151 |
+
}
|
| 152 |
+
|
| 153 |
+
sub waiting {
|
| 154 |
+
my $self = shift;
|
| 155 |
+
|
| 156 |
+
... # Notify all listening procs and threads that the main
|
| 157 |
+
... # process/thread is waiting for them to finish.
|
| 158 |
+
}
|
| 159 |
+
|
| 160 |
+
1;
|
| 161 |
+
|
| 162 |
+
=head2 METHODS SUBCLASSES MUST IMPLEMENT
|
| 163 |
+
|
| 164 |
+
=over 4
|
| 165 |
+
|
| 166 |
+
=item $ipc->is_viable
|
| 167 |
+
|
| 168 |
+
This should return true if the driver works in the current environment. This
|
| 169 |
+
should return false if it does not. This is a CLASS method.
|
| 170 |
+
|
| 171 |
+
=item $ipc->add_hub($hid)
|
| 172 |
+
|
| 173 |
+
This is used to alert the driver that a new hub is expecting events. The driver
|
| 174 |
+
should keep track of the process and thread ids, the hub should only be dropped
|
| 175 |
+
by the proc+thread that started it.
|
| 176 |
+
|
| 177 |
+
sub add_hub {
|
| 178 |
+
my $self = shift;
|
| 179 |
+
my ($hid) = @_;
|
| 180 |
+
|
| 181 |
+
... # Make it possible to contact the hub
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
=item $ipc->drop_hub($hid)
|
| 185 |
+
|
| 186 |
+
This is used to alert the driver that a hub is no longer accepting events. The
|
| 187 |
+
driver should keep track of the process and thread ids, the hub should only be
|
| 188 |
+
dropped by the proc+thread that started it (This is the drivers responsibility
|
| 189 |
+
to enforce).
|
| 190 |
+
|
| 191 |
+
sub drop_hub {
|
| 192 |
+
my $self = shift;
|
| 193 |
+
my ($hid) = @_;
|
| 194 |
+
|
| 195 |
+
... # Nothing should try to reach the hub anymore.
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
=item $ipc->send($hid, $event);
|
| 199 |
+
|
| 200 |
+
=item $ipc->send($hid, $event, $global);
|
| 201 |
+
|
| 202 |
+
Used to send events from the current process/thread to the specified hub in its
|
| 203 |
+
process+thread.
|
| 204 |
+
|
| 205 |
+
sub send {
|
| 206 |
+
my $self = shift;
|
| 207 |
+
my ($hid, $e) = @_;
|
| 208 |
+
|
| 209 |
+
... # Send the event to the proper hub.
|
| 210 |
+
|
| 211 |
+
# This may notify other procs/threads that there is a pending event.
|
| 212 |
+
Test2::API::test2_ipc_set_pending($uniq_val);
|
| 213 |
+
}
|
| 214 |
+
|
| 215 |
+
If C<$global> is true then the driver should send the event to all hubs in all
|
| 216 |
+
processes and threads.
|
| 217 |
+
|
| 218 |
+
=item @events = $ipc->cull($hid)
|
| 219 |
+
|
| 220 |
+
Used to collect events that have been sent to the specified hub.
|
| 221 |
+
|
| 222 |
+
sub cull {
|
| 223 |
+
my $self = shift;
|
| 224 |
+
my ($hid) = @_;
|
| 225 |
+
|
| 226 |
+
my @events = ...; # Here is where you get the events for the hub
|
| 227 |
+
|
| 228 |
+
return @events;
|
| 229 |
+
}
|
| 230 |
+
|
| 231 |
+
=item $ipc->waiting()
|
| 232 |
+
|
| 233 |
+
This is called in the parent process when it is complete and waiting for all
|
| 234 |
+
child processes and threads to complete.
|
| 235 |
+
|
| 236 |
+
sub waiting {
|
| 237 |
+
my $self = shift;
|
| 238 |
+
|
| 239 |
+
... # Notify all listening procs and threads that the main
|
| 240 |
+
... # process/thread is waiting for them to finish.
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
+
=back
|
| 244 |
+
|
| 245 |
+
=head2 METHODS SUBCLASSES MAY IMPLEMENT OR OVERRIDE
|
| 246 |
+
|
| 247 |
+
=over 4
|
| 248 |
+
|
| 249 |
+
=item $ipc->driver_abort($msg)
|
| 250 |
+
|
| 251 |
+
This is a hook called by C<< Test2::IPC::Driver->abort() >>. This is your
|
| 252 |
+
chance to cleanup when an abort happens. You cannot prevent the abort, but you
|
| 253 |
+
can gracefully except it.
|
| 254 |
+
|
| 255 |
+
=back
|
| 256 |
+
|
| 257 |
+
=head1 SOURCE
|
| 258 |
+
|
| 259 |
+
The source code repository for Test2 can be found at
|
| 260 |
+
F<http://github.com/Test-More/test-more/>.
|
| 261 |
+
|
| 262 |
+
=head1 MAINTAINERS
|
| 263 |
+
|
| 264 |
+
=over 4
|
| 265 |
+
|
| 266 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 267 |
+
|
| 268 |
+
=back
|
| 269 |
+
|
| 270 |
+
=head1 AUTHORS
|
| 271 |
+
|
| 272 |
+
=over 4
|
| 273 |
+
|
| 274 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 275 |
+
|
| 276 |
+
=back
|
| 277 |
+
|
| 278 |
+
=head1 COPYRIGHT
|
| 279 |
+
|
| 280 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 281 |
+
|
| 282 |
+
This program is free software; you can redistribute it and/or
|
| 283 |
+
modify it under the same terms as Perl itself.
|
| 284 |
+
|
| 285 |
+
See F<http://dev.perl.org/licenses/>
|
| 286 |
+
|
| 287 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/IPC/Driver/Files.pm
ADDED
|
@@ -0,0 +1,479 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::IPC::Driver::Files;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
BEGIN { require Test2::IPC::Driver; our @ISA = qw(Test2::IPC::Driver) }
|
| 8 |
+
|
| 9 |
+
use Test2::Util::HashBase qw{tempdir event_ids read_ids timeouts tid pid globals};
|
| 10 |
+
|
| 11 |
+
use Scalar::Util qw/blessed/;
|
| 12 |
+
use File::Temp();
|
| 13 |
+
use Storable();
|
| 14 |
+
use File::Spec();
|
| 15 |
+
use POSIX();
|
| 16 |
+
|
| 17 |
+
use Test2::Util qw/try get_tid pkg_to_file IS_WIN32 ipc_separator do_rename do_unlink try_sig_mask/;
|
| 18 |
+
use Test2::API qw/test2_ipc_set_pending/;
|
| 19 |
+
|
| 20 |
+
sub is_viable { 1 }
|
| 21 |
+
|
| 22 |
+
sub init {
|
| 23 |
+
my $self = shift;
|
| 24 |
+
|
| 25 |
+
my $tmpdir = File::Temp::tempdir(
|
| 26 |
+
$ENV{T2_TEMPDIR_TEMPLATE} || "test2" . ipc_separator . $$ . ipc_separator . "XXXXXX",
|
| 27 |
+
CLEANUP => 0,
|
| 28 |
+
TMPDIR => 1,
|
| 29 |
+
);
|
| 30 |
+
|
| 31 |
+
$self->abort_trace("Could not get a temp dir") unless $tmpdir;
|
| 32 |
+
|
| 33 |
+
$self->{+TEMPDIR} = File::Spec->canonpath($tmpdir);
|
| 34 |
+
|
| 35 |
+
print STDERR "\nIPC Temp Dir: $tmpdir\n\n"
|
| 36 |
+
if $ENV{T2_KEEP_TEMPDIR};
|
| 37 |
+
|
| 38 |
+
$self->{+EVENT_IDS} = {};
|
| 39 |
+
$self->{+READ_IDS} = {};
|
| 40 |
+
$self->{+TIMEOUTS} = {};
|
| 41 |
+
|
| 42 |
+
$self->{+TID} = get_tid();
|
| 43 |
+
$self->{+PID} = $$;
|
| 44 |
+
|
| 45 |
+
$self->{+GLOBALS} = {};
|
| 46 |
+
|
| 47 |
+
return $self;
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
sub hub_file {
|
| 51 |
+
my $self = shift;
|
| 52 |
+
my ($hid) = @_;
|
| 53 |
+
my $tdir = $self->{+TEMPDIR};
|
| 54 |
+
return File::Spec->catfile($tdir, "HUB" . ipc_separator . $hid);
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
+
sub event_file {
|
| 58 |
+
my $self = shift;
|
| 59 |
+
my ($hid, $e) = @_;
|
| 60 |
+
|
| 61 |
+
my $tempdir = $self->{+TEMPDIR};
|
| 62 |
+
my $type = blessed($e) or $self->abort("'$e' is not a blessed object!");
|
| 63 |
+
|
| 64 |
+
$self->abort("'$e' is not an event object!")
|
| 65 |
+
unless $type->isa('Test2::Event');
|
| 66 |
+
|
| 67 |
+
my $tid = get_tid();
|
| 68 |
+
my $eid = $self->{+EVENT_IDS}->{$hid}->{$$}->{$tid} += 1;
|
| 69 |
+
|
| 70 |
+
my @type = split '::', $type;
|
| 71 |
+
my $name = join(ipc_separator, $hid, $$, $tid, $eid, @type);
|
| 72 |
+
|
| 73 |
+
return File::Spec->catfile($tempdir, $name);
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
sub add_hub {
|
| 77 |
+
my $self = shift;
|
| 78 |
+
my ($hid) = @_;
|
| 79 |
+
|
| 80 |
+
my $hfile = $self->hub_file($hid);
|
| 81 |
+
|
| 82 |
+
$self->abort_trace("File for hub '$hid' already exists")
|
| 83 |
+
if -e $hfile;
|
| 84 |
+
|
| 85 |
+
open(my $fh, '>', $hfile) or $self->abort_trace("Could not create hub file '$hid': $!");
|
| 86 |
+
print $fh "$$\n" . get_tid() . "\n";
|
| 87 |
+
close($fh);
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
sub drop_hub {
|
| 91 |
+
my $self = shift;
|
| 92 |
+
my ($hid) = @_;
|
| 93 |
+
|
| 94 |
+
my $tdir = $self->{+TEMPDIR};
|
| 95 |
+
my $hfile = $self->hub_file($hid);
|
| 96 |
+
|
| 97 |
+
$self->abort_trace("File for hub '$hid' does not exist")
|
| 98 |
+
unless -e $hfile;
|
| 99 |
+
|
| 100 |
+
open(my $fh, '<', $hfile) or $self->abort_trace("Could not open hub file '$hid': $!");
|
| 101 |
+
my ($pid, $tid) = <$fh>;
|
| 102 |
+
close($fh);
|
| 103 |
+
|
| 104 |
+
$self->abort_trace("A hub file can only be closed by the process that started it\nExpected $pid, got $$")
|
| 105 |
+
unless $pid == $$;
|
| 106 |
+
|
| 107 |
+
$self->abort_trace("A hub file can only be closed by the thread that started it\nExpected $tid, got " . get_tid())
|
| 108 |
+
unless get_tid() == $tid;
|
| 109 |
+
|
| 110 |
+
if ($ENV{T2_KEEP_TEMPDIR}) {
|
| 111 |
+
my ($ok, $err) = do_rename($hfile, File::Spec->canonpath("$hfile.complete"));
|
| 112 |
+
$self->abort_trace("Could not rename file '$hfile' -> '$hfile.complete': $err") unless $ok
|
| 113 |
+
}
|
| 114 |
+
else {
|
| 115 |
+
my ($ok, $err) = do_unlink($hfile);
|
| 116 |
+
$self->abort_trace("Could not remove file for hub '$hid': $err") unless $ok
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
opendir(my $dh, $tdir) or $self->abort_trace("Could not open temp dir!");
|
| 120 |
+
for my $file (readdir($dh)) {
|
| 121 |
+
next if $file =~ m{\.complete$};
|
| 122 |
+
next unless $file =~ m{^$hid};
|
| 123 |
+
$self->abort_trace("Not all files from hub '$hid' have been collected!");
|
| 124 |
+
}
|
| 125 |
+
closedir($dh);
|
| 126 |
+
}
|
| 127 |
+
|
| 128 |
+
sub send {
|
| 129 |
+
my $self = shift;
|
| 130 |
+
my ($hid, $e, $global) = @_;
|
| 131 |
+
|
| 132 |
+
my $tempdir = $self->{+TEMPDIR};
|
| 133 |
+
my $hfile = $self->hub_file($hid);
|
| 134 |
+
my $dest = $global ? 'GLOBAL' : $hid;
|
| 135 |
+
|
| 136 |
+
$self->abort(<<" EOT") unless $global || -f $hfile;
|
| 137 |
+
hub '$hid' is not available, failed to send event!
|
| 138 |
+
|
| 139 |
+
There was an attempt to send an event to a hub in a parent process or thread,
|
| 140 |
+
but that hub appears to be gone. This can happen if you fork, or start a new
|
| 141 |
+
thread from inside subtest, and the parent finishes the subtest before the
|
| 142 |
+
child returns.
|
| 143 |
+
|
| 144 |
+
This can also happen if the parent process is done testing before the child
|
| 145 |
+
finishes. Test2 normally waits automatically in the root process, but will not
|
| 146 |
+
do so if Test::Builder is loaded for legacy reasons.
|
| 147 |
+
EOT
|
| 148 |
+
|
| 149 |
+
my $file = $self->event_file($dest, $e);
|
| 150 |
+
my $ready = File::Spec->canonpath("$file.ready");
|
| 151 |
+
|
| 152 |
+
if ($global) {
|
| 153 |
+
my $name = $ready;
|
| 154 |
+
$name =~ s{^.*(GLOBAL)}{GLOBAL};
|
| 155 |
+
$self->{+GLOBALS}->{$hid}->{$name}++;
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
# Write and rename the file.
|
| 159 |
+
my ($ren_ok, $ren_err);
|
| 160 |
+
my ($ok, $err) = try_sig_mask {
|
| 161 |
+
Storable::store($e, $file);
|
| 162 |
+
($ren_ok, $ren_err) = do_rename("$file", $ready);
|
| 163 |
+
};
|
| 164 |
+
|
| 165 |
+
if ($ok) {
|
| 166 |
+
$self->abort("Could not rename file '$file' -> '$ready': $ren_err") unless $ren_ok;
|
| 167 |
+
test2_ipc_set_pending($file);
|
| 168 |
+
}
|
| 169 |
+
else {
|
| 170 |
+
my $src_file = __FILE__;
|
| 171 |
+
$err =~ s{ at \Q$src_file\E.*$}{};
|
| 172 |
+
chomp($err);
|
| 173 |
+
my $tid = get_tid();
|
| 174 |
+
my $trace = $e->trace->debug;
|
| 175 |
+
my $type = blessed($e);
|
| 176 |
+
|
| 177 |
+
$self->abort(<<" EOT");
|
| 178 |
+
|
| 179 |
+
*******************************************************************************
|
| 180 |
+
There was an error writing an event:
|
| 181 |
+
Destination: $dest
|
| 182 |
+
Origin PID: $$
|
| 183 |
+
Origin TID: $tid
|
| 184 |
+
Event Type: $type
|
| 185 |
+
Event Trace: $trace
|
| 186 |
+
File Name: $file
|
| 187 |
+
Ready Name: $ready
|
| 188 |
+
Error: $err
|
| 189 |
+
*******************************************************************************
|
| 190 |
+
|
| 191 |
+
EOT
|
| 192 |
+
}
|
| 193 |
+
|
| 194 |
+
return 1;
|
| 195 |
+
}
|
| 196 |
+
|
| 197 |
+
sub driver_abort {
|
| 198 |
+
my $self = shift;
|
| 199 |
+
my ($msg) = @_;
|
| 200 |
+
|
| 201 |
+
local ($@, $!, $?, $^E);
|
| 202 |
+
eval {
|
| 203 |
+
my $abort = File::Spec->catfile($self->{+TEMPDIR}, "ABORT");
|
| 204 |
+
open(my $fh, '>>', $abort) or die "Could not open abort file: $!";
|
| 205 |
+
print $fh $msg, "\n";
|
| 206 |
+
close($fh) or die "Could not close abort file: $!";
|
| 207 |
+
1;
|
| 208 |
+
} or warn $@;
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
sub cull {
|
| 212 |
+
my $self = shift;
|
| 213 |
+
my ($hid) = @_;
|
| 214 |
+
|
| 215 |
+
my $tempdir = $self->{+TEMPDIR};
|
| 216 |
+
|
| 217 |
+
opendir(my $dh, $tempdir) or $self->abort("could not open IPC temp dir ($tempdir)!");
|
| 218 |
+
|
| 219 |
+
my $read = $self->{+READ_IDS};
|
| 220 |
+
my $timeouts = $self->{+TIMEOUTS};
|
| 221 |
+
|
| 222 |
+
my @out;
|
| 223 |
+
for my $info (sort cmp_events map { $self->should_read_event($hid, $_) } readdir($dh)) {
|
| 224 |
+
unless ($info->{global}) {
|
| 225 |
+
my $next = $self->{+READ_IDS}->{$info->{hid}}->{$info->{pid}}->{$info->{tid}} ||= 1;
|
| 226 |
+
|
| 227 |
+
$timeouts->{$info->{file}} ||= time;
|
| 228 |
+
|
| 229 |
+
if ($next != $info->{eid}) {
|
| 230 |
+
# Wait up to N seconds for missing events
|
| 231 |
+
next unless 5 < time - $timeouts->{$info->{file}};
|
| 232 |
+
$self->abort("Missing event HID: $info->{hid}, PID: $info->{pid}, TID: $info->{tid}, EID: $info->{eid}.");
|
| 233 |
+
}
|
| 234 |
+
|
| 235 |
+
$self->{+READ_IDS}->{$info->{hid}}->{$info->{pid}}->{$info->{tid}} = $info->{eid} + 1;
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
my $full = $info->{full_path};
|
| 239 |
+
my $obj = $self->read_event_file($full);
|
| 240 |
+
push @out => $obj;
|
| 241 |
+
|
| 242 |
+
# Do not remove global events
|
| 243 |
+
next if $info->{global};
|
| 244 |
+
|
| 245 |
+
if ($ENV{T2_KEEP_TEMPDIR}) {
|
| 246 |
+
my $complete = File::Spec->canonpath("$full.complete");
|
| 247 |
+
my ($ok, $err) = do_rename($full, $complete);
|
| 248 |
+
$self->abort("Could not rename IPC file '$full', '$complete': $err") unless $ok;
|
| 249 |
+
}
|
| 250 |
+
else {
|
| 251 |
+
my ($ok, $err) = do_unlink("$full");
|
| 252 |
+
$self->abort("Could not unlink IPC file '$full': $err") unless $ok;
|
| 253 |
+
}
|
| 254 |
+
}
|
| 255 |
+
|
| 256 |
+
closedir($dh);
|
| 257 |
+
return @out;
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
sub parse_event_filename {
|
| 261 |
+
my $self = shift;
|
| 262 |
+
my ($file) = @_;
|
| 263 |
+
|
| 264 |
+
# The || is to force 0 in false
|
| 265 |
+
my $complete = substr($file, -9, 9) eq '.complete' || 0 and substr($file, -9, 9, "");
|
| 266 |
+
my $ready = substr($file, -6, 6) eq '.ready' || 0 and substr($file, -6, 6, "");
|
| 267 |
+
|
| 268 |
+
my @parts = split ipc_separator, $file;
|
| 269 |
+
my ($global, $hid) = $parts[0] eq 'GLOBAL' ? (1, shift @parts) : (0, join ipc_separator, splice(@parts, 0, 4));
|
| 270 |
+
my ($pid, $tid, $eid) = splice(@parts, 0, 3);
|
| 271 |
+
my $type = join '::' => @parts;
|
| 272 |
+
|
| 273 |
+
return {
|
| 274 |
+
file => $file,
|
| 275 |
+
ready => $ready,
|
| 276 |
+
complete => $complete,
|
| 277 |
+
global => $global,
|
| 278 |
+
type => $type,
|
| 279 |
+
hid => $hid,
|
| 280 |
+
pid => $pid,
|
| 281 |
+
tid => $tid,
|
| 282 |
+
eid => $eid,
|
| 283 |
+
};
|
| 284 |
+
}
|
| 285 |
+
|
| 286 |
+
sub should_read_event {
|
| 287 |
+
my $self = shift;
|
| 288 |
+
my ($hid, $file) = @_;
|
| 289 |
+
|
| 290 |
+
return if substr($file, 0, 1) eq '.';
|
| 291 |
+
return if substr($file, 0, 3) eq 'HUB';
|
| 292 |
+
CORE::exit(255) if $file eq 'ABORT';
|
| 293 |
+
|
| 294 |
+
my $parsed = $self->parse_event_filename($file);
|
| 295 |
+
|
| 296 |
+
return if $parsed->{complete};
|
| 297 |
+
return unless $parsed->{ready};
|
| 298 |
+
return unless $parsed->{global} || $parsed->{hid} eq $hid;
|
| 299 |
+
|
| 300 |
+
return if $parsed->{global} && $self->{+GLOBALS}->{$hid}->{$file}++;
|
| 301 |
+
|
| 302 |
+
# Untaint the path.
|
| 303 |
+
my $full = File::Spec->catfile($self->{+TEMPDIR}, $file);
|
| 304 |
+
($full) = ($full =~ m/^(.*)$/gs) if ${^TAINT};
|
| 305 |
+
|
| 306 |
+
$parsed->{full_path} = $full;
|
| 307 |
+
|
| 308 |
+
return $parsed;
|
| 309 |
+
}
|
| 310 |
+
|
| 311 |
+
sub cmp_events {
|
| 312 |
+
# Globals first
|
| 313 |
+
return -1 if $a->{global} && !$b->{global};
|
| 314 |
+
return 1 if $b->{global} && !$a->{global};
|
| 315 |
+
|
| 316 |
+
return $a->{pid} <=> $b->{pid}
|
| 317 |
+
|| $a->{tid} <=> $b->{tid}
|
| 318 |
+
|| $a->{eid} <=> $b->{eid};
|
| 319 |
+
}
|
| 320 |
+
|
| 321 |
+
sub read_event_file {
|
| 322 |
+
my $self = shift;
|
| 323 |
+
my ($file) = @_;
|
| 324 |
+
|
| 325 |
+
my $obj = Storable::retrieve($file);
|
| 326 |
+
$self->abort("Got an unblessed object: '$obj'")
|
| 327 |
+
unless blessed($obj);
|
| 328 |
+
|
| 329 |
+
unless ($obj->isa('Test2::Event')) {
|
| 330 |
+
my $pkg = blessed($obj);
|
| 331 |
+
my $mod_file = pkg_to_file($pkg);
|
| 332 |
+
my ($ok, $err) = try { require $mod_file };
|
| 333 |
+
|
| 334 |
+
$self->abort("Event has unknown type ($pkg), tried to load '$mod_file' but failed: $err")
|
| 335 |
+
unless $ok;
|
| 336 |
+
|
| 337 |
+
$self->abort("'$obj' is not a 'Test2::Event' object")
|
| 338 |
+
unless $obj->isa('Test2::Event');
|
| 339 |
+
}
|
| 340 |
+
|
| 341 |
+
return $obj;
|
| 342 |
+
}
|
| 343 |
+
|
| 344 |
+
sub waiting {
|
| 345 |
+
my $self = shift;
|
| 346 |
+
require Test2::Event::Waiting;
|
| 347 |
+
$self->send(
|
| 348 |
+
GLOBAL => Test2::Event::Waiting->new(
|
| 349 |
+
trace => Test2::EventFacet::Trace->new(frame => [caller()]),
|
| 350 |
+
),
|
| 351 |
+
'GLOBAL'
|
| 352 |
+
);
|
| 353 |
+
return;
|
| 354 |
+
}
|
| 355 |
+
|
| 356 |
+
sub DESTROY {
|
| 357 |
+
my $self = shift;
|
| 358 |
+
|
| 359 |
+
return unless defined $self->pid;
|
| 360 |
+
return unless defined $self->tid;
|
| 361 |
+
|
| 362 |
+
return unless $$ == $self->pid;
|
| 363 |
+
return unless get_tid() == $self->tid;
|
| 364 |
+
|
| 365 |
+
my $tempdir = $self->{+TEMPDIR};
|
| 366 |
+
|
| 367 |
+
my $aborted = 0;
|
| 368 |
+
my $abort_file = File::Spec->catfile($self->{+TEMPDIR}, "ABORT");
|
| 369 |
+
if (-e $abort_file) {
|
| 370 |
+
$aborted = 1;
|
| 371 |
+
my ($ok, $err) = do_unlink($abort_file);
|
| 372 |
+
warn $err unless $ok;
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
opendir(my $dh, $tempdir) or $self->abort("Could not open temp dir! ($tempdir)");
|
| 376 |
+
while(my $file = readdir($dh)) {
|
| 377 |
+
next if $file =~ m/^\.+$/;
|
| 378 |
+
next if $file =~ m/\.complete$/;
|
| 379 |
+
my $full = File::Spec->catfile($tempdir, $file);
|
| 380 |
+
|
| 381 |
+
my $sep = ipc_separator;
|
| 382 |
+
if ($aborted || $file =~ m/^(GLOBAL|HUB$sep)/) {
|
| 383 |
+
$full =~ m/^(.*)$/;
|
| 384 |
+
$full = $1; # Untaint it
|
| 385 |
+
next if $ENV{T2_KEEP_TEMPDIR};
|
| 386 |
+
my ($ok, $err) = do_unlink($full);
|
| 387 |
+
$self->abort("Could not unlink IPC file '$full': $err") unless $ok;
|
| 388 |
+
next;
|
| 389 |
+
}
|
| 390 |
+
|
| 391 |
+
$self->abort("Leftover files in the directory ($full)!\n");
|
| 392 |
+
}
|
| 393 |
+
closedir($dh);
|
| 394 |
+
|
| 395 |
+
if ($ENV{T2_KEEP_TEMPDIR}) {
|
| 396 |
+
print STDERR "# Not removing temp dir: $tempdir\n";
|
| 397 |
+
return;
|
| 398 |
+
}
|
| 399 |
+
|
| 400 |
+
my $abort = File::Spec->catfile($self->{+TEMPDIR}, "ABORT");
|
| 401 |
+
unlink($abort) if -e $abort;
|
| 402 |
+
rmdir($tempdir) or warn "Could not remove IPC temp dir ($tempdir)";
|
| 403 |
+
}
|
| 404 |
+
|
| 405 |
+
1;
|
| 406 |
+
|
| 407 |
+
__END__
|
| 408 |
+
|
| 409 |
+
=pod
|
| 410 |
+
|
| 411 |
+
=encoding UTF-8
|
| 412 |
+
|
| 413 |
+
=head1 NAME
|
| 414 |
+
|
| 415 |
+
Test2::IPC::Driver::Files - Temp dir + Files concurrency model.
|
| 416 |
+
|
| 417 |
+
=head1 DESCRIPTION
|
| 418 |
+
|
| 419 |
+
This is the default, and fallback concurrency model for L<Test2>. This
|
| 420 |
+
sends events between processes and threads using serialized files in a
|
| 421 |
+
temporary directory. This is not particularly fast, but it works everywhere.
|
| 422 |
+
|
| 423 |
+
=head1 SYNOPSIS
|
| 424 |
+
|
| 425 |
+
use Test2::IPC::Driver::Files;
|
| 426 |
+
|
| 427 |
+
# IPC is now enabled
|
| 428 |
+
|
| 429 |
+
=head1 ENVIRONMENT VARIABLES
|
| 430 |
+
|
| 431 |
+
=over 4
|
| 432 |
+
|
| 433 |
+
=item T2_KEEP_TEMPDIR=0
|
| 434 |
+
|
| 435 |
+
When true, the tempdir used by the IPC driver will not be deleted when the test
|
| 436 |
+
is done.
|
| 437 |
+
|
| 438 |
+
=item T2_TEMPDIR_TEMPLATE='test2-XXXXXX'
|
| 439 |
+
|
| 440 |
+
This can be used to set the template for the IPC temp dir. The template should
|
| 441 |
+
follow template specifications from L<File::Temp>.
|
| 442 |
+
|
| 443 |
+
=back
|
| 444 |
+
|
| 445 |
+
=head1 SEE ALSO
|
| 446 |
+
|
| 447 |
+
See L<Test2::IPC::Driver> for methods.
|
| 448 |
+
|
| 449 |
+
=head1 SOURCE
|
| 450 |
+
|
| 451 |
+
The source code repository for Test2 can be found at
|
| 452 |
+
F<http://github.com/Test-More/test-more/>.
|
| 453 |
+
|
| 454 |
+
=head1 MAINTAINERS
|
| 455 |
+
|
| 456 |
+
=over 4
|
| 457 |
+
|
| 458 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 459 |
+
|
| 460 |
+
=back
|
| 461 |
+
|
| 462 |
+
=head1 AUTHORS
|
| 463 |
+
|
| 464 |
+
=over 4
|
| 465 |
+
|
| 466 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 467 |
+
|
| 468 |
+
=back
|
| 469 |
+
|
| 470 |
+
=head1 COPYRIGHT
|
| 471 |
+
|
| 472 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 473 |
+
|
| 474 |
+
This program is free software; you can redistribute it and/or
|
| 475 |
+
modify it under the same terms as Perl itself.
|
| 476 |
+
|
| 477 |
+
See F<http://dev.perl.org/licenses/>
|
| 478 |
+
|
| 479 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Util/ExternalMeta.pm
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Util::ExternalMeta;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
use Carp qw/croak/;
|
| 9 |
+
|
| 10 |
+
sub META_KEY() { '_meta' }
|
| 11 |
+
|
| 12 |
+
our @EXPORT = qw/meta set_meta get_meta delete_meta/;
|
| 13 |
+
BEGIN { require Exporter; our @ISA = qw(Exporter) }
|
| 14 |
+
|
| 15 |
+
sub set_meta {
|
| 16 |
+
my $self = shift;
|
| 17 |
+
my ($key, $value) = @_;
|
| 18 |
+
|
| 19 |
+
validate_key($key);
|
| 20 |
+
|
| 21 |
+
$self->{+META_KEY} ||= {};
|
| 22 |
+
$self->{+META_KEY}->{$key} = $value;
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
sub get_meta {
|
| 26 |
+
my $self = shift;
|
| 27 |
+
my ($key) = @_;
|
| 28 |
+
|
| 29 |
+
validate_key($key);
|
| 30 |
+
|
| 31 |
+
my $meta = $self->{+META_KEY} or return undef;
|
| 32 |
+
return $meta->{$key};
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
sub delete_meta {
|
| 36 |
+
my $self = shift;
|
| 37 |
+
my ($key) = @_;
|
| 38 |
+
|
| 39 |
+
validate_key($key);
|
| 40 |
+
|
| 41 |
+
my $meta = $self->{+META_KEY} or return undef;
|
| 42 |
+
delete $meta->{$key};
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
sub meta {
|
| 46 |
+
my $self = shift;
|
| 47 |
+
my ($key, $default) = @_;
|
| 48 |
+
|
| 49 |
+
validate_key($key);
|
| 50 |
+
|
| 51 |
+
my $meta = $self->{+META_KEY};
|
| 52 |
+
return undef unless $meta || defined($default);
|
| 53 |
+
|
| 54 |
+
unless($meta) {
|
| 55 |
+
$meta = {};
|
| 56 |
+
$self->{+META_KEY} = $meta;
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
$meta->{$key} = $default
|
| 60 |
+
if defined($default) && !defined($meta->{$key});
|
| 61 |
+
|
| 62 |
+
return $meta->{$key};
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
sub validate_key {
|
| 66 |
+
my $key = shift;
|
| 67 |
+
|
| 68 |
+
return if $key && !ref($key);
|
| 69 |
+
|
| 70 |
+
my $render_key = defined($key) ? "'$key'" : 'undef';
|
| 71 |
+
croak "Invalid META key: $render_key, keys must be true, and may not be references";
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
1;
|
| 75 |
+
|
| 76 |
+
__END__
|
| 77 |
+
|
| 78 |
+
=pod
|
| 79 |
+
|
| 80 |
+
=encoding UTF-8
|
| 81 |
+
|
| 82 |
+
=head1 NAME
|
| 83 |
+
|
| 84 |
+
Test2::Util::ExternalMeta - Allow third party tools to safely attach meta-data
|
| 85 |
+
to your instances.
|
| 86 |
+
|
| 87 |
+
=head1 DESCRIPTION
|
| 88 |
+
|
| 89 |
+
This package lets you define a clear, and consistent way to allow third party
|
| 90 |
+
tools to attach meta-data to your instances. If your object consumes this
|
| 91 |
+
package, and imports its methods, then third party meta-data has a safe place
|
| 92 |
+
to live.
|
| 93 |
+
|
| 94 |
+
=head1 SYNOPSIS
|
| 95 |
+
|
| 96 |
+
package My::Object;
|
| 97 |
+
use strict;
|
| 98 |
+
use warnings;
|
| 99 |
+
|
| 100 |
+
use Test2::Util::ExternalMeta qw/meta get_meta set_meta delete_meta/;
|
| 101 |
+
|
| 102 |
+
...
|
| 103 |
+
|
| 104 |
+
Now to use it:
|
| 105 |
+
|
| 106 |
+
my $inst = My::Object->new;
|
| 107 |
+
|
| 108 |
+
$inst->set_meta(foo => 'bar');
|
| 109 |
+
my $val = $inst->get_meta('foo');
|
| 110 |
+
|
| 111 |
+
=head1 WHERE IS THE DATA STORED?
|
| 112 |
+
|
| 113 |
+
This package assumes your instances are blessed hashrefs, it will not work if
|
| 114 |
+
that is not true. It will store all meta-data in the C<_meta> key on your
|
| 115 |
+
objects hash. If your object makes use of the C<_meta> key in its underlying
|
| 116 |
+
hash, then there is a conflict and you cannot use this package.
|
| 117 |
+
|
| 118 |
+
=head1 EXPORTS
|
| 119 |
+
|
| 120 |
+
=over 4
|
| 121 |
+
|
| 122 |
+
=item $val = $obj->meta($key)
|
| 123 |
+
|
| 124 |
+
=item $val = $obj->meta($key, $default)
|
| 125 |
+
|
| 126 |
+
This will get the value for a specified meta C<$key>. Normally this will return
|
| 127 |
+
C<undef> when there is no value for the C<$key>, however you can specify a
|
| 128 |
+
C<$default> value to set when no value is already set.
|
| 129 |
+
|
| 130 |
+
=item $val = $obj->get_meta($key)
|
| 131 |
+
|
| 132 |
+
This will get the value for a specified meta C<$key>. This does not have the
|
| 133 |
+
C<$default> overhead that C<meta()> does.
|
| 134 |
+
|
| 135 |
+
=item $val = $obj->delete_meta($key)
|
| 136 |
+
|
| 137 |
+
This will remove the value of a specified meta C<$key>. The old C<$val> will be
|
| 138 |
+
returned.
|
| 139 |
+
|
| 140 |
+
=item $obj->set_meta($key, $val)
|
| 141 |
+
|
| 142 |
+
Set the value of a specified meta C<$key>.
|
| 143 |
+
|
| 144 |
+
=back
|
| 145 |
+
|
| 146 |
+
=head1 META-KEY RESTRICTIONS
|
| 147 |
+
|
| 148 |
+
Meta keys must be defined, and must be true when used as a boolean. Keys may
|
| 149 |
+
not be references. You are free to stringify a reference C<"$ref"> for use as a
|
| 150 |
+
key, but this package will not stringify it for you.
|
| 151 |
+
|
| 152 |
+
=head1 SOURCE
|
| 153 |
+
|
| 154 |
+
The source code repository for Test2 can be found at
|
| 155 |
+
F<http://github.com/Test-More/test-more/>.
|
| 156 |
+
|
| 157 |
+
=head1 MAINTAINERS
|
| 158 |
+
|
| 159 |
+
=over 4
|
| 160 |
+
|
| 161 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 162 |
+
|
| 163 |
+
=back
|
| 164 |
+
|
| 165 |
+
=head1 AUTHORS
|
| 166 |
+
|
| 167 |
+
=over 4
|
| 168 |
+
|
| 169 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 170 |
+
|
| 171 |
+
=back
|
| 172 |
+
|
| 173 |
+
=head1 COPYRIGHT
|
| 174 |
+
|
| 175 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 176 |
+
|
| 177 |
+
This program is free software; you can redistribute it and/or
|
| 178 |
+
modify it under the same terms as Perl itself.
|
| 179 |
+
|
| 180 |
+
See F<http://dev.perl.org/licenses/>
|
| 181 |
+
|
| 182 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Util/Facets2Legacy.pm
ADDED
|
@@ -0,0 +1,299 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Util::Facets2Legacy;
|
| 2 |
+
use strict;
|
| 3 |
+
use warnings;
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
use Carp qw/croak confess/;
|
| 8 |
+
use Scalar::Util qw/blessed/;
|
| 9 |
+
|
| 10 |
+
use base 'Exporter';
|
| 11 |
+
our @EXPORT_OK = qw{
|
| 12 |
+
causes_fail
|
| 13 |
+
diagnostics
|
| 14 |
+
global
|
| 15 |
+
increments_count
|
| 16 |
+
no_display
|
| 17 |
+
sets_plan
|
| 18 |
+
subtest_id
|
| 19 |
+
summary
|
| 20 |
+
terminate
|
| 21 |
+
uuid
|
| 22 |
+
};
|
| 23 |
+
our %EXPORT_TAGS = ( ALL => \@EXPORT_OK );
|
| 24 |
+
|
| 25 |
+
our $CYCLE_DETECT = 0;
|
| 26 |
+
sub _get_facet_data {
|
| 27 |
+
my $in = shift;
|
| 28 |
+
|
| 29 |
+
if (blessed($in) && $in->isa('Test2::Event')) {
|
| 30 |
+
confess "Cycle between Facets2Legacy and $in\->facet_data() (Did you forget to override the facet_data() method?)"
|
| 31 |
+
if $CYCLE_DETECT;
|
| 32 |
+
|
| 33 |
+
local $CYCLE_DETECT = 1;
|
| 34 |
+
return $in->facet_data;
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
return $in if ref($in) eq 'HASH';
|
| 38 |
+
|
| 39 |
+
croak "'$in' Does not appear to be either a Test::Event or an EventFacet hashref";
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
sub causes_fail {
|
| 43 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 44 |
+
|
| 45 |
+
return 1 if $facet_data->{errors} && grep { $_->{fail} } @{$facet_data->{errors}};
|
| 46 |
+
|
| 47 |
+
if (my $control = $facet_data->{control}) {
|
| 48 |
+
return 1 if $control->{halt};
|
| 49 |
+
return 1 if $control->{terminate};
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
return 0 if $facet_data->{amnesty} && @{$facet_data->{amnesty}};
|
| 53 |
+
return 1 if $facet_data->{assert} && !$facet_data->{assert}->{pass};
|
| 54 |
+
return 0;
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
+
sub diagnostics {
|
| 58 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 59 |
+
return 1 if $facet_data->{errors} && @{$facet_data->{errors}};
|
| 60 |
+
return 0 unless $facet_data->{info} && @{$facet_data->{info}};
|
| 61 |
+
return (grep { $_->{debug} } @{$facet_data->{info}}) ? 1 : 0;
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
sub global {
|
| 65 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 66 |
+
return 0 unless $facet_data->{control};
|
| 67 |
+
return $facet_data->{control}->{global};
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
sub increments_count {
|
| 71 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 72 |
+
return $facet_data->{assert} ? 1 : 0;
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
sub no_display {
|
| 76 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 77 |
+
return 0 unless $facet_data->{about};
|
| 78 |
+
return $facet_data->{about}->{no_display};
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
+
sub sets_plan {
|
| 82 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 83 |
+
my $plan = $facet_data->{plan} or return;
|
| 84 |
+
my @out = ($plan->{count} || 0);
|
| 85 |
+
|
| 86 |
+
if ($plan->{skip}) {
|
| 87 |
+
push @out => 'SKIP';
|
| 88 |
+
push @out => $plan->{details} if defined $plan->{details};
|
| 89 |
+
}
|
| 90 |
+
elsif ($plan->{none}) {
|
| 91 |
+
push @out => 'NO PLAN'
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
return @out;
|
| 95 |
+
}
|
| 96 |
+
|
| 97 |
+
sub subtest_id {
|
| 98 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 99 |
+
return undef unless $facet_data->{parent};
|
| 100 |
+
return $facet_data->{parent}->{hid};
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
sub summary {
|
| 104 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 105 |
+
return '' unless $facet_data->{about} && $facet_data->{about}->{details};
|
| 106 |
+
return $facet_data->{about}->{details};
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
sub terminate {
|
| 110 |
+
my $facet_data = _get_facet_data(shift @_);
|
| 111 |
+
return undef unless $facet_data->{control};
|
| 112 |
+
return $facet_data->{control}->{terminate};
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
sub uuid {
|
| 116 |
+
my $in = shift;
|
| 117 |
+
|
| 118 |
+
if ($CYCLE_DETECT) {
|
| 119 |
+
if (blessed($in) && $in->isa('Test2::Event')) {
|
| 120 |
+
my $meth = $in->can('uuid');
|
| 121 |
+
$meth = $in->can('SUPER::uuid') if $meth == \&uuid;
|
| 122 |
+
my $uuid = $in->$meth if $meth && $meth != \&uuid;
|
| 123 |
+
return $uuid if $uuid;
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
return undef;
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
my $facet_data = _get_facet_data($in);
|
| 130 |
+
return $facet_data->{about}->{uuid} if $facet_data->{about} && $facet_data->{about}->{uuid};
|
| 131 |
+
|
| 132 |
+
return undef;
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
1;
|
| 136 |
+
|
| 137 |
+
=pod
|
| 138 |
+
|
| 139 |
+
=encoding UTF-8
|
| 140 |
+
|
| 141 |
+
=head1 NAME
|
| 142 |
+
|
| 143 |
+
Test2::Util::Facets2Legacy - Convert facet data to the legacy event API.
|
| 144 |
+
|
| 145 |
+
=head1 DESCRIPTION
|
| 146 |
+
|
| 147 |
+
This module exports several subroutines from the older event API (see
|
| 148 |
+
L<Test2::Event>). These subroutines can be used as methods on any object that
|
| 149 |
+
provides a custom C<facet_data()> method. These subroutines can also be used as
|
| 150 |
+
functions that take a facet data hashref as arguments.
|
| 151 |
+
|
| 152 |
+
=head1 SYNOPSIS
|
| 153 |
+
|
| 154 |
+
=head2 AS METHODS
|
| 155 |
+
|
| 156 |
+
package My::Event;
|
| 157 |
+
|
| 158 |
+
use Test2::Util::Facets2Legacy ':ALL';
|
| 159 |
+
|
| 160 |
+
sub facet_data { return { ... } }
|
| 161 |
+
|
| 162 |
+
Then to use it:
|
| 163 |
+
|
| 164 |
+
my $e = My::Event->new(...);
|
| 165 |
+
|
| 166 |
+
my $causes_fail = $e->causes_fail;
|
| 167 |
+
my $summary = $e->summary;
|
| 168 |
+
....
|
| 169 |
+
|
| 170 |
+
=head2 AS FUNCTIONS
|
| 171 |
+
|
| 172 |
+
use Test2::Util::Facets2Legacy ':ALL';
|
| 173 |
+
|
| 174 |
+
my $f = {
|
| 175 |
+
assert => { ... },
|
| 176 |
+
info => [{...}, ...],
|
| 177 |
+
control => {...},
|
| 178 |
+
...
|
| 179 |
+
};
|
| 180 |
+
|
| 181 |
+
my $causes_fail = causes_fail($f);
|
| 182 |
+
my $summary = summary($f);
|
| 183 |
+
|
| 184 |
+
=head1 NOTE ON CYCLES
|
| 185 |
+
|
| 186 |
+
When used as methods, all these subroutines call C<< $e->facet_data() >>. The
|
| 187 |
+
default C<facet_data()> method in L<Test2::Event> relies on the legacy methods
|
| 188 |
+
this module emulates in order to work. As a result of this it is very easy to
|
| 189 |
+
create infinite recursion bugs.
|
| 190 |
+
|
| 191 |
+
These methods have cycle detection and will throw an exception early if a cycle
|
| 192 |
+
is detected. C<uuid()> is currently the only subroutine in this library that
|
| 193 |
+
has a fallback behavior when cycles are detected.
|
| 194 |
+
|
| 195 |
+
=head1 EXPORTS
|
| 196 |
+
|
| 197 |
+
Nothing is exported by default. You must specify which methods to import, or
|
| 198 |
+
use the ':ALL' tag.
|
| 199 |
+
|
| 200 |
+
=over 4
|
| 201 |
+
|
| 202 |
+
=item $bool = $e->causes_fail()
|
| 203 |
+
|
| 204 |
+
=item $bool = causes_fail($f)
|
| 205 |
+
|
| 206 |
+
Check if the event or facets result in a failing state.
|
| 207 |
+
|
| 208 |
+
=item $bool = $e->diagnostics()
|
| 209 |
+
|
| 210 |
+
=item $bool = diagnostics($f)
|
| 211 |
+
|
| 212 |
+
Check if the event or facets contain any diagnostics information.
|
| 213 |
+
|
| 214 |
+
=item $bool = $e->global()
|
| 215 |
+
|
| 216 |
+
=item $bool = global($f)
|
| 217 |
+
|
| 218 |
+
Check if the event or facets need to be globally processed.
|
| 219 |
+
|
| 220 |
+
=item $bool = $e->increments_count()
|
| 221 |
+
|
| 222 |
+
=item $bool = increments_count($f)
|
| 223 |
+
|
| 224 |
+
Check if the event or facets make an assertion.
|
| 225 |
+
|
| 226 |
+
=item $bool = $e->no_display()
|
| 227 |
+
|
| 228 |
+
=item $bool = no_display($f)
|
| 229 |
+
|
| 230 |
+
Check if the event or facets should be rendered or hidden.
|
| 231 |
+
|
| 232 |
+
=item ($max, $directive, $reason) = $e->sets_plan()
|
| 233 |
+
|
| 234 |
+
=item ($max, $directive, $reason) = sets_plan($f)
|
| 235 |
+
|
| 236 |
+
Check if the event or facets set a plan, and return the plan details.
|
| 237 |
+
|
| 238 |
+
=item $id = $e->subtest_id()
|
| 239 |
+
|
| 240 |
+
=item $id = subtest_id($f)
|
| 241 |
+
|
| 242 |
+
Get the subtest id, if any.
|
| 243 |
+
|
| 244 |
+
=item $string = $e->summary()
|
| 245 |
+
|
| 246 |
+
=item $string = summary($f)
|
| 247 |
+
|
| 248 |
+
Get the summary of the event or facets hash, if any.
|
| 249 |
+
|
| 250 |
+
=item $undef_or_int = $e->terminate()
|
| 251 |
+
|
| 252 |
+
=item $undef_or_int = terminate($f)
|
| 253 |
+
|
| 254 |
+
Check if the event or facets should result in process termination, if so the
|
| 255 |
+
exit code is returned (which could be 0). undef is returned if no termination
|
| 256 |
+
is requested.
|
| 257 |
+
|
| 258 |
+
=item $uuid = $e->uuid()
|
| 259 |
+
|
| 260 |
+
=item $uuid = uuid($f)
|
| 261 |
+
|
| 262 |
+
Get the UUID of the facets or event.
|
| 263 |
+
|
| 264 |
+
B<Note:> This will fall back to C<< $e->SUPER::uuid() >> if a cycle is
|
| 265 |
+
detected and an event is used as the argument.
|
| 266 |
+
|
| 267 |
+
=back
|
| 268 |
+
|
| 269 |
+
=head1 SOURCE
|
| 270 |
+
|
| 271 |
+
The source code repository for Test2 can be found at
|
| 272 |
+
F<http://github.com/Test-More/test-more/>.
|
| 273 |
+
|
| 274 |
+
=head1 MAINTAINERS
|
| 275 |
+
|
| 276 |
+
=over 4
|
| 277 |
+
|
| 278 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 279 |
+
|
| 280 |
+
=back
|
| 281 |
+
|
| 282 |
+
=head1 AUTHORS
|
| 283 |
+
|
| 284 |
+
=over 4
|
| 285 |
+
|
| 286 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 287 |
+
|
| 288 |
+
=back
|
| 289 |
+
|
| 290 |
+
=head1 COPYRIGHT
|
| 291 |
+
|
| 292 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 293 |
+
|
| 294 |
+
This program is free software; you can redistribute it and/or
|
| 295 |
+
modify it under the same terms as Perl itself.
|
| 296 |
+
|
| 297 |
+
See F<http://dev.perl.org/licenses/>
|
| 298 |
+
|
| 299 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/Test2/Util/Trace.pm
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
package Test2::Util::Trace;
|
| 2 |
+
require Test2::EventFacet::Trace;
|
| 3 |
+
@ISA = ('Test2::EventFacet::Trace');
|
| 4 |
+
|
| 5 |
+
our $VERSION = '1.302162';
|
| 6 |
+
|
| 7 |
+
1;
|
| 8 |
+
|
| 9 |
+
__END__
|
| 10 |
+
|
| 11 |
+
=pod
|
| 12 |
+
|
| 13 |
+
=encoding UTF-8
|
| 14 |
+
|
| 15 |
+
=head1 NAME
|
| 16 |
+
|
| 17 |
+
Test2::Util::Trace - Legacy wrapper fro L<Test2::EventFacet::Trace>.
|
| 18 |
+
|
| 19 |
+
=head1 DESCRIPTION
|
| 20 |
+
|
| 21 |
+
All the functionality for this class has been moved to
|
| 22 |
+
L<Test2::EventFacet::Trace>.
|
| 23 |
+
|
| 24 |
+
=head1 SOURCE
|
| 25 |
+
|
| 26 |
+
The source code repository for Test2 can be found at
|
| 27 |
+
F<http://github.com/Test-More/test-more/>.
|
| 28 |
+
|
| 29 |
+
=head1 MAINTAINERS
|
| 30 |
+
|
| 31 |
+
=over 4
|
| 32 |
+
|
| 33 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 34 |
+
|
| 35 |
+
=back
|
| 36 |
+
|
| 37 |
+
=head1 AUTHORS
|
| 38 |
+
|
| 39 |
+
=over 4
|
| 40 |
+
|
| 41 |
+
=item Chad Granum E<lt>exodist@cpan.orgE<gt>
|
| 42 |
+
|
| 43 |
+
=back
|
| 44 |
+
|
| 45 |
+
=head1 COPYRIGHT
|
| 46 |
+
|
| 47 |
+
Copyright 2019 Chad Granum E<lt>exodist@cpan.orgE<gt>.
|
| 48 |
+
|
| 49 |
+
This program is free software; you can redistribute it and/or
|
| 50 |
+
modify it under the same terms as Perl itself.
|
| 51 |
+
|
| 52 |
+
See F<http://dev.perl.org/licenses/>
|
| 53 |
+
|
| 54 |
+
=cut
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/BidiC/Y.pl
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V8
|
| 14 |
+
1564
|
| 15 |
+
1565
|
| 16 |
+
8206
|
| 17 |
+
8208
|
| 18 |
+
8234
|
| 19 |
+
8239
|
| 20 |
+
8294
|
| 21 |
+
8298
|
| 22 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/Bpt/C.pl
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V120
|
| 14 |
+
41
|
| 15 |
+
42
|
| 16 |
+
93
|
| 17 |
+
94
|
| 18 |
+
125
|
| 19 |
+
126
|
| 20 |
+
3899
|
| 21 |
+
3900
|
| 22 |
+
3901
|
| 23 |
+
3902
|
| 24 |
+
5788
|
| 25 |
+
5789
|
| 26 |
+
8262
|
| 27 |
+
8263
|
| 28 |
+
8318
|
| 29 |
+
8319
|
| 30 |
+
8334
|
| 31 |
+
8335
|
| 32 |
+
8969
|
| 33 |
+
8970
|
| 34 |
+
8971
|
| 35 |
+
8972
|
| 36 |
+
9002
|
| 37 |
+
9003
|
| 38 |
+
10089
|
| 39 |
+
10090
|
| 40 |
+
10091
|
| 41 |
+
10092
|
| 42 |
+
10093
|
| 43 |
+
10094
|
| 44 |
+
10095
|
| 45 |
+
10096
|
| 46 |
+
10097
|
| 47 |
+
10098
|
| 48 |
+
10099
|
| 49 |
+
10100
|
| 50 |
+
10101
|
| 51 |
+
10102
|
| 52 |
+
10182
|
| 53 |
+
10183
|
| 54 |
+
10215
|
| 55 |
+
10216
|
| 56 |
+
10217
|
| 57 |
+
10218
|
| 58 |
+
10219
|
| 59 |
+
10220
|
| 60 |
+
10221
|
| 61 |
+
10222
|
| 62 |
+
10223
|
| 63 |
+
10224
|
| 64 |
+
10628
|
| 65 |
+
10629
|
| 66 |
+
10630
|
| 67 |
+
10631
|
| 68 |
+
10632
|
| 69 |
+
10633
|
| 70 |
+
10634
|
| 71 |
+
10635
|
| 72 |
+
10636
|
| 73 |
+
10637
|
| 74 |
+
10638
|
| 75 |
+
10639
|
| 76 |
+
10640
|
| 77 |
+
10641
|
| 78 |
+
10642
|
| 79 |
+
10643
|
| 80 |
+
10644
|
| 81 |
+
10645
|
| 82 |
+
10646
|
| 83 |
+
10647
|
| 84 |
+
10648
|
| 85 |
+
10649
|
| 86 |
+
10713
|
| 87 |
+
10714
|
| 88 |
+
10715
|
| 89 |
+
10716
|
| 90 |
+
10749
|
| 91 |
+
10750
|
| 92 |
+
11811
|
| 93 |
+
11812
|
| 94 |
+
11813
|
| 95 |
+
11814
|
| 96 |
+
11815
|
| 97 |
+
11816
|
| 98 |
+
11817
|
| 99 |
+
11818
|
| 100 |
+
12297
|
| 101 |
+
12298
|
| 102 |
+
12299
|
| 103 |
+
12300
|
| 104 |
+
12301
|
| 105 |
+
12302
|
| 106 |
+
12303
|
| 107 |
+
12304
|
| 108 |
+
12305
|
| 109 |
+
12306
|
| 110 |
+
12309
|
| 111 |
+
12310
|
| 112 |
+
12311
|
| 113 |
+
12312
|
| 114 |
+
12313
|
| 115 |
+
12314
|
| 116 |
+
12315
|
| 117 |
+
12316
|
| 118 |
+
65114
|
| 119 |
+
65115
|
| 120 |
+
65116
|
| 121 |
+
65117
|
| 122 |
+
65118
|
| 123 |
+
65119
|
| 124 |
+
65289
|
| 125 |
+
65290
|
| 126 |
+
65341
|
| 127 |
+
65342
|
| 128 |
+
65373
|
| 129 |
+
65374
|
| 130 |
+
65376
|
| 131 |
+
65377
|
| 132 |
+
65379
|
| 133 |
+
65380
|
| 134 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/CE/Y.pl
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V66
|
| 14 |
+
2392
|
| 15 |
+
2400
|
| 16 |
+
2524
|
| 17 |
+
2526
|
| 18 |
+
2527
|
| 19 |
+
2528
|
| 20 |
+
2611
|
| 21 |
+
2612
|
| 22 |
+
2614
|
| 23 |
+
2615
|
| 24 |
+
2649
|
| 25 |
+
2652
|
| 26 |
+
2654
|
| 27 |
+
2655
|
| 28 |
+
2908
|
| 29 |
+
2910
|
| 30 |
+
3907
|
| 31 |
+
3908
|
| 32 |
+
3917
|
| 33 |
+
3918
|
| 34 |
+
3922
|
| 35 |
+
3923
|
| 36 |
+
3927
|
| 37 |
+
3928
|
| 38 |
+
3932
|
| 39 |
+
3933
|
| 40 |
+
3945
|
| 41 |
+
3946
|
| 42 |
+
3958
|
| 43 |
+
3959
|
| 44 |
+
3960
|
| 45 |
+
3961
|
| 46 |
+
3987
|
| 47 |
+
3988
|
| 48 |
+
3997
|
| 49 |
+
3998
|
| 50 |
+
4002
|
| 51 |
+
4003
|
| 52 |
+
4007
|
| 53 |
+
4008
|
| 54 |
+
4012
|
| 55 |
+
4013
|
| 56 |
+
4025
|
| 57 |
+
4026
|
| 58 |
+
10972
|
| 59 |
+
10973
|
| 60 |
+
64285
|
| 61 |
+
64286
|
| 62 |
+
64287
|
| 63 |
+
64288
|
| 64 |
+
64298
|
| 65 |
+
64311
|
| 66 |
+
64312
|
| 67 |
+
64317
|
| 68 |
+
64318
|
| 69 |
+
64319
|
| 70 |
+
64320
|
| 71 |
+
64322
|
| 72 |
+
64323
|
| 73 |
+
64325
|
| 74 |
+
64326
|
| 75 |
+
64335
|
| 76 |
+
119134
|
| 77 |
+
119141
|
| 78 |
+
119227
|
| 79 |
+
119233
|
| 80 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/Dt/Sqr.pl
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V18
|
| 14 |
+
12880
|
| 15 |
+
12881
|
| 16 |
+
13004
|
| 17 |
+
13008
|
| 18 |
+
13055
|
| 19 |
+
13144
|
| 20 |
+
13169
|
| 21 |
+
13280
|
| 22 |
+
13311
|
| 23 |
+
13312
|
| 24 |
+
127280
|
| 25 |
+
127312
|
| 26 |
+
127376
|
| 27 |
+
127377
|
| 28 |
+
127488
|
| 29 |
+
127491
|
| 30 |
+
127504
|
| 31 |
+
127548
|
| 32 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/Dt/Sup.pl
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V48
|
| 14 |
+
170
|
| 15 |
+
171
|
| 16 |
+
178
|
| 17 |
+
180
|
| 18 |
+
185
|
| 19 |
+
187
|
| 20 |
+
688
|
| 21 |
+
697
|
| 22 |
+
736
|
| 23 |
+
741
|
| 24 |
+
4348
|
| 25 |
+
4349
|
| 26 |
+
7468
|
| 27 |
+
7471
|
| 28 |
+
7472
|
| 29 |
+
7483
|
| 30 |
+
7484
|
| 31 |
+
7502
|
| 32 |
+
7503
|
| 33 |
+
7522
|
| 34 |
+
7544
|
| 35 |
+
7545
|
| 36 |
+
7579
|
| 37 |
+
7616
|
| 38 |
+
8304
|
| 39 |
+
8306
|
| 40 |
+
8308
|
| 41 |
+
8320
|
| 42 |
+
8480
|
| 43 |
+
8481
|
| 44 |
+
8482
|
| 45 |
+
8483
|
| 46 |
+
11389
|
| 47 |
+
11390
|
| 48 |
+
11631
|
| 49 |
+
11632
|
| 50 |
+
12690
|
| 51 |
+
12704
|
| 52 |
+
42652
|
| 53 |
+
42654
|
| 54 |
+
42864
|
| 55 |
+
42865
|
| 56 |
+
43000
|
| 57 |
+
43002
|
| 58 |
+
43868
|
| 59 |
+
43872
|
| 60 |
+
127338
|
| 61 |
+
127341
|
| 62 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/11_0.pl
ADDED
|
@@ -0,0 +1,1350 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V1336
|
| 14 |
+
0
|
| 15 |
+
888
|
| 16 |
+
890
|
| 17 |
+
896
|
| 18 |
+
900
|
| 19 |
+
907
|
| 20 |
+
908
|
| 21 |
+
909
|
| 22 |
+
910
|
| 23 |
+
930
|
| 24 |
+
931
|
| 25 |
+
1328
|
| 26 |
+
1329
|
| 27 |
+
1367
|
| 28 |
+
1369
|
| 29 |
+
1419
|
| 30 |
+
1421
|
| 31 |
+
1424
|
| 32 |
+
1425
|
| 33 |
+
1480
|
| 34 |
+
1488
|
| 35 |
+
1515
|
| 36 |
+
1519
|
| 37 |
+
1525
|
| 38 |
+
1536
|
| 39 |
+
1565
|
| 40 |
+
1566
|
| 41 |
+
1806
|
| 42 |
+
1807
|
| 43 |
+
1867
|
| 44 |
+
1869
|
| 45 |
+
1970
|
| 46 |
+
1984
|
| 47 |
+
2043
|
| 48 |
+
2045
|
| 49 |
+
2094
|
| 50 |
+
2096
|
| 51 |
+
2111
|
| 52 |
+
2112
|
| 53 |
+
2140
|
| 54 |
+
2142
|
| 55 |
+
2143
|
| 56 |
+
2144
|
| 57 |
+
2155
|
| 58 |
+
2208
|
| 59 |
+
2229
|
| 60 |
+
2230
|
| 61 |
+
2238
|
| 62 |
+
2259
|
| 63 |
+
2436
|
| 64 |
+
2437
|
| 65 |
+
2445
|
| 66 |
+
2447
|
| 67 |
+
2449
|
| 68 |
+
2451
|
| 69 |
+
2473
|
| 70 |
+
2474
|
| 71 |
+
2481
|
| 72 |
+
2482
|
| 73 |
+
2483
|
| 74 |
+
2486
|
| 75 |
+
2490
|
| 76 |
+
2492
|
| 77 |
+
2501
|
| 78 |
+
2503
|
| 79 |
+
2505
|
| 80 |
+
2507
|
| 81 |
+
2511
|
| 82 |
+
2519
|
| 83 |
+
2520
|
| 84 |
+
2524
|
| 85 |
+
2526
|
| 86 |
+
2527
|
| 87 |
+
2532
|
| 88 |
+
2534
|
| 89 |
+
2559
|
| 90 |
+
2561
|
| 91 |
+
2564
|
| 92 |
+
2565
|
| 93 |
+
2571
|
| 94 |
+
2575
|
| 95 |
+
2577
|
| 96 |
+
2579
|
| 97 |
+
2601
|
| 98 |
+
2602
|
| 99 |
+
2609
|
| 100 |
+
2610
|
| 101 |
+
2612
|
| 102 |
+
2613
|
| 103 |
+
2615
|
| 104 |
+
2616
|
| 105 |
+
2618
|
| 106 |
+
2620
|
| 107 |
+
2621
|
| 108 |
+
2622
|
| 109 |
+
2627
|
| 110 |
+
2631
|
| 111 |
+
2633
|
| 112 |
+
2635
|
| 113 |
+
2638
|
| 114 |
+
2641
|
| 115 |
+
2642
|
| 116 |
+
2649
|
| 117 |
+
2653
|
| 118 |
+
2654
|
| 119 |
+
2655
|
| 120 |
+
2662
|
| 121 |
+
2679
|
| 122 |
+
2689
|
| 123 |
+
2692
|
| 124 |
+
2693
|
| 125 |
+
2702
|
| 126 |
+
2703
|
| 127 |
+
2706
|
| 128 |
+
2707
|
| 129 |
+
2729
|
| 130 |
+
2730
|
| 131 |
+
2737
|
| 132 |
+
2738
|
| 133 |
+
2740
|
| 134 |
+
2741
|
| 135 |
+
2746
|
| 136 |
+
2748
|
| 137 |
+
2758
|
| 138 |
+
2759
|
| 139 |
+
2762
|
| 140 |
+
2763
|
| 141 |
+
2766
|
| 142 |
+
2768
|
| 143 |
+
2769
|
| 144 |
+
2784
|
| 145 |
+
2788
|
| 146 |
+
2790
|
| 147 |
+
2802
|
| 148 |
+
2809
|
| 149 |
+
2816
|
| 150 |
+
2817
|
| 151 |
+
2820
|
| 152 |
+
2821
|
| 153 |
+
2829
|
| 154 |
+
2831
|
| 155 |
+
2833
|
| 156 |
+
2835
|
| 157 |
+
2857
|
| 158 |
+
2858
|
| 159 |
+
2865
|
| 160 |
+
2866
|
| 161 |
+
2868
|
| 162 |
+
2869
|
| 163 |
+
2874
|
| 164 |
+
2876
|
| 165 |
+
2885
|
| 166 |
+
2887
|
| 167 |
+
2889
|
| 168 |
+
2891
|
| 169 |
+
2894
|
| 170 |
+
2902
|
| 171 |
+
2904
|
| 172 |
+
2908
|
| 173 |
+
2910
|
| 174 |
+
2911
|
| 175 |
+
2916
|
| 176 |
+
2918
|
| 177 |
+
2936
|
| 178 |
+
2946
|
| 179 |
+
2948
|
| 180 |
+
2949
|
| 181 |
+
2955
|
| 182 |
+
2958
|
| 183 |
+
2961
|
| 184 |
+
2962
|
| 185 |
+
2966
|
| 186 |
+
2969
|
| 187 |
+
2971
|
| 188 |
+
2972
|
| 189 |
+
2973
|
| 190 |
+
2974
|
| 191 |
+
2976
|
| 192 |
+
2979
|
| 193 |
+
2981
|
| 194 |
+
2984
|
| 195 |
+
2987
|
| 196 |
+
2990
|
| 197 |
+
3002
|
| 198 |
+
3006
|
| 199 |
+
3011
|
| 200 |
+
3014
|
| 201 |
+
3017
|
| 202 |
+
3018
|
| 203 |
+
3022
|
| 204 |
+
3024
|
| 205 |
+
3025
|
| 206 |
+
3031
|
| 207 |
+
3032
|
| 208 |
+
3046
|
| 209 |
+
3067
|
| 210 |
+
3072
|
| 211 |
+
3085
|
| 212 |
+
3086
|
| 213 |
+
3089
|
| 214 |
+
3090
|
| 215 |
+
3113
|
| 216 |
+
3114
|
| 217 |
+
3130
|
| 218 |
+
3133
|
| 219 |
+
3141
|
| 220 |
+
3142
|
| 221 |
+
3145
|
| 222 |
+
3146
|
| 223 |
+
3150
|
| 224 |
+
3157
|
| 225 |
+
3159
|
| 226 |
+
3160
|
| 227 |
+
3163
|
| 228 |
+
3168
|
| 229 |
+
3172
|
| 230 |
+
3174
|
| 231 |
+
3184
|
| 232 |
+
3192
|
| 233 |
+
3213
|
| 234 |
+
3214
|
| 235 |
+
3217
|
| 236 |
+
3218
|
| 237 |
+
3241
|
| 238 |
+
3242
|
| 239 |
+
3252
|
| 240 |
+
3253
|
| 241 |
+
3258
|
| 242 |
+
3260
|
| 243 |
+
3269
|
| 244 |
+
3270
|
| 245 |
+
3273
|
| 246 |
+
3274
|
| 247 |
+
3278
|
| 248 |
+
3285
|
| 249 |
+
3287
|
| 250 |
+
3294
|
| 251 |
+
3295
|
| 252 |
+
3296
|
| 253 |
+
3300
|
| 254 |
+
3302
|
| 255 |
+
3312
|
| 256 |
+
3313
|
| 257 |
+
3315
|
| 258 |
+
3328
|
| 259 |
+
3332
|
| 260 |
+
3333
|
| 261 |
+
3341
|
| 262 |
+
3342
|
| 263 |
+
3345
|
| 264 |
+
3346
|
| 265 |
+
3397
|
| 266 |
+
3398
|
| 267 |
+
3401
|
| 268 |
+
3402
|
| 269 |
+
3408
|
| 270 |
+
3412
|
| 271 |
+
3428
|
| 272 |
+
3430
|
| 273 |
+
3456
|
| 274 |
+
3458
|
| 275 |
+
3460
|
| 276 |
+
3461
|
| 277 |
+
3479
|
| 278 |
+
3482
|
| 279 |
+
3506
|
| 280 |
+
3507
|
| 281 |
+
3516
|
| 282 |
+
3517
|
| 283 |
+
3518
|
| 284 |
+
3520
|
| 285 |
+
3527
|
| 286 |
+
3530
|
| 287 |
+
3531
|
| 288 |
+
3535
|
| 289 |
+
3541
|
| 290 |
+
3542
|
| 291 |
+
3543
|
| 292 |
+
3544
|
| 293 |
+
3552
|
| 294 |
+
3558
|
| 295 |
+
3568
|
| 296 |
+
3570
|
| 297 |
+
3573
|
| 298 |
+
3585
|
| 299 |
+
3643
|
| 300 |
+
3647
|
| 301 |
+
3676
|
| 302 |
+
3713
|
| 303 |
+
3715
|
| 304 |
+
3716
|
| 305 |
+
3717
|
| 306 |
+
3719
|
| 307 |
+
3721
|
| 308 |
+
3722
|
| 309 |
+
3723
|
| 310 |
+
3725
|
| 311 |
+
3726
|
| 312 |
+
3732
|
| 313 |
+
3736
|
| 314 |
+
3737
|
| 315 |
+
3744
|
| 316 |
+
3745
|
| 317 |
+
3748
|
| 318 |
+
3749
|
| 319 |
+
3750
|
| 320 |
+
3751
|
| 321 |
+
3752
|
| 322 |
+
3754
|
| 323 |
+
3756
|
| 324 |
+
3757
|
| 325 |
+
3770
|
| 326 |
+
3771
|
| 327 |
+
3774
|
| 328 |
+
3776
|
| 329 |
+
3781
|
| 330 |
+
3782
|
| 331 |
+
3783
|
| 332 |
+
3784
|
| 333 |
+
3790
|
| 334 |
+
3792
|
| 335 |
+
3802
|
| 336 |
+
3804
|
| 337 |
+
3808
|
| 338 |
+
3840
|
| 339 |
+
3912
|
| 340 |
+
3913
|
| 341 |
+
3949
|
| 342 |
+
3953
|
| 343 |
+
3992
|
| 344 |
+
3993
|
| 345 |
+
4029
|
| 346 |
+
4030
|
| 347 |
+
4045
|
| 348 |
+
4046
|
| 349 |
+
4059
|
| 350 |
+
4096
|
| 351 |
+
4294
|
| 352 |
+
4295
|
| 353 |
+
4296
|
| 354 |
+
4301
|
| 355 |
+
4302
|
| 356 |
+
4304
|
| 357 |
+
4681
|
| 358 |
+
4682
|
| 359 |
+
4686
|
| 360 |
+
4688
|
| 361 |
+
4695
|
| 362 |
+
4696
|
| 363 |
+
4697
|
| 364 |
+
4698
|
| 365 |
+
4702
|
| 366 |
+
4704
|
| 367 |
+
4745
|
| 368 |
+
4746
|
| 369 |
+
4750
|
| 370 |
+
4752
|
| 371 |
+
4785
|
| 372 |
+
4786
|
| 373 |
+
4790
|
| 374 |
+
4792
|
| 375 |
+
4799
|
| 376 |
+
4800
|
| 377 |
+
4801
|
| 378 |
+
4802
|
| 379 |
+
4806
|
| 380 |
+
4808
|
| 381 |
+
4823
|
| 382 |
+
4824
|
| 383 |
+
4881
|
| 384 |
+
4882
|
| 385 |
+
4886
|
| 386 |
+
4888
|
| 387 |
+
4955
|
| 388 |
+
4957
|
| 389 |
+
4989
|
| 390 |
+
4992
|
| 391 |
+
5018
|
| 392 |
+
5024
|
| 393 |
+
5110
|
| 394 |
+
5112
|
| 395 |
+
5118
|
| 396 |
+
5120
|
| 397 |
+
5789
|
| 398 |
+
5792
|
| 399 |
+
5881
|
| 400 |
+
5888
|
| 401 |
+
5901
|
| 402 |
+
5902
|
| 403 |
+
5909
|
| 404 |
+
5920
|
| 405 |
+
5943
|
| 406 |
+
5952
|
| 407 |
+
5972
|
| 408 |
+
5984
|
| 409 |
+
5997
|
| 410 |
+
5998
|
| 411 |
+
6001
|
| 412 |
+
6002
|
| 413 |
+
6004
|
| 414 |
+
6016
|
| 415 |
+
6110
|
| 416 |
+
6112
|
| 417 |
+
6122
|
| 418 |
+
6128
|
| 419 |
+
6138
|
| 420 |
+
6144
|
| 421 |
+
6159
|
| 422 |
+
6160
|
| 423 |
+
6170
|
| 424 |
+
6176
|
| 425 |
+
6265
|
| 426 |
+
6272
|
| 427 |
+
6315
|
| 428 |
+
6320
|
| 429 |
+
6390
|
| 430 |
+
6400
|
| 431 |
+
6431
|
| 432 |
+
6432
|
| 433 |
+
6444
|
| 434 |
+
6448
|
| 435 |
+
6460
|
| 436 |
+
6464
|
| 437 |
+
6465
|
| 438 |
+
6468
|
| 439 |
+
6510
|
| 440 |
+
6512
|
| 441 |
+
6517
|
| 442 |
+
6528
|
| 443 |
+
6572
|
| 444 |
+
6576
|
| 445 |
+
6602
|
| 446 |
+
6608
|
| 447 |
+
6619
|
| 448 |
+
6622
|
| 449 |
+
6684
|
| 450 |
+
6686
|
| 451 |
+
6751
|
| 452 |
+
6752
|
| 453 |
+
6781
|
| 454 |
+
6783
|
| 455 |
+
6794
|
| 456 |
+
6800
|
| 457 |
+
6810
|
| 458 |
+
6816
|
| 459 |
+
6830
|
| 460 |
+
6832
|
| 461 |
+
6847
|
| 462 |
+
6912
|
| 463 |
+
6988
|
| 464 |
+
6992
|
| 465 |
+
7037
|
| 466 |
+
7040
|
| 467 |
+
7156
|
| 468 |
+
7164
|
| 469 |
+
7224
|
| 470 |
+
7227
|
| 471 |
+
7242
|
| 472 |
+
7245
|
| 473 |
+
7305
|
| 474 |
+
7312
|
| 475 |
+
7355
|
| 476 |
+
7357
|
| 477 |
+
7368
|
| 478 |
+
7376
|
| 479 |
+
7418
|
| 480 |
+
7424
|
| 481 |
+
7674
|
| 482 |
+
7675
|
| 483 |
+
7958
|
| 484 |
+
7960
|
| 485 |
+
7966
|
| 486 |
+
7968
|
| 487 |
+
8006
|
| 488 |
+
8008
|
| 489 |
+
8014
|
| 490 |
+
8016
|
| 491 |
+
8024
|
| 492 |
+
8025
|
| 493 |
+
8026
|
| 494 |
+
8027
|
| 495 |
+
8028
|
| 496 |
+
8029
|
| 497 |
+
8030
|
| 498 |
+
8031
|
| 499 |
+
8062
|
| 500 |
+
8064
|
| 501 |
+
8117
|
| 502 |
+
8118
|
| 503 |
+
8133
|
| 504 |
+
8134
|
| 505 |
+
8148
|
| 506 |
+
8150
|
| 507 |
+
8156
|
| 508 |
+
8157
|
| 509 |
+
8176
|
| 510 |
+
8178
|
| 511 |
+
8181
|
| 512 |
+
8182
|
| 513 |
+
8191
|
| 514 |
+
8192
|
| 515 |
+
8293
|
| 516 |
+
8294
|
| 517 |
+
8306
|
| 518 |
+
8308
|
| 519 |
+
8335
|
| 520 |
+
8336
|
| 521 |
+
8349
|
| 522 |
+
8352
|
| 523 |
+
8384
|
| 524 |
+
8400
|
| 525 |
+
8433
|
| 526 |
+
8448
|
| 527 |
+
8588
|
| 528 |
+
8592
|
| 529 |
+
9255
|
| 530 |
+
9280
|
| 531 |
+
9291
|
| 532 |
+
9312
|
| 533 |
+
11124
|
| 534 |
+
11126
|
| 535 |
+
11158
|
| 536 |
+
11160
|
| 537 |
+
11209
|
| 538 |
+
11210
|
| 539 |
+
11263
|
| 540 |
+
11264
|
| 541 |
+
11311
|
| 542 |
+
11312
|
| 543 |
+
11359
|
| 544 |
+
11360
|
| 545 |
+
11508
|
| 546 |
+
11513
|
| 547 |
+
11558
|
| 548 |
+
11559
|
| 549 |
+
11560
|
| 550 |
+
11565
|
| 551 |
+
11566
|
| 552 |
+
11568
|
| 553 |
+
11624
|
| 554 |
+
11631
|
| 555 |
+
11633
|
| 556 |
+
11647
|
| 557 |
+
11671
|
| 558 |
+
11680
|
| 559 |
+
11687
|
| 560 |
+
11688
|
| 561 |
+
11695
|
| 562 |
+
11696
|
| 563 |
+
11703
|
| 564 |
+
11704
|
| 565 |
+
11711
|
| 566 |
+
11712
|
| 567 |
+
11719
|
| 568 |
+
11720
|
| 569 |
+
11727
|
| 570 |
+
11728
|
| 571 |
+
11735
|
| 572 |
+
11736
|
| 573 |
+
11743
|
| 574 |
+
11744
|
| 575 |
+
11855
|
| 576 |
+
11904
|
| 577 |
+
11930
|
| 578 |
+
11931
|
| 579 |
+
12020
|
| 580 |
+
12032
|
| 581 |
+
12246
|
| 582 |
+
12272
|
| 583 |
+
12284
|
| 584 |
+
12288
|
| 585 |
+
12352
|
| 586 |
+
12353
|
| 587 |
+
12439
|
| 588 |
+
12441
|
| 589 |
+
12544
|
| 590 |
+
12549
|
| 591 |
+
12592
|
| 592 |
+
12593
|
| 593 |
+
12687
|
| 594 |
+
12688
|
| 595 |
+
12731
|
| 596 |
+
12736
|
| 597 |
+
12772
|
| 598 |
+
12784
|
| 599 |
+
12831
|
| 600 |
+
12832
|
| 601 |
+
13055
|
| 602 |
+
13056
|
| 603 |
+
19894
|
| 604 |
+
19904
|
| 605 |
+
40944
|
| 606 |
+
40960
|
| 607 |
+
42125
|
| 608 |
+
42128
|
| 609 |
+
42183
|
| 610 |
+
42192
|
| 611 |
+
42540
|
| 612 |
+
42560
|
| 613 |
+
42744
|
| 614 |
+
42752
|
| 615 |
+
42938
|
| 616 |
+
42999
|
| 617 |
+
43052
|
| 618 |
+
43056
|
| 619 |
+
43066
|
| 620 |
+
43072
|
| 621 |
+
43128
|
| 622 |
+
43136
|
| 623 |
+
43206
|
| 624 |
+
43214
|
| 625 |
+
43226
|
| 626 |
+
43232
|
| 627 |
+
43348
|
| 628 |
+
43359
|
| 629 |
+
43389
|
| 630 |
+
43392
|
| 631 |
+
43470
|
| 632 |
+
43471
|
| 633 |
+
43482
|
| 634 |
+
43486
|
| 635 |
+
43519
|
| 636 |
+
43520
|
| 637 |
+
43575
|
| 638 |
+
43584
|
| 639 |
+
43598
|
| 640 |
+
43600
|
| 641 |
+
43610
|
| 642 |
+
43612
|
| 643 |
+
43715
|
| 644 |
+
43739
|
| 645 |
+
43767
|
| 646 |
+
43777
|
| 647 |
+
43783
|
| 648 |
+
43785
|
| 649 |
+
43791
|
| 650 |
+
43793
|
| 651 |
+
43799
|
| 652 |
+
43808
|
| 653 |
+
43815
|
| 654 |
+
43816
|
| 655 |
+
43823
|
| 656 |
+
43824
|
| 657 |
+
43878
|
| 658 |
+
43888
|
| 659 |
+
44014
|
| 660 |
+
44016
|
| 661 |
+
44026
|
| 662 |
+
44032
|
| 663 |
+
55204
|
| 664 |
+
55216
|
| 665 |
+
55239
|
| 666 |
+
55243
|
| 667 |
+
55292
|
| 668 |
+
55296
|
| 669 |
+
64110
|
| 670 |
+
64112
|
| 671 |
+
64218
|
| 672 |
+
64256
|
| 673 |
+
64263
|
| 674 |
+
64275
|
| 675 |
+
64280
|
| 676 |
+
64285
|
| 677 |
+
64311
|
| 678 |
+
64312
|
| 679 |
+
64317
|
| 680 |
+
64318
|
| 681 |
+
64319
|
| 682 |
+
64320
|
| 683 |
+
64322
|
| 684 |
+
64323
|
| 685 |
+
64325
|
| 686 |
+
64326
|
| 687 |
+
64450
|
| 688 |
+
64467
|
| 689 |
+
64832
|
| 690 |
+
64848
|
| 691 |
+
64912
|
| 692 |
+
64914
|
| 693 |
+
64968
|
| 694 |
+
64976
|
| 695 |
+
65022
|
| 696 |
+
65024
|
| 697 |
+
65050
|
| 698 |
+
65056
|
| 699 |
+
65107
|
| 700 |
+
65108
|
| 701 |
+
65127
|
| 702 |
+
65128
|
| 703 |
+
65132
|
| 704 |
+
65136
|
| 705 |
+
65141
|
| 706 |
+
65142
|
| 707 |
+
65277
|
| 708 |
+
65279
|
| 709 |
+
65280
|
| 710 |
+
65281
|
| 711 |
+
65471
|
| 712 |
+
65474
|
| 713 |
+
65480
|
| 714 |
+
65482
|
| 715 |
+
65488
|
| 716 |
+
65490
|
| 717 |
+
65496
|
| 718 |
+
65498
|
| 719 |
+
65501
|
| 720 |
+
65504
|
| 721 |
+
65511
|
| 722 |
+
65512
|
| 723 |
+
65519
|
| 724 |
+
65529
|
| 725 |
+
65548
|
| 726 |
+
65549
|
| 727 |
+
65575
|
| 728 |
+
65576
|
| 729 |
+
65595
|
| 730 |
+
65596
|
| 731 |
+
65598
|
| 732 |
+
65599
|
| 733 |
+
65614
|
| 734 |
+
65616
|
| 735 |
+
65630
|
| 736 |
+
65664
|
| 737 |
+
65787
|
| 738 |
+
65792
|
| 739 |
+
65795
|
| 740 |
+
65799
|
| 741 |
+
65844
|
| 742 |
+
65847
|
| 743 |
+
65935
|
| 744 |
+
65936
|
| 745 |
+
65948
|
| 746 |
+
65952
|
| 747 |
+
65953
|
| 748 |
+
66000
|
| 749 |
+
66046
|
| 750 |
+
66176
|
| 751 |
+
66205
|
| 752 |
+
66208
|
| 753 |
+
66257
|
| 754 |
+
66272
|
| 755 |
+
66300
|
| 756 |
+
66304
|
| 757 |
+
66340
|
| 758 |
+
66349
|
| 759 |
+
66379
|
| 760 |
+
66384
|
| 761 |
+
66427
|
| 762 |
+
66432
|
| 763 |
+
66462
|
| 764 |
+
66463
|
| 765 |
+
66500
|
| 766 |
+
66504
|
| 767 |
+
66518
|
| 768 |
+
66560
|
| 769 |
+
66718
|
| 770 |
+
66720
|
| 771 |
+
66730
|
| 772 |
+
66736
|
| 773 |
+
66772
|
| 774 |
+
66776
|
| 775 |
+
66812
|
| 776 |
+
66816
|
| 777 |
+
66856
|
| 778 |
+
66864
|
| 779 |
+
66916
|
| 780 |
+
66927
|
| 781 |
+
66928
|
| 782 |
+
67072
|
| 783 |
+
67383
|
| 784 |
+
67392
|
| 785 |
+
67414
|
| 786 |
+
67424
|
| 787 |
+
67432
|
| 788 |
+
67584
|
| 789 |
+
67590
|
| 790 |
+
67592
|
| 791 |
+
67593
|
| 792 |
+
67594
|
| 793 |
+
67638
|
| 794 |
+
67639
|
| 795 |
+
67641
|
| 796 |
+
67644
|
| 797 |
+
67645
|
| 798 |
+
67647
|
| 799 |
+
67670
|
| 800 |
+
67671
|
| 801 |
+
67743
|
| 802 |
+
67751
|
| 803 |
+
67760
|
| 804 |
+
67808
|
| 805 |
+
67827
|
| 806 |
+
67828
|
| 807 |
+
67830
|
| 808 |
+
67835
|
| 809 |
+
67868
|
| 810 |
+
67871
|
| 811 |
+
67898
|
| 812 |
+
67903
|
| 813 |
+
67904
|
| 814 |
+
67968
|
| 815 |
+
68024
|
| 816 |
+
68028
|
| 817 |
+
68048
|
| 818 |
+
68050
|
| 819 |
+
68100
|
| 820 |
+
68101
|
| 821 |
+
68103
|
| 822 |
+
68108
|
| 823 |
+
68116
|
| 824 |
+
68117
|
| 825 |
+
68120
|
| 826 |
+
68121
|
| 827 |
+
68150
|
| 828 |
+
68152
|
| 829 |
+
68155
|
| 830 |
+
68159
|
| 831 |
+
68169
|
| 832 |
+
68176
|
| 833 |
+
68185
|
| 834 |
+
68192
|
| 835 |
+
68256
|
| 836 |
+
68288
|
| 837 |
+
68327
|
| 838 |
+
68331
|
| 839 |
+
68343
|
| 840 |
+
68352
|
| 841 |
+
68406
|
| 842 |
+
68409
|
| 843 |
+
68438
|
| 844 |
+
68440
|
| 845 |
+
68467
|
| 846 |
+
68472
|
| 847 |
+
68498
|
| 848 |
+
68505
|
| 849 |
+
68509
|
| 850 |
+
68521
|
| 851 |
+
68528
|
| 852 |
+
68608
|
| 853 |
+
68681
|
| 854 |
+
68736
|
| 855 |
+
68787
|
| 856 |
+
68800
|
| 857 |
+
68851
|
| 858 |
+
68858
|
| 859 |
+
68904
|
| 860 |
+
68912
|
| 861 |
+
68922
|
| 862 |
+
69216
|
| 863 |
+
69247
|
| 864 |
+
69376
|
| 865 |
+
69416
|
| 866 |
+
69424
|
| 867 |
+
69466
|
| 868 |
+
69632
|
| 869 |
+
69710
|
| 870 |
+
69714
|
| 871 |
+
69744
|
| 872 |
+
69759
|
| 873 |
+
69826
|
| 874 |
+
69837
|
| 875 |
+
69838
|
| 876 |
+
69840
|
| 877 |
+
69865
|
| 878 |
+
69872
|
| 879 |
+
69882
|
| 880 |
+
69888
|
| 881 |
+
69941
|
| 882 |
+
69942
|
| 883 |
+
69959
|
| 884 |
+
69968
|
| 885 |
+
70007
|
| 886 |
+
70016
|
| 887 |
+
70094
|
| 888 |
+
70096
|
| 889 |
+
70112
|
| 890 |
+
70113
|
| 891 |
+
70133
|
| 892 |
+
70144
|
| 893 |
+
70162
|
| 894 |
+
70163
|
| 895 |
+
70207
|
| 896 |
+
70272
|
| 897 |
+
70279
|
| 898 |
+
70280
|
| 899 |
+
70281
|
| 900 |
+
70282
|
| 901 |
+
70286
|
| 902 |
+
70287
|
| 903 |
+
70302
|
| 904 |
+
70303
|
| 905 |
+
70314
|
| 906 |
+
70320
|
| 907 |
+
70379
|
| 908 |
+
70384
|
| 909 |
+
70394
|
| 910 |
+
70400
|
| 911 |
+
70404
|
| 912 |
+
70405
|
| 913 |
+
70413
|
| 914 |
+
70415
|
| 915 |
+
70417
|
| 916 |
+
70419
|
| 917 |
+
70441
|
| 918 |
+
70442
|
| 919 |
+
70449
|
| 920 |
+
70450
|
| 921 |
+
70452
|
| 922 |
+
70453
|
| 923 |
+
70458
|
| 924 |
+
70459
|
| 925 |
+
70469
|
| 926 |
+
70471
|
| 927 |
+
70473
|
| 928 |
+
70475
|
| 929 |
+
70478
|
| 930 |
+
70480
|
| 931 |
+
70481
|
| 932 |
+
70487
|
| 933 |
+
70488
|
| 934 |
+
70493
|
| 935 |
+
70500
|
| 936 |
+
70502
|
| 937 |
+
70509
|
| 938 |
+
70512
|
| 939 |
+
70517
|
| 940 |
+
70656
|
| 941 |
+
70746
|
| 942 |
+
70747
|
| 943 |
+
70748
|
| 944 |
+
70749
|
| 945 |
+
70751
|
| 946 |
+
70784
|
| 947 |
+
70856
|
| 948 |
+
70864
|
| 949 |
+
70874
|
| 950 |
+
71040
|
| 951 |
+
71094
|
| 952 |
+
71096
|
| 953 |
+
71134
|
| 954 |
+
71168
|
| 955 |
+
71237
|
| 956 |
+
71248
|
| 957 |
+
71258
|
| 958 |
+
71264
|
| 959 |
+
71277
|
| 960 |
+
71296
|
| 961 |
+
71352
|
| 962 |
+
71360
|
| 963 |
+
71370
|
| 964 |
+
71424
|
| 965 |
+
71451
|
| 966 |
+
71453
|
| 967 |
+
71468
|
| 968 |
+
71472
|
| 969 |
+
71488
|
| 970 |
+
71680
|
| 971 |
+
71740
|
| 972 |
+
71840
|
| 973 |
+
71923
|
| 974 |
+
71935
|
| 975 |
+
71936
|
| 976 |
+
72192
|
| 977 |
+
72264
|
| 978 |
+
72272
|
| 979 |
+
72324
|
| 980 |
+
72326
|
| 981 |
+
72355
|
| 982 |
+
72384
|
| 983 |
+
72441
|
| 984 |
+
72704
|
| 985 |
+
72713
|
| 986 |
+
72714
|
| 987 |
+
72759
|
| 988 |
+
72760
|
| 989 |
+
72774
|
| 990 |
+
72784
|
| 991 |
+
72813
|
| 992 |
+
72816
|
| 993 |
+
72848
|
| 994 |
+
72850
|
| 995 |
+
72872
|
| 996 |
+
72873
|
| 997 |
+
72887
|
| 998 |
+
72960
|
| 999 |
+
72967
|
| 1000 |
+
72968
|
| 1001 |
+
72970
|
| 1002 |
+
72971
|
| 1003 |
+
73015
|
| 1004 |
+
73018
|
| 1005 |
+
73019
|
| 1006 |
+
73020
|
| 1007 |
+
73022
|
| 1008 |
+
73023
|
| 1009 |
+
73032
|
| 1010 |
+
73040
|
| 1011 |
+
73050
|
| 1012 |
+
73056
|
| 1013 |
+
73062
|
| 1014 |
+
73063
|
| 1015 |
+
73065
|
| 1016 |
+
73066
|
| 1017 |
+
73103
|
| 1018 |
+
73104
|
| 1019 |
+
73106
|
| 1020 |
+
73107
|
| 1021 |
+
73113
|
| 1022 |
+
73120
|
| 1023 |
+
73130
|
| 1024 |
+
73440
|
| 1025 |
+
73465
|
| 1026 |
+
73728
|
| 1027 |
+
74650
|
| 1028 |
+
74752
|
| 1029 |
+
74863
|
| 1030 |
+
74864
|
| 1031 |
+
74869
|
| 1032 |
+
74880
|
| 1033 |
+
75076
|
| 1034 |
+
77824
|
| 1035 |
+
78895
|
| 1036 |
+
82944
|
| 1037 |
+
83527
|
| 1038 |
+
92160
|
| 1039 |
+
92729
|
| 1040 |
+
92736
|
| 1041 |
+
92767
|
| 1042 |
+
92768
|
| 1043 |
+
92778
|
| 1044 |
+
92782
|
| 1045 |
+
92784
|
| 1046 |
+
92880
|
| 1047 |
+
92910
|
| 1048 |
+
92912
|
| 1049 |
+
92918
|
| 1050 |
+
92928
|
| 1051 |
+
92998
|
| 1052 |
+
93008
|
| 1053 |
+
93018
|
| 1054 |
+
93019
|
| 1055 |
+
93026
|
| 1056 |
+
93027
|
| 1057 |
+
93048
|
| 1058 |
+
93053
|
| 1059 |
+
93072
|
| 1060 |
+
93760
|
| 1061 |
+
93851
|
| 1062 |
+
93952
|
| 1063 |
+
94021
|
| 1064 |
+
94032
|
| 1065 |
+
94079
|
| 1066 |
+
94095
|
| 1067 |
+
94112
|
| 1068 |
+
94176
|
| 1069 |
+
94178
|
| 1070 |
+
94208
|
| 1071 |
+
100338
|
| 1072 |
+
100352
|
| 1073 |
+
101107
|
| 1074 |
+
110592
|
| 1075 |
+
110879
|
| 1076 |
+
110960
|
| 1077 |
+
111356
|
| 1078 |
+
113664
|
| 1079 |
+
113771
|
| 1080 |
+
113776
|
| 1081 |
+
113789
|
| 1082 |
+
113792
|
| 1083 |
+
113801
|
| 1084 |
+
113808
|
| 1085 |
+
113818
|
| 1086 |
+
113820
|
| 1087 |
+
113828
|
| 1088 |
+
118784
|
| 1089 |
+
119030
|
| 1090 |
+
119040
|
| 1091 |
+
119079
|
| 1092 |
+
119081
|
| 1093 |
+
119273
|
| 1094 |
+
119296
|
| 1095 |
+
119366
|
| 1096 |
+
119520
|
| 1097 |
+
119540
|
| 1098 |
+
119552
|
| 1099 |
+
119639
|
| 1100 |
+
119648
|
| 1101 |
+
119673
|
| 1102 |
+
119808
|
| 1103 |
+
119893
|
| 1104 |
+
119894
|
| 1105 |
+
119965
|
| 1106 |
+
119966
|
| 1107 |
+
119968
|
| 1108 |
+
119970
|
| 1109 |
+
119971
|
| 1110 |
+
119973
|
| 1111 |
+
119975
|
| 1112 |
+
119977
|
| 1113 |
+
119981
|
| 1114 |
+
119982
|
| 1115 |
+
119994
|
| 1116 |
+
119995
|
| 1117 |
+
119996
|
| 1118 |
+
119997
|
| 1119 |
+
120004
|
| 1120 |
+
120005
|
| 1121 |
+
120070
|
| 1122 |
+
120071
|
| 1123 |
+
120075
|
| 1124 |
+
120077
|
| 1125 |
+
120085
|
| 1126 |
+
120086
|
| 1127 |
+
120093
|
| 1128 |
+
120094
|
| 1129 |
+
120122
|
| 1130 |
+
120123
|
| 1131 |
+
120127
|
| 1132 |
+
120128
|
| 1133 |
+
120133
|
| 1134 |
+
120134
|
| 1135 |
+
120135
|
| 1136 |
+
120138
|
| 1137 |
+
120145
|
| 1138 |
+
120146
|
| 1139 |
+
120486
|
| 1140 |
+
120488
|
| 1141 |
+
120780
|
| 1142 |
+
120782
|
| 1143 |
+
121484
|
| 1144 |
+
121499
|
| 1145 |
+
121504
|
| 1146 |
+
121505
|
| 1147 |
+
121520
|
| 1148 |
+
122880
|
| 1149 |
+
122887
|
| 1150 |
+
122888
|
| 1151 |
+
122905
|
| 1152 |
+
122907
|
| 1153 |
+
122914
|
| 1154 |
+
122915
|
| 1155 |
+
122917
|
| 1156 |
+
122918
|
| 1157 |
+
122923
|
| 1158 |
+
124928
|
| 1159 |
+
125125
|
| 1160 |
+
125127
|
| 1161 |
+
125143
|
| 1162 |
+
125184
|
| 1163 |
+
125259
|
| 1164 |
+
125264
|
| 1165 |
+
125274
|
| 1166 |
+
125278
|
| 1167 |
+
125280
|
| 1168 |
+
126065
|
| 1169 |
+
126133
|
| 1170 |
+
126464
|
| 1171 |
+
126468
|
| 1172 |
+
126469
|
| 1173 |
+
126496
|
| 1174 |
+
126497
|
| 1175 |
+
126499
|
| 1176 |
+
126500
|
| 1177 |
+
126501
|
| 1178 |
+
126503
|
| 1179 |
+
126504
|
| 1180 |
+
126505
|
| 1181 |
+
126515
|
| 1182 |
+
126516
|
| 1183 |
+
126520
|
| 1184 |
+
126521
|
| 1185 |
+
126522
|
| 1186 |
+
126523
|
| 1187 |
+
126524
|
| 1188 |
+
126530
|
| 1189 |
+
126531
|
| 1190 |
+
126535
|
| 1191 |
+
126536
|
| 1192 |
+
126537
|
| 1193 |
+
126538
|
| 1194 |
+
126539
|
| 1195 |
+
126540
|
| 1196 |
+
126541
|
| 1197 |
+
126544
|
| 1198 |
+
126545
|
| 1199 |
+
126547
|
| 1200 |
+
126548
|
| 1201 |
+
126549
|
| 1202 |
+
126551
|
| 1203 |
+
126552
|
| 1204 |
+
126553
|
| 1205 |
+
126554
|
| 1206 |
+
126555
|
| 1207 |
+
126556
|
| 1208 |
+
126557
|
| 1209 |
+
126558
|
| 1210 |
+
126559
|
| 1211 |
+
126560
|
| 1212 |
+
126561
|
| 1213 |
+
126563
|
| 1214 |
+
126564
|
| 1215 |
+
126565
|
| 1216 |
+
126567
|
| 1217 |
+
126571
|
| 1218 |
+
126572
|
| 1219 |
+
126579
|
| 1220 |
+
126580
|
| 1221 |
+
126584
|
| 1222 |
+
126585
|
| 1223 |
+
126589
|
| 1224 |
+
126590
|
| 1225 |
+
126591
|
| 1226 |
+
126592
|
| 1227 |
+
126602
|
| 1228 |
+
126603
|
| 1229 |
+
126620
|
| 1230 |
+
126625
|
| 1231 |
+
126628
|
| 1232 |
+
126629
|
| 1233 |
+
126634
|
| 1234 |
+
126635
|
| 1235 |
+
126652
|
| 1236 |
+
126704
|
| 1237 |
+
126706
|
| 1238 |
+
126976
|
| 1239 |
+
127020
|
| 1240 |
+
127024
|
| 1241 |
+
127124
|
| 1242 |
+
127136
|
| 1243 |
+
127151
|
| 1244 |
+
127153
|
| 1245 |
+
127168
|
| 1246 |
+
127169
|
| 1247 |
+
127184
|
| 1248 |
+
127185
|
| 1249 |
+
127222
|
| 1250 |
+
127232
|
| 1251 |
+
127245
|
| 1252 |
+
127248
|
| 1253 |
+
127340
|
| 1254 |
+
127344
|
| 1255 |
+
127405
|
| 1256 |
+
127462
|
| 1257 |
+
127491
|
| 1258 |
+
127504
|
| 1259 |
+
127548
|
| 1260 |
+
127552
|
| 1261 |
+
127561
|
| 1262 |
+
127568
|
| 1263 |
+
127570
|
| 1264 |
+
127584
|
| 1265 |
+
127590
|
| 1266 |
+
127744
|
| 1267 |
+
128725
|
| 1268 |
+
128736
|
| 1269 |
+
128749
|
| 1270 |
+
128752
|
| 1271 |
+
128762
|
| 1272 |
+
128768
|
| 1273 |
+
128884
|
| 1274 |
+
128896
|
| 1275 |
+
128985
|
| 1276 |
+
129024
|
| 1277 |
+
129036
|
| 1278 |
+
129040
|
| 1279 |
+
129096
|
| 1280 |
+
129104
|
| 1281 |
+
129114
|
| 1282 |
+
129120
|
| 1283 |
+
129160
|
| 1284 |
+
129168
|
| 1285 |
+
129198
|
| 1286 |
+
129280
|
| 1287 |
+
129292
|
| 1288 |
+
129296
|
| 1289 |
+
129343
|
| 1290 |
+
129344
|
| 1291 |
+
129393
|
| 1292 |
+
129395
|
| 1293 |
+
129399
|
| 1294 |
+
129402
|
| 1295 |
+
129403
|
| 1296 |
+
129404
|
| 1297 |
+
129443
|
| 1298 |
+
129456
|
| 1299 |
+
129466
|
| 1300 |
+
129472
|
| 1301 |
+
129475
|
| 1302 |
+
129488
|
| 1303 |
+
129536
|
| 1304 |
+
129632
|
| 1305 |
+
129646
|
| 1306 |
+
131070
|
| 1307 |
+
173783
|
| 1308 |
+
173824
|
| 1309 |
+
177973
|
| 1310 |
+
177984
|
| 1311 |
+
178206
|
| 1312 |
+
178208
|
| 1313 |
+
183970
|
| 1314 |
+
183984
|
| 1315 |
+
191457
|
| 1316 |
+
194560
|
| 1317 |
+
195102
|
| 1318 |
+
196606
|
| 1319 |
+
196608
|
| 1320 |
+
262142
|
| 1321 |
+
262144
|
| 1322 |
+
327678
|
| 1323 |
+
327680
|
| 1324 |
+
393214
|
| 1325 |
+
393216
|
| 1326 |
+
458750
|
| 1327 |
+
458752
|
| 1328 |
+
524286
|
| 1329 |
+
524288
|
| 1330 |
+
589822
|
| 1331 |
+
589824
|
| 1332 |
+
655358
|
| 1333 |
+
655360
|
| 1334 |
+
720894
|
| 1335 |
+
720896
|
| 1336 |
+
786430
|
| 1337 |
+
786432
|
| 1338 |
+
851966
|
| 1339 |
+
851968
|
| 1340 |
+
917502
|
| 1341 |
+
917504
|
| 1342 |
+
917505
|
| 1343 |
+
917506
|
| 1344 |
+
917536
|
| 1345 |
+
917632
|
| 1346 |
+
917760
|
| 1347 |
+
918000
|
| 1348 |
+
983038
|
| 1349 |
+
1114112
|
| 1350 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/2_0.pl
ADDED
|
@@ -0,0 +1,638 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V624
|
| 14 |
+
0
|
| 15 |
+
502
|
| 16 |
+
506
|
| 17 |
+
536
|
| 18 |
+
592
|
| 19 |
+
681
|
| 20 |
+
688
|
| 21 |
+
735
|
| 22 |
+
736
|
| 23 |
+
746
|
| 24 |
+
768
|
| 25 |
+
838
|
| 26 |
+
864
|
| 27 |
+
866
|
| 28 |
+
884
|
| 29 |
+
886
|
| 30 |
+
890
|
| 31 |
+
891
|
| 32 |
+
894
|
| 33 |
+
895
|
| 34 |
+
900
|
| 35 |
+
907
|
| 36 |
+
908
|
| 37 |
+
909
|
| 38 |
+
910
|
| 39 |
+
930
|
| 40 |
+
931
|
| 41 |
+
975
|
| 42 |
+
976
|
| 43 |
+
983
|
| 44 |
+
986
|
| 45 |
+
987
|
| 46 |
+
988
|
| 47 |
+
989
|
| 48 |
+
990
|
| 49 |
+
991
|
| 50 |
+
992
|
| 51 |
+
993
|
| 52 |
+
994
|
| 53 |
+
1012
|
| 54 |
+
1025
|
| 55 |
+
1037
|
| 56 |
+
1038
|
| 57 |
+
1104
|
| 58 |
+
1105
|
| 59 |
+
1117
|
| 60 |
+
1118
|
| 61 |
+
1159
|
| 62 |
+
1168
|
| 63 |
+
1221
|
| 64 |
+
1223
|
| 65 |
+
1225
|
| 66 |
+
1227
|
| 67 |
+
1229
|
| 68 |
+
1232
|
| 69 |
+
1260
|
| 70 |
+
1262
|
| 71 |
+
1270
|
| 72 |
+
1272
|
| 73 |
+
1274
|
| 74 |
+
1329
|
| 75 |
+
1367
|
| 76 |
+
1369
|
| 77 |
+
1376
|
| 78 |
+
1377
|
| 79 |
+
1416
|
| 80 |
+
1417
|
| 81 |
+
1418
|
| 82 |
+
1425
|
| 83 |
+
1442
|
| 84 |
+
1443
|
| 85 |
+
1466
|
| 86 |
+
1467
|
| 87 |
+
1477
|
| 88 |
+
1488
|
| 89 |
+
1515
|
| 90 |
+
1520
|
| 91 |
+
1525
|
| 92 |
+
1548
|
| 93 |
+
1549
|
| 94 |
+
1563
|
| 95 |
+
1564
|
| 96 |
+
1567
|
| 97 |
+
1568
|
| 98 |
+
1569
|
| 99 |
+
1595
|
| 100 |
+
1600
|
| 101 |
+
1619
|
| 102 |
+
1632
|
| 103 |
+
1646
|
| 104 |
+
1648
|
| 105 |
+
1720
|
| 106 |
+
1722
|
| 107 |
+
1727
|
| 108 |
+
1728
|
| 109 |
+
1743
|
| 110 |
+
1744
|
| 111 |
+
1774
|
| 112 |
+
1776
|
| 113 |
+
1786
|
| 114 |
+
2305
|
| 115 |
+
2308
|
| 116 |
+
2309
|
| 117 |
+
2362
|
| 118 |
+
2364
|
| 119 |
+
2382
|
| 120 |
+
2384
|
| 121 |
+
2389
|
| 122 |
+
2392
|
| 123 |
+
2417
|
| 124 |
+
2433
|
| 125 |
+
2436
|
| 126 |
+
2437
|
| 127 |
+
2445
|
| 128 |
+
2447
|
| 129 |
+
2449
|
| 130 |
+
2451
|
| 131 |
+
2473
|
| 132 |
+
2474
|
| 133 |
+
2481
|
| 134 |
+
2482
|
| 135 |
+
2483
|
| 136 |
+
2486
|
| 137 |
+
2490
|
| 138 |
+
2492
|
| 139 |
+
2493
|
| 140 |
+
2494
|
| 141 |
+
2501
|
| 142 |
+
2503
|
| 143 |
+
2505
|
| 144 |
+
2507
|
| 145 |
+
2510
|
| 146 |
+
2519
|
| 147 |
+
2520
|
| 148 |
+
2524
|
| 149 |
+
2526
|
| 150 |
+
2527
|
| 151 |
+
2532
|
| 152 |
+
2534
|
| 153 |
+
2555
|
| 154 |
+
2562
|
| 155 |
+
2563
|
| 156 |
+
2565
|
| 157 |
+
2571
|
| 158 |
+
2575
|
| 159 |
+
2577
|
| 160 |
+
2579
|
| 161 |
+
2601
|
| 162 |
+
2602
|
| 163 |
+
2609
|
| 164 |
+
2610
|
| 165 |
+
2612
|
| 166 |
+
2613
|
| 167 |
+
2615
|
| 168 |
+
2616
|
| 169 |
+
2618
|
| 170 |
+
2620
|
| 171 |
+
2621
|
| 172 |
+
2622
|
| 173 |
+
2627
|
| 174 |
+
2631
|
| 175 |
+
2633
|
| 176 |
+
2635
|
| 177 |
+
2638
|
| 178 |
+
2649
|
| 179 |
+
2653
|
| 180 |
+
2654
|
| 181 |
+
2655
|
| 182 |
+
2662
|
| 183 |
+
2677
|
| 184 |
+
2689
|
| 185 |
+
2692
|
| 186 |
+
2693
|
| 187 |
+
2700
|
| 188 |
+
2701
|
| 189 |
+
2702
|
| 190 |
+
2703
|
| 191 |
+
2706
|
| 192 |
+
2707
|
| 193 |
+
2729
|
| 194 |
+
2730
|
| 195 |
+
2737
|
| 196 |
+
2738
|
| 197 |
+
2740
|
| 198 |
+
2741
|
| 199 |
+
2746
|
| 200 |
+
2748
|
| 201 |
+
2758
|
| 202 |
+
2759
|
| 203 |
+
2762
|
| 204 |
+
2763
|
| 205 |
+
2766
|
| 206 |
+
2768
|
| 207 |
+
2769
|
| 208 |
+
2784
|
| 209 |
+
2785
|
| 210 |
+
2790
|
| 211 |
+
2800
|
| 212 |
+
2817
|
| 213 |
+
2820
|
| 214 |
+
2821
|
| 215 |
+
2829
|
| 216 |
+
2831
|
| 217 |
+
2833
|
| 218 |
+
2835
|
| 219 |
+
2857
|
| 220 |
+
2858
|
| 221 |
+
2865
|
| 222 |
+
2866
|
| 223 |
+
2868
|
| 224 |
+
2870
|
| 225 |
+
2874
|
| 226 |
+
2876
|
| 227 |
+
2884
|
| 228 |
+
2887
|
| 229 |
+
2889
|
| 230 |
+
2891
|
| 231 |
+
2894
|
| 232 |
+
2902
|
| 233 |
+
2904
|
| 234 |
+
2908
|
| 235 |
+
2910
|
| 236 |
+
2911
|
| 237 |
+
2914
|
| 238 |
+
2918
|
| 239 |
+
2929
|
| 240 |
+
2946
|
| 241 |
+
2948
|
| 242 |
+
2949
|
| 243 |
+
2955
|
| 244 |
+
2958
|
| 245 |
+
2961
|
| 246 |
+
2962
|
| 247 |
+
2966
|
| 248 |
+
2969
|
| 249 |
+
2971
|
| 250 |
+
2972
|
| 251 |
+
2973
|
| 252 |
+
2974
|
| 253 |
+
2976
|
| 254 |
+
2979
|
| 255 |
+
2981
|
| 256 |
+
2984
|
| 257 |
+
2987
|
| 258 |
+
2990
|
| 259 |
+
2998
|
| 260 |
+
2999
|
| 261 |
+
3002
|
| 262 |
+
3006
|
| 263 |
+
3011
|
| 264 |
+
3014
|
| 265 |
+
3017
|
| 266 |
+
3018
|
| 267 |
+
3022
|
| 268 |
+
3031
|
| 269 |
+
3032
|
| 270 |
+
3047
|
| 271 |
+
3059
|
| 272 |
+
3073
|
| 273 |
+
3076
|
| 274 |
+
3077
|
| 275 |
+
3085
|
| 276 |
+
3086
|
| 277 |
+
3089
|
| 278 |
+
3090
|
| 279 |
+
3113
|
| 280 |
+
3114
|
| 281 |
+
3124
|
| 282 |
+
3125
|
| 283 |
+
3130
|
| 284 |
+
3134
|
| 285 |
+
3141
|
| 286 |
+
3142
|
| 287 |
+
3145
|
| 288 |
+
3146
|
| 289 |
+
3150
|
| 290 |
+
3157
|
| 291 |
+
3159
|
| 292 |
+
3168
|
| 293 |
+
3170
|
| 294 |
+
3174
|
| 295 |
+
3184
|
| 296 |
+
3202
|
| 297 |
+
3204
|
| 298 |
+
3205
|
| 299 |
+
3213
|
| 300 |
+
3214
|
| 301 |
+
3217
|
| 302 |
+
3218
|
| 303 |
+
3241
|
| 304 |
+
3242
|
| 305 |
+
3252
|
| 306 |
+
3253
|
| 307 |
+
3258
|
| 308 |
+
3262
|
| 309 |
+
3269
|
| 310 |
+
3270
|
| 311 |
+
3273
|
| 312 |
+
3274
|
| 313 |
+
3278
|
| 314 |
+
3285
|
| 315 |
+
3287
|
| 316 |
+
3294
|
| 317 |
+
3295
|
| 318 |
+
3296
|
| 319 |
+
3298
|
| 320 |
+
3302
|
| 321 |
+
3312
|
| 322 |
+
3330
|
| 323 |
+
3332
|
| 324 |
+
3333
|
| 325 |
+
3341
|
| 326 |
+
3342
|
| 327 |
+
3345
|
| 328 |
+
3346
|
| 329 |
+
3369
|
| 330 |
+
3370
|
| 331 |
+
3386
|
| 332 |
+
3390
|
| 333 |
+
3396
|
| 334 |
+
3398
|
| 335 |
+
3401
|
| 336 |
+
3402
|
| 337 |
+
3406
|
| 338 |
+
3415
|
| 339 |
+
3416
|
| 340 |
+
3424
|
| 341 |
+
3426
|
| 342 |
+
3430
|
| 343 |
+
3440
|
| 344 |
+
3585
|
| 345 |
+
3643
|
| 346 |
+
3647
|
| 347 |
+
3676
|
| 348 |
+
3713
|
| 349 |
+
3715
|
| 350 |
+
3716
|
| 351 |
+
3717
|
| 352 |
+
3719
|
| 353 |
+
3721
|
| 354 |
+
3722
|
| 355 |
+
3723
|
| 356 |
+
3725
|
| 357 |
+
3726
|
| 358 |
+
3732
|
| 359 |
+
3736
|
| 360 |
+
3737
|
| 361 |
+
3744
|
| 362 |
+
3745
|
| 363 |
+
3748
|
| 364 |
+
3749
|
| 365 |
+
3750
|
| 366 |
+
3751
|
| 367 |
+
3752
|
| 368 |
+
3754
|
| 369 |
+
3756
|
| 370 |
+
3757
|
| 371 |
+
3770
|
| 372 |
+
3771
|
| 373 |
+
3774
|
| 374 |
+
3776
|
| 375 |
+
3781
|
| 376 |
+
3782
|
| 377 |
+
3783
|
| 378 |
+
3784
|
| 379 |
+
3790
|
| 380 |
+
3792
|
| 381 |
+
3802
|
| 382 |
+
3804
|
| 383 |
+
3806
|
| 384 |
+
3840
|
| 385 |
+
3912
|
| 386 |
+
3913
|
| 387 |
+
3946
|
| 388 |
+
3953
|
| 389 |
+
3980
|
| 390 |
+
3984
|
| 391 |
+
3990
|
| 392 |
+
3991
|
| 393 |
+
3992
|
| 394 |
+
3993
|
| 395 |
+
4014
|
| 396 |
+
4017
|
| 397 |
+
4024
|
| 398 |
+
4025
|
| 399 |
+
4026
|
| 400 |
+
4256
|
| 401 |
+
4294
|
| 402 |
+
4304
|
| 403 |
+
4343
|
| 404 |
+
4347
|
| 405 |
+
4348
|
| 406 |
+
4352
|
| 407 |
+
4442
|
| 408 |
+
4447
|
| 409 |
+
4515
|
| 410 |
+
4520
|
| 411 |
+
4602
|
| 412 |
+
7680
|
| 413 |
+
7836
|
| 414 |
+
7840
|
| 415 |
+
7930
|
| 416 |
+
7936
|
| 417 |
+
7958
|
| 418 |
+
7960
|
| 419 |
+
7966
|
| 420 |
+
7968
|
| 421 |
+
8006
|
| 422 |
+
8008
|
| 423 |
+
8014
|
| 424 |
+
8016
|
| 425 |
+
8024
|
| 426 |
+
8025
|
| 427 |
+
8026
|
| 428 |
+
8027
|
| 429 |
+
8028
|
| 430 |
+
8029
|
| 431 |
+
8030
|
| 432 |
+
8031
|
| 433 |
+
8062
|
| 434 |
+
8064
|
| 435 |
+
8117
|
| 436 |
+
8118
|
| 437 |
+
8133
|
| 438 |
+
8134
|
| 439 |
+
8148
|
| 440 |
+
8150
|
| 441 |
+
8156
|
| 442 |
+
8157
|
| 443 |
+
8176
|
| 444 |
+
8178
|
| 445 |
+
8181
|
| 446 |
+
8182
|
| 447 |
+
8191
|
| 448 |
+
8192
|
| 449 |
+
8239
|
| 450 |
+
8240
|
| 451 |
+
8263
|
| 452 |
+
8298
|
| 453 |
+
8305
|
| 454 |
+
8308
|
| 455 |
+
8335
|
| 456 |
+
8352
|
| 457 |
+
8364
|
| 458 |
+
8400
|
| 459 |
+
8418
|
| 460 |
+
8448
|
| 461 |
+
8505
|
| 462 |
+
8531
|
| 463 |
+
8579
|
| 464 |
+
8592
|
| 465 |
+
8683
|
| 466 |
+
8704
|
| 467 |
+
8946
|
| 468 |
+
8960
|
| 469 |
+
8961
|
| 470 |
+
8962
|
| 471 |
+
9083
|
| 472 |
+
9216
|
| 473 |
+
9253
|
| 474 |
+
9280
|
| 475 |
+
9291
|
| 476 |
+
9312
|
| 477 |
+
9451
|
| 478 |
+
9472
|
| 479 |
+
9622
|
| 480 |
+
9632
|
| 481 |
+
9712
|
| 482 |
+
9728
|
| 483 |
+
9748
|
| 484 |
+
9754
|
| 485 |
+
9840
|
| 486 |
+
9985
|
| 487 |
+
9989
|
| 488 |
+
9990
|
| 489 |
+
9994
|
| 490 |
+
9996
|
| 491 |
+
10024
|
| 492 |
+
10025
|
| 493 |
+
10060
|
| 494 |
+
10061
|
| 495 |
+
10062
|
| 496 |
+
10063
|
| 497 |
+
10067
|
| 498 |
+
10070
|
| 499 |
+
10071
|
| 500 |
+
10072
|
| 501 |
+
10079
|
| 502 |
+
10081
|
| 503 |
+
10088
|
| 504 |
+
10102
|
| 505 |
+
10133
|
| 506 |
+
10136
|
| 507 |
+
10160
|
| 508 |
+
10161
|
| 509 |
+
10175
|
| 510 |
+
12288
|
| 511 |
+
12344
|
| 512 |
+
12351
|
| 513 |
+
12352
|
| 514 |
+
12353
|
| 515 |
+
12437
|
| 516 |
+
12441
|
| 517 |
+
12447
|
| 518 |
+
12449
|
| 519 |
+
12543
|
| 520 |
+
12549
|
| 521 |
+
12589
|
| 522 |
+
12593
|
| 523 |
+
12687
|
| 524 |
+
12688
|
| 525 |
+
12704
|
| 526 |
+
12800
|
| 527 |
+
12829
|
| 528 |
+
12832
|
| 529 |
+
12868
|
| 530 |
+
12896
|
| 531 |
+
12924
|
| 532 |
+
12927
|
| 533 |
+
12977
|
| 534 |
+
12992
|
| 535 |
+
13004
|
| 536 |
+
13008
|
| 537 |
+
13055
|
| 538 |
+
13056
|
| 539 |
+
13175
|
| 540 |
+
13179
|
| 541 |
+
13278
|
| 542 |
+
13280
|
| 543 |
+
13311
|
| 544 |
+
19968
|
| 545 |
+
40870
|
| 546 |
+
44032
|
| 547 |
+
55204
|
| 548 |
+
55296
|
| 549 |
+
64046
|
| 550 |
+
64256
|
| 551 |
+
64263
|
| 552 |
+
64275
|
| 553 |
+
64280
|
| 554 |
+
64286
|
| 555 |
+
64311
|
| 556 |
+
64312
|
| 557 |
+
64317
|
| 558 |
+
64318
|
| 559 |
+
64319
|
| 560 |
+
64320
|
| 561 |
+
64322
|
| 562 |
+
64323
|
| 563 |
+
64325
|
| 564 |
+
64326
|
| 565 |
+
64434
|
| 566 |
+
64467
|
| 567 |
+
64832
|
| 568 |
+
64848
|
| 569 |
+
64912
|
| 570 |
+
64914
|
| 571 |
+
64968
|
| 572 |
+
65008
|
| 573 |
+
65020
|
| 574 |
+
65056
|
| 575 |
+
65060
|
| 576 |
+
65072
|
| 577 |
+
65093
|
| 578 |
+
65097
|
| 579 |
+
65107
|
| 580 |
+
65108
|
| 581 |
+
65127
|
| 582 |
+
65128
|
| 583 |
+
65132
|
| 584 |
+
65136
|
| 585 |
+
65139
|
| 586 |
+
65140
|
| 587 |
+
65141
|
| 588 |
+
65142
|
| 589 |
+
65277
|
| 590 |
+
65279
|
| 591 |
+
65280
|
| 592 |
+
65281
|
| 593 |
+
65375
|
| 594 |
+
65377
|
| 595 |
+
65471
|
| 596 |
+
65474
|
| 597 |
+
65480
|
| 598 |
+
65482
|
| 599 |
+
65488
|
| 600 |
+
65490
|
| 601 |
+
65496
|
| 602 |
+
65498
|
| 603 |
+
65501
|
| 604 |
+
65504
|
| 605 |
+
65511
|
| 606 |
+
65512
|
| 607 |
+
65519
|
| 608 |
+
65533
|
| 609 |
+
65536
|
| 610 |
+
131070
|
| 611 |
+
131072
|
| 612 |
+
196606
|
| 613 |
+
196608
|
| 614 |
+
262142
|
| 615 |
+
262144
|
| 616 |
+
327678
|
| 617 |
+
327680
|
| 618 |
+
393214
|
| 619 |
+
393216
|
| 620 |
+
458750
|
| 621 |
+
458752
|
| 622 |
+
524286
|
| 623 |
+
524288
|
| 624 |
+
589822
|
| 625 |
+
589824
|
| 626 |
+
655358
|
| 627 |
+
655360
|
| 628 |
+
720894
|
| 629 |
+
720896
|
| 630 |
+
786430
|
| 631 |
+
786432
|
| 632 |
+
851966
|
| 633 |
+
851968
|
| 634 |
+
917502
|
| 635 |
+
917504
|
| 636 |
+
983038
|
| 637 |
+
1114112
|
| 638 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/4_1.pl
ADDED
|
@@ -0,0 +1,874 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V860
|
| 14 |
+
0
|
| 15 |
+
578
|
| 16 |
+
592
|
| 17 |
+
880
|
| 18 |
+
884
|
| 19 |
+
886
|
| 20 |
+
890
|
| 21 |
+
891
|
| 22 |
+
894
|
| 23 |
+
895
|
| 24 |
+
900
|
| 25 |
+
907
|
| 26 |
+
908
|
| 27 |
+
909
|
| 28 |
+
910
|
| 29 |
+
930
|
| 30 |
+
931
|
| 31 |
+
975
|
| 32 |
+
976
|
| 33 |
+
1159
|
| 34 |
+
1160
|
| 35 |
+
1231
|
| 36 |
+
1232
|
| 37 |
+
1274
|
| 38 |
+
1280
|
| 39 |
+
1296
|
| 40 |
+
1329
|
| 41 |
+
1367
|
| 42 |
+
1369
|
| 43 |
+
1376
|
| 44 |
+
1377
|
| 45 |
+
1416
|
| 46 |
+
1417
|
| 47 |
+
1419
|
| 48 |
+
1425
|
| 49 |
+
1466
|
| 50 |
+
1467
|
| 51 |
+
1480
|
| 52 |
+
1488
|
| 53 |
+
1515
|
| 54 |
+
1520
|
| 55 |
+
1525
|
| 56 |
+
1536
|
| 57 |
+
1540
|
| 58 |
+
1547
|
| 59 |
+
1558
|
| 60 |
+
1563
|
| 61 |
+
1564
|
| 62 |
+
1566
|
| 63 |
+
1568
|
| 64 |
+
1569
|
| 65 |
+
1595
|
| 66 |
+
1600
|
| 67 |
+
1631
|
| 68 |
+
1632
|
| 69 |
+
1806
|
| 70 |
+
1807
|
| 71 |
+
1867
|
| 72 |
+
1869
|
| 73 |
+
1902
|
| 74 |
+
1920
|
| 75 |
+
1970
|
| 76 |
+
2305
|
| 77 |
+
2362
|
| 78 |
+
2364
|
| 79 |
+
2382
|
| 80 |
+
2384
|
| 81 |
+
2389
|
| 82 |
+
2392
|
| 83 |
+
2417
|
| 84 |
+
2429
|
| 85 |
+
2430
|
| 86 |
+
2433
|
| 87 |
+
2436
|
| 88 |
+
2437
|
| 89 |
+
2445
|
| 90 |
+
2447
|
| 91 |
+
2449
|
| 92 |
+
2451
|
| 93 |
+
2473
|
| 94 |
+
2474
|
| 95 |
+
2481
|
| 96 |
+
2482
|
| 97 |
+
2483
|
| 98 |
+
2486
|
| 99 |
+
2490
|
| 100 |
+
2492
|
| 101 |
+
2501
|
| 102 |
+
2503
|
| 103 |
+
2505
|
| 104 |
+
2507
|
| 105 |
+
2511
|
| 106 |
+
2519
|
| 107 |
+
2520
|
| 108 |
+
2524
|
| 109 |
+
2526
|
| 110 |
+
2527
|
| 111 |
+
2532
|
| 112 |
+
2534
|
| 113 |
+
2555
|
| 114 |
+
2561
|
| 115 |
+
2564
|
| 116 |
+
2565
|
| 117 |
+
2571
|
| 118 |
+
2575
|
| 119 |
+
2577
|
| 120 |
+
2579
|
| 121 |
+
2601
|
| 122 |
+
2602
|
| 123 |
+
2609
|
| 124 |
+
2610
|
| 125 |
+
2612
|
| 126 |
+
2613
|
| 127 |
+
2615
|
| 128 |
+
2616
|
| 129 |
+
2618
|
| 130 |
+
2620
|
| 131 |
+
2621
|
| 132 |
+
2622
|
| 133 |
+
2627
|
| 134 |
+
2631
|
| 135 |
+
2633
|
| 136 |
+
2635
|
| 137 |
+
2638
|
| 138 |
+
2649
|
| 139 |
+
2653
|
| 140 |
+
2654
|
| 141 |
+
2655
|
| 142 |
+
2662
|
| 143 |
+
2677
|
| 144 |
+
2689
|
| 145 |
+
2692
|
| 146 |
+
2693
|
| 147 |
+
2702
|
| 148 |
+
2703
|
| 149 |
+
2706
|
| 150 |
+
2707
|
| 151 |
+
2729
|
| 152 |
+
2730
|
| 153 |
+
2737
|
| 154 |
+
2738
|
| 155 |
+
2740
|
| 156 |
+
2741
|
| 157 |
+
2746
|
| 158 |
+
2748
|
| 159 |
+
2758
|
| 160 |
+
2759
|
| 161 |
+
2762
|
| 162 |
+
2763
|
| 163 |
+
2766
|
| 164 |
+
2768
|
| 165 |
+
2769
|
| 166 |
+
2784
|
| 167 |
+
2788
|
| 168 |
+
2790
|
| 169 |
+
2800
|
| 170 |
+
2801
|
| 171 |
+
2802
|
| 172 |
+
2817
|
| 173 |
+
2820
|
| 174 |
+
2821
|
| 175 |
+
2829
|
| 176 |
+
2831
|
| 177 |
+
2833
|
| 178 |
+
2835
|
| 179 |
+
2857
|
| 180 |
+
2858
|
| 181 |
+
2865
|
| 182 |
+
2866
|
| 183 |
+
2868
|
| 184 |
+
2869
|
| 185 |
+
2874
|
| 186 |
+
2876
|
| 187 |
+
2884
|
| 188 |
+
2887
|
| 189 |
+
2889
|
| 190 |
+
2891
|
| 191 |
+
2894
|
| 192 |
+
2902
|
| 193 |
+
2904
|
| 194 |
+
2908
|
| 195 |
+
2910
|
| 196 |
+
2911
|
| 197 |
+
2914
|
| 198 |
+
2918
|
| 199 |
+
2930
|
| 200 |
+
2946
|
| 201 |
+
2948
|
| 202 |
+
2949
|
| 203 |
+
2955
|
| 204 |
+
2958
|
| 205 |
+
2961
|
| 206 |
+
2962
|
| 207 |
+
2966
|
| 208 |
+
2969
|
| 209 |
+
2971
|
| 210 |
+
2972
|
| 211 |
+
2973
|
| 212 |
+
2974
|
| 213 |
+
2976
|
| 214 |
+
2979
|
| 215 |
+
2981
|
| 216 |
+
2984
|
| 217 |
+
2987
|
| 218 |
+
2990
|
| 219 |
+
3002
|
| 220 |
+
3006
|
| 221 |
+
3011
|
| 222 |
+
3014
|
| 223 |
+
3017
|
| 224 |
+
3018
|
| 225 |
+
3022
|
| 226 |
+
3031
|
| 227 |
+
3032
|
| 228 |
+
3046
|
| 229 |
+
3067
|
| 230 |
+
3073
|
| 231 |
+
3076
|
| 232 |
+
3077
|
| 233 |
+
3085
|
| 234 |
+
3086
|
| 235 |
+
3089
|
| 236 |
+
3090
|
| 237 |
+
3113
|
| 238 |
+
3114
|
| 239 |
+
3124
|
| 240 |
+
3125
|
| 241 |
+
3130
|
| 242 |
+
3134
|
| 243 |
+
3141
|
| 244 |
+
3142
|
| 245 |
+
3145
|
| 246 |
+
3146
|
| 247 |
+
3150
|
| 248 |
+
3157
|
| 249 |
+
3159
|
| 250 |
+
3168
|
| 251 |
+
3170
|
| 252 |
+
3174
|
| 253 |
+
3184
|
| 254 |
+
3202
|
| 255 |
+
3204
|
| 256 |
+
3205
|
| 257 |
+
3213
|
| 258 |
+
3214
|
| 259 |
+
3217
|
| 260 |
+
3218
|
| 261 |
+
3241
|
| 262 |
+
3242
|
| 263 |
+
3252
|
| 264 |
+
3253
|
| 265 |
+
3258
|
| 266 |
+
3260
|
| 267 |
+
3269
|
| 268 |
+
3270
|
| 269 |
+
3273
|
| 270 |
+
3274
|
| 271 |
+
3278
|
| 272 |
+
3285
|
| 273 |
+
3287
|
| 274 |
+
3294
|
| 275 |
+
3295
|
| 276 |
+
3296
|
| 277 |
+
3298
|
| 278 |
+
3302
|
| 279 |
+
3312
|
| 280 |
+
3330
|
| 281 |
+
3332
|
| 282 |
+
3333
|
| 283 |
+
3341
|
| 284 |
+
3342
|
| 285 |
+
3345
|
| 286 |
+
3346
|
| 287 |
+
3369
|
| 288 |
+
3370
|
| 289 |
+
3386
|
| 290 |
+
3390
|
| 291 |
+
3396
|
| 292 |
+
3398
|
| 293 |
+
3401
|
| 294 |
+
3402
|
| 295 |
+
3406
|
| 296 |
+
3415
|
| 297 |
+
3416
|
| 298 |
+
3424
|
| 299 |
+
3426
|
| 300 |
+
3430
|
| 301 |
+
3440
|
| 302 |
+
3458
|
| 303 |
+
3460
|
| 304 |
+
3461
|
| 305 |
+
3479
|
| 306 |
+
3482
|
| 307 |
+
3506
|
| 308 |
+
3507
|
| 309 |
+
3516
|
| 310 |
+
3517
|
| 311 |
+
3518
|
| 312 |
+
3520
|
| 313 |
+
3527
|
| 314 |
+
3530
|
| 315 |
+
3531
|
| 316 |
+
3535
|
| 317 |
+
3541
|
| 318 |
+
3542
|
| 319 |
+
3543
|
| 320 |
+
3544
|
| 321 |
+
3552
|
| 322 |
+
3570
|
| 323 |
+
3573
|
| 324 |
+
3585
|
| 325 |
+
3643
|
| 326 |
+
3647
|
| 327 |
+
3676
|
| 328 |
+
3713
|
| 329 |
+
3715
|
| 330 |
+
3716
|
| 331 |
+
3717
|
| 332 |
+
3719
|
| 333 |
+
3721
|
| 334 |
+
3722
|
| 335 |
+
3723
|
| 336 |
+
3725
|
| 337 |
+
3726
|
| 338 |
+
3732
|
| 339 |
+
3736
|
| 340 |
+
3737
|
| 341 |
+
3744
|
| 342 |
+
3745
|
| 343 |
+
3748
|
| 344 |
+
3749
|
| 345 |
+
3750
|
| 346 |
+
3751
|
| 347 |
+
3752
|
| 348 |
+
3754
|
| 349 |
+
3756
|
| 350 |
+
3757
|
| 351 |
+
3770
|
| 352 |
+
3771
|
| 353 |
+
3774
|
| 354 |
+
3776
|
| 355 |
+
3781
|
| 356 |
+
3782
|
| 357 |
+
3783
|
| 358 |
+
3784
|
| 359 |
+
3790
|
| 360 |
+
3792
|
| 361 |
+
3802
|
| 362 |
+
3804
|
| 363 |
+
3806
|
| 364 |
+
3840
|
| 365 |
+
3912
|
| 366 |
+
3913
|
| 367 |
+
3947
|
| 368 |
+
3953
|
| 369 |
+
3980
|
| 370 |
+
3984
|
| 371 |
+
3992
|
| 372 |
+
3993
|
| 373 |
+
4029
|
| 374 |
+
4030
|
| 375 |
+
4045
|
| 376 |
+
4047
|
| 377 |
+
4050
|
| 378 |
+
4096
|
| 379 |
+
4130
|
| 380 |
+
4131
|
| 381 |
+
4136
|
| 382 |
+
4137
|
| 383 |
+
4139
|
| 384 |
+
4140
|
| 385 |
+
4147
|
| 386 |
+
4150
|
| 387 |
+
4154
|
| 388 |
+
4160
|
| 389 |
+
4186
|
| 390 |
+
4256
|
| 391 |
+
4294
|
| 392 |
+
4304
|
| 393 |
+
4349
|
| 394 |
+
4352
|
| 395 |
+
4442
|
| 396 |
+
4447
|
| 397 |
+
4515
|
| 398 |
+
4520
|
| 399 |
+
4602
|
| 400 |
+
4608
|
| 401 |
+
4681
|
| 402 |
+
4682
|
| 403 |
+
4686
|
| 404 |
+
4688
|
| 405 |
+
4695
|
| 406 |
+
4696
|
| 407 |
+
4697
|
| 408 |
+
4698
|
| 409 |
+
4702
|
| 410 |
+
4704
|
| 411 |
+
4745
|
| 412 |
+
4746
|
| 413 |
+
4750
|
| 414 |
+
4752
|
| 415 |
+
4785
|
| 416 |
+
4786
|
| 417 |
+
4790
|
| 418 |
+
4792
|
| 419 |
+
4799
|
| 420 |
+
4800
|
| 421 |
+
4801
|
| 422 |
+
4802
|
| 423 |
+
4806
|
| 424 |
+
4808
|
| 425 |
+
4823
|
| 426 |
+
4824
|
| 427 |
+
4881
|
| 428 |
+
4882
|
| 429 |
+
4886
|
| 430 |
+
4888
|
| 431 |
+
4955
|
| 432 |
+
4959
|
| 433 |
+
4989
|
| 434 |
+
4992
|
| 435 |
+
5018
|
| 436 |
+
5024
|
| 437 |
+
5109
|
| 438 |
+
5121
|
| 439 |
+
5751
|
| 440 |
+
5760
|
| 441 |
+
5789
|
| 442 |
+
5792
|
| 443 |
+
5873
|
| 444 |
+
5888
|
| 445 |
+
5901
|
| 446 |
+
5902
|
| 447 |
+
5909
|
| 448 |
+
5920
|
| 449 |
+
5943
|
| 450 |
+
5952
|
| 451 |
+
5972
|
| 452 |
+
5984
|
| 453 |
+
5997
|
| 454 |
+
5998
|
| 455 |
+
6001
|
| 456 |
+
6002
|
| 457 |
+
6004
|
| 458 |
+
6016
|
| 459 |
+
6110
|
| 460 |
+
6112
|
| 461 |
+
6122
|
| 462 |
+
6128
|
| 463 |
+
6138
|
| 464 |
+
6144
|
| 465 |
+
6159
|
| 466 |
+
6160
|
| 467 |
+
6170
|
| 468 |
+
6176
|
| 469 |
+
6264
|
| 470 |
+
6272
|
| 471 |
+
6314
|
| 472 |
+
6400
|
| 473 |
+
6429
|
| 474 |
+
6432
|
| 475 |
+
6444
|
| 476 |
+
6448
|
| 477 |
+
6460
|
| 478 |
+
6464
|
| 479 |
+
6465
|
| 480 |
+
6468
|
| 481 |
+
6510
|
| 482 |
+
6512
|
| 483 |
+
6517
|
| 484 |
+
6528
|
| 485 |
+
6570
|
| 486 |
+
6576
|
| 487 |
+
6602
|
| 488 |
+
6608
|
| 489 |
+
6618
|
| 490 |
+
6622
|
| 491 |
+
6684
|
| 492 |
+
6686
|
| 493 |
+
6688
|
| 494 |
+
7424
|
| 495 |
+
7620
|
| 496 |
+
7680
|
| 497 |
+
7836
|
| 498 |
+
7840
|
| 499 |
+
7930
|
| 500 |
+
7936
|
| 501 |
+
7958
|
| 502 |
+
7960
|
| 503 |
+
7966
|
| 504 |
+
7968
|
| 505 |
+
8006
|
| 506 |
+
8008
|
| 507 |
+
8014
|
| 508 |
+
8016
|
| 509 |
+
8024
|
| 510 |
+
8025
|
| 511 |
+
8026
|
| 512 |
+
8027
|
| 513 |
+
8028
|
| 514 |
+
8029
|
| 515 |
+
8030
|
| 516 |
+
8031
|
| 517 |
+
8062
|
| 518 |
+
8064
|
| 519 |
+
8117
|
| 520 |
+
8118
|
| 521 |
+
8133
|
| 522 |
+
8134
|
| 523 |
+
8148
|
| 524 |
+
8150
|
| 525 |
+
8156
|
| 526 |
+
8157
|
| 527 |
+
8176
|
| 528 |
+
8178
|
| 529 |
+
8181
|
| 530 |
+
8182
|
| 531 |
+
8191
|
| 532 |
+
8192
|
| 533 |
+
8292
|
| 534 |
+
8298
|
| 535 |
+
8306
|
| 536 |
+
8308
|
| 537 |
+
8335
|
| 538 |
+
8336
|
| 539 |
+
8341
|
| 540 |
+
8352
|
| 541 |
+
8374
|
| 542 |
+
8400
|
| 543 |
+
8428
|
| 544 |
+
8448
|
| 545 |
+
8525
|
| 546 |
+
8531
|
| 547 |
+
8580
|
| 548 |
+
8592
|
| 549 |
+
9180
|
| 550 |
+
9216
|
| 551 |
+
9255
|
| 552 |
+
9280
|
| 553 |
+
9291
|
| 554 |
+
9312
|
| 555 |
+
9885
|
| 556 |
+
9888
|
| 557 |
+
9906
|
| 558 |
+
9985
|
| 559 |
+
9989
|
| 560 |
+
9990
|
| 561 |
+
9994
|
| 562 |
+
9996
|
| 563 |
+
10024
|
| 564 |
+
10025
|
| 565 |
+
10060
|
| 566 |
+
10061
|
| 567 |
+
10062
|
| 568 |
+
10063
|
| 569 |
+
10067
|
| 570 |
+
10070
|
| 571 |
+
10071
|
| 572 |
+
10072
|
| 573 |
+
10079
|
| 574 |
+
10081
|
| 575 |
+
10133
|
| 576 |
+
10136
|
| 577 |
+
10160
|
| 578 |
+
10161
|
| 579 |
+
10175
|
| 580 |
+
10176
|
| 581 |
+
10183
|
| 582 |
+
10192
|
| 583 |
+
10220
|
| 584 |
+
10224
|
| 585 |
+
11028
|
| 586 |
+
11264
|
| 587 |
+
11311
|
| 588 |
+
11312
|
| 589 |
+
11359
|
| 590 |
+
11392
|
| 591 |
+
11499
|
| 592 |
+
11513
|
| 593 |
+
11558
|
| 594 |
+
11568
|
| 595 |
+
11622
|
| 596 |
+
11631
|
| 597 |
+
11632
|
| 598 |
+
11648
|
| 599 |
+
11671
|
| 600 |
+
11680
|
| 601 |
+
11687
|
| 602 |
+
11688
|
| 603 |
+
11695
|
| 604 |
+
11696
|
| 605 |
+
11703
|
| 606 |
+
11704
|
| 607 |
+
11711
|
| 608 |
+
11712
|
| 609 |
+
11719
|
| 610 |
+
11720
|
| 611 |
+
11727
|
| 612 |
+
11728
|
| 613 |
+
11735
|
| 614 |
+
11736
|
| 615 |
+
11743
|
| 616 |
+
11776
|
| 617 |
+
11800
|
| 618 |
+
11804
|
| 619 |
+
11806
|
| 620 |
+
11904
|
| 621 |
+
11930
|
| 622 |
+
11931
|
| 623 |
+
12020
|
| 624 |
+
12032
|
| 625 |
+
12246
|
| 626 |
+
12272
|
| 627 |
+
12284
|
| 628 |
+
12288
|
| 629 |
+
12352
|
| 630 |
+
12353
|
| 631 |
+
12439
|
| 632 |
+
12441
|
| 633 |
+
12544
|
| 634 |
+
12549
|
| 635 |
+
12589
|
| 636 |
+
12593
|
| 637 |
+
12687
|
| 638 |
+
12688
|
| 639 |
+
12728
|
| 640 |
+
12736
|
| 641 |
+
12752
|
| 642 |
+
12784
|
| 643 |
+
12831
|
| 644 |
+
12832
|
| 645 |
+
12868
|
| 646 |
+
12880
|
| 647 |
+
13055
|
| 648 |
+
13056
|
| 649 |
+
19894
|
| 650 |
+
19904
|
| 651 |
+
40892
|
| 652 |
+
40960
|
| 653 |
+
42125
|
| 654 |
+
42128
|
| 655 |
+
42183
|
| 656 |
+
42752
|
| 657 |
+
42775
|
| 658 |
+
43008
|
| 659 |
+
43052
|
| 660 |
+
44032
|
| 661 |
+
55204
|
| 662 |
+
55296
|
| 663 |
+
64046
|
| 664 |
+
64048
|
| 665 |
+
64107
|
| 666 |
+
64112
|
| 667 |
+
64218
|
| 668 |
+
64256
|
| 669 |
+
64263
|
| 670 |
+
64275
|
| 671 |
+
64280
|
| 672 |
+
64285
|
| 673 |
+
64311
|
| 674 |
+
64312
|
| 675 |
+
64317
|
| 676 |
+
64318
|
| 677 |
+
64319
|
| 678 |
+
64320
|
| 679 |
+
64322
|
| 680 |
+
64323
|
| 681 |
+
64325
|
| 682 |
+
64326
|
| 683 |
+
64434
|
| 684 |
+
64467
|
| 685 |
+
64832
|
| 686 |
+
64848
|
| 687 |
+
64912
|
| 688 |
+
64914
|
| 689 |
+
64968
|
| 690 |
+
64976
|
| 691 |
+
65022
|
| 692 |
+
65024
|
| 693 |
+
65050
|
| 694 |
+
65056
|
| 695 |
+
65060
|
| 696 |
+
65072
|
| 697 |
+
65107
|
| 698 |
+
65108
|
| 699 |
+
65127
|
| 700 |
+
65128
|
| 701 |
+
65132
|
| 702 |
+
65136
|
| 703 |
+
65141
|
| 704 |
+
65142
|
| 705 |
+
65277
|
| 706 |
+
65279
|
| 707 |
+
65280
|
| 708 |
+
65281
|
| 709 |
+
65471
|
| 710 |
+
65474
|
| 711 |
+
65480
|
| 712 |
+
65482
|
| 713 |
+
65488
|
| 714 |
+
65490
|
| 715 |
+
65496
|
| 716 |
+
65498
|
| 717 |
+
65501
|
| 718 |
+
65504
|
| 719 |
+
65511
|
| 720 |
+
65512
|
| 721 |
+
65519
|
| 722 |
+
65529
|
| 723 |
+
65548
|
| 724 |
+
65549
|
| 725 |
+
65575
|
| 726 |
+
65576
|
| 727 |
+
65595
|
| 728 |
+
65596
|
| 729 |
+
65598
|
| 730 |
+
65599
|
| 731 |
+
65614
|
| 732 |
+
65616
|
| 733 |
+
65630
|
| 734 |
+
65664
|
| 735 |
+
65787
|
| 736 |
+
65792
|
| 737 |
+
65795
|
| 738 |
+
65799
|
| 739 |
+
65844
|
| 740 |
+
65847
|
| 741 |
+
65931
|
| 742 |
+
66304
|
| 743 |
+
66335
|
| 744 |
+
66336
|
| 745 |
+
66340
|
| 746 |
+
66352
|
| 747 |
+
66379
|
| 748 |
+
66432
|
| 749 |
+
66462
|
| 750 |
+
66463
|
| 751 |
+
66500
|
| 752 |
+
66504
|
| 753 |
+
66518
|
| 754 |
+
66560
|
| 755 |
+
66718
|
| 756 |
+
66720
|
| 757 |
+
66730
|
| 758 |
+
67584
|
| 759 |
+
67590
|
| 760 |
+
67592
|
| 761 |
+
67593
|
| 762 |
+
67594
|
| 763 |
+
67638
|
| 764 |
+
67639
|
| 765 |
+
67641
|
| 766 |
+
67644
|
| 767 |
+
67645
|
| 768 |
+
67647
|
| 769 |
+
67648
|
| 770 |
+
68096
|
| 771 |
+
68100
|
| 772 |
+
68101
|
| 773 |
+
68103
|
| 774 |
+
68108
|
| 775 |
+
68116
|
| 776 |
+
68117
|
| 777 |
+
68120
|
| 778 |
+
68121
|
| 779 |
+
68148
|
| 780 |
+
68152
|
| 781 |
+
68155
|
| 782 |
+
68159
|
| 783 |
+
68168
|
| 784 |
+
68176
|
| 785 |
+
68185
|
| 786 |
+
118784
|
| 787 |
+
119030
|
| 788 |
+
119040
|
| 789 |
+
119079
|
| 790 |
+
119082
|
| 791 |
+
119262
|
| 792 |
+
119296
|
| 793 |
+
119366
|
| 794 |
+
119552
|
| 795 |
+
119639
|
| 796 |
+
119808
|
| 797 |
+
119893
|
| 798 |
+
119894
|
| 799 |
+
119965
|
| 800 |
+
119966
|
| 801 |
+
119968
|
| 802 |
+
119970
|
| 803 |
+
119971
|
| 804 |
+
119973
|
| 805 |
+
119975
|
| 806 |
+
119977
|
| 807 |
+
119981
|
| 808 |
+
119982
|
| 809 |
+
119994
|
| 810 |
+
119995
|
| 811 |
+
119996
|
| 812 |
+
119997
|
| 813 |
+
120004
|
| 814 |
+
120005
|
| 815 |
+
120070
|
| 816 |
+
120071
|
| 817 |
+
120075
|
| 818 |
+
120077
|
| 819 |
+
120085
|
| 820 |
+
120086
|
| 821 |
+
120093
|
| 822 |
+
120094
|
| 823 |
+
120122
|
| 824 |
+
120123
|
| 825 |
+
120127
|
| 826 |
+
120128
|
| 827 |
+
120133
|
| 828 |
+
120134
|
| 829 |
+
120135
|
| 830 |
+
120138
|
| 831 |
+
120145
|
| 832 |
+
120146
|
| 833 |
+
120486
|
| 834 |
+
120488
|
| 835 |
+
120778
|
| 836 |
+
120782
|
| 837 |
+
120832
|
| 838 |
+
131070
|
| 839 |
+
173783
|
| 840 |
+
194560
|
| 841 |
+
195102
|
| 842 |
+
196606
|
| 843 |
+
196608
|
| 844 |
+
262142
|
| 845 |
+
262144
|
| 846 |
+
327678
|
| 847 |
+
327680
|
| 848 |
+
393214
|
| 849 |
+
393216
|
| 850 |
+
458750
|
| 851 |
+
458752
|
| 852 |
+
524286
|
| 853 |
+
524288
|
| 854 |
+
589822
|
| 855 |
+
589824
|
| 856 |
+
655358
|
| 857 |
+
655360
|
| 858 |
+
720894
|
| 859 |
+
720896
|
| 860 |
+
786430
|
| 861 |
+
786432
|
| 862 |
+
851966
|
| 863 |
+
851968
|
| 864 |
+
917502
|
| 865 |
+
917504
|
| 866 |
+
917505
|
| 867 |
+
917506
|
| 868 |
+
917536
|
| 869 |
+
917632
|
| 870 |
+
917760
|
| 871 |
+
918000
|
| 872 |
+
983038
|
| 873 |
+
1114112
|
| 874 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/5_2.pl
ADDED
|
@@ -0,0 +1,1004 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V990
|
| 14 |
+
0
|
| 15 |
+
888
|
| 16 |
+
890
|
| 17 |
+
895
|
| 18 |
+
900
|
| 19 |
+
907
|
| 20 |
+
908
|
| 21 |
+
909
|
| 22 |
+
910
|
| 23 |
+
930
|
| 24 |
+
931
|
| 25 |
+
1318
|
| 26 |
+
1329
|
| 27 |
+
1367
|
| 28 |
+
1369
|
| 29 |
+
1376
|
| 30 |
+
1377
|
| 31 |
+
1416
|
| 32 |
+
1417
|
| 33 |
+
1419
|
| 34 |
+
1425
|
| 35 |
+
1480
|
| 36 |
+
1488
|
| 37 |
+
1515
|
| 38 |
+
1520
|
| 39 |
+
1525
|
| 40 |
+
1536
|
| 41 |
+
1540
|
| 42 |
+
1542
|
| 43 |
+
1564
|
| 44 |
+
1566
|
| 45 |
+
1568
|
| 46 |
+
1569
|
| 47 |
+
1631
|
| 48 |
+
1632
|
| 49 |
+
1806
|
| 50 |
+
1807
|
| 51 |
+
1867
|
| 52 |
+
1869
|
| 53 |
+
1970
|
| 54 |
+
1984
|
| 55 |
+
2043
|
| 56 |
+
2048
|
| 57 |
+
2094
|
| 58 |
+
2096
|
| 59 |
+
2111
|
| 60 |
+
2304
|
| 61 |
+
2362
|
| 62 |
+
2364
|
| 63 |
+
2383
|
| 64 |
+
2384
|
| 65 |
+
2390
|
| 66 |
+
2392
|
| 67 |
+
2419
|
| 68 |
+
2425
|
| 69 |
+
2432
|
| 70 |
+
2433
|
| 71 |
+
2436
|
| 72 |
+
2437
|
| 73 |
+
2445
|
| 74 |
+
2447
|
| 75 |
+
2449
|
| 76 |
+
2451
|
| 77 |
+
2473
|
| 78 |
+
2474
|
| 79 |
+
2481
|
| 80 |
+
2482
|
| 81 |
+
2483
|
| 82 |
+
2486
|
| 83 |
+
2490
|
| 84 |
+
2492
|
| 85 |
+
2501
|
| 86 |
+
2503
|
| 87 |
+
2505
|
| 88 |
+
2507
|
| 89 |
+
2511
|
| 90 |
+
2519
|
| 91 |
+
2520
|
| 92 |
+
2524
|
| 93 |
+
2526
|
| 94 |
+
2527
|
| 95 |
+
2532
|
| 96 |
+
2534
|
| 97 |
+
2556
|
| 98 |
+
2561
|
| 99 |
+
2564
|
| 100 |
+
2565
|
| 101 |
+
2571
|
| 102 |
+
2575
|
| 103 |
+
2577
|
| 104 |
+
2579
|
| 105 |
+
2601
|
| 106 |
+
2602
|
| 107 |
+
2609
|
| 108 |
+
2610
|
| 109 |
+
2612
|
| 110 |
+
2613
|
| 111 |
+
2615
|
| 112 |
+
2616
|
| 113 |
+
2618
|
| 114 |
+
2620
|
| 115 |
+
2621
|
| 116 |
+
2622
|
| 117 |
+
2627
|
| 118 |
+
2631
|
| 119 |
+
2633
|
| 120 |
+
2635
|
| 121 |
+
2638
|
| 122 |
+
2641
|
| 123 |
+
2642
|
| 124 |
+
2649
|
| 125 |
+
2653
|
| 126 |
+
2654
|
| 127 |
+
2655
|
| 128 |
+
2662
|
| 129 |
+
2678
|
| 130 |
+
2689
|
| 131 |
+
2692
|
| 132 |
+
2693
|
| 133 |
+
2702
|
| 134 |
+
2703
|
| 135 |
+
2706
|
| 136 |
+
2707
|
| 137 |
+
2729
|
| 138 |
+
2730
|
| 139 |
+
2737
|
| 140 |
+
2738
|
| 141 |
+
2740
|
| 142 |
+
2741
|
| 143 |
+
2746
|
| 144 |
+
2748
|
| 145 |
+
2758
|
| 146 |
+
2759
|
| 147 |
+
2762
|
| 148 |
+
2763
|
| 149 |
+
2766
|
| 150 |
+
2768
|
| 151 |
+
2769
|
| 152 |
+
2784
|
| 153 |
+
2788
|
| 154 |
+
2790
|
| 155 |
+
2800
|
| 156 |
+
2801
|
| 157 |
+
2802
|
| 158 |
+
2817
|
| 159 |
+
2820
|
| 160 |
+
2821
|
| 161 |
+
2829
|
| 162 |
+
2831
|
| 163 |
+
2833
|
| 164 |
+
2835
|
| 165 |
+
2857
|
| 166 |
+
2858
|
| 167 |
+
2865
|
| 168 |
+
2866
|
| 169 |
+
2868
|
| 170 |
+
2869
|
| 171 |
+
2874
|
| 172 |
+
2876
|
| 173 |
+
2885
|
| 174 |
+
2887
|
| 175 |
+
2889
|
| 176 |
+
2891
|
| 177 |
+
2894
|
| 178 |
+
2902
|
| 179 |
+
2904
|
| 180 |
+
2908
|
| 181 |
+
2910
|
| 182 |
+
2911
|
| 183 |
+
2916
|
| 184 |
+
2918
|
| 185 |
+
2930
|
| 186 |
+
2946
|
| 187 |
+
2948
|
| 188 |
+
2949
|
| 189 |
+
2955
|
| 190 |
+
2958
|
| 191 |
+
2961
|
| 192 |
+
2962
|
| 193 |
+
2966
|
| 194 |
+
2969
|
| 195 |
+
2971
|
| 196 |
+
2972
|
| 197 |
+
2973
|
| 198 |
+
2974
|
| 199 |
+
2976
|
| 200 |
+
2979
|
| 201 |
+
2981
|
| 202 |
+
2984
|
| 203 |
+
2987
|
| 204 |
+
2990
|
| 205 |
+
3002
|
| 206 |
+
3006
|
| 207 |
+
3011
|
| 208 |
+
3014
|
| 209 |
+
3017
|
| 210 |
+
3018
|
| 211 |
+
3022
|
| 212 |
+
3024
|
| 213 |
+
3025
|
| 214 |
+
3031
|
| 215 |
+
3032
|
| 216 |
+
3046
|
| 217 |
+
3067
|
| 218 |
+
3073
|
| 219 |
+
3076
|
| 220 |
+
3077
|
| 221 |
+
3085
|
| 222 |
+
3086
|
| 223 |
+
3089
|
| 224 |
+
3090
|
| 225 |
+
3113
|
| 226 |
+
3114
|
| 227 |
+
3124
|
| 228 |
+
3125
|
| 229 |
+
3130
|
| 230 |
+
3133
|
| 231 |
+
3141
|
| 232 |
+
3142
|
| 233 |
+
3145
|
| 234 |
+
3146
|
| 235 |
+
3150
|
| 236 |
+
3157
|
| 237 |
+
3159
|
| 238 |
+
3160
|
| 239 |
+
3162
|
| 240 |
+
3168
|
| 241 |
+
3172
|
| 242 |
+
3174
|
| 243 |
+
3184
|
| 244 |
+
3192
|
| 245 |
+
3200
|
| 246 |
+
3202
|
| 247 |
+
3204
|
| 248 |
+
3205
|
| 249 |
+
3213
|
| 250 |
+
3214
|
| 251 |
+
3217
|
| 252 |
+
3218
|
| 253 |
+
3241
|
| 254 |
+
3242
|
| 255 |
+
3252
|
| 256 |
+
3253
|
| 257 |
+
3258
|
| 258 |
+
3260
|
| 259 |
+
3269
|
| 260 |
+
3270
|
| 261 |
+
3273
|
| 262 |
+
3274
|
| 263 |
+
3278
|
| 264 |
+
3285
|
| 265 |
+
3287
|
| 266 |
+
3294
|
| 267 |
+
3295
|
| 268 |
+
3296
|
| 269 |
+
3300
|
| 270 |
+
3302
|
| 271 |
+
3312
|
| 272 |
+
3313
|
| 273 |
+
3315
|
| 274 |
+
3330
|
| 275 |
+
3332
|
| 276 |
+
3333
|
| 277 |
+
3341
|
| 278 |
+
3342
|
| 279 |
+
3345
|
| 280 |
+
3346
|
| 281 |
+
3369
|
| 282 |
+
3370
|
| 283 |
+
3386
|
| 284 |
+
3389
|
| 285 |
+
3397
|
| 286 |
+
3398
|
| 287 |
+
3401
|
| 288 |
+
3402
|
| 289 |
+
3406
|
| 290 |
+
3415
|
| 291 |
+
3416
|
| 292 |
+
3424
|
| 293 |
+
3428
|
| 294 |
+
3430
|
| 295 |
+
3446
|
| 296 |
+
3449
|
| 297 |
+
3456
|
| 298 |
+
3458
|
| 299 |
+
3460
|
| 300 |
+
3461
|
| 301 |
+
3479
|
| 302 |
+
3482
|
| 303 |
+
3506
|
| 304 |
+
3507
|
| 305 |
+
3516
|
| 306 |
+
3517
|
| 307 |
+
3518
|
| 308 |
+
3520
|
| 309 |
+
3527
|
| 310 |
+
3530
|
| 311 |
+
3531
|
| 312 |
+
3535
|
| 313 |
+
3541
|
| 314 |
+
3542
|
| 315 |
+
3543
|
| 316 |
+
3544
|
| 317 |
+
3552
|
| 318 |
+
3570
|
| 319 |
+
3573
|
| 320 |
+
3585
|
| 321 |
+
3643
|
| 322 |
+
3647
|
| 323 |
+
3676
|
| 324 |
+
3713
|
| 325 |
+
3715
|
| 326 |
+
3716
|
| 327 |
+
3717
|
| 328 |
+
3719
|
| 329 |
+
3721
|
| 330 |
+
3722
|
| 331 |
+
3723
|
| 332 |
+
3725
|
| 333 |
+
3726
|
| 334 |
+
3732
|
| 335 |
+
3736
|
| 336 |
+
3737
|
| 337 |
+
3744
|
| 338 |
+
3745
|
| 339 |
+
3748
|
| 340 |
+
3749
|
| 341 |
+
3750
|
| 342 |
+
3751
|
| 343 |
+
3752
|
| 344 |
+
3754
|
| 345 |
+
3756
|
| 346 |
+
3757
|
| 347 |
+
3770
|
| 348 |
+
3771
|
| 349 |
+
3774
|
| 350 |
+
3776
|
| 351 |
+
3781
|
| 352 |
+
3782
|
| 353 |
+
3783
|
| 354 |
+
3784
|
| 355 |
+
3790
|
| 356 |
+
3792
|
| 357 |
+
3802
|
| 358 |
+
3804
|
| 359 |
+
3806
|
| 360 |
+
3840
|
| 361 |
+
3912
|
| 362 |
+
3913
|
| 363 |
+
3949
|
| 364 |
+
3953
|
| 365 |
+
3980
|
| 366 |
+
3984
|
| 367 |
+
3992
|
| 368 |
+
3993
|
| 369 |
+
4029
|
| 370 |
+
4030
|
| 371 |
+
4045
|
| 372 |
+
4046
|
| 373 |
+
4057
|
| 374 |
+
4096
|
| 375 |
+
4294
|
| 376 |
+
4304
|
| 377 |
+
4349
|
| 378 |
+
4352
|
| 379 |
+
4681
|
| 380 |
+
4682
|
| 381 |
+
4686
|
| 382 |
+
4688
|
| 383 |
+
4695
|
| 384 |
+
4696
|
| 385 |
+
4697
|
| 386 |
+
4698
|
| 387 |
+
4702
|
| 388 |
+
4704
|
| 389 |
+
4745
|
| 390 |
+
4746
|
| 391 |
+
4750
|
| 392 |
+
4752
|
| 393 |
+
4785
|
| 394 |
+
4786
|
| 395 |
+
4790
|
| 396 |
+
4792
|
| 397 |
+
4799
|
| 398 |
+
4800
|
| 399 |
+
4801
|
| 400 |
+
4802
|
| 401 |
+
4806
|
| 402 |
+
4808
|
| 403 |
+
4823
|
| 404 |
+
4824
|
| 405 |
+
4881
|
| 406 |
+
4882
|
| 407 |
+
4886
|
| 408 |
+
4888
|
| 409 |
+
4955
|
| 410 |
+
4959
|
| 411 |
+
4989
|
| 412 |
+
4992
|
| 413 |
+
5018
|
| 414 |
+
5024
|
| 415 |
+
5109
|
| 416 |
+
5120
|
| 417 |
+
5789
|
| 418 |
+
5792
|
| 419 |
+
5873
|
| 420 |
+
5888
|
| 421 |
+
5901
|
| 422 |
+
5902
|
| 423 |
+
5909
|
| 424 |
+
5920
|
| 425 |
+
5943
|
| 426 |
+
5952
|
| 427 |
+
5972
|
| 428 |
+
5984
|
| 429 |
+
5997
|
| 430 |
+
5998
|
| 431 |
+
6001
|
| 432 |
+
6002
|
| 433 |
+
6004
|
| 434 |
+
6016
|
| 435 |
+
6110
|
| 436 |
+
6112
|
| 437 |
+
6122
|
| 438 |
+
6128
|
| 439 |
+
6138
|
| 440 |
+
6144
|
| 441 |
+
6159
|
| 442 |
+
6160
|
| 443 |
+
6170
|
| 444 |
+
6176
|
| 445 |
+
6264
|
| 446 |
+
6272
|
| 447 |
+
6315
|
| 448 |
+
6320
|
| 449 |
+
6390
|
| 450 |
+
6400
|
| 451 |
+
6429
|
| 452 |
+
6432
|
| 453 |
+
6444
|
| 454 |
+
6448
|
| 455 |
+
6460
|
| 456 |
+
6464
|
| 457 |
+
6465
|
| 458 |
+
6468
|
| 459 |
+
6510
|
| 460 |
+
6512
|
| 461 |
+
6517
|
| 462 |
+
6528
|
| 463 |
+
6572
|
| 464 |
+
6576
|
| 465 |
+
6602
|
| 466 |
+
6608
|
| 467 |
+
6619
|
| 468 |
+
6622
|
| 469 |
+
6684
|
| 470 |
+
6686
|
| 471 |
+
6751
|
| 472 |
+
6752
|
| 473 |
+
6781
|
| 474 |
+
6783
|
| 475 |
+
6794
|
| 476 |
+
6800
|
| 477 |
+
6810
|
| 478 |
+
6816
|
| 479 |
+
6830
|
| 480 |
+
6912
|
| 481 |
+
6988
|
| 482 |
+
6992
|
| 483 |
+
7037
|
| 484 |
+
7040
|
| 485 |
+
7083
|
| 486 |
+
7086
|
| 487 |
+
7098
|
| 488 |
+
7168
|
| 489 |
+
7224
|
| 490 |
+
7227
|
| 491 |
+
7242
|
| 492 |
+
7245
|
| 493 |
+
7296
|
| 494 |
+
7376
|
| 495 |
+
7411
|
| 496 |
+
7424
|
| 497 |
+
7655
|
| 498 |
+
7677
|
| 499 |
+
7958
|
| 500 |
+
7960
|
| 501 |
+
7966
|
| 502 |
+
7968
|
| 503 |
+
8006
|
| 504 |
+
8008
|
| 505 |
+
8014
|
| 506 |
+
8016
|
| 507 |
+
8024
|
| 508 |
+
8025
|
| 509 |
+
8026
|
| 510 |
+
8027
|
| 511 |
+
8028
|
| 512 |
+
8029
|
| 513 |
+
8030
|
| 514 |
+
8031
|
| 515 |
+
8062
|
| 516 |
+
8064
|
| 517 |
+
8117
|
| 518 |
+
8118
|
| 519 |
+
8133
|
| 520 |
+
8134
|
| 521 |
+
8148
|
| 522 |
+
8150
|
| 523 |
+
8156
|
| 524 |
+
8157
|
| 525 |
+
8176
|
| 526 |
+
8178
|
| 527 |
+
8181
|
| 528 |
+
8182
|
| 529 |
+
8191
|
| 530 |
+
8192
|
| 531 |
+
8293
|
| 532 |
+
8298
|
| 533 |
+
8306
|
| 534 |
+
8308
|
| 535 |
+
8335
|
| 536 |
+
8336
|
| 537 |
+
8341
|
| 538 |
+
8352
|
| 539 |
+
8377
|
| 540 |
+
8400
|
| 541 |
+
8433
|
| 542 |
+
8448
|
| 543 |
+
8586
|
| 544 |
+
8592
|
| 545 |
+
9193
|
| 546 |
+
9216
|
| 547 |
+
9255
|
| 548 |
+
9280
|
| 549 |
+
9291
|
| 550 |
+
9312
|
| 551 |
+
9934
|
| 552 |
+
9935
|
| 553 |
+
9954
|
| 554 |
+
9955
|
| 555 |
+
9956
|
| 556 |
+
9960
|
| 557 |
+
9984
|
| 558 |
+
9985
|
| 559 |
+
9989
|
| 560 |
+
9990
|
| 561 |
+
9994
|
| 562 |
+
9996
|
| 563 |
+
10024
|
| 564 |
+
10025
|
| 565 |
+
10060
|
| 566 |
+
10061
|
| 567 |
+
10062
|
| 568 |
+
10063
|
| 569 |
+
10067
|
| 570 |
+
10070
|
| 571 |
+
10079
|
| 572 |
+
10081
|
| 573 |
+
10133
|
| 574 |
+
10136
|
| 575 |
+
10160
|
| 576 |
+
10161
|
| 577 |
+
10175
|
| 578 |
+
10176
|
| 579 |
+
10187
|
| 580 |
+
10188
|
| 581 |
+
10189
|
| 582 |
+
10192
|
| 583 |
+
11085
|
| 584 |
+
11088
|
| 585 |
+
11098
|
| 586 |
+
11264
|
| 587 |
+
11311
|
| 588 |
+
11312
|
| 589 |
+
11359
|
| 590 |
+
11360
|
| 591 |
+
11506
|
| 592 |
+
11513
|
| 593 |
+
11558
|
| 594 |
+
11568
|
| 595 |
+
11622
|
| 596 |
+
11631
|
| 597 |
+
11632
|
| 598 |
+
11648
|
| 599 |
+
11671
|
| 600 |
+
11680
|
| 601 |
+
11687
|
| 602 |
+
11688
|
| 603 |
+
11695
|
| 604 |
+
11696
|
| 605 |
+
11703
|
| 606 |
+
11704
|
| 607 |
+
11711
|
| 608 |
+
11712
|
| 609 |
+
11719
|
| 610 |
+
11720
|
| 611 |
+
11727
|
| 612 |
+
11728
|
| 613 |
+
11735
|
| 614 |
+
11736
|
| 615 |
+
11743
|
| 616 |
+
11744
|
| 617 |
+
11826
|
| 618 |
+
11904
|
| 619 |
+
11930
|
| 620 |
+
11931
|
| 621 |
+
12020
|
| 622 |
+
12032
|
| 623 |
+
12246
|
| 624 |
+
12272
|
| 625 |
+
12284
|
| 626 |
+
12288
|
| 627 |
+
12352
|
| 628 |
+
12353
|
| 629 |
+
12439
|
| 630 |
+
12441
|
| 631 |
+
12544
|
| 632 |
+
12549
|
| 633 |
+
12590
|
| 634 |
+
12593
|
| 635 |
+
12687
|
| 636 |
+
12688
|
| 637 |
+
12728
|
| 638 |
+
12736
|
| 639 |
+
12772
|
| 640 |
+
12784
|
| 641 |
+
12831
|
| 642 |
+
12832
|
| 643 |
+
13055
|
| 644 |
+
13056
|
| 645 |
+
19894
|
| 646 |
+
19904
|
| 647 |
+
40908
|
| 648 |
+
40960
|
| 649 |
+
42125
|
| 650 |
+
42128
|
| 651 |
+
42183
|
| 652 |
+
42192
|
| 653 |
+
42540
|
| 654 |
+
42560
|
| 655 |
+
42592
|
| 656 |
+
42594
|
| 657 |
+
42612
|
| 658 |
+
42620
|
| 659 |
+
42648
|
| 660 |
+
42656
|
| 661 |
+
42744
|
| 662 |
+
42752
|
| 663 |
+
42893
|
| 664 |
+
43003
|
| 665 |
+
43052
|
| 666 |
+
43056
|
| 667 |
+
43066
|
| 668 |
+
43072
|
| 669 |
+
43128
|
| 670 |
+
43136
|
| 671 |
+
43205
|
| 672 |
+
43214
|
| 673 |
+
43226
|
| 674 |
+
43232
|
| 675 |
+
43260
|
| 676 |
+
43264
|
| 677 |
+
43348
|
| 678 |
+
43359
|
| 679 |
+
43389
|
| 680 |
+
43392
|
| 681 |
+
43470
|
| 682 |
+
43471
|
| 683 |
+
43482
|
| 684 |
+
43486
|
| 685 |
+
43488
|
| 686 |
+
43520
|
| 687 |
+
43575
|
| 688 |
+
43584
|
| 689 |
+
43598
|
| 690 |
+
43600
|
| 691 |
+
43610
|
| 692 |
+
43612
|
| 693 |
+
43644
|
| 694 |
+
43648
|
| 695 |
+
43715
|
| 696 |
+
43739
|
| 697 |
+
43744
|
| 698 |
+
43968
|
| 699 |
+
44014
|
| 700 |
+
44016
|
| 701 |
+
44026
|
| 702 |
+
44032
|
| 703 |
+
55204
|
| 704 |
+
55216
|
| 705 |
+
55239
|
| 706 |
+
55243
|
| 707 |
+
55292
|
| 708 |
+
55296
|
| 709 |
+
64046
|
| 710 |
+
64048
|
| 711 |
+
64110
|
| 712 |
+
64112
|
| 713 |
+
64218
|
| 714 |
+
64256
|
| 715 |
+
64263
|
| 716 |
+
64275
|
| 717 |
+
64280
|
| 718 |
+
64285
|
| 719 |
+
64311
|
| 720 |
+
64312
|
| 721 |
+
64317
|
| 722 |
+
64318
|
| 723 |
+
64319
|
| 724 |
+
64320
|
| 725 |
+
64322
|
| 726 |
+
64323
|
| 727 |
+
64325
|
| 728 |
+
64326
|
| 729 |
+
64434
|
| 730 |
+
64467
|
| 731 |
+
64832
|
| 732 |
+
64848
|
| 733 |
+
64912
|
| 734 |
+
64914
|
| 735 |
+
64968
|
| 736 |
+
64976
|
| 737 |
+
65022
|
| 738 |
+
65024
|
| 739 |
+
65050
|
| 740 |
+
65056
|
| 741 |
+
65063
|
| 742 |
+
65072
|
| 743 |
+
65107
|
| 744 |
+
65108
|
| 745 |
+
65127
|
| 746 |
+
65128
|
| 747 |
+
65132
|
| 748 |
+
65136
|
| 749 |
+
65141
|
| 750 |
+
65142
|
| 751 |
+
65277
|
| 752 |
+
65279
|
| 753 |
+
65280
|
| 754 |
+
65281
|
| 755 |
+
65471
|
| 756 |
+
65474
|
| 757 |
+
65480
|
| 758 |
+
65482
|
| 759 |
+
65488
|
| 760 |
+
65490
|
| 761 |
+
65496
|
| 762 |
+
65498
|
| 763 |
+
65501
|
| 764 |
+
65504
|
| 765 |
+
65511
|
| 766 |
+
65512
|
| 767 |
+
65519
|
| 768 |
+
65529
|
| 769 |
+
65548
|
| 770 |
+
65549
|
| 771 |
+
65575
|
| 772 |
+
65576
|
| 773 |
+
65595
|
| 774 |
+
65596
|
| 775 |
+
65598
|
| 776 |
+
65599
|
| 777 |
+
65614
|
| 778 |
+
65616
|
| 779 |
+
65630
|
| 780 |
+
65664
|
| 781 |
+
65787
|
| 782 |
+
65792
|
| 783 |
+
65795
|
| 784 |
+
65799
|
| 785 |
+
65844
|
| 786 |
+
65847
|
| 787 |
+
65931
|
| 788 |
+
65936
|
| 789 |
+
65948
|
| 790 |
+
66000
|
| 791 |
+
66046
|
| 792 |
+
66176
|
| 793 |
+
66205
|
| 794 |
+
66208
|
| 795 |
+
66257
|
| 796 |
+
66304
|
| 797 |
+
66335
|
| 798 |
+
66336
|
| 799 |
+
66340
|
| 800 |
+
66352
|
| 801 |
+
66379
|
| 802 |
+
66432
|
| 803 |
+
66462
|
| 804 |
+
66463
|
| 805 |
+
66500
|
| 806 |
+
66504
|
| 807 |
+
66518
|
| 808 |
+
66560
|
| 809 |
+
66718
|
| 810 |
+
66720
|
| 811 |
+
66730
|
| 812 |
+
67584
|
| 813 |
+
67590
|
| 814 |
+
67592
|
| 815 |
+
67593
|
| 816 |
+
67594
|
| 817 |
+
67638
|
| 818 |
+
67639
|
| 819 |
+
67641
|
| 820 |
+
67644
|
| 821 |
+
67645
|
| 822 |
+
67647
|
| 823 |
+
67670
|
| 824 |
+
67671
|
| 825 |
+
67680
|
| 826 |
+
67840
|
| 827 |
+
67868
|
| 828 |
+
67871
|
| 829 |
+
67898
|
| 830 |
+
67903
|
| 831 |
+
67904
|
| 832 |
+
68096
|
| 833 |
+
68100
|
| 834 |
+
68101
|
| 835 |
+
68103
|
| 836 |
+
68108
|
| 837 |
+
68116
|
| 838 |
+
68117
|
| 839 |
+
68120
|
| 840 |
+
68121
|
| 841 |
+
68148
|
| 842 |
+
68152
|
| 843 |
+
68155
|
| 844 |
+
68159
|
| 845 |
+
68168
|
| 846 |
+
68176
|
| 847 |
+
68185
|
| 848 |
+
68192
|
| 849 |
+
68224
|
| 850 |
+
68352
|
| 851 |
+
68406
|
| 852 |
+
68409
|
| 853 |
+
68438
|
| 854 |
+
68440
|
| 855 |
+
68467
|
| 856 |
+
68472
|
| 857 |
+
68480
|
| 858 |
+
68608
|
| 859 |
+
68681
|
| 860 |
+
69216
|
| 861 |
+
69247
|
| 862 |
+
69760
|
| 863 |
+
69826
|
| 864 |
+
73728
|
| 865 |
+
74607
|
| 866 |
+
74752
|
| 867 |
+
74851
|
| 868 |
+
74864
|
| 869 |
+
74868
|
| 870 |
+
77824
|
| 871 |
+
78895
|
| 872 |
+
118784
|
| 873 |
+
119030
|
| 874 |
+
119040
|
| 875 |
+
119079
|
| 876 |
+
119081
|
| 877 |
+
119262
|
| 878 |
+
119296
|
| 879 |
+
119366
|
| 880 |
+
119552
|
| 881 |
+
119639
|
| 882 |
+
119648
|
| 883 |
+
119666
|
| 884 |
+
119808
|
| 885 |
+
119893
|
| 886 |
+
119894
|
| 887 |
+
119965
|
| 888 |
+
119966
|
| 889 |
+
119968
|
| 890 |
+
119970
|
| 891 |
+
119971
|
| 892 |
+
119973
|
| 893 |
+
119975
|
| 894 |
+
119977
|
| 895 |
+
119981
|
| 896 |
+
119982
|
| 897 |
+
119994
|
| 898 |
+
119995
|
| 899 |
+
119996
|
| 900 |
+
119997
|
| 901 |
+
120004
|
| 902 |
+
120005
|
| 903 |
+
120070
|
| 904 |
+
120071
|
| 905 |
+
120075
|
| 906 |
+
120077
|
| 907 |
+
120085
|
| 908 |
+
120086
|
| 909 |
+
120093
|
| 910 |
+
120094
|
| 911 |
+
120122
|
| 912 |
+
120123
|
| 913 |
+
120127
|
| 914 |
+
120128
|
| 915 |
+
120133
|
| 916 |
+
120134
|
| 917 |
+
120135
|
| 918 |
+
120138
|
| 919 |
+
120145
|
| 920 |
+
120146
|
| 921 |
+
120486
|
| 922 |
+
120488
|
| 923 |
+
120780
|
| 924 |
+
120782
|
| 925 |
+
120832
|
| 926 |
+
126976
|
| 927 |
+
127020
|
| 928 |
+
127024
|
| 929 |
+
127124
|
| 930 |
+
127232
|
| 931 |
+
127243
|
| 932 |
+
127248
|
| 933 |
+
127279
|
| 934 |
+
127281
|
| 935 |
+
127282
|
| 936 |
+
127293
|
| 937 |
+
127294
|
| 938 |
+
127295
|
| 939 |
+
127296
|
| 940 |
+
127298
|
| 941 |
+
127299
|
| 942 |
+
127302
|
| 943 |
+
127303
|
| 944 |
+
127306
|
| 945 |
+
127311
|
| 946 |
+
127319
|
| 947 |
+
127320
|
| 948 |
+
127327
|
| 949 |
+
127328
|
| 950 |
+
127353
|
| 951 |
+
127354
|
| 952 |
+
127355
|
| 953 |
+
127357
|
| 954 |
+
127359
|
| 955 |
+
127360
|
| 956 |
+
127370
|
| 957 |
+
127374
|
| 958 |
+
127376
|
| 959 |
+
127377
|
| 960 |
+
127488
|
| 961 |
+
127489
|
| 962 |
+
127504
|
| 963 |
+
127538
|
| 964 |
+
127552
|
| 965 |
+
127561
|
| 966 |
+
131070
|
| 967 |
+
173783
|
| 968 |
+
173824
|
| 969 |
+
177973
|
| 970 |
+
194560
|
| 971 |
+
195102
|
| 972 |
+
196606
|
| 973 |
+
196608
|
| 974 |
+
262142
|
| 975 |
+
262144
|
| 976 |
+
327678
|
| 977 |
+
327680
|
| 978 |
+
393214
|
| 979 |
+
393216
|
| 980 |
+
458750
|
| 981 |
+
458752
|
| 982 |
+
524286
|
| 983 |
+
524288
|
| 984 |
+
589822
|
| 985 |
+
589824
|
| 986 |
+
655358
|
| 987 |
+
655360
|
| 988 |
+
720894
|
| 989 |
+
720896
|
| 990 |
+
786430
|
| 991 |
+
786432
|
| 992 |
+
851966
|
| 993 |
+
851968
|
| 994 |
+
917502
|
| 995 |
+
917504
|
| 996 |
+
917505
|
| 997 |
+
917506
|
| 998 |
+
917536
|
| 999 |
+
917632
|
| 1000 |
+
917760
|
| 1001 |
+
918000
|
| 1002 |
+
983038
|
| 1003 |
+
1114112
|
| 1004 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/6_2.pl
ADDED
|
@@ -0,0 +1,1112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V1098
|
| 14 |
+
0
|
| 15 |
+
888
|
| 16 |
+
890
|
| 17 |
+
895
|
| 18 |
+
900
|
| 19 |
+
907
|
| 20 |
+
908
|
| 21 |
+
909
|
| 22 |
+
910
|
| 23 |
+
930
|
| 24 |
+
931
|
| 25 |
+
1320
|
| 26 |
+
1329
|
| 27 |
+
1367
|
| 28 |
+
1369
|
| 29 |
+
1376
|
| 30 |
+
1377
|
| 31 |
+
1416
|
| 32 |
+
1417
|
| 33 |
+
1419
|
| 34 |
+
1423
|
| 35 |
+
1424
|
| 36 |
+
1425
|
| 37 |
+
1480
|
| 38 |
+
1488
|
| 39 |
+
1515
|
| 40 |
+
1520
|
| 41 |
+
1525
|
| 42 |
+
1536
|
| 43 |
+
1541
|
| 44 |
+
1542
|
| 45 |
+
1564
|
| 46 |
+
1566
|
| 47 |
+
1806
|
| 48 |
+
1807
|
| 49 |
+
1867
|
| 50 |
+
1869
|
| 51 |
+
1970
|
| 52 |
+
1984
|
| 53 |
+
2043
|
| 54 |
+
2048
|
| 55 |
+
2094
|
| 56 |
+
2096
|
| 57 |
+
2111
|
| 58 |
+
2112
|
| 59 |
+
2140
|
| 60 |
+
2142
|
| 61 |
+
2143
|
| 62 |
+
2208
|
| 63 |
+
2209
|
| 64 |
+
2210
|
| 65 |
+
2221
|
| 66 |
+
2276
|
| 67 |
+
2303
|
| 68 |
+
2304
|
| 69 |
+
2424
|
| 70 |
+
2425
|
| 71 |
+
2432
|
| 72 |
+
2433
|
| 73 |
+
2436
|
| 74 |
+
2437
|
| 75 |
+
2445
|
| 76 |
+
2447
|
| 77 |
+
2449
|
| 78 |
+
2451
|
| 79 |
+
2473
|
| 80 |
+
2474
|
| 81 |
+
2481
|
| 82 |
+
2482
|
| 83 |
+
2483
|
| 84 |
+
2486
|
| 85 |
+
2490
|
| 86 |
+
2492
|
| 87 |
+
2501
|
| 88 |
+
2503
|
| 89 |
+
2505
|
| 90 |
+
2507
|
| 91 |
+
2511
|
| 92 |
+
2519
|
| 93 |
+
2520
|
| 94 |
+
2524
|
| 95 |
+
2526
|
| 96 |
+
2527
|
| 97 |
+
2532
|
| 98 |
+
2534
|
| 99 |
+
2556
|
| 100 |
+
2561
|
| 101 |
+
2564
|
| 102 |
+
2565
|
| 103 |
+
2571
|
| 104 |
+
2575
|
| 105 |
+
2577
|
| 106 |
+
2579
|
| 107 |
+
2601
|
| 108 |
+
2602
|
| 109 |
+
2609
|
| 110 |
+
2610
|
| 111 |
+
2612
|
| 112 |
+
2613
|
| 113 |
+
2615
|
| 114 |
+
2616
|
| 115 |
+
2618
|
| 116 |
+
2620
|
| 117 |
+
2621
|
| 118 |
+
2622
|
| 119 |
+
2627
|
| 120 |
+
2631
|
| 121 |
+
2633
|
| 122 |
+
2635
|
| 123 |
+
2638
|
| 124 |
+
2641
|
| 125 |
+
2642
|
| 126 |
+
2649
|
| 127 |
+
2653
|
| 128 |
+
2654
|
| 129 |
+
2655
|
| 130 |
+
2662
|
| 131 |
+
2678
|
| 132 |
+
2689
|
| 133 |
+
2692
|
| 134 |
+
2693
|
| 135 |
+
2702
|
| 136 |
+
2703
|
| 137 |
+
2706
|
| 138 |
+
2707
|
| 139 |
+
2729
|
| 140 |
+
2730
|
| 141 |
+
2737
|
| 142 |
+
2738
|
| 143 |
+
2740
|
| 144 |
+
2741
|
| 145 |
+
2746
|
| 146 |
+
2748
|
| 147 |
+
2758
|
| 148 |
+
2759
|
| 149 |
+
2762
|
| 150 |
+
2763
|
| 151 |
+
2766
|
| 152 |
+
2768
|
| 153 |
+
2769
|
| 154 |
+
2784
|
| 155 |
+
2788
|
| 156 |
+
2790
|
| 157 |
+
2802
|
| 158 |
+
2817
|
| 159 |
+
2820
|
| 160 |
+
2821
|
| 161 |
+
2829
|
| 162 |
+
2831
|
| 163 |
+
2833
|
| 164 |
+
2835
|
| 165 |
+
2857
|
| 166 |
+
2858
|
| 167 |
+
2865
|
| 168 |
+
2866
|
| 169 |
+
2868
|
| 170 |
+
2869
|
| 171 |
+
2874
|
| 172 |
+
2876
|
| 173 |
+
2885
|
| 174 |
+
2887
|
| 175 |
+
2889
|
| 176 |
+
2891
|
| 177 |
+
2894
|
| 178 |
+
2902
|
| 179 |
+
2904
|
| 180 |
+
2908
|
| 181 |
+
2910
|
| 182 |
+
2911
|
| 183 |
+
2916
|
| 184 |
+
2918
|
| 185 |
+
2936
|
| 186 |
+
2946
|
| 187 |
+
2948
|
| 188 |
+
2949
|
| 189 |
+
2955
|
| 190 |
+
2958
|
| 191 |
+
2961
|
| 192 |
+
2962
|
| 193 |
+
2966
|
| 194 |
+
2969
|
| 195 |
+
2971
|
| 196 |
+
2972
|
| 197 |
+
2973
|
| 198 |
+
2974
|
| 199 |
+
2976
|
| 200 |
+
2979
|
| 201 |
+
2981
|
| 202 |
+
2984
|
| 203 |
+
2987
|
| 204 |
+
2990
|
| 205 |
+
3002
|
| 206 |
+
3006
|
| 207 |
+
3011
|
| 208 |
+
3014
|
| 209 |
+
3017
|
| 210 |
+
3018
|
| 211 |
+
3022
|
| 212 |
+
3024
|
| 213 |
+
3025
|
| 214 |
+
3031
|
| 215 |
+
3032
|
| 216 |
+
3046
|
| 217 |
+
3067
|
| 218 |
+
3073
|
| 219 |
+
3076
|
| 220 |
+
3077
|
| 221 |
+
3085
|
| 222 |
+
3086
|
| 223 |
+
3089
|
| 224 |
+
3090
|
| 225 |
+
3113
|
| 226 |
+
3114
|
| 227 |
+
3124
|
| 228 |
+
3125
|
| 229 |
+
3130
|
| 230 |
+
3133
|
| 231 |
+
3141
|
| 232 |
+
3142
|
| 233 |
+
3145
|
| 234 |
+
3146
|
| 235 |
+
3150
|
| 236 |
+
3157
|
| 237 |
+
3159
|
| 238 |
+
3160
|
| 239 |
+
3162
|
| 240 |
+
3168
|
| 241 |
+
3172
|
| 242 |
+
3174
|
| 243 |
+
3184
|
| 244 |
+
3192
|
| 245 |
+
3200
|
| 246 |
+
3202
|
| 247 |
+
3204
|
| 248 |
+
3205
|
| 249 |
+
3213
|
| 250 |
+
3214
|
| 251 |
+
3217
|
| 252 |
+
3218
|
| 253 |
+
3241
|
| 254 |
+
3242
|
| 255 |
+
3252
|
| 256 |
+
3253
|
| 257 |
+
3258
|
| 258 |
+
3260
|
| 259 |
+
3269
|
| 260 |
+
3270
|
| 261 |
+
3273
|
| 262 |
+
3274
|
| 263 |
+
3278
|
| 264 |
+
3285
|
| 265 |
+
3287
|
| 266 |
+
3294
|
| 267 |
+
3295
|
| 268 |
+
3296
|
| 269 |
+
3300
|
| 270 |
+
3302
|
| 271 |
+
3312
|
| 272 |
+
3313
|
| 273 |
+
3315
|
| 274 |
+
3330
|
| 275 |
+
3332
|
| 276 |
+
3333
|
| 277 |
+
3341
|
| 278 |
+
3342
|
| 279 |
+
3345
|
| 280 |
+
3346
|
| 281 |
+
3387
|
| 282 |
+
3389
|
| 283 |
+
3397
|
| 284 |
+
3398
|
| 285 |
+
3401
|
| 286 |
+
3402
|
| 287 |
+
3407
|
| 288 |
+
3415
|
| 289 |
+
3416
|
| 290 |
+
3424
|
| 291 |
+
3428
|
| 292 |
+
3430
|
| 293 |
+
3446
|
| 294 |
+
3449
|
| 295 |
+
3456
|
| 296 |
+
3458
|
| 297 |
+
3460
|
| 298 |
+
3461
|
| 299 |
+
3479
|
| 300 |
+
3482
|
| 301 |
+
3506
|
| 302 |
+
3507
|
| 303 |
+
3516
|
| 304 |
+
3517
|
| 305 |
+
3518
|
| 306 |
+
3520
|
| 307 |
+
3527
|
| 308 |
+
3530
|
| 309 |
+
3531
|
| 310 |
+
3535
|
| 311 |
+
3541
|
| 312 |
+
3542
|
| 313 |
+
3543
|
| 314 |
+
3544
|
| 315 |
+
3552
|
| 316 |
+
3570
|
| 317 |
+
3573
|
| 318 |
+
3585
|
| 319 |
+
3643
|
| 320 |
+
3647
|
| 321 |
+
3676
|
| 322 |
+
3713
|
| 323 |
+
3715
|
| 324 |
+
3716
|
| 325 |
+
3717
|
| 326 |
+
3719
|
| 327 |
+
3721
|
| 328 |
+
3722
|
| 329 |
+
3723
|
| 330 |
+
3725
|
| 331 |
+
3726
|
| 332 |
+
3732
|
| 333 |
+
3736
|
| 334 |
+
3737
|
| 335 |
+
3744
|
| 336 |
+
3745
|
| 337 |
+
3748
|
| 338 |
+
3749
|
| 339 |
+
3750
|
| 340 |
+
3751
|
| 341 |
+
3752
|
| 342 |
+
3754
|
| 343 |
+
3756
|
| 344 |
+
3757
|
| 345 |
+
3770
|
| 346 |
+
3771
|
| 347 |
+
3774
|
| 348 |
+
3776
|
| 349 |
+
3781
|
| 350 |
+
3782
|
| 351 |
+
3783
|
| 352 |
+
3784
|
| 353 |
+
3790
|
| 354 |
+
3792
|
| 355 |
+
3802
|
| 356 |
+
3804
|
| 357 |
+
3808
|
| 358 |
+
3840
|
| 359 |
+
3912
|
| 360 |
+
3913
|
| 361 |
+
3949
|
| 362 |
+
3953
|
| 363 |
+
3992
|
| 364 |
+
3993
|
| 365 |
+
4029
|
| 366 |
+
4030
|
| 367 |
+
4045
|
| 368 |
+
4046
|
| 369 |
+
4059
|
| 370 |
+
4096
|
| 371 |
+
4294
|
| 372 |
+
4295
|
| 373 |
+
4296
|
| 374 |
+
4301
|
| 375 |
+
4302
|
| 376 |
+
4304
|
| 377 |
+
4681
|
| 378 |
+
4682
|
| 379 |
+
4686
|
| 380 |
+
4688
|
| 381 |
+
4695
|
| 382 |
+
4696
|
| 383 |
+
4697
|
| 384 |
+
4698
|
| 385 |
+
4702
|
| 386 |
+
4704
|
| 387 |
+
4745
|
| 388 |
+
4746
|
| 389 |
+
4750
|
| 390 |
+
4752
|
| 391 |
+
4785
|
| 392 |
+
4786
|
| 393 |
+
4790
|
| 394 |
+
4792
|
| 395 |
+
4799
|
| 396 |
+
4800
|
| 397 |
+
4801
|
| 398 |
+
4802
|
| 399 |
+
4806
|
| 400 |
+
4808
|
| 401 |
+
4823
|
| 402 |
+
4824
|
| 403 |
+
4881
|
| 404 |
+
4882
|
| 405 |
+
4886
|
| 406 |
+
4888
|
| 407 |
+
4955
|
| 408 |
+
4957
|
| 409 |
+
4989
|
| 410 |
+
4992
|
| 411 |
+
5018
|
| 412 |
+
5024
|
| 413 |
+
5109
|
| 414 |
+
5120
|
| 415 |
+
5789
|
| 416 |
+
5792
|
| 417 |
+
5873
|
| 418 |
+
5888
|
| 419 |
+
5901
|
| 420 |
+
5902
|
| 421 |
+
5909
|
| 422 |
+
5920
|
| 423 |
+
5943
|
| 424 |
+
5952
|
| 425 |
+
5972
|
| 426 |
+
5984
|
| 427 |
+
5997
|
| 428 |
+
5998
|
| 429 |
+
6001
|
| 430 |
+
6002
|
| 431 |
+
6004
|
| 432 |
+
6016
|
| 433 |
+
6110
|
| 434 |
+
6112
|
| 435 |
+
6122
|
| 436 |
+
6128
|
| 437 |
+
6138
|
| 438 |
+
6144
|
| 439 |
+
6159
|
| 440 |
+
6160
|
| 441 |
+
6170
|
| 442 |
+
6176
|
| 443 |
+
6264
|
| 444 |
+
6272
|
| 445 |
+
6315
|
| 446 |
+
6320
|
| 447 |
+
6390
|
| 448 |
+
6400
|
| 449 |
+
6429
|
| 450 |
+
6432
|
| 451 |
+
6444
|
| 452 |
+
6448
|
| 453 |
+
6460
|
| 454 |
+
6464
|
| 455 |
+
6465
|
| 456 |
+
6468
|
| 457 |
+
6510
|
| 458 |
+
6512
|
| 459 |
+
6517
|
| 460 |
+
6528
|
| 461 |
+
6572
|
| 462 |
+
6576
|
| 463 |
+
6602
|
| 464 |
+
6608
|
| 465 |
+
6619
|
| 466 |
+
6622
|
| 467 |
+
6684
|
| 468 |
+
6686
|
| 469 |
+
6751
|
| 470 |
+
6752
|
| 471 |
+
6781
|
| 472 |
+
6783
|
| 473 |
+
6794
|
| 474 |
+
6800
|
| 475 |
+
6810
|
| 476 |
+
6816
|
| 477 |
+
6830
|
| 478 |
+
6912
|
| 479 |
+
6988
|
| 480 |
+
6992
|
| 481 |
+
7037
|
| 482 |
+
7040
|
| 483 |
+
7156
|
| 484 |
+
7164
|
| 485 |
+
7224
|
| 486 |
+
7227
|
| 487 |
+
7242
|
| 488 |
+
7245
|
| 489 |
+
7296
|
| 490 |
+
7360
|
| 491 |
+
7368
|
| 492 |
+
7376
|
| 493 |
+
7415
|
| 494 |
+
7424
|
| 495 |
+
7655
|
| 496 |
+
7676
|
| 497 |
+
7958
|
| 498 |
+
7960
|
| 499 |
+
7966
|
| 500 |
+
7968
|
| 501 |
+
8006
|
| 502 |
+
8008
|
| 503 |
+
8014
|
| 504 |
+
8016
|
| 505 |
+
8024
|
| 506 |
+
8025
|
| 507 |
+
8026
|
| 508 |
+
8027
|
| 509 |
+
8028
|
| 510 |
+
8029
|
| 511 |
+
8030
|
| 512 |
+
8031
|
| 513 |
+
8062
|
| 514 |
+
8064
|
| 515 |
+
8117
|
| 516 |
+
8118
|
| 517 |
+
8133
|
| 518 |
+
8134
|
| 519 |
+
8148
|
| 520 |
+
8150
|
| 521 |
+
8156
|
| 522 |
+
8157
|
| 523 |
+
8176
|
| 524 |
+
8178
|
| 525 |
+
8181
|
| 526 |
+
8182
|
| 527 |
+
8191
|
| 528 |
+
8192
|
| 529 |
+
8293
|
| 530 |
+
8298
|
| 531 |
+
8306
|
| 532 |
+
8308
|
| 533 |
+
8335
|
| 534 |
+
8336
|
| 535 |
+
8349
|
| 536 |
+
8352
|
| 537 |
+
8379
|
| 538 |
+
8400
|
| 539 |
+
8433
|
| 540 |
+
8448
|
| 541 |
+
8586
|
| 542 |
+
8592
|
| 543 |
+
9204
|
| 544 |
+
9216
|
| 545 |
+
9255
|
| 546 |
+
9280
|
| 547 |
+
9291
|
| 548 |
+
9312
|
| 549 |
+
9984
|
| 550 |
+
9985
|
| 551 |
+
11085
|
| 552 |
+
11088
|
| 553 |
+
11098
|
| 554 |
+
11264
|
| 555 |
+
11311
|
| 556 |
+
11312
|
| 557 |
+
11359
|
| 558 |
+
11360
|
| 559 |
+
11508
|
| 560 |
+
11513
|
| 561 |
+
11558
|
| 562 |
+
11559
|
| 563 |
+
11560
|
| 564 |
+
11565
|
| 565 |
+
11566
|
| 566 |
+
11568
|
| 567 |
+
11624
|
| 568 |
+
11631
|
| 569 |
+
11633
|
| 570 |
+
11647
|
| 571 |
+
11671
|
| 572 |
+
11680
|
| 573 |
+
11687
|
| 574 |
+
11688
|
| 575 |
+
11695
|
| 576 |
+
11696
|
| 577 |
+
11703
|
| 578 |
+
11704
|
| 579 |
+
11711
|
| 580 |
+
11712
|
| 581 |
+
11719
|
| 582 |
+
11720
|
| 583 |
+
11727
|
| 584 |
+
11728
|
| 585 |
+
11735
|
| 586 |
+
11736
|
| 587 |
+
11743
|
| 588 |
+
11744
|
| 589 |
+
11836
|
| 590 |
+
11904
|
| 591 |
+
11930
|
| 592 |
+
11931
|
| 593 |
+
12020
|
| 594 |
+
12032
|
| 595 |
+
12246
|
| 596 |
+
12272
|
| 597 |
+
12284
|
| 598 |
+
12288
|
| 599 |
+
12352
|
| 600 |
+
12353
|
| 601 |
+
12439
|
| 602 |
+
12441
|
| 603 |
+
12544
|
| 604 |
+
12549
|
| 605 |
+
12590
|
| 606 |
+
12593
|
| 607 |
+
12687
|
| 608 |
+
12688
|
| 609 |
+
12731
|
| 610 |
+
12736
|
| 611 |
+
12772
|
| 612 |
+
12784
|
| 613 |
+
12831
|
| 614 |
+
12832
|
| 615 |
+
13055
|
| 616 |
+
13056
|
| 617 |
+
19894
|
| 618 |
+
19904
|
| 619 |
+
40909
|
| 620 |
+
40960
|
| 621 |
+
42125
|
| 622 |
+
42128
|
| 623 |
+
42183
|
| 624 |
+
42192
|
| 625 |
+
42540
|
| 626 |
+
42560
|
| 627 |
+
42648
|
| 628 |
+
42655
|
| 629 |
+
42744
|
| 630 |
+
42752
|
| 631 |
+
42895
|
| 632 |
+
42896
|
| 633 |
+
42900
|
| 634 |
+
42912
|
| 635 |
+
42923
|
| 636 |
+
43000
|
| 637 |
+
43052
|
| 638 |
+
43056
|
| 639 |
+
43066
|
| 640 |
+
43072
|
| 641 |
+
43128
|
| 642 |
+
43136
|
| 643 |
+
43205
|
| 644 |
+
43214
|
| 645 |
+
43226
|
| 646 |
+
43232
|
| 647 |
+
43260
|
| 648 |
+
43264
|
| 649 |
+
43348
|
| 650 |
+
43359
|
| 651 |
+
43389
|
| 652 |
+
43392
|
| 653 |
+
43470
|
| 654 |
+
43471
|
| 655 |
+
43482
|
| 656 |
+
43486
|
| 657 |
+
43488
|
| 658 |
+
43520
|
| 659 |
+
43575
|
| 660 |
+
43584
|
| 661 |
+
43598
|
| 662 |
+
43600
|
| 663 |
+
43610
|
| 664 |
+
43612
|
| 665 |
+
43644
|
| 666 |
+
43648
|
| 667 |
+
43715
|
| 668 |
+
43739
|
| 669 |
+
43767
|
| 670 |
+
43777
|
| 671 |
+
43783
|
| 672 |
+
43785
|
| 673 |
+
43791
|
| 674 |
+
43793
|
| 675 |
+
43799
|
| 676 |
+
43808
|
| 677 |
+
43815
|
| 678 |
+
43816
|
| 679 |
+
43823
|
| 680 |
+
43968
|
| 681 |
+
44014
|
| 682 |
+
44016
|
| 683 |
+
44026
|
| 684 |
+
44032
|
| 685 |
+
55204
|
| 686 |
+
55216
|
| 687 |
+
55239
|
| 688 |
+
55243
|
| 689 |
+
55292
|
| 690 |
+
55296
|
| 691 |
+
64110
|
| 692 |
+
64112
|
| 693 |
+
64218
|
| 694 |
+
64256
|
| 695 |
+
64263
|
| 696 |
+
64275
|
| 697 |
+
64280
|
| 698 |
+
64285
|
| 699 |
+
64311
|
| 700 |
+
64312
|
| 701 |
+
64317
|
| 702 |
+
64318
|
| 703 |
+
64319
|
| 704 |
+
64320
|
| 705 |
+
64322
|
| 706 |
+
64323
|
| 707 |
+
64325
|
| 708 |
+
64326
|
| 709 |
+
64450
|
| 710 |
+
64467
|
| 711 |
+
64832
|
| 712 |
+
64848
|
| 713 |
+
64912
|
| 714 |
+
64914
|
| 715 |
+
64968
|
| 716 |
+
64976
|
| 717 |
+
65022
|
| 718 |
+
65024
|
| 719 |
+
65050
|
| 720 |
+
65056
|
| 721 |
+
65063
|
| 722 |
+
65072
|
| 723 |
+
65107
|
| 724 |
+
65108
|
| 725 |
+
65127
|
| 726 |
+
65128
|
| 727 |
+
65132
|
| 728 |
+
65136
|
| 729 |
+
65141
|
| 730 |
+
65142
|
| 731 |
+
65277
|
| 732 |
+
65279
|
| 733 |
+
65280
|
| 734 |
+
65281
|
| 735 |
+
65471
|
| 736 |
+
65474
|
| 737 |
+
65480
|
| 738 |
+
65482
|
| 739 |
+
65488
|
| 740 |
+
65490
|
| 741 |
+
65496
|
| 742 |
+
65498
|
| 743 |
+
65501
|
| 744 |
+
65504
|
| 745 |
+
65511
|
| 746 |
+
65512
|
| 747 |
+
65519
|
| 748 |
+
65529
|
| 749 |
+
65548
|
| 750 |
+
65549
|
| 751 |
+
65575
|
| 752 |
+
65576
|
| 753 |
+
65595
|
| 754 |
+
65596
|
| 755 |
+
65598
|
| 756 |
+
65599
|
| 757 |
+
65614
|
| 758 |
+
65616
|
| 759 |
+
65630
|
| 760 |
+
65664
|
| 761 |
+
65787
|
| 762 |
+
65792
|
| 763 |
+
65795
|
| 764 |
+
65799
|
| 765 |
+
65844
|
| 766 |
+
65847
|
| 767 |
+
65931
|
| 768 |
+
65936
|
| 769 |
+
65948
|
| 770 |
+
66000
|
| 771 |
+
66046
|
| 772 |
+
66176
|
| 773 |
+
66205
|
| 774 |
+
66208
|
| 775 |
+
66257
|
| 776 |
+
66304
|
| 777 |
+
66335
|
| 778 |
+
66336
|
| 779 |
+
66340
|
| 780 |
+
66352
|
| 781 |
+
66379
|
| 782 |
+
66432
|
| 783 |
+
66462
|
| 784 |
+
66463
|
| 785 |
+
66500
|
| 786 |
+
66504
|
| 787 |
+
66518
|
| 788 |
+
66560
|
| 789 |
+
66718
|
| 790 |
+
66720
|
| 791 |
+
66730
|
| 792 |
+
67584
|
| 793 |
+
67590
|
| 794 |
+
67592
|
| 795 |
+
67593
|
| 796 |
+
67594
|
| 797 |
+
67638
|
| 798 |
+
67639
|
| 799 |
+
67641
|
| 800 |
+
67644
|
| 801 |
+
67645
|
| 802 |
+
67647
|
| 803 |
+
67670
|
| 804 |
+
67671
|
| 805 |
+
67680
|
| 806 |
+
67840
|
| 807 |
+
67868
|
| 808 |
+
67871
|
| 809 |
+
67898
|
| 810 |
+
67903
|
| 811 |
+
67904
|
| 812 |
+
67968
|
| 813 |
+
68024
|
| 814 |
+
68030
|
| 815 |
+
68032
|
| 816 |
+
68096
|
| 817 |
+
68100
|
| 818 |
+
68101
|
| 819 |
+
68103
|
| 820 |
+
68108
|
| 821 |
+
68116
|
| 822 |
+
68117
|
| 823 |
+
68120
|
| 824 |
+
68121
|
| 825 |
+
68148
|
| 826 |
+
68152
|
| 827 |
+
68155
|
| 828 |
+
68159
|
| 829 |
+
68168
|
| 830 |
+
68176
|
| 831 |
+
68185
|
| 832 |
+
68192
|
| 833 |
+
68224
|
| 834 |
+
68352
|
| 835 |
+
68406
|
| 836 |
+
68409
|
| 837 |
+
68438
|
| 838 |
+
68440
|
| 839 |
+
68467
|
| 840 |
+
68472
|
| 841 |
+
68480
|
| 842 |
+
68608
|
| 843 |
+
68681
|
| 844 |
+
69216
|
| 845 |
+
69247
|
| 846 |
+
69632
|
| 847 |
+
69710
|
| 848 |
+
69714
|
| 849 |
+
69744
|
| 850 |
+
69760
|
| 851 |
+
69826
|
| 852 |
+
69840
|
| 853 |
+
69865
|
| 854 |
+
69872
|
| 855 |
+
69882
|
| 856 |
+
69888
|
| 857 |
+
69941
|
| 858 |
+
69942
|
| 859 |
+
69956
|
| 860 |
+
70016
|
| 861 |
+
70089
|
| 862 |
+
70096
|
| 863 |
+
70106
|
| 864 |
+
71296
|
| 865 |
+
71352
|
| 866 |
+
71360
|
| 867 |
+
71370
|
| 868 |
+
73728
|
| 869 |
+
74607
|
| 870 |
+
74752
|
| 871 |
+
74851
|
| 872 |
+
74864
|
| 873 |
+
74868
|
| 874 |
+
77824
|
| 875 |
+
78895
|
| 876 |
+
92160
|
| 877 |
+
92729
|
| 878 |
+
93952
|
| 879 |
+
94021
|
| 880 |
+
94032
|
| 881 |
+
94079
|
| 882 |
+
94095
|
| 883 |
+
94112
|
| 884 |
+
110592
|
| 885 |
+
110594
|
| 886 |
+
118784
|
| 887 |
+
119030
|
| 888 |
+
119040
|
| 889 |
+
119079
|
| 890 |
+
119081
|
| 891 |
+
119262
|
| 892 |
+
119296
|
| 893 |
+
119366
|
| 894 |
+
119552
|
| 895 |
+
119639
|
| 896 |
+
119648
|
| 897 |
+
119666
|
| 898 |
+
119808
|
| 899 |
+
119893
|
| 900 |
+
119894
|
| 901 |
+
119965
|
| 902 |
+
119966
|
| 903 |
+
119968
|
| 904 |
+
119970
|
| 905 |
+
119971
|
| 906 |
+
119973
|
| 907 |
+
119975
|
| 908 |
+
119977
|
| 909 |
+
119981
|
| 910 |
+
119982
|
| 911 |
+
119994
|
| 912 |
+
119995
|
| 913 |
+
119996
|
| 914 |
+
119997
|
| 915 |
+
120004
|
| 916 |
+
120005
|
| 917 |
+
120070
|
| 918 |
+
120071
|
| 919 |
+
120075
|
| 920 |
+
120077
|
| 921 |
+
120085
|
| 922 |
+
120086
|
| 923 |
+
120093
|
| 924 |
+
120094
|
| 925 |
+
120122
|
| 926 |
+
120123
|
| 927 |
+
120127
|
| 928 |
+
120128
|
| 929 |
+
120133
|
| 930 |
+
120134
|
| 931 |
+
120135
|
| 932 |
+
120138
|
| 933 |
+
120145
|
| 934 |
+
120146
|
| 935 |
+
120486
|
| 936 |
+
120488
|
| 937 |
+
120780
|
| 938 |
+
120782
|
| 939 |
+
120832
|
| 940 |
+
126464
|
| 941 |
+
126468
|
| 942 |
+
126469
|
| 943 |
+
126496
|
| 944 |
+
126497
|
| 945 |
+
126499
|
| 946 |
+
126500
|
| 947 |
+
126501
|
| 948 |
+
126503
|
| 949 |
+
126504
|
| 950 |
+
126505
|
| 951 |
+
126515
|
| 952 |
+
126516
|
| 953 |
+
126520
|
| 954 |
+
126521
|
| 955 |
+
126522
|
| 956 |
+
126523
|
| 957 |
+
126524
|
| 958 |
+
126530
|
| 959 |
+
126531
|
| 960 |
+
126535
|
| 961 |
+
126536
|
| 962 |
+
126537
|
| 963 |
+
126538
|
| 964 |
+
126539
|
| 965 |
+
126540
|
| 966 |
+
126541
|
| 967 |
+
126544
|
| 968 |
+
126545
|
| 969 |
+
126547
|
| 970 |
+
126548
|
| 971 |
+
126549
|
| 972 |
+
126551
|
| 973 |
+
126552
|
| 974 |
+
126553
|
| 975 |
+
126554
|
| 976 |
+
126555
|
| 977 |
+
126556
|
| 978 |
+
126557
|
| 979 |
+
126558
|
| 980 |
+
126559
|
| 981 |
+
126560
|
| 982 |
+
126561
|
| 983 |
+
126563
|
| 984 |
+
126564
|
| 985 |
+
126565
|
| 986 |
+
126567
|
| 987 |
+
126571
|
| 988 |
+
126572
|
| 989 |
+
126579
|
| 990 |
+
126580
|
| 991 |
+
126584
|
| 992 |
+
126585
|
| 993 |
+
126589
|
| 994 |
+
126590
|
| 995 |
+
126591
|
| 996 |
+
126592
|
| 997 |
+
126602
|
| 998 |
+
126603
|
| 999 |
+
126620
|
| 1000 |
+
126625
|
| 1001 |
+
126628
|
| 1002 |
+
126629
|
| 1003 |
+
126634
|
| 1004 |
+
126635
|
| 1005 |
+
126652
|
| 1006 |
+
126704
|
| 1007 |
+
126706
|
| 1008 |
+
126976
|
| 1009 |
+
127020
|
| 1010 |
+
127024
|
| 1011 |
+
127124
|
| 1012 |
+
127136
|
| 1013 |
+
127151
|
| 1014 |
+
127153
|
| 1015 |
+
127167
|
| 1016 |
+
127169
|
| 1017 |
+
127184
|
| 1018 |
+
127185
|
| 1019 |
+
127200
|
| 1020 |
+
127232
|
| 1021 |
+
127243
|
| 1022 |
+
127248
|
| 1023 |
+
127279
|
| 1024 |
+
127280
|
| 1025 |
+
127340
|
| 1026 |
+
127344
|
| 1027 |
+
127387
|
| 1028 |
+
127462
|
| 1029 |
+
127491
|
| 1030 |
+
127504
|
| 1031 |
+
127547
|
| 1032 |
+
127552
|
| 1033 |
+
127561
|
| 1034 |
+
127568
|
| 1035 |
+
127570
|
| 1036 |
+
127744
|
| 1037 |
+
127777
|
| 1038 |
+
127792
|
| 1039 |
+
127798
|
| 1040 |
+
127799
|
| 1041 |
+
127869
|
| 1042 |
+
127872
|
| 1043 |
+
127892
|
| 1044 |
+
127904
|
| 1045 |
+
127941
|
| 1046 |
+
127942
|
| 1047 |
+
127947
|
| 1048 |
+
127968
|
| 1049 |
+
127985
|
| 1050 |
+
128000
|
| 1051 |
+
128063
|
| 1052 |
+
128064
|
| 1053 |
+
128065
|
| 1054 |
+
128066
|
| 1055 |
+
128248
|
| 1056 |
+
128249
|
| 1057 |
+
128253
|
| 1058 |
+
128256
|
| 1059 |
+
128318
|
| 1060 |
+
128320
|
| 1061 |
+
128324
|
| 1062 |
+
128336
|
| 1063 |
+
128360
|
| 1064 |
+
128507
|
| 1065 |
+
128577
|
| 1066 |
+
128581
|
| 1067 |
+
128592
|
| 1068 |
+
128640
|
| 1069 |
+
128710
|
| 1070 |
+
128768
|
| 1071 |
+
128884
|
| 1072 |
+
131070
|
| 1073 |
+
173783
|
| 1074 |
+
173824
|
| 1075 |
+
177973
|
| 1076 |
+
177984
|
| 1077 |
+
178206
|
| 1078 |
+
194560
|
| 1079 |
+
195102
|
| 1080 |
+
196606
|
| 1081 |
+
196608
|
| 1082 |
+
262142
|
| 1083 |
+
262144
|
| 1084 |
+
327678
|
| 1085 |
+
327680
|
| 1086 |
+
393214
|
| 1087 |
+
393216
|
| 1088 |
+
458750
|
| 1089 |
+
458752
|
| 1090 |
+
524286
|
| 1091 |
+
524288
|
| 1092 |
+
589822
|
| 1093 |
+
589824
|
| 1094 |
+
655358
|
| 1095 |
+
655360
|
| 1096 |
+
720894
|
| 1097 |
+
720896
|
| 1098 |
+
786430
|
| 1099 |
+
786432
|
| 1100 |
+
851966
|
| 1101 |
+
851968
|
| 1102 |
+
917502
|
| 1103 |
+
917504
|
| 1104 |
+
917505
|
| 1105 |
+
917506
|
| 1106 |
+
917536
|
| 1107 |
+
917632
|
| 1108 |
+
917760
|
| 1109 |
+
918000
|
| 1110 |
+
983038
|
| 1111 |
+
1114112
|
| 1112 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/6_3.pl
ADDED
|
@@ -0,0 +1,1112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V1098
|
| 14 |
+
0
|
| 15 |
+
888
|
| 16 |
+
890
|
| 17 |
+
895
|
| 18 |
+
900
|
| 19 |
+
907
|
| 20 |
+
908
|
| 21 |
+
909
|
| 22 |
+
910
|
| 23 |
+
930
|
| 24 |
+
931
|
| 25 |
+
1320
|
| 26 |
+
1329
|
| 27 |
+
1367
|
| 28 |
+
1369
|
| 29 |
+
1376
|
| 30 |
+
1377
|
| 31 |
+
1416
|
| 32 |
+
1417
|
| 33 |
+
1419
|
| 34 |
+
1423
|
| 35 |
+
1424
|
| 36 |
+
1425
|
| 37 |
+
1480
|
| 38 |
+
1488
|
| 39 |
+
1515
|
| 40 |
+
1520
|
| 41 |
+
1525
|
| 42 |
+
1536
|
| 43 |
+
1541
|
| 44 |
+
1542
|
| 45 |
+
1565
|
| 46 |
+
1566
|
| 47 |
+
1806
|
| 48 |
+
1807
|
| 49 |
+
1867
|
| 50 |
+
1869
|
| 51 |
+
1970
|
| 52 |
+
1984
|
| 53 |
+
2043
|
| 54 |
+
2048
|
| 55 |
+
2094
|
| 56 |
+
2096
|
| 57 |
+
2111
|
| 58 |
+
2112
|
| 59 |
+
2140
|
| 60 |
+
2142
|
| 61 |
+
2143
|
| 62 |
+
2208
|
| 63 |
+
2209
|
| 64 |
+
2210
|
| 65 |
+
2221
|
| 66 |
+
2276
|
| 67 |
+
2303
|
| 68 |
+
2304
|
| 69 |
+
2424
|
| 70 |
+
2425
|
| 71 |
+
2432
|
| 72 |
+
2433
|
| 73 |
+
2436
|
| 74 |
+
2437
|
| 75 |
+
2445
|
| 76 |
+
2447
|
| 77 |
+
2449
|
| 78 |
+
2451
|
| 79 |
+
2473
|
| 80 |
+
2474
|
| 81 |
+
2481
|
| 82 |
+
2482
|
| 83 |
+
2483
|
| 84 |
+
2486
|
| 85 |
+
2490
|
| 86 |
+
2492
|
| 87 |
+
2501
|
| 88 |
+
2503
|
| 89 |
+
2505
|
| 90 |
+
2507
|
| 91 |
+
2511
|
| 92 |
+
2519
|
| 93 |
+
2520
|
| 94 |
+
2524
|
| 95 |
+
2526
|
| 96 |
+
2527
|
| 97 |
+
2532
|
| 98 |
+
2534
|
| 99 |
+
2556
|
| 100 |
+
2561
|
| 101 |
+
2564
|
| 102 |
+
2565
|
| 103 |
+
2571
|
| 104 |
+
2575
|
| 105 |
+
2577
|
| 106 |
+
2579
|
| 107 |
+
2601
|
| 108 |
+
2602
|
| 109 |
+
2609
|
| 110 |
+
2610
|
| 111 |
+
2612
|
| 112 |
+
2613
|
| 113 |
+
2615
|
| 114 |
+
2616
|
| 115 |
+
2618
|
| 116 |
+
2620
|
| 117 |
+
2621
|
| 118 |
+
2622
|
| 119 |
+
2627
|
| 120 |
+
2631
|
| 121 |
+
2633
|
| 122 |
+
2635
|
| 123 |
+
2638
|
| 124 |
+
2641
|
| 125 |
+
2642
|
| 126 |
+
2649
|
| 127 |
+
2653
|
| 128 |
+
2654
|
| 129 |
+
2655
|
| 130 |
+
2662
|
| 131 |
+
2678
|
| 132 |
+
2689
|
| 133 |
+
2692
|
| 134 |
+
2693
|
| 135 |
+
2702
|
| 136 |
+
2703
|
| 137 |
+
2706
|
| 138 |
+
2707
|
| 139 |
+
2729
|
| 140 |
+
2730
|
| 141 |
+
2737
|
| 142 |
+
2738
|
| 143 |
+
2740
|
| 144 |
+
2741
|
| 145 |
+
2746
|
| 146 |
+
2748
|
| 147 |
+
2758
|
| 148 |
+
2759
|
| 149 |
+
2762
|
| 150 |
+
2763
|
| 151 |
+
2766
|
| 152 |
+
2768
|
| 153 |
+
2769
|
| 154 |
+
2784
|
| 155 |
+
2788
|
| 156 |
+
2790
|
| 157 |
+
2802
|
| 158 |
+
2817
|
| 159 |
+
2820
|
| 160 |
+
2821
|
| 161 |
+
2829
|
| 162 |
+
2831
|
| 163 |
+
2833
|
| 164 |
+
2835
|
| 165 |
+
2857
|
| 166 |
+
2858
|
| 167 |
+
2865
|
| 168 |
+
2866
|
| 169 |
+
2868
|
| 170 |
+
2869
|
| 171 |
+
2874
|
| 172 |
+
2876
|
| 173 |
+
2885
|
| 174 |
+
2887
|
| 175 |
+
2889
|
| 176 |
+
2891
|
| 177 |
+
2894
|
| 178 |
+
2902
|
| 179 |
+
2904
|
| 180 |
+
2908
|
| 181 |
+
2910
|
| 182 |
+
2911
|
| 183 |
+
2916
|
| 184 |
+
2918
|
| 185 |
+
2936
|
| 186 |
+
2946
|
| 187 |
+
2948
|
| 188 |
+
2949
|
| 189 |
+
2955
|
| 190 |
+
2958
|
| 191 |
+
2961
|
| 192 |
+
2962
|
| 193 |
+
2966
|
| 194 |
+
2969
|
| 195 |
+
2971
|
| 196 |
+
2972
|
| 197 |
+
2973
|
| 198 |
+
2974
|
| 199 |
+
2976
|
| 200 |
+
2979
|
| 201 |
+
2981
|
| 202 |
+
2984
|
| 203 |
+
2987
|
| 204 |
+
2990
|
| 205 |
+
3002
|
| 206 |
+
3006
|
| 207 |
+
3011
|
| 208 |
+
3014
|
| 209 |
+
3017
|
| 210 |
+
3018
|
| 211 |
+
3022
|
| 212 |
+
3024
|
| 213 |
+
3025
|
| 214 |
+
3031
|
| 215 |
+
3032
|
| 216 |
+
3046
|
| 217 |
+
3067
|
| 218 |
+
3073
|
| 219 |
+
3076
|
| 220 |
+
3077
|
| 221 |
+
3085
|
| 222 |
+
3086
|
| 223 |
+
3089
|
| 224 |
+
3090
|
| 225 |
+
3113
|
| 226 |
+
3114
|
| 227 |
+
3124
|
| 228 |
+
3125
|
| 229 |
+
3130
|
| 230 |
+
3133
|
| 231 |
+
3141
|
| 232 |
+
3142
|
| 233 |
+
3145
|
| 234 |
+
3146
|
| 235 |
+
3150
|
| 236 |
+
3157
|
| 237 |
+
3159
|
| 238 |
+
3160
|
| 239 |
+
3162
|
| 240 |
+
3168
|
| 241 |
+
3172
|
| 242 |
+
3174
|
| 243 |
+
3184
|
| 244 |
+
3192
|
| 245 |
+
3200
|
| 246 |
+
3202
|
| 247 |
+
3204
|
| 248 |
+
3205
|
| 249 |
+
3213
|
| 250 |
+
3214
|
| 251 |
+
3217
|
| 252 |
+
3218
|
| 253 |
+
3241
|
| 254 |
+
3242
|
| 255 |
+
3252
|
| 256 |
+
3253
|
| 257 |
+
3258
|
| 258 |
+
3260
|
| 259 |
+
3269
|
| 260 |
+
3270
|
| 261 |
+
3273
|
| 262 |
+
3274
|
| 263 |
+
3278
|
| 264 |
+
3285
|
| 265 |
+
3287
|
| 266 |
+
3294
|
| 267 |
+
3295
|
| 268 |
+
3296
|
| 269 |
+
3300
|
| 270 |
+
3302
|
| 271 |
+
3312
|
| 272 |
+
3313
|
| 273 |
+
3315
|
| 274 |
+
3330
|
| 275 |
+
3332
|
| 276 |
+
3333
|
| 277 |
+
3341
|
| 278 |
+
3342
|
| 279 |
+
3345
|
| 280 |
+
3346
|
| 281 |
+
3387
|
| 282 |
+
3389
|
| 283 |
+
3397
|
| 284 |
+
3398
|
| 285 |
+
3401
|
| 286 |
+
3402
|
| 287 |
+
3407
|
| 288 |
+
3415
|
| 289 |
+
3416
|
| 290 |
+
3424
|
| 291 |
+
3428
|
| 292 |
+
3430
|
| 293 |
+
3446
|
| 294 |
+
3449
|
| 295 |
+
3456
|
| 296 |
+
3458
|
| 297 |
+
3460
|
| 298 |
+
3461
|
| 299 |
+
3479
|
| 300 |
+
3482
|
| 301 |
+
3506
|
| 302 |
+
3507
|
| 303 |
+
3516
|
| 304 |
+
3517
|
| 305 |
+
3518
|
| 306 |
+
3520
|
| 307 |
+
3527
|
| 308 |
+
3530
|
| 309 |
+
3531
|
| 310 |
+
3535
|
| 311 |
+
3541
|
| 312 |
+
3542
|
| 313 |
+
3543
|
| 314 |
+
3544
|
| 315 |
+
3552
|
| 316 |
+
3570
|
| 317 |
+
3573
|
| 318 |
+
3585
|
| 319 |
+
3643
|
| 320 |
+
3647
|
| 321 |
+
3676
|
| 322 |
+
3713
|
| 323 |
+
3715
|
| 324 |
+
3716
|
| 325 |
+
3717
|
| 326 |
+
3719
|
| 327 |
+
3721
|
| 328 |
+
3722
|
| 329 |
+
3723
|
| 330 |
+
3725
|
| 331 |
+
3726
|
| 332 |
+
3732
|
| 333 |
+
3736
|
| 334 |
+
3737
|
| 335 |
+
3744
|
| 336 |
+
3745
|
| 337 |
+
3748
|
| 338 |
+
3749
|
| 339 |
+
3750
|
| 340 |
+
3751
|
| 341 |
+
3752
|
| 342 |
+
3754
|
| 343 |
+
3756
|
| 344 |
+
3757
|
| 345 |
+
3770
|
| 346 |
+
3771
|
| 347 |
+
3774
|
| 348 |
+
3776
|
| 349 |
+
3781
|
| 350 |
+
3782
|
| 351 |
+
3783
|
| 352 |
+
3784
|
| 353 |
+
3790
|
| 354 |
+
3792
|
| 355 |
+
3802
|
| 356 |
+
3804
|
| 357 |
+
3808
|
| 358 |
+
3840
|
| 359 |
+
3912
|
| 360 |
+
3913
|
| 361 |
+
3949
|
| 362 |
+
3953
|
| 363 |
+
3992
|
| 364 |
+
3993
|
| 365 |
+
4029
|
| 366 |
+
4030
|
| 367 |
+
4045
|
| 368 |
+
4046
|
| 369 |
+
4059
|
| 370 |
+
4096
|
| 371 |
+
4294
|
| 372 |
+
4295
|
| 373 |
+
4296
|
| 374 |
+
4301
|
| 375 |
+
4302
|
| 376 |
+
4304
|
| 377 |
+
4681
|
| 378 |
+
4682
|
| 379 |
+
4686
|
| 380 |
+
4688
|
| 381 |
+
4695
|
| 382 |
+
4696
|
| 383 |
+
4697
|
| 384 |
+
4698
|
| 385 |
+
4702
|
| 386 |
+
4704
|
| 387 |
+
4745
|
| 388 |
+
4746
|
| 389 |
+
4750
|
| 390 |
+
4752
|
| 391 |
+
4785
|
| 392 |
+
4786
|
| 393 |
+
4790
|
| 394 |
+
4792
|
| 395 |
+
4799
|
| 396 |
+
4800
|
| 397 |
+
4801
|
| 398 |
+
4802
|
| 399 |
+
4806
|
| 400 |
+
4808
|
| 401 |
+
4823
|
| 402 |
+
4824
|
| 403 |
+
4881
|
| 404 |
+
4882
|
| 405 |
+
4886
|
| 406 |
+
4888
|
| 407 |
+
4955
|
| 408 |
+
4957
|
| 409 |
+
4989
|
| 410 |
+
4992
|
| 411 |
+
5018
|
| 412 |
+
5024
|
| 413 |
+
5109
|
| 414 |
+
5120
|
| 415 |
+
5789
|
| 416 |
+
5792
|
| 417 |
+
5873
|
| 418 |
+
5888
|
| 419 |
+
5901
|
| 420 |
+
5902
|
| 421 |
+
5909
|
| 422 |
+
5920
|
| 423 |
+
5943
|
| 424 |
+
5952
|
| 425 |
+
5972
|
| 426 |
+
5984
|
| 427 |
+
5997
|
| 428 |
+
5998
|
| 429 |
+
6001
|
| 430 |
+
6002
|
| 431 |
+
6004
|
| 432 |
+
6016
|
| 433 |
+
6110
|
| 434 |
+
6112
|
| 435 |
+
6122
|
| 436 |
+
6128
|
| 437 |
+
6138
|
| 438 |
+
6144
|
| 439 |
+
6159
|
| 440 |
+
6160
|
| 441 |
+
6170
|
| 442 |
+
6176
|
| 443 |
+
6264
|
| 444 |
+
6272
|
| 445 |
+
6315
|
| 446 |
+
6320
|
| 447 |
+
6390
|
| 448 |
+
6400
|
| 449 |
+
6429
|
| 450 |
+
6432
|
| 451 |
+
6444
|
| 452 |
+
6448
|
| 453 |
+
6460
|
| 454 |
+
6464
|
| 455 |
+
6465
|
| 456 |
+
6468
|
| 457 |
+
6510
|
| 458 |
+
6512
|
| 459 |
+
6517
|
| 460 |
+
6528
|
| 461 |
+
6572
|
| 462 |
+
6576
|
| 463 |
+
6602
|
| 464 |
+
6608
|
| 465 |
+
6619
|
| 466 |
+
6622
|
| 467 |
+
6684
|
| 468 |
+
6686
|
| 469 |
+
6751
|
| 470 |
+
6752
|
| 471 |
+
6781
|
| 472 |
+
6783
|
| 473 |
+
6794
|
| 474 |
+
6800
|
| 475 |
+
6810
|
| 476 |
+
6816
|
| 477 |
+
6830
|
| 478 |
+
6912
|
| 479 |
+
6988
|
| 480 |
+
6992
|
| 481 |
+
7037
|
| 482 |
+
7040
|
| 483 |
+
7156
|
| 484 |
+
7164
|
| 485 |
+
7224
|
| 486 |
+
7227
|
| 487 |
+
7242
|
| 488 |
+
7245
|
| 489 |
+
7296
|
| 490 |
+
7360
|
| 491 |
+
7368
|
| 492 |
+
7376
|
| 493 |
+
7415
|
| 494 |
+
7424
|
| 495 |
+
7655
|
| 496 |
+
7676
|
| 497 |
+
7958
|
| 498 |
+
7960
|
| 499 |
+
7966
|
| 500 |
+
7968
|
| 501 |
+
8006
|
| 502 |
+
8008
|
| 503 |
+
8014
|
| 504 |
+
8016
|
| 505 |
+
8024
|
| 506 |
+
8025
|
| 507 |
+
8026
|
| 508 |
+
8027
|
| 509 |
+
8028
|
| 510 |
+
8029
|
| 511 |
+
8030
|
| 512 |
+
8031
|
| 513 |
+
8062
|
| 514 |
+
8064
|
| 515 |
+
8117
|
| 516 |
+
8118
|
| 517 |
+
8133
|
| 518 |
+
8134
|
| 519 |
+
8148
|
| 520 |
+
8150
|
| 521 |
+
8156
|
| 522 |
+
8157
|
| 523 |
+
8176
|
| 524 |
+
8178
|
| 525 |
+
8181
|
| 526 |
+
8182
|
| 527 |
+
8191
|
| 528 |
+
8192
|
| 529 |
+
8293
|
| 530 |
+
8294
|
| 531 |
+
8306
|
| 532 |
+
8308
|
| 533 |
+
8335
|
| 534 |
+
8336
|
| 535 |
+
8349
|
| 536 |
+
8352
|
| 537 |
+
8379
|
| 538 |
+
8400
|
| 539 |
+
8433
|
| 540 |
+
8448
|
| 541 |
+
8586
|
| 542 |
+
8592
|
| 543 |
+
9204
|
| 544 |
+
9216
|
| 545 |
+
9255
|
| 546 |
+
9280
|
| 547 |
+
9291
|
| 548 |
+
9312
|
| 549 |
+
9984
|
| 550 |
+
9985
|
| 551 |
+
11085
|
| 552 |
+
11088
|
| 553 |
+
11098
|
| 554 |
+
11264
|
| 555 |
+
11311
|
| 556 |
+
11312
|
| 557 |
+
11359
|
| 558 |
+
11360
|
| 559 |
+
11508
|
| 560 |
+
11513
|
| 561 |
+
11558
|
| 562 |
+
11559
|
| 563 |
+
11560
|
| 564 |
+
11565
|
| 565 |
+
11566
|
| 566 |
+
11568
|
| 567 |
+
11624
|
| 568 |
+
11631
|
| 569 |
+
11633
|
| 570 |
+
11647
|
| 571 |
+
11671
|
| 572 |
+
11680
|
| 573 |
+
11687
|
| 574 |
+
11688
|
| 575 |
+
11695
|
| 576 |
+
11696
|
| 577 |
+
11703
|
| 578 |
+
11704
|
| 579 |
+
11711
|
| 580 |
+
11712
|
| 581 |
+
11719
|
| 582 |
+
11720
|
| 583 |
+
11727
|
| 584 |
+
11728
|
| 585 |
+
11735
|
| 586 |
+
11736
|
| 587 |
+
11743
|
| 588 |
+
11744
|
| 589 |
+
11836
|
| 590 |
+
11904
|
| 591 |
+
11930
|
| 592 |
+
11931
|
| 593 |
+
12020
|
| 594 |
+
12032
|
| 595 |
+
12246
|
| 596 |
+
12272
|
| 597 |
+
12284
|
| 598 |
+
12288
|
| 599 |
+
12352
|
| 600 |
+
12353
|
| 601 |
+
12439
|
| 602 |
+
12441
|
| 603 |
+
12544
|
| 604 |
+
12549
|
| 605 |
+
12590
|
| 606 |
+
12593
|
| 607 |
+
12687
|
| 608 |
+
12688
|
| 609 |
+
12731
|
| 610 |
+
12736
|
| 611 |
+
12772
|
| 612 |
+
12784
|
| 613 |
+
12831
|
| 614 |
+
12832
|
| 615 |
+
13055
|
| 616 |
+
13056
|
| 617 |
+
19894
|
| 618 |
+
19904
|
| 619 |
+
40909
|
| 620 |
+
40960
|
| 621 |
+
42125
|
| 622 |
+
42128
|
| 623 |
+
42183
|
| 624 |
+
42192
|
| 625 |
+
42540
|
| 626 |
+
42560
|
| 627 |
+
42648
|
| 628 |
+
42655
|
| 629 |
+
42744
|
| 630 |
+
42752
|
| 631 |
+
42895
|
| 632 |
+
42896
|
| 633 |
+
42900
|
| 634 |
+
42912
|
| 635 |
+
42923
|
| 636 |
+
43000
|
| 637 |
+
43052
|
| 638 |
+
43056
|
| 639 |
+
43066
|
| 640 |
+
43072
|
| 641 |
+
43128
|
| 642 |
+
43136
|
| 643 |
+
43205
|
| 644 |
+
43214
|
| 645 |
+
43226
|
| 646 |
+
43232
|
| 647 |
+
43260
|
| 648 |
+
43264
|
| 649 |
+
43348
|
| 650 |
+
43359
|
| 651 |
+
43389
|
| 652 |
+
43392
|
| 653 |
+
43470
|
| 654 |
+
43471
|
| 655 |
+
43482
|
| 656 |
+
43486
|
| 657 |
+
43488
|
| 658 |
+
43520
|
| 659 |
+
43575
|
| 660 |
+
43584
|
| 661 |
+
43598
|
| 662 |
+
43600
|
| 663 |
+
43610
|
| 664 |
+
43612
|
| 665 |
+
43644
|
| 666 |
+
43648
|
| 667 |
+
43715
|
| 668 |
+
43739
|
| 669 |
+
43767
|
| 670 |
+
43777
|
| 671 |
+
43783
|
| 672 |
+
43785
|
| 673 |
+
43791
|
| 674 |
+
43793
|
| 675 |
+
43799
|
| 676 |
+
43808
|
| 677 |
+
43815
|
| 678 |
+
43816
|
| 679 |
+
43823
|
| 680 |
+
43968
|
| 681 |
+
44014
|
| 682 |
+
44016
|
| 683 |
+
44026
|
| 684 |
+
44032
|
| 685 |
+
55204
|
| 686 |
+
55216
|
| 687 |
+
55239
|
| 688 |
+
55243
|
| 689 |
+
55292
|
| 690 |
+
55296
|
| 691 |
+
64110
|
| 692 |
+
64112
|
| 693 |
+
64218
|
| 694 |
+
64256
|
| 695 |
+
64263
|
| 696 |
+
64275
|
| 697 |
+
64280
|
| 698 |
+
64285
|
| 699 |
+
64311
|
| 700 |
+
64312
|
| 701 |
+
64317
|
| 702 |
+
64318
|
| 703 |
+
64319
|
| 704 |
+
64320
|
| 705 |
+
64322
|
| 706 |
+
64323
|
| 707 |
+
64325
|
| 708 |
+
64326
|
| 709 |
+
64450
|
| 710 |
+
64467
|
| 711 |
+
64832
|
| 712 |
+
64848
|
| 713 |
+
64912
|
| 714 |
+
64914
|
| 715 |
+
64968
|
| 716 |
+
64976
|
| 717 |
+
65022
|
| 718 |
+
65024
|
| 719 |
+
65050
|
| 720 |
+
65056
|
| 721 |
+
65063
|
| 722 |
+
65072
|
| 723 |
+
65107
|
| 724 |
+
65108
|
| 725 |
+
65127
|
| 726 |
+
65128
|
| 727 |
+
65132
|
| 728 |
+
65136
|
| 729 |
+
65141
|
| 730 |
+
65142
|
| 731 |
+
65277
|
| 732 |
+
65279
|
| 733 |
+
65280
|
| 734 |
+
65281
|
| 735 |
+
65471
|
| 736 |
+
65474
|
| 737 |
+
65480
|
| 738 |
+
65482
|
| 739 |
+
65488
|
| 740 |
+
65490
|
| 741 |
+
65496
|
| 742 |
+
65498
|
| 743 |
+
65501
|
| 744 |
+
65504
|
| 745 |
+
65511
|
| 746 |
+
65512
|
| 747 |
+
65519
|
| 748 |
+
65529
|
| 749 |
+
65548
|
| 750 |
+
65549
|
| 751 |
+
65575
|
| 752 |
+
65576
|
| 753 |
+
65595
|
| 754 |
+
65596
|
| 755 |
+
65598
|
| 756 |
+
65599
|
| 757 |
+
65614
|
| 758 |
+
65616
|
| 759 |
+
65630
|
| 760 |
+
65664
|
| 761 |
+
65787
|
| 762 |
+
65792
|
| 763 |
+
65795
|
| 764 |
+
65799
|
| 765 |
+
65844
|
| 766 |
+
65847
|
| 767 |
+
65931
|
| 768 |
+
65936
|
| 769 |
+
65948
|
| 770 |
+
66000
|
| 771 |
+
66046
|
| 772 |
+
66176
|
| 773 |
+
66205
|
| 774 |
+
66208
|
| 775 |
+
66257
|
| 776 |
+
66304
|
| 777 |
+
66335
|
| 778 |
+
66336
|
| 779 |
+
66340
|
| 780 |
+
66352
|
| 781 |
+
66379
|
| 782 |
+
66432
|
| 783 |
+
66462
|
| 784 |
+
66463
|
| 785 |
+
66500
|
| 786 |
+
66504
|
| 787 |
+
66518
|
| 788 |
+
66560
|
| 789 |
+
66718
|
| 790 |
+
66720
|
| 791 |
+
66730
|
| 792 |
+
67584
|
| 793 |
+
67590
|
| 794 |
+
67592
|
| 795 |
+
67593
|
| 796 |
+
67594
|
| 797 |
+
67638
|
| 798 |
+
67639
|
| 799 |
+
67641
|
| 800 |
+
67644
|
| 801 |
+
67645
|
| 802 |
+
67647
|
| 803 |
+
67670
|
| 804 |
+
67671
|
| 805 |
+
67680
|
| 806 |
+
67840
|
| 807 |
+
67868
|
| 808 |
+
67871
|
| 809 |
+
67898
|
| 810 |
+
67903
|
| 811 |
+
67904
|
| 812 |
+
67968
|
| 813 |
+
68024
|
| 814 |
+
68030
|
| 815 |
+
68032
|
| 816 |
+
68096
|
| 817 |
+
68100
|
| 818 |
+
68101
|
| 819 |
+
68103
|
| 820 |
+
68108
|
| 821 |
+
68116
|
| 822 |
+
68117
|
| 823 |
+
68120
|
| 824 |
+
68121
|
| 825 |
+
68148
|
| 826 |
+
68152
|
| 827 |
+
68155
|
| 828 |
+
68159
|
| 829 |
+
68168
|
| 830 |
+
68176
|
| 831 |
+
68185
|
| 832 |
+
68192
|
| 833 |
+
68224
|
| 834 |
+
68352
|
| 835 |
+
68406
|
| 836 |
+
68409
|
| 837 |
+
68438
|
| 838 |
+
68440
|
| 839 |
+
68467
|
| 840 |
+
68472
|
| 841 |
+
68480
|
| 842 |
+
68608
|
| 843 |
+
68681
|
| 844 |
+
69216
|
| 845 |
+
69247
|
| 846 |
+
69632
|
| 847 |
+
69710
|
| 848 |
+
69714
|
| 849 |
+
69744
|
| 850 |
+
69760
|
| 851 |
+
69826
|
| 852 |
+
69840
|
| 853 |
+
69865
|
| 854 |
+
69872
|
| 855 |
+
69882
|
| 856 |
+
69888
|
| 857 |
+
69941
|
| 858 |
+
69942
|
| 859 |
+
69956
|
| 860 |
+
70016
|
| 861 |
+
70089
|
| 862 |
+
70096
|
| 863 |
+
70106
|
| 864 |
+
71296
|
| 865 |
+
71352
|
| 866 |
+
71360
|
| 867 |
+
71370
|
| 868 |
+
73728
|
| 869 |
+
74607
|
| 870 |
+
74752
|
| 871 |
+
74851
|
| 872 |
+
74864
|
| 873 |
+
74868
|
| 874 |
+
77824
|
| 875 |
+
78895
|
| 876 |
+
92160
|
| 877 |
+
92729
|
| 878 |
+
93952
|
| 879 |
+
94021
|
| 880 |
+
94032
|
| 881 |
+
94079
|
| 882 |
+
94095
|
| 883 |
+
94112
|
| 884 |
+
110592
|
| 885 |
+
110594
|
| 886 |
+
118784
|
| 887 |
+
119030
|
| 888 |
+
119040
|
| 889 |
+
119079
|
| 890 |
+
119081
|
| 891 |
+
119262
|
| 892 |
+
119296
|
| 893 |
+
119366
|
| 894 |
+
119552
|
| 895 |
+
119639
|
| 896 |
+
119648
|
| 897 |
+
119666
|
| 898 |
+
119808
|
| 899 |
+
119893
|
| 900 |
+
119894
|
| 901 |
+
119965
|
| 902 |
+
119966
|
| 903 |
+
119968
|
| 904 |
+
119970
|
| 905 |
+
119971
|
| 906 |
+
119973
|
| 907 |
+
119975
|
| 908 |
+
119977
|
| 909 |
+
119981
|
| 910 |
+
119982
|
| 911 |
+
119994
|
| 912 |
+
119995
|
| 913 |
+
119996
|
| 914 |
+
119997
|
| 915 |
+
120004
|
| 916 |
+
120005
|
| 917 |
+
120070
|
| 918 |
+
120071
|
| 919 |
+
120075
|
| 920 |
+
120077
|
| 921 |
+
120085
|
| 922 |
+
120086
|
| 923 |
+
120093
|
| 924 |
+
120094
|
| 925 |
+
120122
|
| 926 |
+
120123
|
| 927 |
+
120127
|
| 928 |
+
120128
|
| 929 |
+
120133
|
| 930 |
+
120134
|
| 931 |
+
120135
|
| 932 |
+
120138
|
| 933 |
+
120145
|
| 934 |
+
120146
|
| 935 |
+
120486
|
| 936 |
+
120488
|
| 937 |
+
120780
|
| 938 |
+
120782
|
| 939 |
+
120832
|
| 940 |
+
126464
|
| 941 |
+
126468
|
| 942 |
+
126469
|
| 943 |
+
126496
|
| 944 |
+
126497
|
| 945 |
+
126499
|
| 946 |
+
126500
|
| 947 |
+
126501
|
| 948 |
+
126503
|
| 949 |
+
126504
|
| 950 |
+
126505
|
| 951 |
+
126515
|
| 952 |
+
126516
|
| 953 |
+
126520
|
| 954 |
+
126521
|
| 955 |
+
126522
|
| 956 |
+
126523
|
| 957 |
+
126524
|
| 958 |
+
126530
|
| 959 |
+
126531
|
| 960 |
+
126535
|
| 961 |
+
126536
|
| 962 |
+
126537
|
| 963 |
+
126538
|
| 964 |
+
126539
|
| 965 |
+
126540
|
| 966 |
+
126541
|
| 967 |
+
126544
|
| 968 |
+
126545
|
| 969 |
+
126547
|
| 970 |
+
126548
|
| 971 |
+
126549
|
| 972 |
+
126551
|
| 973 |
+
126552
|
| 974 |
+
126553
|
| 975 |
+
126554
|
| 976 |
+
126555
|
| 977 |
+
126556
|
| 978 |
+
126557
|
| 979 |
+
126558
|
| 980 |
+
126559
|
| 981 |
+
126560
|
| 982 |
+
126561
|
| 983 |
+
126563
|
| 984 |
+
126564
|
| 985 |
+
126565
|
| 986 |
+
126567
|
| 987 |
+
126571
|
| 988 |
+
126572
|
| 989 |
+
126579
|
| 990 |
+
126580
|
| 991 |
+
126584
|
| 992 |
+
126585
|
| 993 |
+
126589
|
| 994 |
+
126590
|
| 995 |
+
126591
|
| 996 |
+
126592
|
| 997 |
+
126602
|
| 998 |
+
126603
|
| 999 |
+
126620
|
| 1000 |
+
126625
|
| 1001 |
+
126628
|
| 1002 |
+
126629
|
| 1003 |
+
126634
|
| 1004 |
+
126635
|
| 1005 |
+
126652
|
| 1006 |
+
126704
|
| 1007 |
+
126706
|
| 1008 |
+
126976
|
| 1009 |
+
127020
|
| 1010 |
+
127024
|
| 1011 |
+
127124
|
| 1012 |
+
127136
|
| 1013 |
+
127151
|
| 1014 |
+
127153
|
| 1015 |
+
127167
|
| 1016 |
+
127169
|
| 1017 |
+
127184
|
| 1018 |
+
127185
|
| 1019 |
+
127200
|
| 1020 |
+
127232
|
| 1021 |
+
127243
|
| 1022 |
+
127248
|
| 1023 |
+
127279
|
| 1024 |
+
127280
|
| 1025 |
+
127340
|
| 1026 |
+
127344
|
| 1027 |
+
127387
|
| 1028 |
+
127462
|
| 1029 |
+
127491
|
| 1030 |
+
127504
|
| 1031 |
+
127547
|
| 1032 |
+
127552
|
| 1033 |
+
127561
|
| 1034 |
+
127568
|
| 1035 |
+
127570
|
| 1036 |
+
127744
|
| 1037 |
+
127777
|
| 1038 |
+
127792
|
| 1039 |
+
127798
|
| 1040 |
+
127799
|
| 1041 |
+
127869
|
| 1042 |
+
127872
|
| 1043 |
+
127892
|
| 1044 |
+
127904
|
| 1045 |
+
127941
|
| 1046 |
+
127942
|
| 1047 |
+
127947
|
| 1048 |
+
127968
|
| 1049 |
+
127985
|
| 1050 |
+
128000
|
| 1051 |
+
128063
|
| 1052 |
+
128064
|
| 1053 |
+
128065
|
| 1054 |
+
128066
|
| 1055 |
+
128248
|
| 1056 |
+
128249
|
| 1057 |
+
128253
|
| 1058 |
+
128256
|
| 1059 |
+
128318
|
| 1060 |
+
128320
|
| 1061 |
+
128324
|
| 1062 |
+
128336
|
| 1063 |
+
128360
|
| 1064 |
+
128507
|
| 1065 |
+
128577
|
| 1066 |
+
128581
|
| 1067 |
+
128592
|
| 1068 |
+
128640
|
| 1069 |
+
128710
|
| 1070 |
+
128768
|
| 1071 |
+
128884
|
| 1072 |
+
131070
|
| 1073 |
+
173783
|
| 1074 |
+
173824
|
| 1075 |
+
177973
|
| 1076 |
+
177984
|
| 1077 |
+
178206
|
| 1078 |
+
194560
|
| 1079 |
+
195102
|
| 1080 |
+
196606
|
| 1081 |
+
196608
|
| 1082 |
+
262142
|
| 1083 |
+
262144
|
| 1084 |
+
327678
|
| 1085 |
+
327680
|
| 1086 |
+
393214
|
| 1087 |
+
393216
|
| 1088 |
+
458750
|
| 1089 |
+
458752
|
| 1090 |
+
524286
|
| 1091 |
+
524288
|
| 1092 |
+
589822
|
| 1093 |
+
589824
|
| 1094 |
+
655358
|
| 1095 |
+
655360
|
| 1096 |
+
720894
|
| 1097 |
+
720896
|
| 1098 |
+
786430
|
| 1099 |
+
786432
|
| 1100 |
+
851966
|
| 1101 |
+
851968
|
| 1102 |
+
917502
|
| 1103 |
+
917504
|
| 1104 |
+
917505
|
| 1105 |
+
917506
|
| 1106 |
+
917536
|
| 1107 |
+
917632
|
| 1108 |
+
917760
|
| 1109 |
+
918000
|
| 1110 |
+
983038
|
| 1111 |
+
1114112
|
| 1112 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/In/7_0.pl
ADDED
|
@@ -0,0 +1,1234 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V1220
|
| 14 |
+
0
|
| 15 |
+
888
|
| 16 |
+
890
|
| 17 |
+
896
|
| 18 |
+
900
|
| 19 |
+
907
|
| 20 |
+
908
|
| 21 |
+
909
|
| 22 |
+
910
|
| 23 |
+
930
|
| 24 |
+
931
|
| 25 |
+
1328
|
| 26 |
+
1329
|
| 27 |
+
1367
|
| 28 |
+
1369
|
| 29 |
+
1376
|
| 30 |
+
1377
|
| 31 |
+
1416
|
| 32 |
+
1417
|
| 33 |
+
1419
|
| 34 |
+
1421
|
| 35 |
+
1424
|
| 36 |
+
1425
|
| 37 |
+
1480
|
| 38 |
+
1488
|
| 39 |
+
1515
|
| 40 |
+
1520
|
| 41 |
+
1525
|
| 42 |
+
1536
|
| 43 |
+
1565
|
| 44 |
+
1566
|
| 45 |
+
1806
|
| 46 |
+
1807
|
| 47 |
+
1867
|
| 48 |
+
1869
|
| 49 |
+
1970
|
| 50 |
+
1984
|
| 51 |
+
2043
|
| 52 |
+
2048
|
| 53 |
+
2094
|
| 54 |
+
2096
|
| 55 |
+
2111
|
| 56 |
+
2112
|
| 57 |
+
2140
|
| 58 |
+
2142
|
| 59 |
+
2143
|
| 60 |
+
2208
|
| 61 |
+
2227
|
| 62 |
+
2276
|
| 63 |
+
2436
|
| 64 |
+
2437
|
| 65 |
+
2445
|
| 66 |
+
2447
|
| 67 |
+
2449
|
| 68 |
+
2451
|
| 69 |
+
2473
|
| 70 |
+
2474
|
| 71 |
+
2481
|
| 72 |
+
2482
|
| 73 |
+
2483
|
| 74 |
+
2486
|
| 75 |
+
2490
|
| 76 |
+
2492
|
| 77 |
+
2501
|
| 78 |
+
2503
|
| 79 |
+
2505
|
| 80 |
+
2507
|
| 81 |
+
2511
|
| 82 |
+
2519
|
| 83 |
+
2520
|
| 84 |
+
2524
|
| 85 |
+
2526
|
| 86 |
+
2527
|
| 87 |
+
2532
|
| 88 |
+
2534
|
| 89 |
+
2556
|
| 90 |
+
2561
|
| 91 |
+
2564
|
| 92 |
+
2565
|
| 93 |
+
2571
|
| 94 |
+
2575
|
| 95 |
+
2577
|
| 96 |
+
2579
|
| 97 |
+
2601
|
| 98 |
+
2602
|
| 99 |
+
2609
|
| 100 |
+
2610
|
| 101 |
+
2612
|
| 102 |
+
2613
|
| 103 |
+
2615
|
| 104 |
+
2616
|
| 105 |
+
2618
|
| 106 |
+
2620
|
| 107 |
+
2621
|
| 108 |
+
2622
|
| 109 |
+
2627
|
| 110 |
+
2631
|
| 111 |
+
2633
|
| 112 |
+
2635
|
| 113 |
+
2638
|
| 114 |
+
2641
|
| 115 |
+
2642
|
| 116 |
+
2649
|
| 117 |
+
2653
|
| 118 |
+
2654
|
| 119 |
+
2655
|
| 120 |
+
2662
|
| 121 |
+
2678
|
| 122 |
+
2689
|
| 123 |
+
2692
|
| 124 |
+
2693
|
| 125 |
+
2702
|
| 126 |
+
2703
|
| 127 |
+
2706
|
| 128 |
+
2707
|
| 129 |
+
2729
|
| 130 |
+
2730
|
| 131 |
+
2737
|
| 132 |
+
2738
|
| 133 |
+
2740
|
| 134 |
+
2741
|
| 135 |
+
2746
|
| 136 |
+
2748
|
| 137 |
+
2758
|
| 138 |
+
2759
|
| 139 |
+
2762
|
| 140 |
+
2763
|
| 141 |
+
2766
|
| 142 |
+
2768
|
| 143 |
+
2769
|
| 144 |
+
2784
|
| 145 |
+
2788
|
| 146 |
+
2790
|
| 147 |
+
2802
|
| 148 |
+
2817
|
| 149 |
+
2820
|
| 150 |
+
2821
|
| 151 |
+
2829
|
| 152 |
+
2831
|
| 153 |
+
2833
|
| 154 |
+
2835
|
| 155 |
+
2857
|
| 156 |
+
2858
|
| 157 |
+
2865
|
| 158 |
+
2866
|
| 159 |
+
2868
|
| 160 |
+
2869
|
| 161 |
+
2874
|
| 162 |
+
2876
|
| 163 |
+
2885
|
| 164 |
+
2887
|
| 165 |
+
2889
|
| 166 |
+
2891
|
| 167 |
+
2894
|
| 168 |
+
2902
|
| 169 |
+
2904
|
| 170 |
+
2908
|
| 171 |
+
2910
|
| 172 |
+
2911
|
| 173 |
+
2916
|
| 174 |
+
2918
|
| 175 |
+
2936
|
| 176 |
+
2946
|
| 177 |
+
2948
|
| 178 |
+
2949
|
| 179 |
+
2955
|
| 180 |
+
2958
|
| 181 |
+
2961
|
| 182 |
+
2962
|
| 183 |
+
2966
|
| 184 |
+
2969
|
| 185 |
+
2971
|
| 186 |
+
2972
|
| 187 |
+
2973
|
| 188 |
+
2974
|
| 189 |
+
2976
|
| 190 |
+
2979
|
| 191 |
+
2981
|
| 192 |
+
2984
|
| 193 |
+
2987
|
| 194 |
+
2990
|
| 195 |
+
3002
|
| 196 |
+
3006
|
| 197 |
+
3011
|
| 198 |
+
3014
|
| 199 |
+
3017
|
| 200 |
+
3018
|
| 201 |
+
3022
|
| 202 |
+
3024
|
| 203 |
+
3025
|
| 204 |
+
3031
|
| 205 |
+
3032
|
| 206 |
+
3046
|
| 207 |
+
3067
|
| 208 |
+
3072
|
| 209 |
+
3076
|
| 210 |
+
3077
|
| 211 |
+
3085
|
| 212 |
+
3086
|
| 213 |
+
3089
|
| 214 |
+
3090
|
| 215 |
+
3113
|
| 216 |
+
3114
|
| 217 |
+
3130
|
| 218 |
+
3133
|
| 219 |
+
3141
|
| 220 |
+
3142
|
| 221 |
+
3145
|
| 222 |
+
3146
|
| 223 |
+
3150
|
| 224 |
+
3157
|
| 225 |
+
3159
|
| 226 |
+
3160
|
| 227 |
+
3162
|
| 228 |
+
3168
|
| 229 |
+
3172
|
| 230 |
+
3174
|
| 231 |
+
3184
|
| 232 |
+
3192
|
| 233 |
+
3200
|
| 234 |
+
3201
|
| 235 |
+
3204
|
| 236 |
+
3205
|
| 237 |
+
3213
|
| 238 |
+
3214
|
| 239 |
+
3217
|
| 240 |
+
3218
|
| 241 |
+
3241
|
| 242 |
+
3242
|
| 243 |
+
3252
|
| 244 |
+
3253
|
| 245 |
+
3258
|
| 246 |
+
3260
|
| 247 |
+
3269
|
| 248 |
+
3270
|
| 249 |
+
3273
|
| 250 |
+
3274
|
| 251 |
+
3278
|
| 252 |
+
3285
|
| 253 |
+
3287
|
| 254 |
+
3294
|
| 255 |
+
3295
|
| 256 |
+
3296
|
| 257 |
+
3300
|
| 258 |
+
3302
|
| 259 |
+
3312
|
| 260 |
+
3313
|
| 261 |
+
3315
|
| 262 |
+
3329
|
| 263 |
+
3332
|
| 264 |
+
3333
|
| 265 |
+
3341
|
| 266 |
+
3342
|
| 267 |
+
3345
|
| 268 |
+
3346
|
| 269 |
+
3387
|
| 270 |
+
3389
|
| 271 |
+
3397
|
| 272 |
+
3398
|
| 273 |
+
3401
|
| 274 |
+
3402
|
| 275 |
+
3407
|
| 276 |
+
3415
|
| 277 |
+
3416
|
| 278 |
+
3424
|
| 279 |
+
3428
|
| 280 |
+
3430
|
| 281 |
+
3446
|
| 282 |
+
3449
|
| 283 |
+
3456
|
| 284 |
+
3458
|
| 285 |
+
3460
|
| 286 |
+
3461
|
| 287 |
+
3479
|
| 288 |
+
3482
|
| 289 |
+
3506
|
| 290 |
+
3507
|
| 291 |
+
3516
|
| 292 |
+
3517
|
| 293 |
+
3518
|
| 294 |
+
3520
|
| 295 |
+
3527
|
| 296 |
+
3530
|
| 297 |
+
3531
|
| 298 |
+
3535
|
| 299 |
+
3541
|
| 300 |
+
3542
|
| 301 |
+
3543
|
| 302 |
+
3544
|
| 303 |
+
3552
|
| 304 |
+
3558
|
| 305 |
+
3568
|
| 306 |
+
3570
|
| 307 |
+
3573
|
| 308 |
+
3585
|
| 309 |
+
3643
|
| 310 |
+
3647
|
| 311 |
+
3676
|
| 312 |
+
3713
|
| 313 |
+
3715
|
| 314 |
+
3716
|
| 315 |
+
3717
|
| 316 |
+
3719
|
| 317 |
+
3721
|
| 318 |
+
3722
|
| 319 |
+
3723
|
| 320 |
+
3725
|
| 321 |
+
3726
|
| 322 |
+
3732
|
| 323 |
+
3736
|
| 324 |
+
3737
|
| 325 |
+
3744
|
| 326 |
+
3745
|
| 327 |
+
3748
|
| 328 |
+
3749
|
| 329 |
+
3750
|
| 330 |
+
3751
|
| 331 |
+
3752
|
| 332 |
+
3754
|
| 333 |
+
3756
|
| 334 |
+
3757
|
| 335 |
+
3770
|
| 336 |
+
3771
|
| 337 |
+
3774
|
| 338 |
+
3776
|
| 339 |
+
3781
|
| 340 |
+
3782
|
| 341 |
+
3783
|
| 342 |
+
3784
|
| 343 |
+
3790
|
| 344 |
+
3792
|
| 345 |
+
3802
|
| 346 |
+
3804
|
| 347 |
+
3808
|
| 348 |
+
3840
|
| 349 |
+
3912
|
| 350 |
+
3913
|
| 351 |
+
3949
|
| 352 |
+
3953
|
| 353 |
+
3992
|
| 354 |
+
3993
|
| 355 |
+
4029
|
| 356 |
+
4030
|
| 357 |
+
4045
|
| 358 |
+
4046
|
| 359 |
+
4059
|
| 360 |
+
4096
|
| 361 |
+
4294
|
| 362 |
+
4295
|
| 363 |
+
4296
|
| 364 |
+
4301
|
| 365 |
+
4302
|
| 366 |
+
4304
|
| 367 |
+
4681
|
| 368 |
+
4682
|
| 369 |
+
4686
|
| 370 |
+
4688
|
| 371 |
+
4695
|
| 372 |
+
4696
|
| 373 |
+
4697
|
| 374 |
+
4698
|
| 375 |
+
4702
|
| 376 |
+
4704
|
| 377 |
+
4745
|
| 378 |
+
4746
|
| 379 |
+
4750
|
| 380 |
+
4752
|
| 381 |
+
4785
|
| 382 |
+
4786
|
| 383 |
+
4790
|
| 384 |
+
4792
|
| 385 |
+
4799
|
| 386 |
+
4800
|
| 387 |
+
4801
|
| 388 |
+
4802
|
| 389 |
+
4806
|
| 390 |
+
4808
|
| 391 |
+
4823
|
| 392 |
+
4824
|
| 393 |
+
4881
|
| 394 |
+
4882
|
| 395 |
+
4886
|
| 396 |
+
4888
|
| 397 |
+
4955
|
| 398 |
+
4957
|
| 399 |
+
4989
|
| 400 |
+
4992
|
| 401 |
+
5018
|
| 402 |
+
5024
|
| 403 |
+
5109
|
| 404 |
+
5120
|
| 405 |
+
5789
|
| 406 |
+
5792
|
| 407 |
+
5881
|
| 408 |
+
5888
|
| 409 |
+
5901
|
| 410 |
+
5902
|
| 411 |
+
5909
|
| 412 |
+
5920
|
| 413 |
+
5943
|
| 414 |
+
5952
|
| 415 |
+
5972
|
| 416 |
+
5984
|
| 417 |
+
5997
|
| 418 |
+
5998
|
| 419 |
+
6001
|
| 420 |
+
6002
|
| 421 |
+
6004
|
| 422 |
+
6016
|
| 423 |
+
6110
|
| 424 |
+
6112
|
| 425 |
+
6122
|
| 426 |
+
6128
|
| 427 |
+
6138
|
| 428 |
+
6144
|
| 429 |
+
6159
|
| 430 |
+
6160
|
| 431 |
+
6170
|
| 432 |
+
6176
|
| 433 |
+
6264
|
| 434 |
+
6272
|
| 435 |
+
6315
|
| 436 |
+
6320
|
| 437 |
+
6390
|
| 438 |
+
6400
|
| 439 |
+
6431
|
| 440 |
+
6432
|
| 441 |
+
6444
|
| 442 |
+
6448
|
| 443 |
+
6460
|
| 444 |
+
6464
|
| 445 |
+
6465
|
| 446 |
+
6468
|
| 447 |
+
6510
|
| 448 |
+
6512
|
| 449 |
+
6517
|
| 450 |
+
6528
|
| 451 |
+
6572
|
| 452 |
+
6576
|
| 453 |
+
6602
|
| 454 |
+
6608
|
| 455 |
+
6619
|
| 456 |
+
6622
|
| 457 |
+
6684
|
| 458 |
+
6686
|
| 459 |
+
6751
|
| 460 |
+
6752
|
| 461 |
+
6781
|
| 462 |
+
6783
|
| 463 |
+
6794
|
| 464 |
+
6800
|
| 465 |
+
6810
|
| 466 |
+
6816
|
| 467 |
+
6830
|
| 468 |
+
6832
|
| 469 |
+
6847
|
| 470 |
+
6912
|
| 471 |
+
6988
|
| 472 |
+
6992
|
| 473 |
+
7037
|
| 474 |
+
7040
|
| 475 |
+
7156
|
| 476 |
+
7164
|
| 477 |
+
7224
|
| 478 |
+
7227
|
| 479 |
+
7242
|
| 480 |
+
7245
|
| 481 |
+
7296
|
| 482 |
+
7360
|
| 483 |
+
7368
|
| 484 |
+
7376
|
| 485 |
+
7415
|
| 486 |
+
7416
|
| 487 |
+
7418
|
| 488 |
+
7424
|
| 489 |
+
7670
|
| 490 |
+
7676
|
| 491 |
+
7958
|
| 492 |
+
7960
|
| 493 |
+
7966
|
| 494 |
+
7968
|
| 495 |
+
8006
|
| 496 |
+
8008
|
| 497 |
+
8014
|
| 498 |
+
8016
|
| 499 |
+
8024
|
| 500 |
+
8025
|
| 501 |
+
8026
|
| 502 |
+
8027
|
| 503 |
+
8028
|
| 504 |
+
8029
|
| 505 |
+
8030
|
| 506 |
+
8031
|
| 507 |
+
8062
|
| 508 |
+
8064
|
| 509 |
+
8117
|
| 510 |
+
8118
|
| 511 |
+
8133
|
| 512 |
+
8134
|
| 513 |
+
8148
|
| 514 |
+
8150
|
| 515 |
+
8156
|
| 516 |
+
8157
|
| 517 |
+
8176
|
| 518 |
+
8178
|
| 519 |
+
8181
|
| 520 |
+
8182
|
| 521 |
+
8191
|
| 522 |
+
8192
|
| 523 |
+
8293
|
| 524 |
+
8294
|
| 525 |
+
8306
|
| 526 |
+
8308
|
| 527 |
+
8335
|
| 528 |
+
8336
|
| 529 |
+
8349
|
| 530 |
+
8352
|
| 531 |
+
8382
|
| 532 |
+
8400
|
| 533 |
+
8433
|
| 534 |
+
8448
|
| 535 |
+
8586
|
| 536 |
+
8592
|
| 537 |
+
9211
|
| 538 |
+
9216
|
| 539 |
+
9255
|
| 540 |
+
9280
|
| 541 |
+
9291
|
| 542 |
+
9312
|
| 543 |
+
11124
|
| 544 |
+
11126
|
| 545 |
+
11158
|
| 546 |
+
11160
|
| 547 |
+
11194
|
| 548 |
+
11197
|
| 549 |
+
11209
|
| 550 |
+
11210
|
| 551 |
+
11218
|
| 552 |
+
11264
|
| 553 |
+
11311
|
| 554 |
+
11312
|
| 555 |
+
11359
|
| 556 |
+
11360
|
| 557 |
+
11508
|
| 558 |
+
11513
|
| 559 |
+
11558
|
| 560 |
+
11559
|
| 561 |
+
11560
|
| 562 |
+
11565
|
| 563 |
+
11566
|
| 564 |
+
11568
|
| 565 |
+
11624
|
| 566 |
+
11631
|
| 567 |
+
11633
|
| 568 |
+
11647
|
| 569 |
+
11671
|
| 570 |
+
11680
|
| 571 |
+
11687
|
| 572 |
+
11688
|
| 573 |
+
11695
|
| 574 |
+
11696
|
| 575 |
+
11703
|
| 576 |
+
11704
|
| 577 |
+
11711
|
| 578 |
+
11712
|
| 579 |
+
11719
|
| 580 |
+
11720
|
| 581 |
+
11727
|
| 582 |
+
11728
|
| 583 |
+
11735
|
| 584 |
+
11736
|
| 585 |
+
11743
|
| 586 |
+
11744
|
| 587 |
+
11843
|
| 588 |
+
11904
|
| 589 |
+
11930
|
| 590 |
+
11931
|
| 591 |
+
12020
|
| 592 |
+
12032
|
| 593 |
+
12246
|
| 594 |
+
12272
|
| 595 |
+
12284
|
| 596 |
+
12288
|
| 597 |
+
12352
|
| 598 |
+
12353
|
| 599 |
+
12439
|
| 600 |
+
12441
|
| 601 |
+
12544
|
| 602 |
+
12549
|
| 603 |
+
12590
|
| 604 |
+
12593
|
| 605 |
+
12687
|
| 606 |
+
12688
|
| 607 |
+
12731
|
| 608 |
+
12736
|
| 609 |
+
12772
|
| 610 |
+
12784
|
| 611 |
+
12831
|
| 612 |
+
12832
|
| 613 |
+
13055
|
| 614 |
+
13056
|
| 615 |
+
19894
|
| 616 |
+
19904
|
| 617 |
+
40909
|
| 618 |
+
40960
|
| 619 |
+
42125
|
| 620 |
+
42128
|
| 621 |
+
42183
|
| 622 |
+
42192
|
| 623 |
+
42540
|
| 624 |
+
42560
|
| 625 |
+
42654
|
| 626 |
+
42655
|
| 627 |
+
42744
|
| 628 |
+
42752
|
| 629 |
+
42895
|
| 630 |
+
42896
|
| 631 |
+
42926
|
| 632 |
+
42928
|
| 633 |
+
42930
|
| 634 |
+
42999
|
| 635 |
+
43052
|
| 636 |
+
43056
|
| 637 |
+
43066
|
| 638 |
+
43072
|
| 639 |
+
43128
|
| 640 |
+
43136
|
| 641 |
+
43205
|
| 642 |
+
43214
|
| 643 |
+
43226
|
| 644 |
+
43232
|
| 645 |
+
43260
|
| 646 |
+
43264
|
| 647 |
+
43348
|
| 648 |
+
43359
|
| 649 |
+
43389
|
| 650 |
+
43392
|
| 651 |
+
43470
|
| 652 |
+
43471
|
| 653 |
+
43482
|
| 654 |
+
43486
|
| 655 |
+
43519
|
| 656 |
+
43520
|
| 657 |
+
43575
|
| 658 |
+
43584
|
| 659 |
+
43598
|
| 660 |
+
43600
|
| 661 |
+
43610
|
| 662 |
+
43612
|
| 663 |
+
43715
|
| 664 |
+
43739
|
| 665 |
+
43767
|
| 666 |
+
43777
|
| 667 |
+
43783
|
| 668 |
+
43785
|
| 669 |
+
43791
|
| 670 |
+
43793
|
| 671 |
+
43799
|
| 672 |
+
43808
|
| 673 |
+
43815
|
| 674 |
+
43816
|
| 675 |
+
43823
|
| 676 |
+
43824
|
| 677 |
+
43872
|
| 678 |
+
43876
|
| 679 |
+
43878
|
| 680 |
+
43968
|
| 681 |
+
44014
|
| 682 |
+
44016
|
| 683 |
+
44026
|
| 684 |
+
44032
|
| 685 |
+
55204
|
| 686 |
+
55216
|
| 687 |
+
55239
|
| 688 |
+
55243
|
| 689 |
+
55292
|
| 690 |
+
55296
|
| 691 |
+
64110
|
| 692 |
+
64112
|
| 693 |
+
64218
|
| 694 |
+
64256
|
| 695 |
+
64263
|
| 696 |
+
64275
|
| 697 |
+
64280
|
| 698 |
+
64285
|
| 699 |
+
64311
|
| 700 |
+
64312
|
| 701 |
+
64317
|
| 702 |
+
64318
|
| 703 |
+
64319
|
| 704 |
+
64320
|
| 705 |
+
64322
|
| 706 |
+
64323
|
| 707 |
+
64325
|
| 708 |
+
64326
|
| 709 |
+
64450
|
| 710 |
+
64467
|
| 711 |
+
64832
|
| 712 |
+
64848
|
| 713 |
+
64912
|
| 714 |
+
64914
|
| 715 |
+
64968
|
| 716 |
+
64976
|
| 717 |
+
65022
|
| 718 |
+
65024
|
| 719 |
+
65050
|
| 720 |
+
65056
|
| 721 |
+
65070
|
| 722 |
+
65072
|
| 723 |
+
65107
|
| 724 |
+
65108
|
| 725 |
+
65127
|
| 726 |
+
65128
|
| 727 |
+
65132
|
| 728 |
+
65136
|
| 729 |
+
65141
|
| 730 |
+
65142
|
| 731 |
+
65277
|
| 732 |
+
65279
|
| 733 |
+
65280
|
| 734 |
+
65281
|
| 735 |
+
65471
|
| 736 |
+
65474
|
| 737 |
+
65480
|
| 738 |
+
65482
|
| 739 |
+
65488
|
| 740 |
+
65490
|
| 741 |
+
65496
|
| 742 |
+
65498
|
| 743 |
+
65501
|
| 744 |
+
65504
|
| 745 |
+
65511
|
| 746 |
+
65512
|
| 747 |
+
65519
|
| 748 |
+
65529
|
| 749 |
+
65548
|
| 750 |
+
65549
|
| 751 |
+
65575
|
| 752 |
+
65576
|
| 753 |
+
65595
|
| 754 |
+
65596
|
| 755 |
+
65598
|
| 756 |
+
65599
|
| 757 |
+
65614
|
| 758 |
+
65616
|
| 759 |
+
65630
|
| 760 |
+
65664
|
| 761 |
+
65787
|
| 762 |
+
65792
|
| 763 |
+
65795
|
| 764 |
+
65799
|
| 765 |
+
65844
|
| 766 |
+
65847
|
| 767 |
+
65933
|
| 768 |
+
65936
|
| 769 |
+
65948
|
| 770 |
+
65952
|
| 771 |
+
65953
|
| 772 |
+
66000
|
| 773 |
+
66046
|
| 774 |
+
66176
|
| 775 |
+
66205
|
| 776 |
+
66208
|
| 777 |
+
66257
|
| 778 |
+
66272
|
| 779 |
+
66300
|
| 780 |
+
66304
|
| 781 |
+
66340
|
| 782 |
+
66352
|
| 783 |
+
66379
|
| 784 |
+
66384
|
| 785 |
+
66427
|
| 786 |
+
66432
|
| 787 |
+
66462
|
| 788 |
+
66463
|
| 789 |
+
66500
|
| 790 |
+
66504
|
| 791 |
+
66518
|
| 792 |
+
66560
|
| 793 |
+
66718
|
| 794 |
+
66720
|
| 795 |
+
66730
|
| 796 |
+
66816
|
| 797 |
+
66856
|
| 798 |
+
66864
|
| 799 |
+
66916
|
| 800 |
+
66927
|
| 801 |
+
66928
|
| 802 |
+
67072
|
| 803 |
+
67383
|
| 804 |
+
67392
|
| 805 |
+
67414
|
| 806 |
+
67424
|
| 807 |
+
67432
|
| 808 |
+
67584
|
| 809 |
+
67590
|
| 810 |
+
67592
|
| 811 |
+
67593
|
| 812 |
+
67594
|
| 813 |
+
67638
|
| 814 |
+
67639
|
| 815 |
+
67641
|
| 816 |
+
67644
|
| 817 |
+
67645
|
| 818 |
+
67647
|
| 819 |
+
67670
|
| 820 |
+
67671
|
| 821 |
+
67743
|
| 822 |
+
67751
|
| 823 |
+
67760
|
| 824 |
+
67840
|
| 825 |
+
67868
|
| 826 |
+
67871
|
| 827 |
+
67898
|
| 828 |
+
67903
|
| 829 |
+
67904
|
| 830 |
+
67968
|
| 831 |
+
68024
|
| 832 |
+
68030
|
| 833 |
+
68032
|
| 834 |
+
68096
|
| 835 |
+
68100
|
| 836 |
+
68101
|
| 837 |
+
68103
|
| 838 |
+
68108
|
| 839 |
+
68116
|
| 840 |
+
68117
|
| 841 |
+
68120
|
| 842 |
+
68121
|
| 843 |
+
68148
|
| 844 |
+
68152
|
| 845 |
+
68155
|
| 846 |
+
68159
|
| 847 |
+
68168
|
| 848 |
+
68176
|
| 849 |
+
68185
|
| 850 |
+
68192
|
| 851 |
+
68256
|
| 852 |
+
68288
|
| 853 |
+
68327
|
| 854 |
+
68331
|
| 855 |
+
68343
|
| 856 |
+
68352
|
| 857 |
+
68406
|
| 858 |
+
68409
|
| 859 |
+
68438
|
| 860 |
+
68440
|
| 861 |
+
68467
|
| 862 |
+
68472
|
| 863 |
+
68498
|
| 864 |
+
68505
|
| 865 |
+
68509
|
| 866 |
+
68521
|
| 867 |
+
68528
|
| 868 |
+
68608
|
| 869 |
+
68681
|
| 870 |
+
69216
|
| 871 |
+
69247
|
| 872 |
+
69632
|
| 873 |
+
69710
|
| 874 |
+
69714
|
| 875 |
+
69744
|
| 876 |
+
69759
|
| 877 |
+
69826
|
| 878 |
+
69840
|
| 879 |
+
69865
|
| 880 |
+
69872
|
| 881 |
+
69882
|
| 882 |
+
69888
|
| 883 |
+
69941
|
| 884 |
+
69942
|
| 885 |
+
69956
|
| 886 |
+
69968
|
| 887 |
+
70007
|
| 888 |
+
70016
|
| 889 |
+
70089
|
| 890 |
+
70093
|
| 891 |
+
70094
|
| 892 |
+
70096
|
| 893 |
+
70107
|
| 894 |
+
70113
|
| 895 |
+
70133
|
| 896 |
+
70144
|
| 897 |
+
70162
|
| 898 |
+
70163
|
| 899 |
+
70206
|
| 900 |
+
70320
|
| 901 |
+
70379
|
| 902 |
+
70384
|
| 903 |
+
70394
|
| 904 |
+
70401
|
| 905 |
+
70404
|
| 906 |
+
70405
|
| 907 |
+
70413
|
| 908 |
+
70415
|
| 909 |
+
70417
|
| 910 |
+
70419
|
| 911 |
+
70441
|
| 912 |
+
70442
|
| 913 |
+
70449
|
| 914 |
+
70450
|
| 915 |
+
70452
|
| 916 |
+
70453
|
| 917 |
+
70458
|
| 918 |
+
70460
|
| 919 |
+
70469
|
| 920 |
+
70471
|
| 921 |
+
70473
|
| 922 |
+
70475
|
| 923 |
+
70478
|
| 924 |
+
70487
|
| 925 |
+
70488
|
| 926 |
+
70493
|
| 927 |
+
70500
|
| 928 |
+
70502
|
| 929 |
+
70509
|
| 930 |
+
70512
|
| 931 |
+
70517
|
| 932 |
+
70784
|
| 933 |
+
70856
|
| 934 |
+
70864
|
| 935 |
+
70874
|
| 936 |
+
71040
|
| 937 |
+
71094
|
| 938 |
+
71096
|
| 939 |
+
71114
|
| 940 |
+
71168
|
| 941 |
+
71237
|
| 942 |
+
71248
|
| 943 |
+
71258
|
| 944 |
+
71296
|
| 945 |
+
71352
|
| 946 |
+
71360
|
| 947 |
+
71370
|
| 948 |
+
71840
|
| 949 |
+
71923
|
| 950 |
+
71935
|
| 951 |
+
71936
|
| 952 |
+
72384
|
| 953 |
+
72441
|
| 954 |
+
73728
|
| 955 |
+
74649
|
| 956 |
+
74752
|
| 957 |
+
74863
|
| 958 |
+
74864
|
| 959 |
+
74869
|
| 960 |
+
77824
|
| 961 |
+
78895
|
| 962 |
+
92160
|
| 963 |
+
92729
|
| 964 |
+
92736
|
| 965 |
+
92767
|
| 966 |
+
92768
|
| 967 |
+
92778
|
| 968 |
+
92782
|
| 969 |
+
92784
|
| 970 |
+
92880
|
| 971 |
+
92910
|
| 972 |
+
92912
|
| 973 |
+
92918
|
| 974 |
+
92928
|
| 975 |
+
92998
|
| 976 |
+
93008
|
| 977 |
+
93018
|
| 978 |
+
93019
|
| 979 |
+
93026
|
| 980 |
+
93027
|
| 981 |
+
93048
|
| 982 |
+
93053
|
| 983 |
+
93072
|
| 984 |
+
93952
|
| 985 |
+
94021
|
| 986 |
+
94032
|
| 987 |
+
94079
|
| 988 |
+
94095
|
| 989 |
+
94112
|
| 990 |
+
110592
|
| 991 |
+
110594
|
| 992 |
+
113664
|
| 993 |
+
113771
|
| 994 |
+
113776
|
| 995 |
+
113789
|
| 996 |
+
113792
|
| 997 |
+
113801
|
| 998 |
+
113808
|
| 999 |
+
113818
|
| 1000 |
+
113820
|
| 1001 |
+
113828
|
| 1002 |
+
118784
|
| 1003 |
+
119030
|
| 1004 |
+
119040
|
| 1005 |
+
119079
|
| 1006 |
+
119081
|
| 1007 |
+
119262
|
| 1008 |
+
119296
|
| 1009 |
+
119366
|
| 1010 |
+
119552
|
| 1011 |
+
119639
|
| 1012 |
+
119648
|
| 1013 |
+
119666
|
| 1014 |
+
119808
|
| 1015 |
+
119893
|
| 1016 |
+
119894
|
| 1017 |
+
119965
|
| 1018 |
+
119966
|
| 1019 |
+
119968
|
| 1020 |
+
119970
|
| 1021 |
+
119971
|
| 1022 |
+
119973
|
| 1023 |
+
119975
|
| 1024 |
+
119977
|
| 1025 |
+
119981
|
| 1026 |
+
119982
|
| 1027 |
+
119994
|
| 1028 |
+
119995
|
| 1029 |
+
119996
|
| 1030 |
+
119997
|
| 1031 |
+
120004
|
| 1032 |
+
120005
|
| 1033 |
+
120070
|
| 1034 |
+
120071
|
| 1035 |
+
120075
|
| 1036 |
+
120077
|
| 1037 |
+
120085
|
| 1038 |
+
120086
|
| 1039 |
+
120093
|
| 1040 |
+
120094
|
| 1041 |
+
120122
|
| 1042 |
+
120123
|
| 1043 |
+
120127
|
| 1044 |
+
120128
|
| 1045 |
+
120133
|
| 1046 |
+
120134
|
| 1047 |
+
120135
|
| 1048 |
+
120138
|
| 1049 |
+
120145
|
| 1050 |
+
120146
|
| 1051 |
+
120486
|
| 1052 |
+
120488
|
| 1053 |
+
120780
|
| 1054 |
+
120782
|
| 1055 |
+
120832
|
| 1056 |
+
124928
|
| 1057 |
+
125125
|
| 1058 |
+
125127
|
| 1059 |
+
125143
|
| 1060 |
+
126464
|
| 1061 |
+
126468
|
| 1062 |
+
126469
|
| 1063 |
+
126496
|
| 1064 |
+
126497
|
| 1065 |
+
126499
|
| 1066 |
+
126500
|
| 1067 |
+
126501
|
| 1068 |
+
126503
|
| 1069 |
+
126504
|
| 1070 |
+
126505
|
| 1071 |
+
126515
|
| 1072 |
+
126516
|
| 1073 |
+
126520
|
| 1074 |
+
126521
|
| 1075 |
+
126522
|
| 1076 |
+
126523
|
| 1077 |
+
126524
|
| 1078 |
+
126530
|
| 1079 |
+
126531
|
| 1080 |
+
126535
|
| 1081 |
+
126536
|
| 1082 |
+
126537
|
| 1083 |
+
126538
|
| 1084 |
+
126539
|
| 1085 |
+
126540
|
| 1086 |
+
126541
|
| 1087 |
+
126544
|
| 1088 |
+
126545
|
| 1089 |
+
126547
|
| 1090 |
+
126548
|
| 1091 |
+
126549
|
| 1092 |
+
126551
|
| 1093 |
+
126552
|
| 1094 |
+
126553
|
| 1095 |
+
126554
|
| 1096 |
+
126555
|
| 1097 |
+
126556
|
| 1098 |
+
126557
|
| 1099 |
+
126558
|
| 1100 |
+
126559
|
| 1101 |
+
126560
|
| 1102 |
+
126561
|
| 1103 |
+
126563
|
| 1104 |
+
126564
|
| 1105 |
+
126565
|
| 1106 |
+
126567
|
| 1107 |
+
126571
|
| 1108 |
+
126572
|
| 1109 |
+
126579
|
| 1110 |
+
126580
|
| 1111 |
+
126584
|
| 1112 |
+
126585
|
| 1113 |
+
126589
|
| 1114 |
+
126590
|
| 1115 |
+
126591
|
| 1116 |
+
126592
|
| 1117 |
+
126602
|
| 1118 |
+
126603
|
| 1119 |
+
126620
|
| 1120 |
+
126625
|
| 1121 |
+
126628
|
| 1122 |
+
126629
|
| 1123 |
+
126634
|
| 1124 |
+
126635
|
| 1125 |
+
126652
|
| 1126 |
+
126704
|
| 1127 |
+
126706
|
| 1128 |
+
126976
|
| 1129 |
+
127020
|
| 1130 |
+
127024
|
| 1131 |
+
127124
|
| 1132 |
+
127136
|
| 1133 |
+
127151
|
| 1134 |
+
127153
|
| 1135 |
+
127168
|
| 1136 |
+
127169
|
| 1137 |
+
127184
|
| 1138 |
+
127185
|
| 1139 |
+
127222
|
| 1140 |
+
127232
|
| 1141 |
+
127245
|
| 1142 |
+
127248
|
| 1143 |
+
127279
|
| 1144 |
+
127280
|
| 1145 |
+
127340
|
| 1146 |
+
127344
|
| 1147 |
+
127387
|
| 1148 |
+
127462
|
| 1149 |
+
127491
|
| 1150 |
+
127504
|
| 1151 |
+
127547
|
| 1152 |
+
127552
|
| 1153 |
+
127561
|
| 1154 |
+
127568
|
| 1155 |
+
127570
|
| 1156 |
+
127744
|
| 1157 |
+
127789
|
| 1158 |
+
127792
|
| 1159 |
+
127870
|
| 1160 |
+
127872
|
| 1161 |
+
127951
|
| 1162 |
+
127956
|
| 1163 |
+
127992
|
| 1164 |
+
128000
|
| 1165 |
+
128255
|
| 1166 |
+
128256
|
| 1167 |
+
128331
|
| 1168 |
+
128336
|
| 1169 |
+
128378
|
| 1170 |
+
128379
|
| 1171 |
+
128420
|
| 1172 |
+
128421
|
| 1173 |
+
128579
|
| 1174 |
+
128581
|
| 1175 |
+
128720
|
| 1176 |
+
128736
|
| 1177 |
+
128749
|
| 1178 |
+
128752
|
| 1179 |
+
128756
|
| 1180 |
+
128768
|
| 1181 |
+
128884
|
| 1182 |
+
128896
|
| 1183 |
+
128981
|
| 1184 |
+
129024
|
| 1185 |
+
129036
|
| 1186 |
+
129040
|
| 1187 |
+
129096
|
| 1188 |
+
129104
|
| 1189 |
+
129114
|
| 1190 |
+
129120
|
| 1191 |
+
129160
|
| 1192 |
+
129168
|
| 1193 |
+
129198
|
| 1194 |
+
131070
|
| 1195 |
+
173783
|
| 1196 |
+
173824
|
| 1197 |
+
177973
|
| 1198 |
+
177984
|
| 1199 |
+
178206
|
| 1200 |
+
194560
|
| 1201 |
+
195102
|
| 1202 |
+
196606
|
| 1203 |
+
196608
|
| 1204 |
+
262142
|
| 1205 |
+
262144
|
| 1206 |
+
327678
|
| 1207 |
+
327680
|
| 1208 |
+
393214
|
| 1209 |
+
393216
|
| 1210 |
+
458750
|
| 1211 |
+
458752
|
| 1212 |
+
524286
|
| 1213 |
+
524288
|
| 1214 |
+
589822
|
| 1215 |
+
589824
|
| 1216 |
+
655358
|
| 1217 |
+
655360
|
| 1218 |
+
720894
|
| 1219 |
+
720896
|
| 1220 |
+
786430
|
| 1221 |
+
786432
|
| 1222 |
+
851966
|
| 1223 |
+
851968
|
| 1224 |
+
917502
|
| 1225 |
+
917504
|
| 1226 |
+
917505
|
| 1227 |
+
917506
|
| 1228 |
+
917536
|
| 1229 |
+
917632
|
| 1230 |
+
917760
|
| 1231 |
+
918000
|
| 1232 |
+
983038
|
| 1233 |
+
1114112
|
| 1234 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/InPC/Right.pl
ADDED
|
@@ -0,0 +1,336 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V322
|
| 14 |
+
2307
|
| 15 |
+
2308
|
| 16 |
+
2363
|
| 17 |
+
2364
|
| 18 |
+
2366
|
| 19 |
+
2367
|
| 20 |
+
2368
|
| 21 |
+
2369
|
| 22 |
+
2377
|
| 23 |
+
2381
|
| 24 |
+
2383
|
| 25 |
+
2384
|
| 26 |
+
2434
|
| 27 |
+
2436
|
| 28 |
+
2494
|
| 29 |
+
2495
|
| 30 |
+
2496
|
| 31 |
+
2497
|
| 32 |
+
2519
|
| 33 |
+
2520
|
| 34 |
+
2563
|
| 35 |
+
2564
|
| 36 |
+
2622
|
| 37 |
+
2623
|
| 38 |
+
2624
|
| 39 |
+
2625
|
| 40 |
+
2691
|
| 41 |
+
2692
|
| 42 |
+
2750
|
| 43 |
+
2751
|
| 44 |
+
2752
|
| 45 |
+
2753
|
| 46 |
+
2763
|
| 47 |
+
2765
|
| 48 |
+
2818
|
| 49 |
+
2820
|
| 50 |
+
2878
|
| 51 |
+
2879
|
| 52 |
+
2880
|
| 53 |
+
2881
|
| 54 |
+
3006
|
| 55 |
+
3008
|
| 56 |
+
3009
|
| 57 |
+
3011
|
| 58 |
+
3031
|
| 59 |
+
3032
|
| 60 |
+
3073
|
| 61 |
+
3076
|
| 62 |
+
3137
|
| 63 |
+
3141
|
| 64 |
+
3202
|
| 65 |
+
3204
|
| 66 |
+
3262
|
| 67 |
+
3263
|
| 68 |
+
3265
|
| 69 |
+
3269
|
| 70 |
+
3285
|
| 71 |
+
3287
|
| 72 |
+
3330
|
| 73 |
+
3332
|
| 74 |
+
3390
|
| 75 |
+
3395
|
| 76 |
+
3415
|
| 77 |
+
3416
|
| 78 |
+
3458
|
| 79 |
+
3460
|
| 80 |
+
3535
|
| 81 |
+
3538
|
| 82 |
+
3544
|
| 83 |
+
3545
|
| 84 |
+
3551
|
| 85 |
+
3552
|
| 86 |
+
3570
|
| 87 |
+
3572
|
| 88 |
+
3632
|
| 89 |
+
3633
|
| 90 |
+
3634
|
| 91 |
+
3636
|
| 92 |
+
3653
|
| 93 |
+
3654
|
| 94 |
+
3760
|
| 95 |
+
3761
|
| 96 |
+
3762
|
| 97 |
+
3764
|
| 98 |
+
3902
|
| 99 |
+
3903
|
| 100 |
+
3967
|
| 101 |
+
3968
|
| 102 |
+
4139
|
| 103 |
+
4141
|
| 104 |
+
4152
|
| 105 |
+
4153
|
| 106 |
+
4155
|
| 107 |
+
4156
|
| 108 |
+
4182
|
| 109 |
+
4184
|
| 110 |
+
4194
|
| 111 |
+
4197
|
| 112 |
+
4199
|
| 113 |
+
4206
|
| 114 |
+
4227
|
| 115 |
+
4228
|
| 116 |
+
4231
|
| 117 |
+
4237
|
| 118 |
+
4239
|
| 119 |
+
4240
|
| 120 |
+
4250
|
| 121 |
+
4253
|
| 122 |
+
6070
|
| 123 |
+
6071
|
| 124 |
+
6087
|
| 125 |
+
6089
|
| 126 |
+
6435
|
| 127 |
+
6437
|
| 128 |
+
6441
|
| 129 |
+
6444
|
| 130 |
+
6448
|
| 131 |
+
6450
|
| 132 |
+
6451
|
| 133 |
+
6457
|
| 134 |
+
6576
|
| 135 |
+
6581
|
| 136 |
+
6584
|
| 137 |
+
6586
|
| 138 |
+
6587
|
| 139 |
+
6593
|
| 140 |
+
6600
|
| 141 |
+
6602
|
| 142 |
+
6682
|
| 143 |
+
6683
|
| 144 |
+
6743
|
| 145 |
+
6744
|
| 146 |
+
6753
|
| 147 |
+
6754
|
| 148 |
+
6755
|
| 149 |
+
6757
|
| 150 |
+
6765
|
| 151 |
+
6766
|
| 152 |
+
6916
|
| 153 |
+
6917
|
| 154 |
+
6965
|
| 155 |
+
6966
|
| 156 |
+
6980
|
| 157 |
+
6981
|
| 158 |
+
7042
|
| 159 |
+
7043
|
| 160 |
+
7073
|
| 161 |
+
7074
|
| 162 |
+
7079
|
| 163 |
+
7080
|
| 164 |
+
7082
|
| 165 |
+
7083
|
| 166 |
+
7143
|
| 167 |
+
7144
|
| 168 |
+
7146
|
| 169 |
+
7149
|
| 170 |
+
7150
|
| 171 |
+
7151
|
| 172 |
+
7154
|
| 173 |
+
7156
|
| 174 |
+
7204
|
| 175 |
+
7207
|
| 176 |
+
7210
|
| 177 |
+
7212
|
| 178 |
+
7393
|
| 179 |
+
7394
|
| 180 |
+
7415
|
| 181 |
+
7416
|
| 182 |
+
43043
|
| 183 |
+
43045
|
| 184 |
+
43047
|
| 185 |
+
43048
|
| 186 |
+
43136
|
| 187 |
+
43138
|
| 188 |
+
43188
|
| 189 |
+
43204
|
| 190 |
+
43346
|
| 191 |
+
43348
|
| 192 |
+
43395
|
| 193 |
+
43396
|
| 194 |
+
43444
|
| 195 |
+
43446
|
| 196 |
+
43454
|
| 197 |
+
43455
|
| 198 |
+
43571
|
| 199 |
+
43572
|
| 200 |
+
43597
|
| 201 |
+
43598
|
| 202 |
+
43643
|
| 203 |
+
43644
|
| 204 |
+
43645
|
| 205 |
+
43646
|
| 206 |
+
43697
|
| 207 |
+
43698
|
| 208 |
+
43706
|
| 209 |
+
43707
|
| 210 |
+
43709
|
| 211 |
+
43710
|
| 212 |
+
43759
|
| 213 |
+
43760
|
| 214 |
+
43765
|
| 215 |
+
43766
|
| 216 |
+
44003
|
| 217 |
+
44005
|
| 218 |
+
44006
|
| 219 |
+
44008
|
| 220 |
+
44009
|
| 221 |
+
44011
|
| 222 |
+
44012
|
| 223 |
+
44013
|
| 224 |
+
69632
|
| 225 |
+
69633
|
| 226 |
+
69634
|
| 227 |
+
69635
|
| 228 |
+
69762
|
| 229 |
+
69763
|
| 230 |
+
69808
|
| 231 |
+
69809
|
| 232 |
+
69810
|
| 233 |
+
69811
|
| 234 |
+
69815
|
| 235 |
+
69817
|
| 236 |
+
69957
|
| 237 |
+
69959
|
| 238 |
+
70018
|
| 239 |
+
70019
|
| 240 |
+
70067
|
| 241 |
+
70068
|
| 242 |
+
70069
|
| 243 |
+
70070
|
| 244 |
+
70080
|
| 245 |
+
70081
|
| 246 |
+
70188
|
| 247 |
+
70191
|
| 248 |
+
70197
|
| 249 |
+
70198
|
| 250 |
+
70368
|
| 251 |
+
70369
|
| 252 |
+
70370
|
| 253 |
+
70371
|
| 254 |
+
70402
|
| 255 |
+
70404
|
| 256 |
+
70462
|
| 257 |
+
70464
|
| 258 |
+
70465
|
| 259 |
+
70469
|
| 260 |
+
70477
|
| 261 |
+
70478
|
| 262 |
+
70487
|
| 263 |
+
70488
|
| 264 |
+
70498
|
| 265 |
+
70500
|
| 266 |
+
70709
|
| 267 |
+
70710
|
| 268 |
+
70711
|
| 269 |
+
70712
|
| 270 |
+
70720
|
| 271 |
+
70722
|
| 272 |
+
70725
|
| 273 |
+
70726
|
| 274 |
+
70832
|
| 275 |
+
70833
|
| 276 |
+
70834
|
| 277 |
+
70835
|
| 278 |
+
70845
|
| 279 |
+
70846
|
| 280 |
+
70849
|
| 281 |
+
70850
|
| 282 |
+
71087
|
| 283 |
+
71088
|
| 284 |
+
71089
|
| 285 |
+
71090
|
| 286 |
+
71102
|
| 287 |
+
71103
|
| 288 |
+
71216
|
| 289 |
+
71219
|
| 290 |
+
71227
|
| 291 |
+
71229
|
| 292 |
+
71230
|
| 293 |
+
71231
|
| 294 |
+
71340
|
| 295 |
+
71341
|
| 296 |
+
71343
|
| 297 |
+
71344
|
| 298 |
+
71350
|
| 299 |
+
71351
|
| 300 |
+
71456
|
| 301 |
+
71458
|
| 302 |
+
71724
|
| 303 |
+
71725
|
| 304 |
+
71726
|
| 305 |
+
71727
|
| 306 |
+
71736
|
| 307 |
+
71737
|
| 308 |
+
72145
|
| 309 |
+
72146
|
| 310 |
+
72147
|
| 311 |
+
72148
|
| 312 |
+
72156
|
| 313 |
+
72160
|
| 314 |
+
72249
|
| 315 |
+
72250
|
| 316 |
+
72279
|
| 317 |
+
72281
|
| 318 |
+
72343
|
| 319 |
+
72344
|
| 320 |
+
72751
|
| 321 |
+
72752
|
| 322 |
+
72766
|
| 323 |
+
72767
|
| 324 |
+
72873
|
| 325 |
+
72874
|
| 326 |
+
72884
|
| 327 |
+
72885
|
| 328 |
+
73098
|
| 329 |
+
73103
|
| 330 |
+
73107
|
| 331 |
+
73109
|
| 332 |
+
73110
|
| 333 |
+
73111
|
| 334 |
+
73462
|
| 335 |
+
73463
|
| 336 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/InPC/TopAndL2.pl
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V8
|
| 14 |
+
2892
|
| 15 |
+
2893
|
| 16 |
+
3549
|
| 17 |
+
3550
|
| 18 |
+
6079
|
| 19 |
+
6080
|
| 20 |
+
71099
|
| 21 |
+
71100
|
| 22 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/InPC/TopAndLe.pl
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V12
|
| 14 |
+
2888
|
| 15 |
+
2889
|
| 16 |
+
3546
|
| 17 |
+
3547
|
| 18 |
+
6078
|
| 19 |
+
6079
|
| 20 |
+
7209
|
| 21 |
+
7210
|
| 22 |
+
70843
|
| 23 |
+
70844
|
| 24 |
+
71097
|
| 25 |
+
71098
|
| 26 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/NFKDQC/Y.pl
ADDED
|
@@ -0,0 +1,793 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V779
|
| 14 |
+
0
|
| 15 |
+
160
|
| 16 |
+
161
|
| 17 |
+
168
|
| 18 |
+
169
|
| 19 |
+
170
|
| 20 |
+
171
|
| 21 |
+
175
|
| 22 |
+
176
|
| 23 |
+
178
|
| 24 |
+
182
|
| 25 |
+
184
|
| 26 |
+
187
|
| 27 |
+
188
|
| 28 |
+
191
|
| 29 |
+
192
|
| 30 |
+
198
|
| 31 |
+
199
|
| 32 |
+
208
|
| 33 |
+
209
|
| 34 |
+
215
|
| 35 |
+
217
|
| 36 |
+
222
|
| 37 |
+
224
|
| 38 |
+
230
|
| 39 |
+
231
|
| 40 |
+
240
|
| 41 |
+
241
|
| 42 |
+
247
|
| 43 |
+
249
|
| 44 |
+
254
|
| 45 |
+
255
|
| 46 |
+
272
|
| 47 |
+
274
|
| 48 |
+
294
|
| 49 |
+
296
|
| 50 |
+
305
|
| 51 |
+
306
|
| 52 |
+
312
|
| 53 |
+
313
|
| 54 |
+
321
|
| 55 |
+
323
|
| 56 |
+
330
|
| 57 |
+
332
|
| 58 |
+
338
|
| 59 |
+
340
|
| 60 |
+
358
|
| 61 |
+
360
|
| 62 |
+
384
|
| 63 |
+
416
|
| 64 |
+
418
|
| 65 |
+
431
|
| 66 |
+
433
|
| 67 |
+
452
|
| 68 |
+
477
|
| 69 |
+
478
|
| 70 |
+
484
|
| 71 |
+
486
|
| 72 |
+
502
|
| 73 |
+
504
|
| 74 |
+
540
|
| 75 |
+
542
|
| 76 |
+
544
|
| 77 |
+
550
|
| 78 |
+
564
|
| 79 |
+
688
|
| 80 |
+
697
|
| 81 |
+
728
|
| 82 |
+
734
|
| 83 |
+
736
|
| 84 |
+
741
|
| 85 |
+
832
|
| 86 |
+
834
|
| 87 |
+
835
|
| 88 |
+
837
|
| 89 |
+
884
|
| 90 |
+
885
|
| 91 |
+
890
|
| 92 |
+
891
|
| 93 |
+
894
|
| 94 |
+
895
|
| 95 |
+
900
|
| 96 |
+
907
|
| 97 |
+
908
|
| 98 |
+
909
|
| 99 |
+
910
|
| 100 |
+
913
|
| 101 |
+
938
|
| 102 |
+
945
|
| 103 |
+
970
|
| 104 |
+
975
|
| 105 |
+
976
|
| 106 |
+
983
|
| 107 |
+
1008
|
| 108 |
+
1011
|
| 109 |
+
1012
|
| 110 |
+
1014
|
| 111 |
+
1017
|
| 112 |
+
1018
|
| 113 |
+
1024
|
| 114 |
+
1026
|
| 115 |
+
1027
|
| 116 |
+
1028
|
| 117 |
+
1031
|
| 118 |
+
1032
|
| 119 |
+
1036
|
| 120 |
+
1039
|
| 121 |
+
1049
|
| 122 |
+
1050
|
| 123 |
+
1081
|
| 124 |
+
1082
|
| 125 |
+
1104
|
| 126 |
+
1106
|
| 127 |
+
1107
|
| 128 |
+
1108
|
| 129 |
+
1111
|
| 130 |
+
1112
|
| 131 |
+
1116
|
| 132 |
+
1119
|
| 133 |
+
1142
|
| 134 |
+
1144
|
| 135 |
+
1217
|
| 136 |
+
1219
|
| 137 |
+
1232
|
| 138 |
+
1236
|
| 139 |
+
1238
|
| 140 |
+
1240
|
| 141 |
+
1242
|
| 142 |
+
1248
|
| 143 |
+
1250
|
| 144 |
+
1256
|
| 145 |
+
1258
|
| 146 |
+
1270
|
| 147 |
+
1272
|
| 148 |
+
1274
|
| 149 |
+
1415
|
| 150 |
+
1416
|
| 151 |
+
1570
|
| 152 |
+
1575
|
| 153 |
+
1653
|
| 154 |
+
1657
|
| 155 |
+
1728
|
| 156 |
+
1729
|
| 157 |
+
1730
|
| 158 |
+
1731
|
| 159 |
+
1747
|
| 160 |
+
1748
|
| 161 |
+
2345
|
| 162 |
+
2346
|
| 163 |
+
2353
|
| 164 |
+
2354
|
| 165 |
+
2356
|
| 166 |
+
2357
|
| 167 |
+
2392
|
| 168 |
+
2400
|
| 169 |
+
2507
|
| 170 |
+
2509
|
| 171 |
+
2524
|
| 172 |
+
2526
|
| 173 |
+
2527
|
| 174 |
+
2528
|
| 175 |
+
2611
|
| 176 |
+
2612
|
| 177 |
+
2614
|
| 178 |
+
2615
|
| 179 |
+
2649
|
| 180 |
+
2652
|
| 181 |
+
2654
|
| 182 |
+
2655
|
| 183 |
+
2888
|
| 184 |
+
2889
|
| 185 |
+
2891
|
| 186 |
+
2893
|
| 187 |
+
2908
|
| 188 |
+
2910
|
| 189 |
+
2964
|
| 190 |
+
2965
|
| 191 |
+
3018
|
| 192 |
+
3021
|
| 193 |
+
3144
|
| 194 |
+
3145
|
| 195 |
+
3264
|
| 196 |
+
3265
|
| 197 |
+
3271
|
| 198 |
+
3273
|
| 199 |
+
3274
|
| 200 |
+
3276
|
| 201 |
+
3402
|
| 202 |
+
3405
|
| 203 |
+
3546
|
| 204 |
+
3547
|
| 205 |
+
3548
|
| 206 |
+
3551
|
| 207 |
+
3635
|
| 208 |
+
3636
|
| 209 |
+
3763
|
| 210 |
+
3764
|
| 211 |
+
3804
|
| 212 |
+
3806
|
| 213 |
+
3852
|
| 214 |
+
3853
|
| 215 |
+
3907
|
| 216 |
+
3908
|
| 217 |
+
3917
|
| 218 |
+
3918
|
| 219 |
+
3922
|
| 220 |
+
3923
|
| 221 |
+
3927
|
| 222 |
+
3928
|
| 223 |
+
3932
|
| 224 |
+
3933
|
| 225 |
+
3945
|
| 226 |
+
3946
|
| 227 |
+
3955
|
| 228 |
+
3956
|
| 229 |
+
3957
|
| 230 |
+
3962
|
| 231 |
+
3969
|
| 232 |
+
3970
|
| 233 |
+
3987
|
| 234 |
+
3988
|
| 235 |
+
3997
|
| 236 |
+
3998
|
| 237 |
+
4002
|
| 238 |
+
4003
|
| 239 |
+
4007
|
| 240 |
+
4008
|
| 241 |
+
4012
|
| 242 |
+
4013
|
| 243 |
+
4025
|
| 244 |
+
4026
|
| 245 |
+
4134
|
| 246 |
+
4135
|
| 247 |
+
4348
|
| 248 |
+
4349
|
| 249 |
+
6918
|
| 250 |
+
6919
|
| 251 |
+
6920
|
| 252 |
+
6921
|
| 253 |
+
6922
|
| 254 |
+
6923
|
| 255 |
+
6924
|
| 256 |
+
6925
|
| 257 |
+
6926
|
| 258 |
+
6927
|
| 259 |
+
6930
|
| 260 |
+
6931
|
| 261 |
+
6971
|
| 262 |
+
6972
|
| 263 |
+
6973
|
| 264 |
+
6974
|
| 265 |
+
6976
|
| 266 |
+
6978
|
| 267 |
+
6979
|
| 268 |
+
6980
|
| 269 |
+
7468
|
| 270 |
+
7471
|
| 271 |
+
7472
|
| 272 |
+
7483
|
| 273 |
+
7484
|
| 274 |
+
7502
|
| 275 |
+
7503
|
| 276 |
+
7531
|
| 277 |
+
7544
|
| 278 |
+
7545
|
| 279 |
+
7579
|
| 280 |
+
7616
|
| 281 |
+
7680
|
| 282 |
+
7836
|
| 283 |
+
7840
|
| 284 |
+
7930
|
| 285 |
+
7936
|
| 286 |
+
7958
|
| 287 |
+
7960
|
| 288 |
+
7966
|
| 289 |
+
7968
|
| 290 |
+
8006
|
| 291 |
+
8008
|
| 292 |
+
8014
|
| 293 |
+
8016
|
| 294 |
+
8024
|
| 295 |
+
8025
|
| 296 |
+
8026
|
| 297 |
+
8027
|
| 298 |
+
8028
|
| 299 |
+
8029
|
| 300 |
+
8030
|
| 301 |
+
8031
|
| 302 |
+
8062
|
| 303 |
+
8064
|
| 304 |
+
8117
|
| 305 |
+
8118
|
| 306 |
+
8133
|
| 307 |
+
8134
|
| 308 |
+
8148
|
| 309 |
+
8150
|
| 310 |
+
8156
|
| 311 |
+
8157
|
| 312 |
+
8176
|
| 313 |
+
8178
|
| 314 |
+
8181
|
| 315 |
+
8182
|
| 316 |
+
8191
|
| 317 |
+
8192
|
| 318 |
+
8203
|
| 319 |
+
8209
|
| 320 |
+
8210
|
| 321 |
+
8215
|
| 322 |
+
8216
|
| 323 |
+
8228
|
| 324 |
+
8231
|
| 325 |
+
8239
|
| 326 |
+
8240
|
| 327 |
+
8243
|
| 328 |
+
8245
|
| 329 |
+
8246
|
| 330 |
+
8248
|
| 331 |
+
8252
|
| 332 |
+
8253
|
| 333 |
+
8254
|
| 334 |
+
8255
|
| 335 |
+
8263
|
| 336 |
+
8266
|
| 337 |
+
8279
|
| 338 |
+
8280
|
| 339 |
+
8287
|
| 340 |
+
8288
|
| 341 |
+
8304
|
| 342 |
+
8306
|
| 343 |
+
8308
|
| 344 |
+
8335
|
| 345 |
+
8336
|
| 346 |
+
8349
|
| 347 |
+
8360
|
| 348 |
+
8361
|
| 349 |
+
8448
|
| 350 |
+
8452
|
| 351 |
+
8453
|
| 352 |
+
8456
|
| 353 |
+
8457
|
| 354 |
+
8468
|
| 355 |
+
8469
|
| 356 |
+
8471
|
| 357 |
+
8473
|
| 358 |
+
8478
|
| 359 |
+
8480
|
| 360 |
+
8483
|
| 361 |
+
8484
|
| 362 |
+
8485
|
| 363 |
+
8486
|
| 364 |
+
8487
|
| 365 |
+
8488
|
| 366 |
+
8489
|
| 367 |
+
8490
|
| 368 |
+
8494
|
| 369 |
+
8495
|
| 370 |
+
8498
|
| 371 |
+
8499
|
| 372 |
+
8506
|
| 373 |
+
8507
|
| 374 |
+
8513
|
| 375 |
+
8517
|
| 376 |
+
8522
|
| 377 |
+
8528
|
| 378 |
+
8576
|
| 379 |
+
8585
|
| 380 |
+
8586
|
| 381 |
+
8602
|
| 382 |
+
8604
|
| 383 |
+
8622
|
| 384 |
+
8623
|
| 385 |
+
8653
|
| 386 |
+
8656
|
| 387 |
+
8708
|
| 388 |
+
8709
|
| 389 |
+
8713
|
| 390 |
+
8714
|
| 391 |
+
8716
|
| 392 |
+
8717
|
| 393 |
+
8740
|
| 394 |
+
8741
|
| 395 |
+
8742
|
| 396 |
+
8743
|
| 397 |
+
8748
|
| 398 |
+
8750
|
| 399 |
+
8751
|
| 400 |
+
8753
|
| 401 |
+
8769
|
| 402 |
+
8770
|
| 403 |
+
8772
|
| 404 |
+
8773
|
| 405 |
+
8775
|
| 406 |
+
8776
|
| 407 |
+
8777
|
| 408 |
+
8778
|
| 409 |
+
8800
|
| 410 |
+
8801
|
| 411 |
+
8802
|
| 412 |
+
8803
|
| 413 |
+
8813
|
| 414 |
+
8818
|
| 415 |
+
8820
|
| 416 |
+
8822
|
| 417 |
+
8824
|
| 418 |
+
8826
|
| 419 |
+
8832
|
| 420 |
+
8834
|
| 421 |
+
8836
|
| 422 |
+
8838
|
| 423 |
+
8840
|
| 424 |
+
8842
|
| 425 |
+
8876
|
| 426 |
+
8880
|
| 427 |
+
8928
|
| 428 |
+
8932
|
| 429 |
+
8938
|
| 430 |
+
8942
|
| 431 |
+
9001
|
| 432 |
+
9003
|
| 433 |
+
9312
|
| 434 |
+
9451
|
| 435 |
+
10764
|
| 436 |
+
10765
|
| 437 |
+
10868
|
| 438 |
+
10871
|
| 439 |
+
10972
|
| 440 |
+
10973
|
| 441 |
+
11388
|
| 442 |
+
11390
|
| 443 |
+
11631
|
| 444 |
+
11632
|
| 445 |
+
11935
|
| 446 |
+
11936
|
| 447 |
+
12019
|
| 448 |
+
12020
|
| 449 |
+
12032
|
| 450 |
+
12246
|
| 451 |
+
12288
|
| 452 |
+
12289
|
| 453 |
+
12342
|
| 454 |
+
12343
|
| 455 |
+
12344
|
| 456 |
+
12347
|
| 457 |
+
12364
|
| 458 |
+
12365
|
| 459 |
+
12366
|
| 460 |
+
12367
|
| 461 |
+
12368
|
| 462 |
+
12369
|
| 463 |
+
12370
|
| 464 |
+
12371
|
| 465 |
+
12372
|
| 466 |
+
12373
|
| 467 |
+
12374
|
| 468 |
+
12375
|
| 469 |
+
12376
|
| 470 |
+
12377
|
| 471 |
+
12378
|
| 472 |
+
12379
|
| 473 |
+
12380
|
| 474 |
+
12381
|
| 475 |
+
12382
|
| 476 |
+
12383
|
| 477 |
+
12384
|
| 478 |
+
12385
|
| 479 |
+
12386
|
| 480 |
+
12387
|
| 481 |
+
12389
|
| 482 |
+
12390
|
| 483 |
+
12391
|
| 484 |
+
12392
|
| 485 |
+
12393
|
| 486 |
+
12394
|
| 487 |
+
12400
|
| 488 |
+
12402
|
| 489 |
+
12403
|
| 490 |
+
12405
|
| 491 |
+
12406
|
| 492 |
+
12408
|
| 493 |
+
12409
|
| 494 |
+
12411
|
| 495 |
+
12412
|
| 496 |
+
12414
|
| 497 |
+
12436
|
| 498 |
+
12437
|
| 499 |
+
12443
|
| 500 |
+
12445
|
| 501 |
+
12446
|
| 502 |
+
12448
|
| 503 |
+
12460
|
| 504 |
+
12461
|
| 505 |
+
12462
|
| 506 |
+
12463
|
| 507 |
+
12464
|
| 508 |
+
12465
|
| 509 |
+
12466
|
| 510 |
+
12467
|
| 511 |
+
12468
|
| 512 |
+
12469
|
| 513 |
+
12470
|
| 514 |
+
12471
|
| 515 |
+
12472
|
| 516 |
+
12473
|
| 517 |
+
12474
|
| 518 |
+
12475
|
| 519 |
+
12476
|
| 520 |
+
12477
|
| 521 |
+
12478
|
| 522 |
+
12479
|
| 523 |
+
12480
|
| 524 |
+
12481
|
| 525 |
+
12482
|
| 526 |
+
12483
|
| 527 |
+
12485
|
| 528 |
+
12486
|
| 529 |
+
12487
|
| 530 |
+
12488
|
| 531 |
+
12489
|
| 532 |
+
12490
|
| 533 |
+
12496
|
| 534 |
+
12498
|
| 535 |
+
12499
|
| 536 |
+
12501
|
| 537 |
+
12502
|
| 538 |
+
12504
|
| 539 |
+
12505
|
| 540 |
+
12507
|
| 541 |
+
12508
|
| 542 |
+
12510
|
| 543 |
+
12532
|
| 544 |
+
12533
|
| 545 |
+
12535
|
| 546 |
+
12539
|
| 547 |
+
12542
|
| 548 |
+
12544
|
| 549 |
+
12593
|
| 550 |
+
12687
|
| 551 |
+
12690
|
| 552 |
+
12704
|
| 553 |
+
12800
|
| 554 |
+
12831
|
| 555 |
+
12832
|
| 556 |
+
12872
|
| 557 |
+
12880
|
| 558 |
+
12927
|
| 559 |
+
12928
|
| 560 |
+
13312
|
| 561 |
+
42652
|
| 562 |
+
42654
|
| 563 |
+
42864
|
| 564 |
+
42865
|
| 565 |
+
43000
|
| 566 |
+
43002
|
| 567 |
+
43868
|
| 568 |
+
43872
|
| 569 |
+
44032
|
| 570 |
+
55204
|
| 571 |
+
63744
|
| 572 |
+
64014
|
| 573 |
+
64016
|
| 574 |
+
64017
|
| 575 |
+
64018
|
| 576 |
+
64019
|
| 577 |
+
64021
|
| 578 |
+
64031
|
| 579 |
+
64032
|
| 580 |
+
64033
|
| 581 |
+
64034
|
| 582 |
+
64035
|
| 583 |
+
64037
|
| 584 |
+
64039
|
| 585 |
+
64042
|
| 586 |
+
64110
|
| 587 |
+
64112
|
| 588 |
+
64218
|
| 589 |
+
64256
|
| 590 |
+
64263
|
| 591 |
+
64275
|
| 592 |
+
64280
|
| 593 |
+
64285
|
| 594 |
+
64286
|
| 595 |
+
64287
|
| 596 |
+
64311
|
| 597 |
+
64312
|
| 598 |
+
64317
|
| 599 |
+
64318
|
| 600 |
+
64319
|
| 601 |
+
64320
|
| 602 |
+
64322
|
| 603 |
+
64323
|
| 604 |
+
64325
|
| 605 |
+
64326
|
| 606 |
+
64434
|
| 607 |
+
64467
|
| 608 |
+
64830
|
| 609 |
+
64848
|
| 610 |
+
64912
|
| 611 |
+
64914
|
| 612 |
+
64968
|
| 613 |
+
65008
|
| 614 |
+
65021
|
| 615 |
+
65040
|
| 616 |
+
65050
|
| 617 |
+
65072
|
| 618 |
+
65093
|
| 619 |
+
65095
|
| 620 |
+
65107
|
| 621 |
+
65108
|
| 622 |
+
65127
|
| 623 |
+
65128
|
| 624 |
+
65132
|
| 625 |
+
65136
|
| 626 |
+
65139
|
| 627 |
+
65140
|
| 628 |
+
65141
|
| 629 |
+
65142
|
| 630 |
+
65277
|
| 631 |
+
65281
|
| 632 |
+
65471
|
| 633 |
+
65474
|
| 634 |
+
65480
|
| 635 |
+
65482
|
| 636 |
+
65488
|
| 637 |
+
65490
|
| 638 |
+
65496
|
| 639 |
+
65498
|
| 640 |
+
65501
|
| 641 |
+
65504
|
| 642 |
+
65511
|
| 643 |
+
65512
|
| 644 |
+
65519
|
| 645 |
+
69786
|
| 646 |
+
69787
|
| 647 |
+
69788
|
| 648 |
+
69789
|
| 649 |
+
69803
|
| 650 |
+
69804
|
| 651 |
+
69934
|
| 652 |
+
69936
|
| 653 |
+
70475
|
| 654 |
+
70477
|
| 655 |
+
70843
|
| 656 |
+
70845
|
| 657 |
+
70846
|
| 658 |
+
70847
|
| 659 |
+
71098
|
| 660 |
+
71100
|
| 661 |
+
119134
|
| 662 |
+
119141
|
| 663 |
+
119227
|
| 664 |
+
119233
|
| 665 |
+
119808
|
| 666 |
+
119893
|
| 667 |
+
119894
|
| 668 |
+
119965
|
| 669 |
+
119966
|
| 670 |
+
119968
|
| 671 |
+
119970
|
| 672 |
+
119971
|
| 673 |
+
119973
|
| 674 |
+
119975
|
| 675 |
+
119977
|
| 676 |
+
119981
|
| 677 |
+
119982
|
| 678 |
+
119994
|
| 679 |
+
119995
|
| 680 |
+
119996
|
| 681 |
+
119997
|
| 682 |
+
120004
|
| 683 |
+
120005
|
| 684 |
+
120070
|
| 685 |
+
120071
|
| 686 |
+
120075
|
| 687 |
+
120077
|
| 688 |
+
120085
|
| 689 |
+
120086
|
| 690 |
+
120093
|
| 691 |
+
120094
|
| 692 |
+
120122
|
| 693 |
+
120123
|
| 694 |
+
120127
|
| 695 |
+
120128
|
| 696 |
+
120133
|
| 697 |
+
120134
|
| 698 |
+
120135
|
| 699 |
+
120138
|
| 700 |
+
120145
|
| 701 |
+
120146
|
| 702 |
+
120486
|
| 703 |
+
120488
|
| 704 |
+
120780
|
| 705 |
+
120782
|
| 706 |
+
120832
|
| 707 |
+
126464
|
| 708 |
+
126468
|
| 709 |
+
126469
|
| 710 |
+
126496
|
| 711 |
+
126497
|
| 712 |
+
126499
|
| 713 |
+
126500
|
| 714 |
+
126501
|
| 715 |
+
126503
|
| 716 |
+
126504
|
| 717 |
+
126505
|
| 718 |
+
126515
|
| 719 |
+
126516
|
| 720 |
+
126520
|
| 721 |
+
126521
|
| 722 |
+
126522
|
| 723 |
+
126523
|
| 724 |
+
126524
|
| 725 |
+
126530
|
| 726 |
+
126531
|
| 727 |
+
126535
|
| 728 |
+
126536
|
| 729 |
+
126537
|
| 730 |
+
126538
|
| 731 |
+
126539
|
| 732 |
+
126540
|
| 733 |
+
126541
|
| 734 |
+
126544
|
| 735 |
+
126545
|
| 736 |
+
126547
|
| 737 |
+
126548
|
| 738 |
+
126549
|
| 739 |
+
126551
|
| 740 |
+
126552
|
| 741 |
+
126553
|
| 742 |
+
126554
|
| 743 |
+
126555
|
| 744 |
+
126556
|
| 745 |
+
126557
|
| 746 |
+
126558
|
| 747 |
+
126559
|
| 748 |
+
126560
|
| 749 |
+
126561
|
| 750 |
+
126563
|
| 751 |
+
126564
|
| 752 |
+
126565
|
| 753 |
+
126567
|
| 754 |
+
126571
|
| 755 |
+
126572
|
| 756 |
+
126579
|
| 757 |
+
126580
|
| 758 |
+
126584
|
| 759 |
+
126585
|
| 760 |
+
126589
|
| 761 |
+
126590
|
| 762 |
+
126591
|
| 763 |
+
126592
|
| 764 |
+
126602
|
| 765 |
+
126603
|
| 766 |
+
126620
|
| 767 |
+
126625
|
| 768 |
+
126628
|
| 769 |
+
126629
|
| 770 |
+
126634
|
| 771 |
+
126635
|
| 772 |
+
126652
|
| 773 |
+
127232
|
| 774 |
+
127243
|
| 775 |
+
127248
|
| 776 |
+
127279
|
| 777 |
+
127280
|
| 778 |
+
127312
|
| 779 |
+
127338
|
| 780 |
+
127341
|
| 781 |
+
127376
|
| 782 |
+
127377
|
| 783 |
+
127488
|
| 784 |
+
127491
|
| 785 |
+
127504
|
| 786 |
+
127548
|
| 787 |
+
127552
|
| 788 |
+
127561
|
| 789 |
+
127568
|
| 790 |
+
127570
|
| 791 |
+
194560
|
| 792 |
+
195102
|
| 793 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/FO.pl
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V38
|
| 14 |
+
173
|
| 15 |
+
174
|
| 16 |
+
1536
|
| 17 |
+
1542
|
| 18 |
+
1564
|
| 19 |
+
1565
|
| 20 |
+
1757
|
| 21 |
+
1758
|
| 22 |
+
1807
|
| 23 |
+
1808
|
| 24 |
+
2274
|
| 25 |
+
2275
|
| 26 |
+
6158
|
| 27 |
+
6159
|
| 28 |
+
8206
|
| 29 |
+
8208
|
| 30 |
+
8234
|
| 31 |
+
8239
|
| 32 |
+
8288
|
| 33 |
+
8293
|
| 34 |
+
8294
|
| 35 |
+
8304
|
| 36 |
+
65279
|
| 37 |
+
65280
|
| 38 |
+
65529
|
| 39 |
+
65532
|
| 40 |
+
69821
|
| 41 |
+
69822
|
| 42 |
+
69837
|
| 43 |
+
69838
|
| 44 |
+
78896
|
| 45 |
+
78905
|
| 46 |
+
113824
|
| 47 |
+
113828
|
| 48 |
+
119155
|
| 49 |
+
119163
|
| 50 |
+
917505
|
| 51 |
+
917506
|
| 52 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/HL.pl
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V20
|
| 14 |
+
1488
|
| 15 |
+
1515
|
| 16 |
+
1519
|
| 17 |
+
1523
|
| 18 |
+
64285
|
| 19 |
+
64286
|
| 20 |
+
64287
|
| 21 |
+
64297
|
| 22 |
+
64298
|
| 23 |
+
64311
|
| 24 |
+
64312
|
| 25 |
+
64317
|
| 26 |
+
64318
|
| 27 |
+
64319
|
| 28 |
+
64320
|
| 29 |
+
64322
|
| 30 |
+
64323
|
| 31 |
+
64325
|
| 32 |
+
64326
|
| 33 |
+
64336
|
| 34 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/KA.pl
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V20
|
| 14 |
+
12337
|
| 15 |
+
12342
|
| 16 |
+
12443
|
| 17 |
+
12445
|
| 18 |
+
12448
|
| 19 |
+
12539
|
| 20 |
+
12540
|
| 21 |
+
12544
|
| 22 |
+
12784
|
| 23 |
+
12800
|
| 24 |
+
13008
|
| 25 |
+
13055
|
| 26 |
+
13056
|
| 27 |
+
13144
|
| 28 |
+
65382
|
| 29 |
+
65438
|
| 30 |
+
110592
|
| 31 |
+
110593
|
| 32 |
+
110948
|
| 33 |
+
110952
|
| 34 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/LE.pl
ADDED
|
@@ -0,0 +1,1088 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V1074
|
| 14 |
+
65
|
| 15 |
+
91
|
| 16 |
+
97
|
| 17 |
+
123
|
| 18 |
+
170
|
| 19 |
+
171
|
| 20 |
+
181
|
| 21 |
+
182
|
| 22 |
+
186
|
| 23 |
+
187
|
| 24 |
+
192
|
| 25 |
+
215
|
| 26 |
+
216
|
| 27 |
+
247
|
| 28 |
+
248
|
| 29 |
+
728
|
| 30 |
+
734
|
| 31 |
+
741
|
| 32 |
+
748
|
| 33 |
+
768
|
| 34 |
+
880
|
| 35 |
+
885
|
| 36 |
+
886
|
| 37 |
+
888
|
| 38 |
+
890
|
| 39 |
+
894
|
| 40 |
+
895
|
| 41 |
+
896
|
| 42 |
+
902
|
| 43 |
+
903
|
| 44 |
+
904
|
| 45 |
+
907
|
| 46 |
+
908
|
| 47 |
+
909
|
| 48 |
+
910
|
| 49 |
+
930
|
| 50 |
+
931
|
| 51 |
+
1014
|
| 52 |
+
1015
|
| 53 |
+
1154
|
| 54 |
+
1162
|
| 55 |
+
1328
|
| 56 |
+
1329
|
| 57 |
+
1367
|
| 58 |
+
1369
|
| 59 |
+
1370
|
| 60 |
+
1371
|
| 61 |
+
1373
|
| 62 |
+
1374
|
| 63 |
+
1375
|
| 64 |
+
1376
|
| 65 |
+
1417
|
| 66 |
+
1523
|
| 67 |
+
1524
|
| 68 |
+
1568
|
| 69 |
+
1611
|
| 70 |
+
1646
|
| 71 |
+
1648
|
| 72 |
+
1649
|
| 73 |
+
1748
|
| 74 |
+
1749
|
| 75 |
+
1750
|
| 76 |
+
1765
|
| 77 |
+
1767
|
| 78 |
+
1774
|
| 79 |
+
1776
|
| 80 |
+
1786
|
| 81 |
+
1789
|
| 82 |
+
1791
|
| 83 |
+
1792
|
| 84 |
+
1808
|
| 85 |
+
1809
|
| 86 |
+
1810
|
| 87 |
+
1840
|
| 88 |
+
1869
|
| 89 |
+
1958
|
| 90 |
+
1969
|
| 91 |
+
1970
|
| 92 |
+
1994
|
| 93 |
+
2027
|
| 94 |
+
2036
|
| 95 |
+
2038
|
| 96 |
+
2042
|
| 97 |
+
2043
|
| 98 |
+
2048
|
| 99 |
+
2070
|
| 100 |
+
2074
|
| 101 |
+
2075
|
| 102 |
+
2084
|
| 103 |
+
2085
|
| 104 |
+
2088
|
| 105 |
+
2089
|
| 106 |
+
2112
|
| 107 |
+
2137
|
| 108 |
+
2144
|
| 109 |
+
2155
|
| 110 |
+
2208
|
| 111 |
+
2229
|
| 112 |
+
2230
|
| 113 |
+
2238
|
| 114 |
+
2308
|
| 115 |
+
2362
|
| 116 |
+
2365
|
| 117 |
+
2366
|
| 118 |
+
2384
|
| 119 |
+
2385
|
| 120 |
+
2392
|
| 121 |
+
2402
|
| 122 |
+
2417
|
| 123 |
+
2433
|
| 124 |
+
2437
|
| 125 |
+
2445
|
| 126 |
+
2447
|
| 127 |
+
2449
|
| 128 |
+
2451
|
| 129 |
+
2473
|
| 130 |
+
2474
|
| 131 |
+
2481
|
| 132 |
+
2482
|
| 133 |
+
2483
|
| 134 |
+
2486
|
| 135 |
+
2490
|
| 136 |
+
2493
|
| 137 |
+
2494
|
| 138 |
+
2510
|
| 139 |
+
2511
|
| 140 |
+
2524
|
| 141 |
+
2526
|
| 142 |
+
2527
|
| 143 |
+
2530
|
| 144 |
+
2544
|
| 145 |
+
2546
|
| 146 |
+
2556
|
| 147 |
+
2557
|
| 148 |
+
2565
|
| 149 |
+
2571
|
| 150 |
+
2575
|
| 151 |
+
2577
|
| 152 |
+
2579
|
| 153 |
+
2601
|
| 154 |
+
2602
|
| 155 |
+
2609
|
| 156 |
+
2610
|
| 157 |
+
2612
|
| 158 |
+
2613
|
| 159 |
+
2615
|
| 160 |
+
2616
|
| 161 |
+
2618
|
| 162 |
+
2649
|
| 163 |
+
2653
|
| 164 |
+
2654
|
| 165 |
+
2655
|
| 166 |
+
2674
|
| 167 |
+
2677
|
| 168 |
+
2693
|
| 169 |
+
2702
|
| 170 |
+
2703
|
| 171 |
+
2706
|
| 172 |
+
2707
|
| 173 |
+
2729
|
| 174 |
+
2730
|
| 175 |
+
2737
|
| 176 |
+
2738
|
| 177 |
+
2740
|
| 178 |
+
2741
|
| 179 |
+
2746
|
| 180 |
+
2749
|
| 181 |
+
2750
|
| 182 |
+
2768
|
| 183 |
+
2769
|
| 184 |
+
2784
|
| 185 |
+
2786
|
| 186 |
+
2809
|
| 187 |
+
2810
|
| 188 |
+
2821
|
| 189 |
+
2829
|
| 190 |
+
2831
|
| 191 |
+
2833
|
| 192 |
+
2835
|
| 193 |
+
2857
|
| 194 |
+
2858
|
| 195 |
+
2865
|
| 196 |
+
2866
|
| 197 |
+
2868
|
| 198 |
+
2869
|
| 199 |
+
2874
|
| 200 |
+
2877
|
| 201 |
+
2878
|
| 202 |
+
2908
|
| 203 |
+
2910
|
| 204 |
+
2911
|
| 205 |
+
2914
|
| 206 |
+
2929
|
| 207 |
+
2930
|
| 208 |
+
2947
|
| 209 |
+
2948
|
| 210 |
+
2949
|
| 211 |
+
2955
|
| 212 |
+
2958
|
| 213 |
+
2961
|
| 214 |
+
2962
|
| 215 |
+
2966
|
| 216 |
+
2969
|
| 217 |
+
2971
|
| 218 |
+
2972
|
| 219 |
+
2973
|
| 220 |
+
2974
|
| 221 |
+
2976
|
| 222 |
+
2979
|
| 223 |
+
2981
|
| 224 |
+
2984
|
| 225 |
+
2987
|
| 226 |
+
2990
|
| 227 |
+
3002
|
| 228 |
+
3024
|
| 229 |
+
3025
|
| 230 |
+
3077
|
| 231 |
+
3085
|
| 232 |
+
3086
|
| 233 |
+
3089
|
| 234 |
+
3090
|
| 235 |
+
3113
|
| 236 |
+
3114
|
| 237 |
+
3130
|
| 238 |
+
3133
|
| 239 |
+
3134
|
| 240 |
+
3160
|
| 241 |
+
3163
|
| 242 |
+
3168
|
| 243 |
+
3170
|
| 244 |
+
3200
|
| 245 |
+
3201
|
| 246 |
+
3205
|
| 247 |
+
3213
|
| 248 |
+
3214
|
| 249 |
+
3217
|
| 250 |
+
3218
|
| 251 |
+
3241
|
| 252 |
+
3242
|
| 253 |
+
3252
|
| 254 |
+
3253
|
| 255 |
+
3258
|
| 256 |
+
3261
|
| 257 |
+
3262
|
| 258 |
+
3294
|
| 259 |
+
3295
|
| 260 |
+
3296
|
| 261 |
+
3298
|
| 262 |
+
3313
|
| 263 |
+
3315
|
| 264 |
+
3333
|
| 265 |
+
3341
|
| 266 |
+
3342
|
| 267 |
+
3345
|
| 268 |
+
3346
|
| 269 |
+
3387
|
| 270 |
+
3389
|
| 271 |
+
3390
|
| 272 |
+
3406
|
| 273 |
+
3407
|
| 274 |
+
3412
|
| 275 |
+
3415
|
| 276 |
+
3423
|
| 277 |
+
3426
|
| 278 |
+
3450
|
| 279 |
+
3456
|
| 280 |
+
3461
|
| 281 |
+
3479
|
| 282 |
+
3482
|
| 283 |
+
3506
|
| 284 |
+
3507
|
| 285 |
+
3516
|
| 286 |
+
3517
|
| 287 |
+
3518
|
| 288 |
+
3520
|
| 289 |
+
3527
|
| 290 |
+
3840
|
| 291 |
+
3841
|
| 292 |
+
3904
|
| 293 |
+
3912
|
| 294 |
+
3913
|
| 295 |
+
3949
|
| 296 |
+
3976
|
| 297 |
+
3981
|
| 298 |
+
4256
|
| 299 |
+
4294
|
| 300 |
+
4295
|
| 301 |
+
4296
|
| 302 |
+
4301
|
| 303 |
+
4302
|
| 304 |
+
4304
|
| 305 |
+
4347
|
| 306 |
+
4348
|
| 307 |
+
4681
|
| 308 |
+
4682
|
| 309 |
+
4686
|
| 310 |
+
4688
|
| 311 |
+
4695
|
| 312 |
+
4696
|
| 313 |
+
4697
|
| 314 |
+
4698
|
| 315 |
+
4702
|
| 316 |
+
4704
|
| 317 |
+
4745
|
| 318 |
+
4746
|
| 319 |
+
4750
|
| 320 |
+
4752
|
| 321 |
+
4785
|
| 322 |
+
4786
|
| 323 |
+
4790
|
| 324 |
+
4792
|
| 325 |
+
4799
|
| 326 |
+
4800
|
| 327 |
+
4801
|
| 328 |
+
4802
|
| 329 |
+
4806
|
| 330 |
+
4808
|
| 331 |
+
4823
|
| 332 |
+
4824
|
| 333 |
+
4881
|
| 334 |
+
4882
|
| 335 |
+
4886
|
| 336 |
+
4888
|
| 337 |
+
4955
|
| 338 |
+
4992
|
| 339 |
+
5008
|
| 340 |
+
5024
|
| 341 |
+
5110
|
| 342 |
+
5112
|
| 343 |
+
5118
|
| 344 |
+
5121
|
| 345 |
+
5741
|
| 346 |
+
5743
|
| 347 |
+
5760
|
| 348 |
+
5761
|
| 349 |
+
5787
|
| 350 |
+
5792
|
| 351 |
+
5867
|
| 352 |
+
5870
|
| 353 |
+
5881
|
| 354 |
+
5888
|
| 355 |
+
5901
|
| 356 |
+
5902
|
| 357 |
+
5906
|
| 358 |
+
5920
|
| 359 |
+
5938
|
| 360 |
+
5952
|
| 361 |
+
5970
|
| 362 |
+
5984
|
| 363 |
+
5997
|
| 364 |
+
5998
|
| 365 |
+
6001
|
| 366 |
+
6176
|
| 367 |
+
6265
|
| 368 |
+
6272
|
| 369 |
+
6277
|
| 370 |
+
6279
|
| 371 |
+
6313
|
| 372 |
+
6314
|
| 373 |
+
6315
|
| 374 |
+
6320
|
| 375 |
+
6390
|
| 376 |
+
6400
|
| 377 |
+
6431
|
| 378 |
+
6656
|
| 379 |
+
6679
|
| 380 |
+
6917
|
| 381 |
+
6964
|
| 382 |
+
6981
|
| 383 |
+
6988
|
| 384 |
+
7043
|
| 385 |
+
7073
|
| 386 |
+
7086
|
| 387 |
+
7088
|
| 388 |
+
7098
|
| 389 |
+
7142
|
| 390 |
+
7168
|
| 391 |
+
7204
|
| 392 |
+
7245
|
| 393 |
+
7248
|
| 394 |
+
7258
|
| 395 |
+
7294
|
| 396 |
+
7296
|
| 397 |
+
7305
|
| 398 |
+
7312
|
| 399 |
+
7355
|
| 400 |
+
7357
|
| 401 |
+
7360
|
| 402 |
+
7401
|
| 403 |
+
7405
|
| 404 |
+
7406
|
| 405 |
+
7412
|
| 406 |
+
7413
|
| 407 |
+
7415
|
| 408 |
+
7418
|
| 409 |
+
7419
|
| 410 |
+
7424
|
| 411 |
+
7616
|
| 412 |
+
7680
|
| 413 |
+
7958
|
| 414 |
+
7960
|
| 415 |
+
7966
|
| 416 |
+
7968
|
| 417 |
+
8006
|
| 418 |
+
8008
|
| 419 |
+
8014
|
| 420 |
+
8016
|
| 421 |
+
8024
|
| 422 |
+
8025
|
| 423 |
+
8026
|
| 424 |
+
8027
|
| 425 |
+
8028
|
| 426 |
+
8029
|
| 427 |
+
8030
|
| 428 |
+
8031
|
| 429 |
+
8062
|
| 430 |
+
8064
|
| 431 |
+
8117
|
| 432 |
+
8118
|
| 433 |
+
8125
|
| 434 |
+
8126
|
| 435 |
+
8127
|
| 436 |
+
8130
|
| 437 |
+
8133
|
| 438 |
+
8134
|
| 439 |
+
8141
|
| 440 |
+
8144
|
| 441 |
+
8148
|
| 442 |
+
8150
|
| 443 |
+
8156
|
| 444 |
+
8160
|
| 445 |
+
8173
|
| 446 |
+
8178
|
| 447 |
+
8181
|
| 448 |
+
8182
|
| 449 |
+
8189
|
| 450 |
+
8305
|
| 451 |
+
8306
|
| 452 |
+
8319
|
| 453 |
+
8320
|
| 454 |
+
8336
|
| 455 |
+
8349
|
| 456 |
+
8450
|
| 457 |
+
8451
|
| 458 |
+
8455
|
| 459 |
+
8456
|
| 460 |
+
8458
|
| 461 |
+
8468
|
| 462 |
+
8469
|
| 463 |
+
8470
|
| 464 |
+
8473
|
| 465 |
+
8478
|
| 466 |
+
8484
|
| 467 |
+
8485
|
| 468 |
+
8486
|
| 469 |
+
8487
|
| 470 |
+
8488
|
| 471 |
+
8489
|
| 472 |
+
8490
|
| 473 |
+
8494
|
| 474 |
+
8495
|
| 475 |
+
8506
|
| 476 |
+
8508
|
| 477 |
+
8512
|
| 478 |
+
8517
|
| 479 |
+
8522
|
| 480 |
+
8526
|
| 481 |
+
8527
|
| 482 |
+
8544
|
| 483 |
+
8585
|
| 484 |
+
9398
|
| 485 |
+
9450
|
| 486 |
+
11264
|
| 487 |
+
11311
|
| 488 |
+
11312
|
| 489 |
+
11359
|
| 490 |
+
11360
|
| 491 |
+
11493
|
| 492 |
+
11499
|
| 493 |
+
11503
|
| 494 |
+
11506
|
| 495 |
+
11508
|
| 496 |
+
11520
|
| 497 |
+
11558
|
| 498 |
+
11559
|
| 499 |
+
11560
|
| 500 |
+
11565
|
| 501 |
+
11566
|
| 502 |
+
11568
|
| 503 |
+
11624
|
| 504 |
+
11631
|
| 505 |
+
11632
|
| 506 |
+
11648
|
| 507 |
+
11671
|
| 508 |
+
11680
|
| 509 |
+
11687
|
| 510 |
+
11688
|
| 511 |
+
11695
|
| 512 |
+
11696
|
| 513 |
+
11703
|
| 514 |
+
11704
|
| 515 |
+
11711
|
| 516 |
+
11712
|
| 517 |
+
11719
|
| 518 |
+
11720
|
| 519 |
+
11727
|
| 520 |
+
11728
|
| 521 |
+
11735
|
| 522 |
+
11736
|
| 523 |
+
11743
|
| 524 |
+
11823
|
| 525 |
+
11824
|
| 526 |
+
12293
|
| 527 |
+
12294
|
| 528 |
+
12347
|
| 529 |
+
12349
|
| 530 |
+
12549
|
| 531 |
+
12592
|
| 532 |
+
12593
|
| 533 |
+
12687
|
| 534 |
+
12704
|
| 535 |
+
12731
|
| 536 |
+
40960
|
| 537 |
+
42125
|
| 538 |
+
42192
|
| 539 |
+
42238
|
| 540 |
+
42240
|
| 541 |
+
42509
|
| 542 |
+
42512
|
| 543 |
+
42528
|
| 544 |
+
42538
|
| 545 |
+
42540
|
| 546 |
+
42560
|
| 547 |
+
42607
|
| 548 |
+
42623
|
| 549 |
+
42654
|
| 550 |
+
42656
|
| 551 |
+
42736
|
| 552 |
+
42775
|
| 553 |
+
42944
|
| 554 |
+
42946
|
| 555 |
+
42951
|
| 556 |
+
42999
|
| 557 |
+
43010
|
| 558 |
+
43011
|
| 559 |
+
43014
|
| 560 |
+
43015
|
| 561 |
+
43019
|
| 562 |
+
43020
|
| 563 |
+
43043
|
| 564 |
+
43072
|
| 565 |
+
43124
|
| 566 |
+
43138
|
| 567 |
+
43188
|
| 568 |
+
43250
|
| 569 |
+
43256
|
| 570 |
+
43259
|
| 571 |
+
43260
|
| 572 |
+
43261
|
| 573 |
+
43263
|
| 574 |
+
43274
|
| 575 |
+
43302
|
| 576 |
+
43312
|
| 577 |
+
43335
|
| 578 |
+
43360
|
| 579 |
+
43389
|
| 580 |
+
43396
|
| 581 |
+
43443
|
| 582 |
+
43471
|
| 583 |
+
43472
|
| 584 |
+
43520
|
| 585 |
+
43561
|
| 586 |
+
43584
|
| 587 |
+
43587
|
| 588 |
+
43588
|
| 589 |
+
43596
|
| 590 |
+
43744
|
| 591 |
+
43755
|
| 592 |
+
43762
|
| 593 |
+
43765
|
| 594 |
+
43777
|
| 595 |
+
43783
|
| 596 |
+
43785
|
| 597 |
+
43791
|
| 598 |
+
43793
|
| 599 |
+
43799
|
| 600 |
+
43808
|
| 601 |
+
43815
|
| 602 |
+
43816
|
| 603 |
+
43823
|
| 604 |
+
43824
|
| 605 |
+
43880
|
| 606 |
+
43888
|
| 607 |
+
44003
|
| 608 |
+
44032
|
| 609 |
+
55204
|
| 610 |
+
55216
|
| 611 |
+
55239
|
| 612 |
+
55243
|
| 613 |
+
55292
|
| 614 |
+
64256
|
| 615 |
+
64263
|
| 616 |
+
64275
|
| 617 |
+
64280
|
| 618 |
+
64336
|
| 619 |
+
64434
|
| 620 |
+
64467
|
| 621 |
+
64830
|
| 622 |
+
64848
|
| 623 |
+
64912
|
| 624 |
+
64914
|
| 625 |
+
64968
|
| 626 |
+
65008
|
| 627 |
+
65020
|
| 628 |
+
65136
|
| 629 |
+
65141
|
| 630 |
+
65142
|
| 631 |
+
65277
|
| 632 |
+
65313
|
| 633 |
+
65339
|
| 634 |
+
65345
|
| 635 |
+
65371
|
| 636 |
+
65440
|
| 637 |
+
65471
|
| 638 |
+
65474
|
| 639 |
+
65480
|
| 640 |
+
65482
|
| 641 |
+
65488
|
| 642 |
+
65490
|
| 643 |
+
65496
|
| 644 |
+
65498
|
| 645 |
+
65501
|
| 646 |
+
65536
|
| 647 |
+
65548
|
| 648 |
+
65549
|
| 649 |
+
65575
|
| 650 |
+
65576
|
| 651 |
+
65595
|
| 652 |
+
65596
|
| 653 |
+
65598
|
| 654 |
+
65599
|
| 655 |
+
65614
|
| 656 |
+
65616
|
| 657 |
+
65630
|
| 658 |
+
65664
|
| 659 |
+
65787
|
| 660 |
+
65856
|
| 661 |
+
65909
|
| 662 |
+
66176
|
| 663 |
+
66205
|
| 664 |
+
66208
|
| 665 |
+
66257
|
| 666 |
+
66304
|
| 667 |
+
66336
|
| 668 |
+
66349
|
| 669 |
+
66379
|
| 670 |
+
66384
|
| 671 |
+
66422
|
| 672 |
+
66432
|
| 673 |
+
66462
|
| 674 |
+
66464
|
| 675 |
+
66500
|
| 676 |
+
66504
|
| 677 |
+
66512
|
| 678 |
+
66513
|
| 679 |
+
66518
|
| 680 |
+
66560
|
| 681 |
+
66718
|
| 682 |
+
66736
|
| 683 |
+
66772
|
| 684 |
+
66776
|
| 685 |
+
66812
|
| 686 |
+
66816
|
| 687 |
+
66856
|
| 688 |
+
66864
|
| 689 |
+
66916
|
| 690 |
+
67072
|
| 691 |
+
67383
|
| 692 |
+
67392
|
| 693 |
+
67414
|
| 694 |
+
67424
|
| 695 |
+
67432
|
| 696 |
+
67584
|
| 697 |
+
67590
|
| 698 |
+
67592
|
| 699 |
+
67593
|
| 700 |
+
67594
|
| 701 |
+
67638
|
| 702 |
+
67639
|
| 703 |
+
67641
|
| 704 |
+
67644
|
| 705 |
+
67645
|
| 706 |
+
67647
|
| 707 |
+
67670
|
| 708 |
+
67680
|
| 709 |
+
67703
|
| 710 |
+
67712
|
| 711 |
+
67743
|
| 712 |
+
67808
|
| 713 |
+
67827
|
| 714 |
+
67828
|
| 715 |
+
67830
|
| 716 |
+
67840
|
| 717 |
+
67862
|
| 718 |
+
67872
|
| 719 |
+
67898
|
| 720 |
+
67968
|
| 721 |
+
68024
|
| 722 |
+
68030
|
| 723 |
+
68032
|
| 724 |
+
68096
|
| 725 |
+
68097
|
| 726 |
+
68112
|
| 727 |
+
68116
|
| 728 |
+
68117
|
| 729 |
+
68120
|
| 730 |
+
68121
|
| 731 |
+
68150
|
| 732 |
+
68192
|
| 733 |
+
68221
|
| 734 |
+
68224
|
| 735 |
+
68253
|
| 736 |
+
68288
|
| 737 |
+
68296
|
| 738 |
+
68297
|
| 739 |
+
68325
|
| 740 |
+
68352
|
| 741 |
+
68406
|
| 742 |
+
68416
|
| 743 |
+
68438
|
| 744 |
+
68448
|
| 745 |
+
68467
|
| 746 |
+
68480
|
| 747 |
+
68498
|
| 748 |
+
68608
|
| 749 |
+
68681
|
| 750 |
+
68736
|
| 751 |
+
68787
|
| 752 |
+
68800
|
| 753 |
+
68851
|
| 754 |
+
68864
|
| 755 |
+
68900
|
| 756 |
+
69376
|
| 757 |
+
69405
|
| 758 |
+
69415
|
| 759 |
+
69416
|
| 760 |
+
69424
|
| 761 |
+
69446
|
| 762 |
+
69600
|
| 763 |
+
69623
|
| 764 |
+
69635
|
| 765 |
+
69688
|
| 766 |
+
69763
|
| 767 |
+
69808
|
| 768 |
+
69840
|
| 769 |
+
69865
|
| 770 |
+
69891
|
| 771 |
+
69927
|
| 772 |
+
69956
|
| 773 |
+
69957
|
| 774 |
+
69968
|
| 775 |
+
70003
|
| 776 |
+
70006
|
| 777 |
+
70007
|
| 778 |
+
70019
|
| 779 |
+
70067
|
| 780 |
+
70081
|
| 781 |
+
70085
|
| 782 |
+
70106
|
| 783 |
+
70107
|
| 784 |
+
70108
|
| 785 |
+
70109
|
| 786 |
+
70144
|
| 787 |
+
70162
|
| 788 |
+
70163
|
| 789 |
+
70188
|
| 790 |
+
70272
|
| 791 |
+
70279
|
| 792 |
+
70280
|
| 793 |
+
70281
|
| 794 |
+
70282
|
| 795 |
+
70286
|
| 796 |
+
70287
|
| 797 |
+
70302
|
| 798 |
+
70303
|
| 799 |
+
70313
|
| 800 |
+
70320
|
| 801 |
+
70367
|
| 802 |
+
70405
|
| 803 |
+
70413
|
| 804 |
+
70415
|
| 805 |
+
70417
|
| 806 |
+
70419
|
| 807 |
+
70441
|
| 808 |
+
70442
|
| 809 |
+
70449
|
| 810 |
+
70450
|
| 811 |
+
70452
|
| 812 |
+
70453
|
| 813 |
+
70458
|
| 814 |
+
70461
|
| 815 |
+
70462
|
| 816 |
+
70480
|
| 817 |
+
70481
|
| 818 |
+
70493
|
| 819 |
+
70498
|
| 820 |
+
70656
|
| 821 |
+
70709
|
| 822 |
+
70727
|
| 823 |
+
70731
|
| 824 |
+
70751
|
| 825 |
+
70752
|
| 826 |
+
70784
|
| 827 |
+
70832
|
| 828 |
+
70852
|
| 829 |
+
70854
|
| 830 |
+
70855
|
| 831 |
+
70856
|
| 832 |
+
71040
|
| 833 |
+
71087
|
| 834 |
+
71128
|
| 835 |
+
71132
|
| 836 |
+
71168
|
| 837 |
+
71216
|
| 838 |
+
71236
|
| 839 |
+
71237
|
| 840 |
+
71296
|
| 841 |
+
71339
|
| 842 |
+
71352
|
| 843 |
+
71353
|
| 844 |
+
71680
|
| 845 |
+
71724
|
| 846 |
+
71840
|
| 847 |
+
71904
|
| 848 |
+
71935
|
| 849 |
+
71936
|
| 850 |
+
72096
|
| 851 |
+
72104
|
| 852 |
+
72106
|
| 853 |
+
72145
|
| 854 |
+
72161
|
| 855 |
+
72162
|
| 856 |
+
72163
|
| 857 |
+
72164
|
| 858 |
+
72192
|
| 859 |
+
72193
|
| 860 |
+
72203
|
| 861 |
+
72243
|
| 862 |
+
72250
|
| 863 |
+
72251
|
| 864 |
+
72272
|
| 865 |
+
72273
|
| 866 |
+
72284
|
| 867 |
+
72330
|
| 868 |
+
72349
|
| 869 |
+
72350
|
| 870 |
+
72384
|
| 871 |
+
72441
|
| 872 |
+
72704
|
| 873 |
+
72713
|
| 874 |
+
72714
|
| 875 |
+
72751
|
| 876 |
+
72768
|
| 877 |
+
72769
|
| 878 |
+
72818
|
| 879 |
+
72848
|
| 880 |
+
72960
|
| 881 |
+
72967
|
| 882 |
+
72968
|
| 883 |
+
72970
|
| 884 |
+
72971
|
| 885 |
+
73009
|
| 886 |
+
73030
|
| 887 |
+
73031
|
| 888 |
+
73056
|
| 889 |
+
73062
|
| 890 |
+
73063
|
| 891 |
+
73065
|
| 892 |
+
73066
|
| 893 |
+
73098
|
| 894 |
+
73112
|
| 895 |
+
73113
|
| 896 |
+
73440
|
| 897 |
+
73459
|
| 898 |
+
73728
|
| 899 |
+
74650
|
| 900 |
+
74752
|
| 901 |
+
74863
|
| 902 |
+
74880
|
| 903 |
+
75076
|
| 904 |
+
77824
|
| 905 |
+
78895
|
| 906 |
+
82944
|
| 907 |
+
83527
|
| 908 |
+
92160
|
| 909 |
+
92729
|
| 910 |
+
92736
|
| 911 |
+
92767
|
| 912 |
+
92880
|
| 913 |
+
92910
|
| 914 |
+
92928
|
| 915 |
+
92976
|
| 916 |
+
92992
|
| 917 |
+
92996
|
| 918 |
+
93027
|
| 919 |
+
93048
|
| 920 |
+
93053
|
| 921 |
+
93072
|
| 922 |
+
93760
|
| 923 |
+
93824
|
| 924 |
+
93952
|
| 925 |
+
94027
|
| 926 |
+
94032
|
| 927 |
+
94033
|
| 928 |
+
94099
|
| 929 |
+
94112
|
| 930 |
+
94176
|
| 931 |
+
94178
|
| 932 |
+
94179
|
| 933 |
+
94180
|
| 934 |
+
113664
|
| 935 |
+
113771
|
| 936 |
+
113776
|
| 937 |
+
113789
|
| 938 |
+
113792
|
| 939 |
+
113801
|
| 940 |
+
113808
|
| 941 |
+
113818
|
| 942 |
+
119808
|
| 943 |
+
119893
|
| 944 |
+
119894
|
| 945 |
+
119965
|
| 946 |
+
119966
|
| 947 |
+
119968
|
| 948 |
+
119970
|
| 949 |
+
119971
|
| 950 |
+
119973
|
| 951 |
+
119975
|
| 952 |
+
119977
|
| 953 |
+
119981
|
| 954 |
+
119982
|
| 955 |
+
119994
|
| 956 |
+
119995
|
| 957 |
+
119996
|
| 958 |
+
119997
|
| 959 |
+
120004
|
| 960 |
+
120005
|
| 961 |
+
120070
|
| 962 |
+
120071
|
| 963 |
+
120075
|
| 964 |
+
120077
|
| 965 |
+
120085
|
| 966 |
+
120086
|
| 967 |
+
120093
|
| 968 |
+
120094
|
| 969 |
+
120122
|
| 970 |
+
120123
|
| 971 |
+
120127
|
| 972 |
+
120128
|
| 973 |
+
120133
|
| 974 |
+
120134
|
| 975 |
+
120135
|
| 976 |
+
120138
|
| 977 |
+
120145
|
| 978 |
+
120146
|
| 979 |
+
120486
|
| 980 |
+
120488
|
| 981 |
+
120513
|
| 982 |
+
120514
|
| 983 |
+
120539
|
| 984 |
+
120540
|
| 985 |
+
120571
|
| 986 |
+
120572
|
| 987 |
+
120597
|
| 988 |
+
120598
|
| 989 |
+
120629
|
| 990 |
+
120630
|
| 991 |
+
120655
|
| 992 |
+
120656
|
| 993 |
+
120687
|
| 994 |
+
120688
|
| 995 |
+
120713
|
| 996 |
+
120714
|
| 997 |
+
120745
|
| 998 |
+
120746
|
| 999 |
+
120771
|
| 1000 |
+
120772
|
| 1001 |
+
120780
|
| 1002 |
+
123136
|
| 1003 |
+
123181
|
| 1004 |
+
123191
|
| 1005 |
+
123198
|
| 1006 |
+
123214
|
| 1007 |
+
123215
|
| 1008 |
+
123584
|
| 1009 |
+
123628
|
| 1010 |
+
124928
|
| 1011 |
+
125125
|
| 1012 |
+
125184
|
| 1013 |
+
125252
|
| 1014 |
+
125259
|
| 1015 |
+
125260
|
| 1016 |
+
126464
|
| 1017 |
+
126468
|
| 1018 |
+
126469
|
| 1019 |
+
126496
|
| 1020 |
+
126497
|
| 1021 |
+
126499
|
| 1022 |
+
126500
|
| 1023 |
+
126501
|
| 1024 |
+
126503
|
| 1025 |
+
126504
|
| 1026 |
+
126505
|
| 1027 |
+
126515
|
| 1028 |
+
126516
|
| 1029 |
+
126520
|
| 1030 |
+
126521
|
| 1031 |
+
126522
|
| 1032 |
+
126523
|
| 1033 |
+
126524
|
| 1034 |
+
126530
|
| 1035 |
+
126531
|
| 1036 |
+
126535
|
| 1037 |
+
126536
|
| 1038 |
+
126537
|
| 1039 |
+
126538
|
| 1040 |
+
126539
|
| 1041 |
+
126540
|
| 1042 |
+
126541
|
| 1043 |
+
126544
|
| 1044 |
+
126545
|
| 1045 |
+
126547
|
| 1046 |
+
126548
|
| 1047 |
+
126549
|
| 1048 |
+
126551
|
| 1049 |
+
126552
|
| 1050 |
+
126553
|
| 1051 |
+
126554
|
| 1052 |
+
126555
|
| 1053 |
+
126556
|
| 1054 |
+
126557
|
| 1055 |
+
126558
|
| 1056 |
+
126559
|
| 1057 |
+
126560
|
| 1058 |
+
126561
|
| 1059 |
+
126563
|
| 1060 |
+
126564
|
| 1061 |
+
126565
|
| 1062 |
+
126567
|
| 1063 |
+
126571
|
| 1064 |
+
126572
|
| 1065 |
+
126579
|
| 1066 |
+
126580
|
| 1067 |
+
126584
|
| 1068 |
+
126585
|
| 1069 |
+
126589
|
| 1070 |
+
126590
|
| 1071 |
+
126591
|
| 1072 |
+
126592
|
| 1073 |
+
126602
|
| 1074 |
+
126603
|
| 1075 |
+
126620
|
| 1076 |
+
126625
|
| 1077 |
+
126628
|
| 1078 |
+
126629
|
| 1079 |
+
126634
|
| 1080 |
+
126635
|
| 1081 |
+
126652
|
| 1082 |
+
127280
|
| 1083 |
+
127306
|
| 1084 |
+
127312
|
| 1085 |
+
127338
|
| 1086 |
+
127344
|
| 1087 |
+
127370
|
| 1088 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/MB.pl
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V12
|
| 14 |
+
46
|
| 15 |
+
47
|
| 16 |
+
8216
|
| 17 |
+
8218
|
| 18 |
+
8228
|
| 19 |
+
8229
|
| 20 |
+
65106
|
| 21 |
+
65107
|
| 22 |
+
65287
|
| 23 |
+
65288
|
| 24 |
+
65294
|
| 25 |
+
65295
|
| 26 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/ML.pl
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V16
|
| 14 |
+
58
|
| 15 |
+
59
|
| 16 |
+
183
|
| 17 |
+
184
|
| 18 |
+
903
|
| 19 |
+
904
|
| 20 |
+
1524
|
| 21 |
+
1525
|
| 22 |
+
8231
|
| 23 |
+
8232
|
| 24 |
+
65043
|
| 25 |
+
65044
|
| 26 |
+
65109
|
| 27 |
+
65110
|
| 28 |
+
65306
|
| 29 |
+
65307
|
| 30 |
+
END
|
my_container_sandbox/usr/share/perl/5.30.0/unicore/lib/WB/MN.pl
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
|
| 2 |
+
# This file is machine-generated by lib/unicore/mktables from the Unicode
|
| 3 |
+
# database, Version 12.1.0. Any changes made here will be lost!
|
| 4 |
+
|
| 5 |
+
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
|
| 6 |
+
# This file is for internal use by core Perl only. The format and even the
|
| 7 |
+
# name or existence of this file are subject to change without notice. Don't
|
| 8 |
+
# use it directly. Use Unicode::UCD to access the Unicode character data
|
| 9 |
+
# base.
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
return <<'END';
|
| 13 |
+
V28
|
| 14 |
+
44
|
| 15 |
+
45
|
| 16 |
+
59
|
| 17 |
+
60
|
| 18 |
+
894
|
| 19 |
+
895
|
| 20 |
+
1417
|
| 21 |
+
1418
|
| 22 |
+
1548
|
| 23 |
+
1550
|
| 24 |
+
1644
|
| 25 |
+
1645
|
| 26 |
+
2040
|
| 27 |
+
2041
|
| 28 |
+
8260
|
| 29 |
+
8261
|
| 30 |
+
65040
|
| 31 |
+
65041
|
| 32 |
+
65044
|
| 33 |
+
65045
|
| 34 |
+
65104
|
| 35 |
+
65105
|
| 36 |
+
65108
|
| 37 |
+
65109
|
| 38 |
+
65292
|
| 39 |
+
65293
|
| 40 |
+
65307
|
| 41 |
+
65308
|
| 42 |
+
END
|