Album
view release on metacpan or search on metacpan
script/album view on Meta::CPAN
$js .= " case 45: window.location = '$up'; break // '-'\n" if $up;
$js .= " case 100: window.location = '$idx'; break // 'd'\n" if $idx;
$js .= " case 106: window.location = '$jnl'; break // 'j'\n" if $jnl;
$js .= heredoc(<<" EOD", 4);
default:
}
return false
}
document.onkeypress = handleKey
</script>
EOD
$js;
}
sub button($$;$$) {
my ($tag, $link, $level, $active) = @_;
my $Tag = ucfirst($tag);
local $fjoin = \&hjoin;
$level = 0 unless defined $level;
$active = 1 unless defined $active;
$tag .= "-gr" unless $active;
my @path;
push(@path, ("..") x $level) if $level;
push(@path, d_icons("$tag.png"));
my $path = $fjoin->(@path);
my $b = img($path, class => "button",
alt => "[$Tag]");
$active ? "<a class='info' href='$link' title='$Tag'>$b</a>" : $b;
}
sub hbuttons {
my (@b) = @_;
# When using a <table>, it seems to be impossible to get it
# aligned properly on the journal pages. Apparently,
# <td align=right> semantics cannot be implemented using CSS.
"<div class='hb'>".
join("", map { $_ } @b).
"</div>";
}
sub vbuttons {
my (@b) = @_;
"<table class='vb'>".
join("", map { "<tr><td>$_</td></tr>"} @b).
"</table>";
}
sub ixname($;$) {
my ($n, $rel) = @_;
my $f = sprintf("index%04d.html", $n + 1);
return $f if $rel;
d_index($f);
}
# To aid XHTML compliancy.
sub br { "<br />" }
# Pseudo-smart approach to creating paired single/double quotes.
# Note that the (s-|s\s|t\s) case is specific to the dutch language,
# but probably won't harm other languages...
# Yes, you'll get stupid results with input like rock'n'roll.
sub fixquotes($) {
my ($t) = @_;
# HTML::Entities will already have turned " into " -- undo.
$t =~ s/\"/"/g;
while ( $t =~ /^([^"]*)"([^"]+)"(.*)/s ) {
$t = $1 . "“" . $2 . "”" . $3;
}
$t =~ s/"/"/g;
# HTML::Entities will already have turned ' into ' -- undo.
$t =~ s/\'/'/g;
while ( $t =~ /^(.*?)'(s-|s\s|t\s)(.*)/s ) {
$t = $1 . "'" . $2 . $3;
}
while ( $t =~ /^([^']*)'([^']+)'(.*)/s ) {
$t = $1 . "‘" . $2 . "’" . $3;
}
$t;
}
# Escape sensitive characters in HTML.
# Two variants: one using HTML::Entities, the other a dumber stub.
# If HTML::Entities is available, it will be used.
sub html($) {
eval {
require HTML::Entities;
if ( !$encoding or $encoding =~ /^(iso-?8859-?15|latin-?9)$/i ) {
# Apply Latin-9 instead of Latin-1.
no warnings 'once';
for ( \%HTML::Entities::char2entity ) {
$_->{chr(0204)} = '€';
$_->{chr(0246)} = 'Š';
$_->{chr(0250)} = 'š';
$_->{chr(0264)} = 'Ž';
$_->{chr(0270)} = 'ž';
$_->{chr(0274)} = '&OE;';
$_->{chr(0275)} = '&oe;';
$_->{chr(0276)} = 'Ÿ';
}
}
no warnings 'redefine';
*html = sub($) {
my ($t) = @_;
return '' unless $t;
$t = HTML::Entities::encode($t);
fixquotes($t);
};
};
if ( $@ ) {
if ( $encoding ) {
warn("WARNING: Module HTML::Entities not found.\n".
"Encoding of the HTML files may be incorrect!\n");
}
no warnings 'redefine';
*html = sub($) {
my ($t) = @_;
return '' unless $t;
$t =~ s/&/&/g;
$t =~ s/</</g;
$t =~ s/>/>/g;
fixquotes($t);
};
}
goto &html;
}
sub htmln($) {
# Escape HTML sensitive characters, and turn newlines into <br>.
my $t = html(shift);
return '' unless $t;
$t =~ s/\n+/$br/go;
$t;
}
sub indent($$) {
# Shift contents to the right so it fits pretty.
my ($t, $n) = @_;
$n = " " x $n;
return $n unless $t;
$t = detab($t);
$t =~ s/\n+$//;
$t =~ s/\n/\n$n/g;
$t;
}
sub img($%) {
my ($file, %atts) = @_;
my $ret = "<img src='" . $file . "'";
foreach ( sort(keys(%atts)) ) {
$ret .= " $_='" . $atts{$_} . "'";
}
$ret . "/>";
}
#### Size helpers.
sub bytes($) {
my $t = shift;
return $t . "b" if $t < 10*1024;
return ($t >> 10) . "kb" if $t < 10*1024*1024;
($t >> 20) . "Mb";
}
sub size_info($;$) {
my ($el, $med) = @_;
return unless $el->width;
my $ret = "";
$ret .= $el->width . "x" . $el->height if $el->width;
for ( $med ? $el->medium_size : $el->file_size ) {
next unless $_;
$ret .= "," if $ret;
$ret .= bytes($_);
}
$ret;
}
#### EXIF helpers.
sub restyle_exif($) {
my ($el) = @_;
my $ret = "";
my $v;
my $app = sub {
$ret .= "<tr><td>".htmln($_[0])."</td>".
"<td>".htmln($_[1])."</td></tr>\n";
};
$app->("Date", $v) if $v = $el->xDateTime;
my $t = $el->ExposureTime || 0;
# if ( $t && $t <= 0.5 ) {
# $t = "1/".int(0.5 + 1/$t)."s";
# }
$app->("Exposure",
join(" ", $el->ExposureMode || "",
$el->ExposureProgram || "", $t)) if $t;
$app->("Aperture", sprintf("%.1f", $v))
if $v = $el->FNumber;
if ( $v = $el->FocalLength ) {
if ( my $v2 = $el->FocalLengthIn35mmFormat ) {
$v .= " ($v2 eqv.)";
}
$app->("Focal length", $v);
}
$app->("ISO", $v) if $v = $el->ISOSpeedRatings;
$app->("Flash", $v)
if ($v = $el->Flash) && $v !~ /did not fire/i;
$app->("Metering", $v) if $v = $el->MeteringMode;
$app->("FocusMode", $v) if ($v = $el->FocusMode) && $v ne 'Auto';
$app->("WhiteBalance", $v) if ($v = $el->WhiteBalance) && $v ne 'Auto';
$app->("Scene", $v) if ($v = $el->SceneCaptureType) && $v ne 'Standard';
script/album view on Meta::CPAN
css => css_for("index"),
ltop => $tt,
rtop => $t,
hbuttons => hbuttons(@b),
vbuttons => vbuttons(@b),
jscript => jscript(%nav),
contents => $cc,
));
}
################ Journal Pages ################
sub write_journal_pages {
return unless $journal;
print STDERR ("Creating ", $journal, " journal page",
$journal == 1 ? "" : "s", "\n") if $verbose > 1;
mkpath([d_journal()], $verbose > 1);
my $mod = write_journal();
uptodate("journal", $mod) if $verbose > 1;
}
sub write_journal {
my $jname = sub { sprintf("jnl%04d.html", shift) };
my @ann;
my $seq = 1;
my $x = 0;
my $tag;
# Local scope...
my $orig_dd = $dest_dir;
local $dest_dir = ".";
local $fjoin = \&hjoin;
my $flush = sub {
my $jnl = "";
my $ix = int($seq / ($index_rows * $index_columns));
foreach my $e ( @ann ) {
my $t = $e->annotation;
$t = (UNIVERSAL::isa($t, "ARRAY") ? $t->[0] : $t) || "";
$t = html($t) unless $t =~ /^</i;
if ( $e->type == T_ANN ) {
$jnl .= "<tr>\n".
" <td class='twocol' colspan='2'>\n".
" " . indent($t, 4) . "\n".
" </td>\n".
"</tr>\n";
next;
}
# We cannot use $el->seq, since that's the info.dat order
# which includes the skipped entries.
my $dst = ($e->type == T_REF) ? $e->assoc_name :
d_index($e->type == T_MPG ? $e->assoc_name : $e->dest_name);
my $img = "<a name='" . sprintf("img%04d", $seq) . "' " .
($e->type == T_REF ? " target=\"_blank\"" : "").
"href='" .
d_up(($e->type == T_REF ? $e->dest_name : d_medium(sprintf("img%04d.html", $seq)))) .
# "' border='0" .
"'>" .
"<img src='" . d_up($dst) . "'/></a>";
$jnl .= "<tr>\n".
" <td class='jl'>\n".
" " . indent($t || " ", 4) . "\n".
" </td>\n".
" <td class='jr'>\n".
" " . indent($img, 4) . "\n".
" </td>\n".
"</tr>\n";
$seq++;
}
my @b = ( button("first", $jname->(1), 1, $x > 0 ),
button("prev", $jname->($x), 1, $x > 0 ),
button("next", $jname->($x+2), 1, $x < $journal-1),
button("last", $jname->($journal), 1, $x < $journal-1),
button("index", d_up(ixname($ix)), 1, 1 ),
);
my %nav = ( up => d_up(ixname($ix)),
idx => d_up(ixname($ix)) );
$nav{prev} = $jname->($x) if $x > 0;
$nav{next} = $jname->($x+2) if $x < $journal-1;
$x++;
{
# Temporary restore local scope.
local $fjoin = \&fjoin;
local $dest_dir = $orig_dd;
update_if_needed(d_journal("jnl" . $jnltags{$tag} . ".html"),
process_fmt($format_for{journal},
title => "Journal: " . htmln($tag),
css => css_for("journal"),
tag => htmln($tag),
hbuttons => hbuttons(@b),
vbuttons => vbuttons(@b),
journal => $jnl,
jscript => jscript(%nav),
));
}
};
my $mod = 0;
foreach my $el ( @journal ) {
my $t = $el->type;
if ( $t == T_TAG ) {
$flush->() && $mod++ if @ann;
$tag = $el->tag;
@ann = ();
}
else {
push(@ann, $el);
}
}
$flush->() && $mod++ if @ann;
$mod;
}
################ ################
script/album view on Meta::CPAN
=head1 AUTHOR AND CREDITS
Johan Vromans (jvromans@squirrel.nl) wrote this module.
Web site: http://johan.vromans.org/Album/index.html
=head1 COPYRIGHT AND DISCLAIMER
This program is Copyright 2026 by Johan Vromans. All rights reserved.
This program is Copyright 2004,2007 by Squirrel Consultancy. All
rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of either: a) the GNU General Public License as
published by the Free Software Foundation; either version 1, or (at
your option) any later version, or b) the "Artistic License" which
comes with Perl.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the
GNU General Public License or the Artistic License for more details.
=cut
__END__
Xbegin 644 index.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!?TE$050XC;V3
XMOTM"413'/^JSAR))B3B;0F[A%KGDT-(D+D(0!*W^`[T6EPP:0W`2A":7>+N#
XM+C4(\D9U4&?Q1QB1^"L:>M?W>$HNT7>YY][[.>=^W^$=6Y4MDO1U.;3>^!PF
XM8E)1YUTK$70FXB[`5H7/6PTY8B6:4Z)W;K!5F2A:)./W6HEQ(]>,9EW8H:)%
XMBN$U`.]Q,:)50`*5C/0FSMWRQUP/G9YT6CU'8CF7_;,S02A)Y54/3QX/?[YE
XMV#WRSM@)`0SZ``<R,.U8^A%X`BCD`>Y#0#NEW]C7'%KU%X3P\5X`J`/PO`^,
XMK,0X;V25-M20%+&/DCK5PX"9L">-G-A&'U_JJD;PI2=JQ$S$(BL()5A:==U,
XM@/<"H%X#2.T#(^%7$+O7`-0`DB&@+8C_[7KO$F``P(T,3`W"%VR.7<P:1E8'
XMLR0<SFD_7!9[-]G5?TI+?R7QD"GN&3F>5;3(D0`)XF7M*N-;M]C*-:-Q8^8V
XC2LP<3"KJ)L"8V]^UO6/?/_-HCRMMEKD`````245.1*Y"8((`
X`
Xend
Xbegin 644 medium.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!(DE$050XC;W3
XMOTZ#4!3'\2\4TM3$="!]@"8FLK*Y]@U(]`&<VSJYZ<)2)ZT./$`GZ<CN`&_`
XM*+@T<34-HHE-TS^ZM$+@`I/^EDLXGW`N]^9(/C51=NMFGJ]HC8Q8>.YJEA==
XMU>RU`,F'K^N`IIX7X1)C=`"2S^(JT*U..R^29SLT;EK(X`7ZY*@`:)],],`#
XM&5PLI5`'4(:X(+-9-3LE/WH,(#.?Z<46F<A5Q;\3'W7".8VJQ>-]/`RKA/.P
XM);Z(RL5TO`7B050FG-MO`-[[D5A,[_9/2?]%))QQ^C89I-O]O=5/]3+;_54O
XMB,,SQ/FOF].Z85(M&NKRK:08[;J86&LA6-N8H$#O*3BW-,$7[-#HI3,GS'[F
X@8.&Y(I#.;77JS^,'X]I4;J49'ZH`````245.1*Y"8((`
X`
Xend
Xbegin 644 first.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!;4E$050XC873
XMNT["4!C`\7]+"<&%@?``)"9V,`8F77D#XF4$W44G0Q"7+BI1)X75(*QBV!P<
XM8'6QQAC%B0<P#"P2PLVAI3TMK9[E.SGGU^_2Y$AM_EF*&2<]]TTT((A!JSGJ
XMND4\F$Z%`:D-/R<Z(=4M.D.2ITL@M1D4=56+1=RB_UGN),_"R-#2U>KR`B"R
XM457U%LC01%,6[@&4'$V0F8Q",9]!5P!D>EU5*/%FA.F[=2([OZK=&K'TZ"/J
XMY2D`YP]"-\+]K'YME"@)P"%,,+D4@5AE#J[N'97M''<5H]1%P]F\E:-6,9HL
XMN8"5X]6<XGGB`E:.1,[8K6_Y";+[QK;@)O8LNP<`2/D=/T'F$(#`T;:?L$A^
XM4Q3B/Y6RT@V`7)0:W@(RLQ<`CF=^@FS"B(4/H8]HO-.WR9IYO"J(0'#XC??Z
XM,F=)HXT]P;A,&A1(/>E[6M0C0[F33-EOSG/-WQP,6DTO8+_;OY?\'^`7/!!E
X1K2\A))\`````245.1*Y"8((`
X`
Xend
Xbegin 644 first-gr.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!2DE$050XC873
XM36K"0!3`\7]B1"P%H5&$?@A"H=EFUZTW\`@]0$_0;K)I3Y`#>(3LNX@WR++I
XM2M"V(-520131U"XF'Y,QJ6_S(//+O)?,/&W(D3#B',W5%;,BB;7O;4>JZ%;[
XMO3J@#6'U&%"S5!%NL)].0!NR?@@LI]50Q>+5#>WG.CKX@36X/@`T;@=6X(,.
XM'HYQL`Y@W..!3K2MM4H^]`9`9SZRI!*12/LH?:+GWYK^B#Q9E8CIQQZ`\4SJ
XM)@]$B8D$<GLDX%T&LDC!%\4B!B@@ZR,!XQG%8ODI\O=2`6F5TW.1SYIE@O:%
XMR!WU"+).$W+9*A,)T10B_[&4-,M$2CHRR=^=-IIHMU30CN_%U:]4Q>R&BXS$
XM0Z)5)%&I;I232.,M[K2/LRL$.Y<^&-6"TNO2`MU6T-J[$4MX8&
XM_087(L@F/T`XM"2B7AN.+_?E6/_E.3SGQ__YWWMXM!;_R#^IHZ[[)N*S$;UF
XM8]!Q$[%`.A4"M!;\G)@$=3?1[I,\70*M1>_8U,O1L)OX_C#:R;,0`IJF7EWV
XM`(0WJKK9!`$-RG[//8`_3P,$HT$PNN!#5P`$W8X>!GBW9/O-A8G9Z>5"UKN'
XM103U<P`LX]&9QG:NC4L"L*[&.4WI`?7*"(!KNXN#X/G2BS@)GBIC`&[NE3D`
XM:K)8M]K.`H*:?'3+B">44R"[+OOYA#H'V9)L[T^'N*=L%^6?*.1F+:?'5E&F
XM.)@#3H_,H?``#B)[)&T+=L`^)3,!\@[`YK&Y*NM>W!E>$(FUOP'6)G8N`($O
XMT/]"K<])CC3EH1(8&J3!#ZE7<[<<43@8[61JOG-*37<.>LV&"ICO[=_RO+Y'
X5OU]T8)`W'C>9`````$E%3D2N0F""
X`
Xend
Xbegin 644 last-gr.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!3DE$050XC873
XM34K#0!3`\7\F*:5U4:$4W`A&"V;;G=O>H$?P`)Y`-]GH"7J`'B%[%^D-LC3B
XM1P0W@A3LHBVE^7"1IDDF,_HV$_)^O'G#FS'F_!/6?DT6<J9O5L3&]W:1+.S6
XM9-P!C#FL[P+:CBS"+:/[+AAS-K>!XPYZLE@^3</10P<!?N#,A@U`[VKF!#X(
XM\'"M1A[`NL$#0;)K#S0'O000+"*G!Y`4YY:8.'Q]_>3KYTHGTF@)0/RVU@BR
XM][Q*_++2"+(H)\GK2B/(/@JRU@A2!:F+LMV22((LBG,2I1IAV/D$+%NHA;#S
XM$5K#KGH7<78,@%F"NC`4H"8,NP!'E;^5FV&<-WJHUS@T>5$#E1HG^]M_:M8`
XM@KX=+@&*A`00F*WM-^IXWO<QP8V5()XR`0O&C\&UVU=4F(:C<?GFE%&\.=CX
X?G@J4[_;OD*??C%],IF=*M!8^B@````!)14Y$KD)@@@``
X`
Xend
Xbegin 644 next.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!,4E$050XC873
XMOTK#0!S`\6^O*:6"=`B%_EL*@EF[N?8-^@@.0A'[`BI"0-07B$C!H8^0W2%Y
XM@XS&J4N2%J1#$2RE+;A4T]S%WF\Y?G<?[O<[CE_!1Q/&;MW.Y1.SN">6GKN>
XMR*)3ZO<J0,&'[]N`LB6+<$7WX0@*/LN;P+)K55DLWIVP^UA!@!=8XQ,%4#T;
XM6X$'`EQL0SD',(:X(-BNR[5_'GH*()A/K+3$E\I$-KU.="(>S#2"Z<54(Y@-
XM8HT@N8HT@F@8:P31Y50C2.YTHGFO$>V7QF'1=EK[J?JKS><,4$5]U,ANR%4:
XMKQ*016M4ER^5JCP=*WT)S$ZX^$M5@*!86GVJ^P!\[/KH8V]RP<:A#P;TWH)S
XMV\RYP0F[O73F<N-WYF#IN7D@G=O#D?O[F?@!Z/M.5(VCE!4`````245.1*Y"
X"8((`
X`
Xend
Xbegin 644 next-gr.png
XMB5!.1PT*&@H````-24A$4@```"$````A"`````!RCYVS```!'TE$050XC873
XM,4[#,!2`X3]NFJ@L':*.2$0*D#4;:V[0(W``3@!+%GJ"'J!'R,Z0WB`C@2*%
XM'77H0N6TD5@*;9Y-\Q;KV9^>GV4]9TE/N(>U7<N38'`BMD6^JZ4(A]-T!#A+
XM^'XJ\6,I*DWR?`'.DNUC&6>3L12;UWF5S$8H*,IX$1F`\=TB+@M0D).YQCF`
XM^T`.BG;G3_YYZ"V`8EW'QRM:DZEN6NL^H5=-CZ!YET0*FI7N$>@/W2,DL0C1
XMKDW0?/8)[^HDL?V('WGG:_B1SUDA@'F+=^UU-V0-[T8`6<._E$"*<&#TI0C"
XM:O.7F@#%8*B_S'T`W@Z=3LGV5K"?,P47TI?R/@LL%>95DAYGSAJ_,P?;(K>!
script/album view on Meta::CPAN
XMR]%ZMB7M(CN%+$X<V^CF!S2?[<Z3KC:71Y?%J/'(0&OMAAR^/5OZ*W]ZTPRN
XM0^ONVFD\2U'F!2=UO>Y-YNJI/=K6WGA:;2L`(2.62?\`.=6'M*U#NBR0U?>?
XM*3S(Z?+EZY\*@]+Z(OVJ7DAE!C1"=WE@X(\A];]O,5H_0/3[:2/^H5&A.V5F
XM74ER<]WNL6OE51EU;\U#0W.<A#9XLGIDXWWZ`4W]"=DNH=1,-+U%+>M%E2>/
XMV?.'5_\`UY)]5;^56G2^G](:%6EN)'5=[YR/"`M:5>9Y-C]?6IV?)FSEI1?Y
XM2FT*W;M4+=2ATXO^\"M`J+L[';#IZI;CH6Y#I/\`"GM.RM.Z3C&S:%L[<F4=
XMG7T[@D=5N'=1\N0\JR<6]/G!5UD.7B<#E,1DX9:]3R&/F:CDCV=E#,Q8ML=0
XM]R!$]YYW\1Y_L*V+C<H=DM@>O$QC3UN/P1VSQ27_`"`&Y^7*@<LN[Y#]RB#6
XM\-"M%F4H76.Q)E(7)2?<B1Q]&U^,C^]2VF52%PY#DEQE3AE.`I:^%O&$\.3S
XM.V3YGI2&O?:3<7F_8-+Q/Y'!7L'U)XYD@>0^KGY^HIA]@UMOL&UW.3=6WF6)
XML@/L-O'*R2,*6?-6,GSH4VXLJ7F.(9`YX5]E(Z-OM'Z>B9=%%%=5ZBE%VW=C
XM\/5R'+Y8$-1+^D<2T_"W,QOA7@O[W7KXANT5]-<6G(47YYW*WS+;/=MT^,[&
XME,+#;K3J>%22"1@C\JT\93GRS7:_;!V86K7L#VA'=PKVPC$>8$_$!N$.8YIS
XMUYCIX'D'4^GKKIF].V:\PUQ9;)2.%7)2<G"DGD4G;!%<IZ5LP[F[ICM%\?3N
XM#)#HH7B4@\220H<B.E36GXTJ^7B,B.P3+2K)<0>'C(W!..1'4]?7<Q"@`QWA
XMY8R:9W9K`N=OL)GH$>UHDI"EW![XPV1D)1GEGGL,G;P%#Z:V^TDR[8)BO/43
XM8:7\/5SM`IFTZ2LMA>_F&IY7MD]T93&2.)2O((_NK`JT/S)[\9/M+J;!;5;(
XM9;.9+X\-M_D,<]ZC+4PEM#DFVMAI).7KM<>9/BD*_<_E4G;&\ER9;T=Z0.)Z
XM[W(X2D#F4A73UP!X4S.=H`=@LK.KB>2MN"V(<,*92BQ0%;=\Y[TE[\(Z>@R?
XM.I".M$&WN34%JQ6X;NW":H=^[GPSR)^9-4V?K&VPY"S8FC?[D/=7<IAQ&:/W
XM?M#R&!X&M>RZ6U7KNYIF2E/W!23M)DC@CL@]&T<OVSCK0>HNK0[V<`[W>FP^
XMI5N*C<X=S]`I"Y=H"(X<;T?#*"LX7>+@GB6L^+:#N3X<7Y5AI70.IM73_P"9
XM23(PX?I+C/W61]Q)Y#P'3P%-K1G9=8[(42I__LYZ1\;H]Q/X4_YZ5?DI2E(2
XMD!*0,``8`JG[I)4'NJG9]!M_U6VOCATB&ODJH:-[/-/Z<`>2S[;.(]^2^.(D
XM^0Z5<***OM:U@PT8"XN<7')11117TO$4445%$54^TS0=EUW9?8;FCNI+63%F
XM-I'>,*\O%.>:3L?(X-6RBO02#D+PC*X0[4-%7O1+DNVW9C!#:UQY"!EM]L9]
XMY)_<<Q5ZT'&C2[+;GX%NEW"2J,VI"Y1PPT"D<MR3CPVKIW5^F[1JNR.VB]14
XMR(S@.#]9M6,<23T/^'(KG&Z=BO:78Q_X]9+JU>-+\:BPTN08ZT))R4.8!XAO
XMZ59]L!&2!\7ZKQ_=)AKCH%\NNH+5"D\"W%:ENS?PLLD)B1SYD>[MY9.V^*U(
XM=JU;KZ:AI]*YC2593&8!;AL>OVL>))]:9V@NQ>/#8:=U&XTI2<'V2-LV#YGK
XM_G*FY;X42WQ4Q8,9J.PGDAM.!_W09\=15'\=V&^!_LJPP10_*,GR4M]$]D5K
XMMH:DWU:9[Z,%+"1PLH^76F8PRU'92RPTAIM`PE"$@`?*O2BK<4+(F]K!@+X>
X1]SSEQ111171?"****BB__]D`
X`
Xend
Xbegin 644 bg.jpg
XM_]C_X``02D9)1@`!`0$`2`!(``#_X0`617AI9@``34T`*@````@```````#_
XMVP!#``4#!`0$`P4$!`0%!04&!PP(!P<'!P\+"PD,$0\2$A$/$1$3%AP7$Q0:
XM%1$1&"$8&AT='Q\?$Q<B)"(>)!P>'Q[_VP!#`04%!0<&!PX("`X>%!$4'AX>
XM'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>
XM'A[_P``1"`)8`E@#`2(``A$!`Q$!_\0`&P`!`0$!`0$!`0````````````$"
XM`P0%!@C_Q``H$`$!``(#``,``P`#`0$!`0$``0(1`R$Q!!)!(E%A$S)Q,T)2
XM%('_Q``8`0$!`0$!`````````````````0(#!/_$`!L1`0$!`0$!`0$`````
XM```````!$0(2(3$#_]H`#`,!``(1`Q$`/P#^F@`````````````````#8`)I
XM4M043L4-;8Y.;'#JKS9?3';Y_)EER9LVK&^;DF=Z<?K:]&'%C)VU]<'.UTCS
XM\=^OKV</R<9_%SN.%CEGQZ[Q)4L?1EWVFNW@XN;+&ZR\>[CY,<L>O725FQHE
XM"-,B:V+^=`EZ#WU=:```````````````````````````````````````````
XM````````````````)!`5/S:R.7RN2<<9M6//\OEN4^L9X,=8[KGQ[SY-N^5F
XM,TY==-2)GE^,D(YVM*N.7XSH-7&L^*6;<<<\^++J=.LNF[]<YK7;<Z9QOAY_
XMOZ]$U>X^=GQ98W<K?!\GZ=5UG3-CW)/4PSF<VNV]9Q:!O8``````````````
XM``````````````````````````````````````````(L[$ML\`JQ/%G^FC/)
XMEJ;>#Y&=Y<NG;Y7+J_65QX,>[:Y]5J1TXY,<?]9SO:Y73.]N/5;BP(,*=[``
XM7SQ%UTNC4RWZSR\4R[QA&IE9XLZ2QQQRSX[WX]O#SX98ZOKC<,<_7#/"\>>\
XM77GIFQ]&=^*\?!SWJ9/7,L<IU765G%3:FHJ(L[)WZ>``":`(H`H`````````
XM`````````````````````````````````````BRZ$`9^1E,./;5NH\'/R7+/
XMZ[8M:CG;>3/;O9](G%C)CO\`4MM<K6I$MV3J!^,-18GABJ``@``L_H\1J?Z!
XMMJ:LU6;8-2F)GQ=;C'%RY<67?<=9?[,\,<YU&YTSCMQ<LS_79\RXY\=W*]'Q
XM_DR367KK.F<>JJSCE,O%_6I4Q0%9P`%`````````````````````````````
XM```````````````!-J`$*`GZK')9,:#E\WEF./\`%Y>/'[9?:IGE>3/7XZR?
XM7!QZK<AE==,;6]IIRM;59XDJU`18`!25``!85&@210`677B`-]93MQY>+5WB
XMW&YE^.DZ1QXN7+"ZKV<?+CE/>WGY.*9N/\N*[G;I.F;'TAYN#G^W5Z>F:OE=
XM)6<!+TJH````";4``````````````````````````````````````$UL\.XO
XM5@&M^!/\2[0+_'NO%\SEWEJ/3\GDDX[/UX<)<KNL]5J1OBQUW5ROXN5ZZ8_7
XM&UN&]$494GJH(*D6)`47\0!8@47]6II4`3:@`(+^(3U=&BXY:6R9>LZ)=-RC
XMGR<64[Q7A^1>/^.3KCEN]^,<W%CEWC'7GIFQZ^'.<C64U7S?MR\5_P`>OAYY
XME)N]NDK-CO+TA+OP:9771I.S=_07<3]6%```````````````````````````
XM````````````]32BH33.=^LW5O\`;S?,YOMC]8Q:U'#FSN7)_C6,U&./']K6
XM5TY=5N00O<(YK#8:78I"TGI065"""[Z2Y&5U''++=60=?LU*\_;6.6E\FNU$
XMQRVU6;`BI%0!-KZ``F!LI%V*GXUAE8A>UE1K+&<D[<,N.X7>+K]F\;+ZZ3I,
XM<N+Y&4NLNGLPSQRGKR<O#]^YTXX99<-[W77GIFQ]/>D]<OC\\Y.G:ZVUNLX>
XM`F_QI%`$`!0``````````````````````````````````U1+;,=IIC'-RSCF
XMJ\'>>=OXW\K/_DR,)]9TY]5N+YCIGU;>QRK:165GB!^E%$(?I/2HJ_B;D],?
XM&.2K(:SR9;\7@XKE=LXS[74>WX^'UQ[=N>6;TF?%+CU'EY.++&[>_P`\2XS/
XMJM^6/3Y\RL=,,_[;Y^#5_C'"2SURZY;E>CV$<L<[*ZS*6.5C:I.C:H@!`">K
XMHT"=K#8@:#:$&IE=_P"+GCAG/.V%G3<J8XY<>?'?M.HZ\/R.]9>NDOWFLO'+
XMEX).\72=)CV\>4SG2WKU\W#FY>++5\>[CY<<YW>W6=,6-_JFOZ\&D//1)WZU
XMJ:$0`4````````````````````````````````CS_*YM8W%UYK],?MMX.3+_
XM`),]L6M1./'=MK>]=$_C&=[KC:W%I#\(RJ+#HH@5)ZHI.EG8END@N74<,LMW
XM37)ELXN/[9.O,9KK\;CU9D]67?B828X:(]',<;2=+YV*WC.K['+EX9EVZ>-1
XMSO+4Z?.Y,+C4QRL?0Y./'*>/)R\%QNW/KAUG1CEMN//NRMX9.-C>NO2^,2M2
XML8"Q-+`2^BFP14-@IZBSL$O3>&3&KM?%T:SPG)/Z>;+'+BRW.W>95TWAE-6-
XMSIFQGX_R=ZQO3TRR_KP\O#EO[8IQ\MX[K)UG3-CZ`Y</+.3QUL;0$BJ@````
XM````````````````````````)+5U`$OA^N7R^3_CG26K'#Y7+<K<-N6&,D37
XMVR^S3CU6Y"W::!SU5Z06"HL3;0B%5-;%6,9V-6N/)>VI$3VO9\?"XS=<?C\?
XMV[KU6]:=^.7/KHOJXIC*ZXX;=7-C5OC6JZS&1G+*1+TRY_\`JRQC/+;%RTGI
XM->B%QF4U7"<MBSE[9MUJ7&>;@GY'DRPRPO;Z$SW&,L,>3USO+I.WCQR=<<HS
XMR\?UO3G+9>W.\NLNO1LVYX9-S7K%BJ+Z:9#06DH!>O$I`79.TJP$JSH/_%T;
XMF7Y6>3CQSFYZBXVXM2ICAKDXKN>/3P_(EDEO9=<DU7#EX?I_+'MUG28]^-^T
XMW%KP<'R,L;];.GLF>.4]=)=9L:#R;/\`6F5```30`4``````````````````
XM`0%J:_2K+KU*,YW6-KP<V?\`R9:_IV^7RZNH\^,[VQ:W&IU$JU'*M0`9*+4:
XM%C,:2%$5-Z(SG="Q.7+<Z8XY]LM)EV]/QN/K[.W'+/5=>+'Z8Z:QGVJ7NS3T
XM<6&IMVS'"W5PPU&X)?#1CESU'FRSMK7-EMR8M9J]LY&TM1%B[TR"M_9/OIBG
XM0K<SEZJ9\<R[C/ZLRL9L;G3E9]:N.6NZ[68V.66%W_C-CI.F\<I6G'>NF\<G
XM.QTE;)#<JQDJ+(E$1:;0T!272ZAT!H+44-6.F.<_>W/M=-2IB\G%,YO'IY]Y
XM<.7>Z]$RLOO3=QX\YVWSTEB\'R9R3ZNWCYW+QY<5^V/CT_&YIECJWMVE9L>G
XM6Q)N*TR````````````````````";4``$QWMCY.4QX]R]NENH^?\C.W.QGJK
XM&-W.[J[T8SI-]N-K<4!EH`0H;#0@"P%ZD<>3+;7)EKIQ[N73?/);CKP8??+5
XM>K_K/K&>+'Z82MR?:O3S,<>NG3AQWV],\<^''ZQTBUF#.?\`UK3')_U9H\>=
XMW4,YK)FL5FI1*1$79N@HEJ54#5BVT38:N]-\>7VNJY7M<+JF-2NG)Q?TY7&R
XMO=Q:RP<>7CC%Y=9TX2MRLY8:)ZY6-SIM8S%E9;6Z-Q/30A2>A$P70GZLH%ND
XMW:H:)^M3U$GJRE=>7^?'IY./^'/(]F/CR<G_`-W?BL5]'&[D5R^/WBZNT9H`
XM(````````````````(H!4M6))V!)5-]Z9Y,IAC6;5CC\SEDQU'CG=W5SRN>=
XMVOD<[6Y$I/2*YU03:Q%T``A0O0BQ,^IM9XYY9;NJLBLY7[.OQL)^QSX\;<NO
XM'KDF,Z>CB.7=-[OUCMP\;'!A_+;U34FG5R6=%$M8:+6,_%M<\ZN,VO/S=5RV
XMZ<UW7)BLT6$&45+4VEJJM3:'Z#6^DVEVG8UBW:\?_9G)KAEM4S'MX[K%C/,W
XMK%PSRVE36KE$L_8QC+:Z3S3ETZ\)&XSIJ5RKL5%J)``4"+:B!2!I1=F.-RNT
XMGNGHX<=3=61+3.S'!X9_/G=OF<G6I3XG%;K*QWYC->O"?3&-%_T=6```````
XM``````````````MZ"3:$36I]GC^7R[NH[_)Y9CC<7A[RNZQU6HN,_3?:7J$[
XM<];BTA_AXRI5B+"HF^U!!9_:7NGXE6!E=1SUNK;MTXL=7=;YC/5;XIK%J;M;
XMQX[E=SQZ>/CD]CT3XY7Z<6.L8WI?PT:2);IFW;59RZ6):SE7+DO36=<LNXM9
XMKA;ZB\DTS'/IFM2I:FTM80V(*T4B5!8ZX]K<6./UUGJ.D8N#?%-5:R:MC?)D
XMXWWI,K=M\?:6L>6L>HOJZT?ZY=5VYF`J1S=%OB`(;"19`1=&P"INE:PQVHUQ
XM8;NVOD<GTQU&NL,-O%S\EY,]1UYC-.'&\O)V^AQX_P#'CIR^/Q?3&9.^]NTC
XM%3U4BM(``````````````````"`+_P"IGE])NK[V\OR^7<^K-JQP^1G]L_\`
XM&69WZTY6ND2]A2,"E\1;X`>(H+*5(H$3(J3NK()AA;7KXL)9ISXY8]G#A-;=
XMN8Y=5OCPDC4(K;(EJ[8RJPI:YY5;7'DR;D8M9RRW6\,=N7^NW'>EK+A\J21P
XMCM\NN..G'HIMFTRNF;62+L9VNS%7:40-=,+IU][<)U%QSN]#<KOMG*Z3[:C%
XMMRNF6]U<9<K_`([XS3/%CJ-L=5J0J'M73E:Z0GB3U=$0#HI`2U8EA`-%-KKI
XM0DE=N.:[KGQ8[O;7/G],.FI$KC\KDN_K*?#XMW>4<N.7DY)7T<,)CC'?F,5J
XM=30#<2@"H``````````````````"%ZQVE6)S9S#%\W.VY[=ODYW*^N,<^JW(
XM:Z27;5_IF1SJK0$#?87T!8J&P5*1166L,-W:6.W%E)CJ^M\L=.G%_+IZ\.L=
XM/-\7"S*W\>JNT<Z0V);IK$+6,JMO3GGDU(6LYY.5[,LDC;G5G?3KQ]1SP_[.
XMF7^%''Y6/V>7*7%]'";]<^7BE\CE88\%NV7IRX:Y9<.48QF.<7:W"Q-=JU(G
XMK4Z-,VW\2H99?C?'C^F''^U<NO$72UTX<?Y;8PER>GCQTY]5TY^KKIFM5FN-
XMKO(1=I2(ILA811;`$"H"P-?JX]W23W3MACJ;6%:RUACMX>7*\F?U=?E<N^HG
XMQ>*W+[5VXY8UZ/B<7UP[=ZS+KJ-5UD8M#\!I`*(0`%`````````````G90``
XM''GY/K+'3ER^F&W@YL_O_)&^8Y\F7:3..7)EMG'_`-<Z[2/3O<V2N6.??U=9
XM)K;%B6%(;$9P#Q40A8LB;`BD2P%`GIICOP<MGKV89S*/G.G'R?6M\],6/=^,
XMVL8<FURO3OS=<^HF5Z<<\F\\NG"^NLCE:>KK^DVWAC^M$:QDD_U>]I?6I/UF
XMUJ36M_6+AGCE=;<.?/73EP[QS^VW/77Q\>GEPOVZB?\`';['HXK]L=M#G>7F
XM_P"#&^I__FP]>BZ9MG]KB//G\?&3IY\N'5\>]G/&67;-B5X+E]9IS_[5OY$U
XMETO!AOMRZN+(Z<.&G6W46>,9>N/5UWYYPM2+!AT*1+5A!*L3]/%"K#TO4`L0
XMG:XS=)!KCQ[VUS9S''2VS#!X^?.Y9.O/+-IQ8WDS?2XN.8X1Y/A68WM[I9?U
XMWG..=K&6/ZDMVZI<=M(S^'^LZNUE_$%"@H!H`3:@``````````3H"B02=;M6
XM./R>34Z1N1Q^1R;RL>3//^6FN7+??Z\]N[MFNO,=,\-S<<KTWCG_`&WEC,L>
XMO4='*?VZ89W]<]6=40L=Y=M.&.3MCE+&;&;&B](,XS8LIH\-HRL3:H@H`*LG
XM;*RK^#KA;BZXY[CA*LNO&N>L9ZY;Y-N<=)W$RG]/5QVX=<LR;KM.HSA-+>ZZ
XM6LR+.URR^N)-2.7-E^.7==OY\[7+/+[4PR[TS=)O7;EKT6?'T?CY?QTZUY/B
XMY;CTY?\`5TCS]./R<_K.GCG+E,][Z7Y%SN5WXYR;CM'&O9Q\TR3Y/+,<7DEN
XM$Z8SSRY+JN?=)]7"7DY-O7AA]8QP828R_KM;T\G5=N8ENF-[NBU)ZY.T*`H6
XM+"T@&RI1`\/5]2]*+.G3CQ_6./&VM<^<QQZ];D9M<OD\FOXO/.RVYY[K5DGC
XMU<<.5I]KCX[<//KUY_3QV\L6OJ<?+,HZRODX<N6/E>O@^1+_`-JS>5E>NZK%
XMPM\7#*9>-,8KEWCZUO;=DOKG99XBKK0DO]K_`.*'2?JB``*`````````0$Y+
XM,<7S^7/=NW?Y>7UNMO#S9,UTYC')EVR)6:[0L;PS^K,$:=OK,Y]OUSRQ9QMQ
XMKKC9G!7'6FL<FN3'3GX)8[X9.ENWFETZ8Y,V,6.NQ)VOC-C.$42U$_%2JFA%
XM-`"RZ;PK%1%=I=5K&]]N<RW&HUSWC'7+K?\`$QB8W7K>Y7?GMRO*9_\`5YL^
XMZ].<WCIY\YHZ=?Y_&/6=;NEO37'CNL<SZZ==3'?XLT]65ZTX83ZQTQNX[SEY
XMK6.7CF4>7+'ZWSI[;=QY?E<DDU^M7K'.QY^3+O4:^-Q[RW7+#&YY;>WBQU'F
XM[Z;YY:QFNOQG.]]-9WIRN[7GUWD4"(T`:`6(OA0HB^F"+)NFG3&:C4*LLPQK
XMQ<N=RRL=?DY_D<)-UWXY<^J0K7UNSZO7S,<>JFTJ_4L;837^IYY52])BQWX?
XMD98]/=Q<V.>/=?)]7#/+'+WIB\M2OLR[\5XOC_*GE>S'*6;VQ9C6IEBSWBZQ
XM+CM-&)=B7'2;1IH63<V@````````"9WZX[5S^1_\Q8\?R,_MMX\KNNV=]<;Z
XMRZ\H`CI`$OJ-:>K+KP$'7#*?_I,\-]SQSG;IAG?+X*YY=&-KKGA+.G*RP2NN
XM&>G2?R\>9KCSLZ2QFQZ)UZNF<;,EWIBQBQ?T/P93`!46(L\1%)=-XY,G[T#M
XM*NZY8VNF-AN,V.F-<N?'=W&_]A=6.GO4GQYM;KMC/I-ICA=K\C<PU';B,=5J
XM<N-Z;_\`'AXMW+M[,<M8]NUN..KR<GUQ?/Y,KGR-_(Y;;J'Q^/=W7#OIJ.W!
XMA)':]0QFHSE7FM=N8F59A2,ND4`!46`AI2H8:2FUDW5%PFSESF..FKK&;>7F
XMS^V3KQRQ:S;][VU)I,9IK;U<<N756^(([.-79=,J"5+I:S;I6BQ+-ERB?:*)
XMW/';@Y\\;_*].-L2]L6+'UN'Y&&4UOMZ)=OA89W"[CV_&^5;J9.=Y;U]"S;%
XMQ,,\<O*WMD<KN71*Z?7;&6.KT@4_"7KM/T50!0!``43QCY'_`,JW6/D?_*BQ
XM\KE]8];Y/:QXE=(GZ5:C-=)0-`T)M4L07PWN"?J*WAE]>JZ63..5T8Y644^M
XMF6BSIUW,YJ>N6>-QO8EAAE<7:9?::<)VLOUJ6:SCTX^*Y8<DO3IMFQFQ0&6<
XM`6"(H;0%E3TB*ZXY?C6MN.V\,M>GXSCI,M+=9QGJCMQVQURS_P`4EVY\_)]9
XMJ.N=LQ>'EMRR=;WKEY,,;ED]O%CK%RX./J5Z=S&//UTZ<\LY74<[VN5[3US=
XM9%@GBB@``!194JZ1($=,9J;9Q3ES^L=)$M8^1R=:CSX^F5WD;>G^?+EU727H
XMGK.*UZ)'&UHTS*LJLFDNV]PT*YLYS;K<6;QVB.'UO]EQ_P!=[Q9,_P#%DNM.
XM.O\`3>G3/'ZLZ56=GVOI8B7DUZ.#Y-PKZ'Q_D3DZO3Y$TN.>6-W*Q>5E??W/
XM[*^9\;Y?UU,J^AP\N/)-QRLQHN#-_C75,IL'/>U3+JDIBJ(J*``C'R/_`)5O
XM3//WQ4(^3G_VK%E=>3'NN=OX-RI?$D6D9;E0A0QJ4"B-:`(H0#6EQMEZ=)9E
XMZY3U?]0:RPO_`.7._P!5VPY/RG)A-;@CE.G7CS_MRUH$L>N67P>?#.QVQREC
XMG8S8VG9%]98L/PD/PE$4$%4VA$&\<G3&N+6.08Z98[<LN*;=95ZV>F+#&?6,
XM97MK.].>]U&I"^DT5%59ZK+2";4`%B""PUL]:Q]:D2TNL<>WEY,[E>W3Y&??
XM3SVO1_/EBT)ZBQZ.9CEU6Q-GK>N:QCDRU>FI[IG/&6J+CE:ZXW;CC-.O'K8.
XMDCIA#&?JW+&3U!OZ_P!IE>.37ZXY<]\D9F'W_E;HQ=9YL+EWB\^4L]>O+.<<
XMU.WFSR^U:@YVFJU<9.V=WR1=$JS'++J.W%P99WN/=\?XDQ[KGUU&Y'D^/\;*
XMV6Q]+@XYQS4=,<9C%KE:H;3;-R,$Y/[<>3/7AS<F4ZTY<>\\NP>G#O';43&:
XMQ76XB@D!53*?::4!\[YF'UKRZ[?5^1Q_>6OF<N-QRHLK%2-6=,P:E%L*1,;E
XM0/T1K0(5&@!,70`4;X\OK?Y=L0177*3+N.=GU7'+7_C>IE!'+QK#+59SQL)`
XMQZ<,]M[_`*>29:KMAEOUBQFQU]32RQ6?QBQ(J;-HBHJ2(*0VL!9=+]F:1,1;
XM=H4%&D+X"-)%!-JD4`#](-8Q.7+46V8XO-RY[KMSRQ:QGE]JS2U'IXYQRZH2
XM@ZL5N"8KM<3"U&<JS+:#KZF[C=IVUCC:([8<V\/K^L?3*W>UQDQ3//\`H5O<
XMQG;GER_D<[E;4Z_1&K;;VEJXXW*]/1P_&RO_`&B6K(X8<66=>OX_Q-=UZN+A
XMQQDZ=9TYWIN1G##'&>-]2)TSEEJ,_JM,Y9R.67+)UMRRSM!USY%PRVX8RVN_
XM'CKL%SQE8DF-=,JY<N4V#M+N#/'WBTC18)=@+:)5@)_CS?+X)9N/3?5NK.P?
XM%Y,<L;K3,T^E\G@W-R/G<F%QR\%UGQ:4_!J4V5(5+&I1:(F-R@NT1J&P$4`%
XMT697'I#6P=L=9SMC/'7C,RN+I,IE-(KEHF5C>6#%Z$QVPS_MUQNWDE=,,M,V
XM,V/0:3'*6*QC%BG0(A2`@M(FU``0%V@`U&5T"I5@"1K23U.3+4;YB6L\V76G
XMGM7.]L6O3QRY=4HD*[R.=IL0\6(NT^U3>ZW^*,R;;QQN_#&.LSF,$)A/TRRF
XM,Z8Y.7;E;:HZW/;&TFW7BX;G?$M,<]6^._!PW._RCT\'QICW7IQDG4C-Z:QR
XMXOC8X>/1.IK20MTYVM1:GVU^N>?)IQRY=HKMR<LGCAER6LR7)O'!49F-K>.#
XMICBU=0&9C(W'*Y]MX7:8,\V64\<<9<LNWJRD<[)C5'3&:Q7V$[Q&5A*%$5*L
XMZ(50O9XD6T0ZOKS_`"?CS*6R.]67K5%?%Y..\=NV+NOK\_!CG-Z?-Y>++#*]
XM=`YQ*?JT:E/Q/U94_4QN4HM32-2@+ZC4J`#0`BZGI+92>J@WCE_;6>/V\<;6
XM\,[/02]=([98XV;GKE<;*"XY65WPSECSW_#'*RI8S8]@Y89].DKG8S8NU]2P
XMC+)HB@```""Z5-H&M"2-19#2]1Y^7/MOES_'GRNZ[\<L6I;M-?B^,W+MZ>8Y
XM6KHU4N2?;)MA;9&;=U9-WM=2*)CC6XDJ=[$JVFSHF.5O26F,UTX^*Y>1VX?C
XMV^Q[>/BQQGC.M2//P_&U_P!H]>&&,G44C-K6+%W)&<L\9'#DY?Z0=LN33CR<
XMN_'.Y6KCCL$_E:U,6\<'222=@SABW=1C/.3QSN>5!TRS8N5ICC:Z8X0&<<;7
XM7":7J("YY3UY^7DF5Z:Y=L<6&[V@]/'_`-)LO?BR:QTGB+#L-@J@`"*";5*L
XM\`CES<4Y)ITB_@/D_(X+AEU'!]KDX\<YK3Y_R?CW&]*FO-$__2ZU=)^C4JTA
XM2(W*E#?:U&Y4+!?QEJ(`+IX%$5-->LQ=HL7'.XUUZSCD8VRBKEA]:R[2S*,9
XM8_H,3+5=N/-QL)N%C-CV8Y;:V\V&>G?#+<<[&+%V%(PR+#8`"^((L]+4BP:C
XM.66FKU'GY,MNG/+-J9W=8I4>GGERM,^XQ]6QUC&LS!>DM9NU1JUGVGXN,O\`
XM1JK)I>[^-\?%ED]7#P3'NQ-,<.+@^WKU\7!,73'&3R-2,VKACJ?C26R.6?+(
XMRKK<I'//DUXXY\GV\9DRH+EE<C'%O'!UQQUZ#&/'MTF,AEE(Y99[Z@.F6<CG
XM>2U)+:WA@#,QM=,,&I)"Y3'M!9C(992.6?)OQGNJ-7.[=>+MC#!VQDB:)R8Q
XMSPLE;Y<I,:\6'//OV:N/=+M=)A9<(J:N)K8":*`H``````)GA,YVJ;T)CY_R
XMOCV=R/)9];JOMY8S*=O%\KXT[RBZKPTQ,I<?88]C4J?JIKM;XC4J:%A4;E2>
XM!^#+6@`LH0$Q386)/15EL=<,I^N27:#KGCN[C%FF^/+K5:RQF4V*XMX9V5FR
XMQ!+'JPSW'25XL<K*]''GMF\L6.FFOQF6#G8RH0907PGJ9W4TWS$K'+FX95K*
XMN?Z]''+GU5/_`%+TFW>1RM6W^F;:MJ>M,B::F-WU'?BX=^HTXX<>5KU<7#_<
XM=L.*8QTD9M6)AA)XW(>,Y92?K.JW>F,N21QSY6-W(&\^6WQCO*]KCQNV.$!S
XMQP=<,--36,8SY=>`W<L<8YY<G],96Y+AQH&[6Y@UC@WN2`F&,GJW*1C+DUXY
XMW*Y*.F6;G;E5QPM=<<.@<\,+7;'"+O'&=N/+S3'RLVDCM;,8X<OR).I7EY?D
XM99=.?>5VQ>FY';/FN76W+*?6[:QQ_:SR7?1*N/;\7DW)'I>#XO5>Z>-)5H@N
XM(H```F@`H```!4NK-6':]`\?R?C?;^4>#/&X76GVKWU^//\`*^/,IO&*FOF;
XM/8WS<=PZ<YX+*8E]6(C<J_B+^$1N5!:B-2@"-:EJSL!2PB=JBQ:8Y_6H(.TU
XMR1SSQ^J3*X^.DLRG8.4GZLR^K66-G<8#'?BY.^W>66/#+KQTPSLO;-C-CU'_
XM`/U,,I8NF/+FMZFW#DRW6^7/K4<,KJ:=>>6+6<J>1(NNGIYCC:AI8UCQY6M(
XMQ)77CX;D[<?'/V.V.&O&=7&./CF/KK,?Z7'%;9BFKBR%RDCEGS8N.>>65Z0=
XM>3GGCE;<JF&%M[=L<`<\<+7;##34QTF6>,#6I)&<N3ZN>6=OB3&WT%N5SNUF
XM%K>''IO&2`SC@Z:DC&6<D<LL[?`=<N21RN5I,;;VZ8X`QCC:Z8\;<QD3/FQQ
XMB6JW-8SMSY.:8QY>;Y&_*\]RSROO3%Z7'?FY[EXX7[6^KCC:W))ZQ:UC.,;U
XM,9M+E&>ZBM99[FHQCC;73#CM>GBX9_3<B)\?#3U3J,X8ZK=;9J"BZR`(T```
XM`````````X?)X,<L=SU\[EXLL+X^Q/7+GXIGB#X\6NO/PWCOCC5%_$G:_P#Y
XM24K4I5T4_&6Y4!:RW*@`U*`"@"*++I`P=)EOI,\/_P"6-MX<FND-8O0Z9X];
XMCF)6\.2RO1_R=/))VZ>1J1SZ:SO>W+*[JY7:8XVNDCA:N,:^M_'3CXW?'#3H
XMPX\?%^UWPPU&L<6Y(S:N,XXM]3UC/DF$<,^6Y(._)R2>5PRY,LF9+;ZZ8X`Y
( run in 1.887 second using v1.01-cache-2.11-cpan-4e7a2411597 )