$fw
\n\n";}sub kk{my($kg,%bo,$AH);%bo=%{$_[0]};
$AH="\x0D\x0A";local(*AI);if(!$bo{$z[499]}){die("SMTP_pop3auth: POP3 username not defined'\n");
}if(!$bo{$z[500]}){die("SMTP_pop3auth: POP3 password not defined'\n");
}if($ab{$z[501]}{$z[502]}){return 1;}my($gw,$kn,$gv,$la,$kp,$fv);
$gw=$bo{$z[503]}||$bo{$z[488]};$kn=$bo{$z[504]}||110;$gv=$bo{$z[499]};
$la=$bo{$z[500]};$kp=$bo{$z[505]}||$bo{$z[492]}||30;$fv=$bo{$z[493]}
||0;$kp+=time()if$kp<10**8&&$kp>0;if($gw=~s/:(\d+)//){$kn=$1;
}$gw=&kq($gw);my($kt)=gethostbyname($gw)||do{$ab{$z[494]}="Could not connect to POP3 server. Unknown host $gw\n";
return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[494]}
="Could not connect to POP3 server. No Socket: $!\n";return
0;};connect(AI,pack"SnA4x8",PF_INET,$kn,$kt)||do{if($!eq"Unknown error")
{$ab{$z[494]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n";
return 0;}else{$ab{$z[494]}="Could not connect to POP3 server. Connect failed: $!\n";
return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$ku
=&kl(\*AI,$kp)||do{$ab{$z[494]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($fv){&ki($ku);}if(uc(substr($ku,0,3))ne"+OK")
{$ab{$z[494]}="An unknown error occured. Server response: $ku\n";
return 0;}print AI"USER $gv",$AH;if($fv){&ki("USER $gv",$AH);
}$ku=&kl(\*AI,$kp)||do{$ab{$z[494]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($fv){&ki($ku);}if(substr($ku,0,3)ne"+OK"){$ab{$z[494]}
="The server didn't accept the login info for '$gv'. Server response: $ku\n";
return 0;}print AI"PASS $la",$AH;if($fv){&ki("PASS $la",$AH);
}$ku=&kl(\*AI,$kp)||do{$ab{$z[494]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($fv){&ki($ku);}if(substr($ku,0,3)ne"+OK"){$ab{$z[494]}
="The server didn't accept the login info for '$gv'. Server response: $ku\n";
return 0;}print AI"QUIT",$AH;if($fv){&ki("QUIT",$AH);}close(AI);
$ab{$z[501]}{$z[502]}=1;return 1;}sub km{my$AJ=$_[0];my$kp=
$_[1]||$z[355];my($lb,$ld,$le,$lf,$lg,$lh,$li);fileno($AJ)||
die("fh_can_read: invalid filehandle or filehandle not open!\n");
vec($lb,fileno($AJ),1)=1;$li=select($ld=$lb,undef,undef,$kp);
return vec($ld,fileno($AJ),1);}sub kl{my$AJ=$_[0];my$kp=int($_[1]);
if(!$kp){die("FH_readline: no timeout value specified!\n");
}if($kp<10**8){die("FH_readline: timeout value must be in time() format!\n");
}fileno($AJ)||die("FH_readline: invalid filehandle or filehandle not open!\n");
my($ez,$lj);while($kp>=time()){&km(\*AI,0.25)||next;sysread(\*AI,$lj,
1)||last;$ez.=$lj;if($lj eq"\x0A"){last;}}return$ez;}sub lt
{my$lk=$ab{$z[506]}{$z[507]}||={};my$ll=int++$lk->{$z[22]};
my$gd="FH$ll";return eval"local *$gd";}sub fg{return unless
($af{$z[508]});my$lk=$ab{$z[506]}{$z[509]}||={};$lk->{$z[510]}
||=[];my($lm,$kp)=@_;$lm||=$z[274];$kp||=0;if($lm ne$z[274]
and$lm ne$z[511]){&ak("lock: invalid lock type: '$lm'");}my
$ln;if(@{$lk->{$z[510]}}>0){$ln=$lk->{$z[510]}[-1];}if($ln
eq$z[274]){$lm=$ln;}if($ln eq$lm){push(@{$lk->{$z[510]}},$lm);
return 1;}my$lo;if($ln eq$z[511]and$lm eq$z[274]){&ak("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock");
}$lo=&lp('',$lm,$kp);if($lo){push(@{$lk->{$z[510]}},$lm);}return
$lo;}sub fh{return unless($af{$z[508]});my$lk=$ab{$z[506]}{$z[509]}
||={};$lk->{$z[510]}||=[];my($kp)=@_;$kp||=0;unless(@{$lk->{$z[510]}}
>0){&ak($z[512])}my$ln=pop(@{$lk->{$z[510]}});return if(@{$lk->{$z[510]}}
>0 and$lk->{$z[510]}[-1]eq$ln);if(@{$lk->{$z[510]}}==0){&lq('');
}}sub lp{my$lk=$ab{$z[506]}{$z[509]}||={};my($lr,$lm,$kp)=@_;
my$ls;if($lr){$ls="$ab{'datadir'}$lr.lock";}else{$ls=$ab{$z[513]};
}if(not exists$lk->{$z[514]}{$lr}){$lk->{$z[514]}{$lr}{$z[108]}
=$ls;$lk->{$z[514]}{$lr}{$z[515]}=<();sysopen($lk->{$z[514]}{$lr}{$z[515]},
$lk->{$z[514]}{$lr}{$z[108]},O_RDWR|O_CREAT)||&ak($z[513],"error opening $lm file lock $lk->{'lockinfo'}{$lr}{'filename'}: $!\n");
}else{&ak("_lock_flock: already a lock for semaphore '$lr'");
}my$lu;if($lm eq$z[511]){$lu=LOCK_SH;}if($lm eq$z[274]){$lu
=LOCK_EX;}if($kp>0){$lu|=LOCK_NB;}my$lv=time()+$kp;until(flock($lk->{$z[514]}{$lr}{$z[515]},
$lu)){if(time()<$lv){sleep(1);}else{close($lk->{$z[514]}{$lr}{$z[515]});
&ak($z[516]);}}return 1;}sub lq{my$lk=$ab{$z[506]}{$z[509]}
||={};my($lr)=@_;unless(flock($lk->{$z[514]}{$lr}{$z[515]},
LOCK_UN)){&ak($z[513],"error releasing a flock() on file lock $lk->{'lockinfo'}{$lr}{'filename'}: $!\n");
}unless(close($lk->{$z[514]}{$lr}{$z[515]})){&ak($z[513],"error closing file lock $lk->{'lockinfo'}{$lr}{'filename'}: $!\n");
}delete$lk->{$z[514]}{$lr};return 1;}sub uw{my$gg=shift;$gg
=~s|\\|/|g;if($gg=~m|^/|){return$gg;}if($gg=~m|^\w:/|){return
$gg;}return&lw($ab{$z[517]}.$z[62].$gg);}sub lw{my$gg=shift;
$gg=~s|\\|/|g;1 while$gg=~s|[^/]*/\.\./||;return$gg;}sub md
{my($lx,@bo)=@_;$lx=~s/\s+//g;$lx=uc$lx;my$ly;my$lz=-1;my$ma;
foreach$ma(split(/,/,$lx)){$lz++;my$mb=shift@bo;my$mc=$ma=~
s/\[|\]//g;if($ma eq$z[518]){@bo=();last;}next if($mc and not
defined$mb);next if($ma eq$z[519]and defined$mb);next if($ma
=~/\bVALUE\b/and not ref($mb)and defined($mb));next if(uc(ref
$mb)=~/\b$ma\b/);next if($ma=~/\bINT\b/and$mb!~/[^0-9\.\e\-]/i
and$mb==int($mb));$ly.=", "if$ly;$ly.="\$_[$lz] must be ";$ly
.="either "if$mc;$ly.=$ma;$ly.=" or undefined"if$mc;$ly.=" ARG: $mb.";
}if(@bo){$lz++;$ly.=", "if$ly;$ly.="extra argument(s) \@_["
.($lz)." .. ".($lz+$#bo)."]";}return 1unless$ly;my$gk=(caller(1))[3];
$gk=~s/^main:://;&ak("Invalid arguments passed to $gk".": $ly");
}sub bp{&md($z[520],@_);my($bm,$me,$bo)=@_;$bo||={};my$mf;foreach
$mf($z[49],$z[50]){unless(exists$bo->{$mf}){$bo->{$mf}=$ab{$mf};
}}unless($me){&ak("resolve_server_markup: file_extension not supplied");
}unless($bo->{$z[49]}){&ak("resolve_server_markup: temp_base_dir argument not supplied");
}unless($bo->{$z[50]}){&ak("resolve_server_markup: temp_base_url argument not supplied");
}unless(-e"$bo->{'temp_base_dir'}"){&ak("resolve_server_markup: temp directory does not exist");
}my$mg=$af{$z[521]}||3;if($ENV{$z[522]}>=$mg){return("Content-type: text/html\n\n",
"[Dynamic SSI Error: SSI recursion limit of $mg reached. This page was not parsed for server-side markup.]\n\n"
.$bm);}my$mh;my($mi,$mj)=("temp_$^T","");my$mk;&fg();while(1)
{$mh="$mi$mj.$me";last unless-e"$bo->{'temp_base_dir'}$mh";
$mk++;$mj=sprintf($z[523],$mk);}&fh();open(AB,">$bo->{'temp_base_dir'}$mh")
||&ak("resolve_server_markup: could not create temp file '$bo->{'temp_base_dir'}$mh' : $!");
print AB$bm||&ak("resolve_server_markup: could not write to temp file '$bo->{'temp_base_dir'}$mh' : $!");
close(AB)||&ak("resolve_server_markup: could not close temp file '$bo->{'temp_base_dir'}$mh' : $!");
my$ml=&mm();if($ac{$z[524]}||$ac{$z[525]}){my$mn=$ac{$z[524]}
.":".$ac{$z[525]};$ml->{$z[526]}="Basic ".&mo($mn);}if($bo->{$z[527]})
{$ml->{$z[528]}='';$ml->{$z[529]}.=$z[530]if length$ml->{$z[529]};
$ml->{$z[529]}.=$z[531];}my$mp="$bo->{'temp_base_url'}$mh";
my($mq,$mr,$ms)=&mt($mp,$ml);unless($af{$z[532]}{$z[533]}){
unlink("$bo->{'temp_base_dir'}$mh");}return($mr,$ms);}sub mm
{&md('',@_);my%bl;my$mu;foreach$mu(keys%ENV){$mu=~/^HTTP_/i
||next;my$mv=$ENV{$mu};my$mw;$mw=$mu;$mw=~s/^HTTP_//;$mw=~s/_/-/g;
$mw=~s/(\w+)/ucfirst lc$1/eg;$bl{$mw}=$mv;}my@mx=($z[534],$z[526],
$z[529],$z[535],$z[536],$z[537],$z[538],$z[539],$z[540],$z[541],
$z[542],$z[543],$z[544],$z[545],$z[546],$z[547],$z[548],$z[549],
$z[550],$z[551],$z[552],$z[553],$z[554],$z[555],$z[556],$z[557]
);my%mz=map{uc($_)=>1}@mx;my$mw;foreach$mw(keys%bl){if($mz{uc
$mw}){delete$bl{$mw};}}$bl{$z[558]}=join($z[559],map{"$_=$ah{$_}"
}keys%ah);if(not exists$bl{$z[560]}){$bl{$z[560]}=1;}$bl{$z[560]}++;
my$na;if($ENV{$z[561]}eq($ENV{$z[562]}||$ENV{$z[563]})){$na
=$ENV{$z[564]}||$ENV{$z[565]}||$ENV{$z[561]};}else{$na=$ENV{$z[561]};
}$bl{$z[566]}=$na;$bl{$z[567]}=$na;return\%bl;}sub qe{&md($z[568],
@_);my($nb)=@_;my$nc={};$nc->{$z[569]}=$nb;@{$nc}{$z[570],$z[488],
$z[571],$z[572],$z[573],$z[574]}=$nb=~m{^(?:(\w+://)([^/]*))?([^?\#]*?)([^/?\#]*)(?:(\?[^\#]*))?(?:(\#.*))?$};
unless(length$nc->{$z[571]}){$nc->{$z[571]}=$z[62];}return$nc;
}sub kq{my($gw)=@_;if($gw=~/^\d+\.\d+\.\d+\.\d+$/){return$gw;
}else{$gw.=$z[33]unless$gw=~/\.$/;return$gw;}}1;;sub nl{my($nd,
$ne)=@_;foreach(@{$nd->{$z[177]}}){my($nf,$gk)=@{$_};if(!defined
&{$gk}&&!defined&{$ab{$z[575]}{$nf}}){die("The action '$nf' defined as a handler for db '$nd->{'name'}' does not have a custom handler or a default handler");
}if((!$ne&&$ag{$nd->{$z[46]}.$z[576].$nf})||$ne eq$nf){if(defined
&{$gk}){&{$gk}($nd);exit;}else{&{$ab{$z[575]}{$nf}}($nd);exit;
}}}if($ne){die"Unable to execute forced action '$ne' on db '$nd->{'name'}'";
}}sub ux{my$nd=shift;my$ar=&ng($nd);&nh($nd,$ar);}sub uy{my
$nd=shift;my$ar=&ni($nd);&nj($nd,$ar);&nk($z[577],$ar);exit;
}sub uz{my$nd=shift;if(!$ac{$z[578]}){&nl($nd,$z[178]);}my$ar
=&nm($nd);&nk($z[578],$ar);exit;}sub va{my$nd=shift;my$ar=&nn($nd);
&np($nd,$ar);}sub vb{my$nd=shift;&dp;my$nq=&nr($nd);my$ns=&nt($nd,
$nq);&nu($nd,$nq);&nv($nd,$nq);&dr;&nw($nd,$ns);&nx($nd);}sub
vc{my$nd=shift;my($eh,$ei);my$ny={$z[55]=>$af{$z[579]}{$z[55]},
$z[580]=>1,$z[84]=>'',};$ny=&nz($nd,$ny);foreach(split(/\s+/,$nd->{$z[81]}))
{push(@$ei,[$_,$z[278],$ny->{$z[84]}]);}my$as=sub{my$oa=shift;
if(!defined$oa->{$z[581]}&&$oa->{$z[26]}){my$iw=&ij(0,0,0,$oa->{$z[27]},$oa->{$z[26]}-1,$oa->{$z[25]});
$oa->{$z[581]}=&cn($ab{$z[98]},$iw);}$oa->{$z[582]}=&cn($ab{$z[146]},int($oa->{$z[582]}))
if$oa->{$z[582]};$oa->{$z[64]}=&cn($ab{$z[146]},int($oa->{$z[64]}))
if$oa->{$z[64]};$ad{$z[583]}=$ad{$z[583]}eq$z[584]?$z[585]:
$z[584];return&cs($z[124],$oa);};my$ar=&ob($nd,$as,$ny,$eh,
$ei);&oc($ar);}sub ng{my$nd=shift;$ad{$z[586]}=$nd->{$z[150]};
$ad{$z[587]}=$nd->{$z[46]};&an($nd->{$z[152]},{});my($ar)={};
if($nd->{$z[588]}&&&od($nd)>=$nd->{$z[588]}){&nk($z[589],$nd);
}my($it,$hr,$hs)=(localtime(&cy($^T)))[3,4,5];$hr++;$hs+=1900;
$ar->{"day_$it".$z[590]}=$z[591];$ar->{"mon_$hr".$z[590]}=$z[591];
$ar->{"year_$hs".$z[590]}=$z[591];foreach(split(/ /,$nd->{$z[76]}))
{if(/^ufile/&&!$ar->{$_}){$ar->{$_}=$z[592];}}$ar->{$z[582]}
=&cn($ab{$z[146]},&cy($^T));$ar->{$z[64]}=&cn($ab{$z[146]},&cy($^T));
$ar->{$z[593]}=$ai{$z[46]}||"unknown user";$ar->{$z[594]}=$ai{$z[46]}
||"unknown user";return$ar;}sub nh{my($nd,$ar)=@_;if($ab{$z[135]}{$z[136]}{$z[595]})
{&nk($z[595],$ar);}else{&nk($z[577],$ar);}exit;}sub ni{my$nd
=shift;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};
&an($nd->{$z[152]},{});my($ll)=int$ag{$nd->{$z[46]}.$z[596]};
my$ar={};&oe($nd,$ar,$ll)||&ak($z[597],$ll);return$ar;}sub
nj{my($nd,$ar)=@_;foreach(split(/ /,$nd->{$z[76]})){if(/^ufile/
&&!$ar->{$_}){$ar->{$_}=$z[592];}}foreach(keys%{$ar}){$ar->{$_}
=&gl($ar->{$_});}foreach(keys%{$ar}){if(!/\W/&&$ar->{$_}!~/\W/)
{$ar->{$_.$z[576].$ar->{$_}.$z[598]}=$z[599];$ar->{$_.$z[576].$ar->{$_}.$z[590]}
=$z[591];}}$ar->{$z[582]}=&cn($ab{$z[146]},&cy($ar->{$z[582]}))
if$ar->{$z[582]};$ar->{$z[64]}=&cn($ab{$z[146]},&cy($ar->{$z[64]}))
if$ar->{$z[64]};my%of;&oe($ae{$z[200]},\%of,$ar->{$z[593]})
if$ar->{$z[593]};$ar->{$z[593]}=$of{$z[46]}||"unknown user";
&oe($ae{$z[200]},\%of,$ar->{$z[594]})if$ar->{$z[594]};$ar->{$z[594]}
=$of{$z[46]}||"unknown user";return$ar;}sub nm{my$nd=shift;
$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};&an($nd->{$z[152]},
{});my($ll)=int($ag{$nd->{$z[46]}.$z[600]})||int($ag{$z[22]});
my($ar)={};&oe($nd,$ar,$ll)||&ak($z[597],$ll);return$ar;}sub
nn{my$nd=shift;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};
&an($nd->{$z[152]},{});my($ll)=$ag{$z[22]}||$ag{$nd->{$z[46]}.$z[600]};
my$ar={};&dp();&oe($nd,$ar,$ll)||&ak($z[597],$ll);&og($nd,$ll)
||die($z[601].$ll);&dr();&oh($ar,$ac{$z[602]});if(defined&{$nd->{$z[176]}})
{&{$nd->{$z[176]}}($ll,$z[178],$ar);}return$ar;}sub np{my($nd,
$ar)=@_;if(!$ac{$z[603]}){&nl($nd,$z[179]);}&nk($z[604],$ar);
exit;}sub nr{my$nd=shift;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}
=$nd->{$z[46]};&an($nd->{$z[152]},{});my($ll)=int($ag{$z[22]});
my$nq={};if($nd->{$z[588]}){my($ce)=&od($nd);if($ll&&$ce>$nd->{$z[588]})
{&nk($z[589],$nd);}elsif(!$ll&&$ce>=$nd->{$z[588]}){&nk($z[589],$nd);
}}if($ll){&oe($nd,$nq,$ll)||die("ui_save : Can't find record #$ll");
}return($nq);}sub nt{my($oa)=$_[0]->{$z[46]}||die($z[605]);
my($ll)=int($ag{$z[22]});my(%oa)=%{$_[1]||{}};my(%fy,%gs,$fm,%ns,%ar);
if(!$ac{$z[602]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n");
}if(!-d$ac{$z[602]}){die("ui_save_uploads: Upload directory '$ac{'dir_upload'}' doesn't exist!\n");
}if(!-w$ac{$z[602]}){die("ui_save_uploads: Upload directory isn't writable!\n");
}%fy=&bs($ac{$z[602]});foreach(split(/ |\,/,$ac{$z[606]})){
$gs{$_}++if$_;}foreach$fm(split(/ /,$_[0]->{$z[76]})){if($fm
!~/^ufile/){next;}if($ag{$fm}){if($ac{$z[607]}&&length($ag{$fm})
>$ac{$z[608]}*1000){my$oi=length($ag{$fm});$ns{$z[609]}.=qq|$ag{$fm."_file"} ($oi bytes, file too large)
\n|;
$ag{$fm}=$oa{$fm};next;}if(!$gs{lc$ag{$fm.$z[321]}}){$ns{$z[609]}
.=qq|$ag{$fm."_file"} ('$ag{$fm.'_ext'}' files not accepted)
\n|;
$ag{$fm}=$oa{$fm};next;}if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$ac{'dir_upload'}/$oa{$fm}");
}my($oj);my($ok)=lc$ag{$fm.$z[320]};my($ol)=lc$ag{$fm.$z[321]};
my($om)=$z[610];$ok=~s/\.[^\.]*$//g;$ok=~s/[^a-z0-9_\-]/_/g;
$ol=~s/[^a-z0-9_\-]/_/g;$oj="$ok.$ol";if(-e"$ac{'dir_upload'}/$oj")
{do{$om=sprintf($z[415],++$om);$oj=$ok."_$om.$ol";}while(-e
"$ac{'dir_upload'}/$oj");}open(AB,">$ac{'dir_upload'}/$oj")
||die($z[611]."$oj $!\n");binmode AB;print AB$ag{$fm};close(AB);
if($oj=~/\.(gif|jpg|jpeg|png)$/i){my($jw,$jx,$on)=&oo("$ac{'dir_upload'}/$oj");
if(($ac{$z[612]}&&$jx>$ac{$z[612]})||($ac{$z[613]}&&$jw>$ac{$z[613]}))
{unlink("$ac{'dir_upload'}/$oj");$ns{$z[609]}.=qq|$ag{$fm."_file"} (${jx}x$jw, image too big)
\n|;
$ag{$fm}=$oa{$fm};next;}}$ag{$fm}=$oj;}elsif($ag{$fm.$z[320]})
{if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$ac{'dir_upload'}/$oa{$fm}");
}$oa{$fm}='';}else{$ag{$fm}=$oa{$fm};}}return\%ns;}sub nu{my
($nd,$nq)=@_;my($ll)=int($ag{$z[22]});$ag{$z[582]}=$ll?$nq->{$z[582]}
:$^T;$ag{$z[593]}=$ll?$nq->{$z[593]}:$ai{$z[22]};$ag{$z[614]}
=$ll?$nq->{$z[614]}:$ai{$z[22]};$ag{$z[64]}=$^T;$ag{$z[594]}
=$ai{$z[22]};my$op;foreach$op($nd->{$z[76]}=~/\bufile([^ ]*)\b/g)
{if($nd->{$z[76]}=~/\bimagewidth\Q$op\E\b/){($ag{$z[615].$op},
$ag{$z[616].$op})=&oo($ac{$z[602]}.$ag{$z[617].$op});}}}sub
nv{my($nd,$nq)=@_;my($ll)=int($ag{$z[22]});if($ll){&ey($nd,
\%ag,$ll);}else{$ag{$z[22]}=&fe($nd,\%ag,$ll);}if(defined&{$nd->{$z[176]}})
{&{$nd->{$z[176]}}($ag{$z[22]},$z[618],$nq);}}sub nw{my($nd,
$ns)=@_;if(keys%{$ns}){undef$ac{$z[608]}if!$ac{$z[607]};$ns->{$z[22]}
=$ag{$z[22]};$ns->{$z[619]}=&cs($z[619],\%ac)if$ac{$z[608]};
$ns->{$z[620]}=&cs($z[620],\%ac)if$ac{$z[612]};$ns->{$z[621]}
=&cs($z[621],\%ac)if$ac{$z[613]};$ns->{$z[622]}=&cs($z[622],
{$z[606]=>$ac{$z[606]}?$ac{$z[606]}:$z[623]});&nk($z[624],$ns);
exit;}}sub nx{my($nd)=@_;if(!$ac{$z[625]}){&nl($nd,$z[179]);
}&nk($z[626],\%ag);exit;}sub oc{my$ar=shift;&nk($z[179],$ar);
exit;}sub nz{my($nd,$ny)=@_;$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}
=$nd->{$z[46]};if(ref($nd)ne$z[236]){die$z[627]."\n";}&an($nd->{$z[152]},
{});if($ag{$nd->{$z[46]}.$z[628]}){my$oq={};while($ah{$nd->{$z[46]}.$z[629]}
=~/(.*?)\t(.*?)\t/g){$oq->{$1}=$2;}$ny->{$z[55]}=$ag{$z[630]}
||$oq->{$z[55]};}else{while($ah{$nd->{$z[46]}.$z[629]}=~/(.*?)\t(.*?)\t/g)
{$ny->{$1}=$2;}foreach(keys%{$ny}){if(defined$ag{$z[576].$_})
{if($_ ne$z[55]&&$_ ne$z[580]){$ny->{$z[580]}=1;}$ny->{$_}=
$ag{$z[576].$_};}}}&or($nd->{$z[46]}.$z[629],join("\t",map{
$_,$ny->{$_}}keys%{$ny})."\t");foreach(keys%{$ny}){$ad{$z[576]
.$_}=$ny->{$_};$ad{$z[576].$_.$z[576].$ny->{$_}.$z[590]}=$z[591];
$ad{$z[576].$_.$z[576].$ny->{$_}.$z[598]}=$z[599];}return$ny;
}sub ob{my($nd,$as,$ny,$eh,$ei)=@_;my%ar;my$jz=sub{$ar{$z[631]}
.=&{$as}(@_);};($ar{$z[632]},$ar{$z[633]},$ar{$z[634]},$ar{$z[635]},
$ar{$z[636]},$ar{$z[637]})=&os($nd,$jz,$ny->{$z[580]},$ny->{$z[55]},
$eh,$ei);unless($ar{$z[631]}){if($ab{$z[135]}{$z[136]}{$z[638]}
&&scalar grep{$_ ne$z[55]&&$_ ne$z[580]&&$ny->{$_}ne''}keys
%{$ny}){$ar{$z[631]}=&cs($z[638],{});}else{$ar{$z[631]}=&cs($z[130],
{});}}return\%ar;}sub dl{my$nd=shift;my($eh,$ei);my$ny={$z[55]
=>$af{$z[579]}{$z[55]},$z[580]=>1,$z[84]=>'',};$ny=&nz($nd,
$ny);foreach(split(/\s+/,$nd->{$z[81]})){push(@$ei,[$_,$z[278],
$ny->{$z[84]}]);}my$as=sub{my$oa=shift;$oa->{$z[639]}=$aj[$oa->{$z[640]}];
if(!defined$oa->{$z[581]}&&$oa->{$z[26]}){my$iw=&ij(0,0,0,$oa->{$z[27]},$oa->{$z[26]}-1,$oa->{$z[25]});
$oa->{$z[581]}=&cn($ab{$z[98]},$iw);}$oa->{$z[582]}=&cn($ab{$z[146]},int($oa->{$z[582]}))
if$oa->{$z[582]};$oa->{$z[64]}=&cn($ab{$z[146]},int($oa->{$z[64]}))
if$oa->{$z[64]};$ad{$z[583]}=$ad{$z[583]}eq$z[584]?$z[585]:
$z[584];return&cs($z[124],$oa);};my$ar=&ob($nd,$as,$ny,$eh,
$ei);&oc($ar);}sub vd{my$nd=shift;&dp();my$nq=&nr($nd);my$ns
=&nt($nd,$nq);&nu($nd,$nq);my%ot;if(&ou($nd,\%ot,$z[641],$ag{$z[641]}))
{if($ot{$z[22]}!=$nq->{$z[22]}){&dr();&nk($z[642],\%ag);}}if
($ag{$z[22]}==$ai{$z[22]}&&$ag{$z[640]}<9){&dr();&nk($z[643],
{});}&nv($nd,$nq);my%ov;if(&ou($ae{$z[205]},\%ov,$z[22],$ag{$z[22]}))
{&ey($ae{$z[205]},\%ag,$ag{$z[22]});}&dr();&nw($nd,$ns);&nx($nd);
}sub ve{my$nd=shift;if(!$ac{$z[578]}){&nl($nd,$z[178]);}my$ar
=&nm($nd);if($ar->{$z[22]}==$ai{$z[22]}&&$ag{$z[640]}<9){&nk($z[643],
{});}&nk($z[578],$ar);}sub dk{my$nd=shift;my$ll=$ag{$z[22]}
||$ag{$nd->{$z[46]}.$z[600]};if($ll==$ai{$z[22]}&&$ag{$z[640]}
<9){$ad{$z[586]}=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};
&an($nd->{$z[152]},{});&nk($z[643],{});}&dp();&oe($ae{$z[200]},
{},$ai{$z[22]})||&ow($z[644],{});my$ar=&nn($nd);&og($ae{$z[205]},
$ll);&dr();&np($nd,$ar);}sub pp{my$kg=shift;if($ac{$z[645]}
eq$z[646]){my%bo=(host=>$ac{$z[647]},helo=>$af{$z[648]}{$z[649]},
timeout=>$af{$z[648]}{$z[650]},pop3_auth=>$ac{$z[651]},pop3_host
=>$ac{$z[652]},pop3_user=>$ac{$z[653]},pop3_pass=>$ac{$z[654]});
&ox($kg,\%bo)||die("Error sending message: $ab{'error'}");}
elsif($ac{$z[645]}eq$z[655]){if(!-e$ac{$z[656]}){die("sendmail: can't find sendmail program '$ac{'mail_sendmail'}'\n");
}local(*AL);my($kr)=&kh($kg);open(AL,"|$ac{'mail_sendmail'} -f $kr -t")
||die"Can't open $ac{'mail_sendmail'} : $!";print AL$kg;close(AL);
}elsif(!$ac{$z[645]}){die("sendmail: no mailer specified in setup options!\n");
}else{die("sendmail: unknown mailer '$ac{'mail_mailer'}' specified!\n");
}}sub vf{my($gh)=$_[0];my($oy)=$ag{$z[657]}||die("browse: you must pass a name/value for the 'fieldname'!\n");
my(%ar,$gi);if($gh ne$z[658]&&$gh ne$z[572]){die("browse: the first argument must be either 'dir' or 'file'!\n");
}if($ag{$z[659]}){&oz($z[660].$z[661].$ab{$z[662]}.$z[663]);
}if($ag{$z[664]}){&oz($z[665].$z[661].$ab{$z[662]}.$z[663]);
}if($ag{$z[658]}){&oz($z[666].$z[661].$ab{$z[662]}.$z[663]);
}if(!-d$ac{$z[667]}){delete$ac{$z[667]};}if($ag{$z[668]}){if
(-f$ag{$z[668]}){$ag{$z[668]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d
$ag{$z[668]}){$ag{$z[658]}=$ag{$z[668]};}}if($af{$z[669]}){
$ag{$z[658]}=$ac{$z[667]};}&an("_browse_$gh.html",{});my$pa
="/";$ar{$z[657]}=$ag{$z[657]};if($ag{$z[659]}){$ar{$z[670]}
=$ag{$z[670]};if(!$ag{$z[670]}){$ad{$z[671]}=$z[672];}elsif
($ag{$z[670]}=~m/[^\w\-]/i){$ad{$z[671]}=$z[673];}elsif(!mkdir("$ag{'cdir'}$pa$ag{'mkdir_name'}",0777)){
$ad{$z[671]}=$z[674].$!;}if($ad{$z[671]}){$ad{$z[671]}=&cs($z[671],\%ad);
}}if($ag{$z[664]}){local(*AB);$ar{$z[675]}=$ag{$z[675]};if(!$ag{$z[675]})
{$ad{$z[676]}=$z[677];}elsif($ag{$z[675]}=~m/[^\w\-\.]/i){$ad{$z[676]}
=$z[678];}elsif(-e"$ag{'cdir'}$pa$ag{'mkfile_name'}"){$ad{$z[676]}
=$z[679];}elsif(!open(AB,">$ag{'cdir'}$pa$ag{'mkfile_name'}"))
{$ad{$z[676]}=$z[680].$!;}close(AB);if($ad{$z[676]}){$ad{$z[676]}
=&cs($z[676],\%ad);}}$ar{$z[658]}=$ag{$z[658]}||$ac{$z[667]}
||$ab{$z[517]};$ar{$z[658]}=~s/^(.+)(\\|\/)+$/$1/;$ar{$z[681]}
=$ar{$z[658]};$ar{$z[681]}=~s!^([a-z]:)!$1/..!i;$ar{$z[682]}
=($ar{$z[658]}=~m#^(.*)[\\/]#,$1||$pa);$ar{$z[683]}=&hd($ar{$z[682]});
$ar{$z[179]}.=&cs($z[682],\%ar)if($ar{$z[658]}=~m!.+(\\|/)!);
if(!-e$ar{$z[658]}){$ar{$z[494]}=$z[684];}elsif(!-r$ar{$z[658]})
{$ar{$z[494]}=$z[685];}if($ar{$z[494]}){print"Content-type: text/html\n\n"
unless($ab{$z[686]}++);$ar{$z[179]}.=&cs($z[494],\%ar);print
&an($z[687],\%ar);exit;}opendir(AC,"$ar{'dir2'}");my@gi=sort
{lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($bs);
foreach$bs(@gi){-d"$ar{'dir'}$pa$bs"||next;$ar{$z[46]}=$bs;
$ar{$z[688]}="$ar{'dir'}$pa$bs";$ar{$z[688]}=~s/$pa+/$pa/g;
$ar{$z[689]}=&hd($ar{$z[688]});($ar{$z[690]},$ar{$z[691]})=
(stat($ar{$z[688]}))[7,9];next if$ar{$z[691]}eq"";$ar{$z[692]}
=&cn($ab{$z[146]},$ar{$z[691]});$ar{$z[179]}.=&cs($z[658],\%ar);
$gi++;}my($fy);foreach$fy(@gi){-d"$ar{'dir'}$pa$fy"&&next;$ar{$z[46]}
=$fy;$ar{$z[688]}="$ar{'dir'}$pa$fy";($ar{$z[690]},$ar{$z[691]})
=(stat($ar{$z[688]}))[7,9];next if$ar{$z[691]}eq"";if($ar{$z[690]})
{$ar{$z[690]}=(int($ar{$z[690]}/1000)||1)."KB";}else{$ar{$z[690]}
="0KB";}$ar{$z[692]}=&cn($ab{$z[146]},$ar{$z[691]});$ar{$z[688]}
=~s/'/\\'/g;$ar{$z[688]}=~s/\\/\\\\/g;if(-f"$ar{'dir'}$pa$fy")
{$ar{$z[179]}.=&cs($z[572],\%ar);}else{$ar{$z[179]}.=&cs($z[693],\%ar);
}$gi++;}if(!$gi){$ar{$z[179]}.=&cs($z[694],{});}print"Content-type: text/html\n\n"
unless($ab{$z[686]}++);print&an("_browse_$gh.html",\%ar);exit;
}sub vg{my($kv,$ky);if($ENV{$z[314]}=~/^[\w\-]+\.gif$/){$kv
=$z[695]."\n\n";}elsif($ENV{$z[314]}=~/^[\w\-]+\.jpg$/){$kv
=$z[696]."\n\n";}else{return;}$ky=&an($ENV{$z[314]},{},$z[330]);
if($ky){binmode(STDOUT);print$kv ;print$ky ;exit;}}sub cy{my
$iw=$_[0]||die("time_adj: first argument must be time()\n");
if($ac{$z[697]}eq$z[595]){$iw+=$ac{$z[698]}*60*60;}if($ac{$z[697]}
eq$z[699]){$iw-=$ac{$z[698]}*60*60;}if($ac{$z[700]}eq$z[595])
{$iw+=$ac{$z[701]}*60;}if($ac{$z[700]}eq$z[699]){$iw-=$ac{$z[701]}*60;
}return$iw;}sub vh{my($as,$pb,$pc,$pd,%ov);my(%ar,%pe);if(!$ag{$z[702]}
&&!$ah{$z[641]}){&ow(undef,\%ar);}if($ag{$z[702]}){($pb,$pc)
=(lc$ag{$z[641]},lc$ag{$z[703]});if(!$pb&&!$pc){&ow($z[644],
\%ar);}if(!$pb||!$pc){&ow($z[644],\%ar);}$as=sub{if(lc$pe{$z[641]}
eq$pb&&lc$pe{$z[703]}eq$pc){$pd=$pe{$z[22]};}};&bk($ae{$z[200]},
$as,\%pe);if(!$pd){&ow($z[644],\%ar);}&oe($ae{$z[200]},\%pe,
$pd);$pe{$z[582]}=$^T;$pe{$z[64]}=$^T;&ey($ae{$z[205]},\%pe,
$pd);}else{($pb,$pc)=(lc$ah{$z[641]},lc$ah{$z[703]});if(!$pb
||!$pc){&ow($z[704],\%ar);}$as=sub{if(($af{$z[705]}&&$pe{$z[64]}
<$^T-60*$af{$z[705]})||$pe{$z[64]}<$^T-60*60*24){&og($ae{$z[205]},
$pe{$z[22]});}elsif(lc$pe{$z[641]}eq$pb&&lc$pe{$z[703]}eq$pc)
{$pd=$pe{$z[22]};}};&bk($ae{$z[205]},$as,\%pe);if(!$pd){&ow($z[704],
\%ar);}&oe($ae{$z[205]},\%pe,$pd);$pe{$z[64]}=$^T;&ey($ae{$z[205]},
\%pe,$pd);}&or($z[641],$pb);&or($z[703],$pc);return%pe;}sub
ow{if(!$ab{$z[686]}++){print$z [706]."\n\n";}my($fw)=$_[0];
my(%ar)=%{$_[1]||{}};&an($z[707],{});foreach(keys%ar){$ar{$_}
=&gl($ar{$_});}if($fw&&!$ab{$z[135]}{$z[136]}{$fw}){die($z[708]."'$fw' isn't defined!\n");
}if($fw){$ar{$z[609]}=&cs($fw,\%ar);}print&cs($z[709],{});if
($fw){print&cs($z[710],\%ar);}else{print&cs($z[702],\%ar);}
print&cs($z[711],{});if(-f"$ab{'cgidir'}/display_resource_usage.pl")
{eval"require \"$ab{'cgidir'}/display_resource_usage.pl\"";
&display_resource_usage()}if($ab{$z[493]}){print"
";print "
$ab{'debug_output'}"if($ab{$z[310]});}&pf();exit; }sub vi{&an($z[707],{});&or($z[641],'');&or($z[703],'');$ac{$z[712]} =~s/^\s+|\s+$//g;if($ac{$z[712]}&&$ENV{$z[314]}=~/logoff/i) {print"Content-type: text/html\n\n";print qq|
Stack Trace ($gk) called from ($fy) line ($ez) ";print
" $tx",
$ug)],$z[513]=>[("Filelock Error!","This web application uses 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing/accessing data because it could not obtain a filelock. Please ask your server administrator to fix the permissions (you need read-write access on your data directory). For your reference, the filelock error was: '$tx'.",
$ug)],$z[516]=>[($z[902],$z[903],$ug)],$z[904]=>[("Warning: Program corrupted during upload!",
"This is usually caused by Mac FTP clients that have an \"Translate ISO characters\" setting enabled. If you are using a Mac, try disabling this setting and re-uploading all the files, otherwise, contact support for assistance. ",
$uf)],$z[905]=>[("Publishing Error","The program cannot create or write to the file: The error was: $tx",
$ug)],);my($uh)=$ad{$z[785]}||$tz{$gh}[0]||"Program Message";
if($tz{$gh}[0]){$ua=$tz{$gh}[0];}elsif($tx&&$gh){$ua=&gl($gh);
}else{$ua="Program Message";}$ns=$tz{$gh}[1]||$tx||&gl("@_");
if(!$tz{$gh}[1]){$ns=~s/\n/ Stack Trace ";
print"
";
my$dz=0;while(my($fy,$ez,$gk)=(caller($dz++))[1,2,3]){print
qq!
\n!;}}if(-f"$ab{'cgidir'}/display_resource_usage.pl")
{eval"require \"$ab{'cgidir'}/display_resource_usage.pl\"";
&display_resource_usage()}if($ab{$z[493]}){print"$ab{'debug_output'}
"if($ab{$z[310]});}&pf();exit;
}sub pf{print$z [799]."\n";print$ad {$z[785]}.$z[800].$ab{$z[1]}
.$z[801].$ab{$z[802]}.$z[33].$ab{$z[3]}.")\n";print$z [803]
.$ad{$z[777]}.$z[804].$ad{$z[773]}.$z[804].$ad{$z[774]}."\n";
printf($z[805]."\n",time()-$^T);print$z [806]."\n";}sub vm{
my(@gi)=map"$ab{'datadir'}$ae{$_}{'datafile'}",keys%ae;my(@qh)
=($ab{$z[807]});my($bs,$fy,$qi);foreach$bs(sort@qh){if($bs
eq""){next;}if(!-d$bs||!-w$bs){$qi.="$bs\n";}}foreach$fy(sort
@gi){$fy=~s/\\/\//g;1 while$fy=~s!/[^/]+/\.\./!/!;if(-f$fy&&
!-w$fy){$qi.="$fy\n";}}if($qi){&ak($z[808],$qi);}}sub pr{return
unless$af{$z[669]};my$kg=shift;&ow($z[809],{$z[609]=>$kg});
}sub oz{return unless$af{$z[669]};my$kg=shift;$kg=&hd($kg);
print"Content-type: text/html\n\n";print qq|\n|
;exit;}sub vn{&an($ae{$z[207]}{$z[152]},{});my%qj;my$qk;foreach
$qk(keys%{$ab{$z[810]}}){my%ar=($z[811]=>$qk,$z[812]=>$ab{$z[810]}{$qk}
);$qj{$qk}[0]=&cs($z[813],\%ar);$qj{$qk}[1]=&cs($z[814],\%ar);
}foreach$qk(keys%{$ab{$z[810]}}){my$ql=join'',map{$qj{$_}[$qk
==$_?1:0]}sort keys%{$ab{$z[810]}};$ad{$z[815].$qk}=&cs($z[816],
{$z[817]=>$ql});}}1;;sub vo{my$qm=shift||die("ip2num : no ip or host specified!\n");
my($a,$b,$qn,$qo,$ll);if($qm=~/[^0-9\.]/){my$kt=gethostbyname("$qm.")
||die("ip2num: Can't find IP for host '$qm'!\n");($a,$b,$qn,$qo)
=unpack($z[818],$kt);}else{($a,$b,$qn,$qo)=split(/\./,$qm);
}$ll+=$qo*(256**0);$ll+=$qn*(256**1);$ll+=$b*(256**2);$ll+=
$a*(256**3);return$ll;}sub vp{my$ll=shift||die("num2ip : no number specified!\n");
my($a,$b,$qn,$qo);$a=($ll/256**3)% 256;$b=($ll/256**2)% 256;
$qn=($ll/256**1)% 256;$qo=($ll/256**0)% 256;return join$z[33],
$a,$b,$qn,$qo;}sub vq{my$iw=shift||time();$iw-=(localtime($iw))[6]
* 60*60*24;$iw-=(localtime($iw))[2]* 60*60;$iw-=(localtime($iw))[1]
* 60;$iw-=(localtime($iw))[0]* 1;return$iw;}sub vr{my$iw=shift
||time();$iw-=(localtime($iw))[2]* 60*60;$iw-=(localtime($iw))[1]
* 60;$iw-=(localtime($iw))[0]* 1;return$iw;}sub vs{my$hn=int
shift;my$ho=int($hn/60);my$hp=int($ho/60);$ho%=60;$hn%=60;return
sprintf("%01d:%02d:%02d",$hp,$ho,$hn);}sub vt{my$ll=reverse
int shift;$ll=~s/(...)\B/$1,/g;return reverse$ll;}sub cw{my
$ll=shift;if($ll==int($ll)){return$ll;}elsif($ll<0){return
int$ll;}else{return int($ll)+1;}}sub vu{my$ll=shift;if($ll==
int($ll)){return$ll;}elsif($ll<0){return int($ll)-1;}else{return
int$ll;}}sub cx{return(sort{$a<=>$b}@_)[0];}sub vv{return(sort
{$a<=>$b}@_)[-1];}1;;sub bn{local(*AB);my($fy,%gb,$bm,$hb);
%gb=%{$_[1]}if$_[1];my$qp=$_[3];my$qs=$_[5];my%hc;%hc=($z[328]
=>0,$z[329]=>0,$z[330]=>0,$z[331]=>0,$z[51]=>0,$z[819]=>0);
foreach(split(/ /,$_[2])){if(undef$hc{$_}){die($z[332]."'$_'\n");
}$hc{$_}=1;}unless($hc{$z[328]}){$hc{$z[329]}=1;}if(!$_[0])
{die$z[333]."\n";}if(ref($_[1])ne$z[236]){die$z[820]."\n";}
if(!$hc{$z[329]}||!$ab{$z[135]}{$z[329]}{$_[0]}){if(-e"$_[0]")
{$fy=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if
(-e"$ab{$_}/$_[0]"){$fy="$ab{$_}/$_[0]";last;}}if(!$fy){die
$z[335]."'$_[0]'".$z[336]."\n";}}}if($hc{$z[329]}&&$ab{$z[135]}{$z[329]}{$_[0]})
{$bm=$ab{$z[135]}{$z[329]}{$_[0]};}else{open(AB,"<$fy")||die
$z[337]."$fy! $!\n";binmode(AB)if($fy=~/gif$/i||$fy=~/jpg$/i);
read(AB,$bm,-s AB);close(AB);}if($hc{$z[330]}){return$bm;}if
(!$hc{$z[329]}||!$ab{$z[135]}{$z[329]}{$_[0]}){foreach$hb($bm
=~m//g){$ab{$z[135]}{$z[136]}{"$qp$1"}=$2
if($bm=~m/(?:\r\n|\n)?(.*?)/is);
}$bm=~s/(?:\r\n|\n)?(.*?)//gis;
if($hc{$z[329]}){$ab{$z[135]}{$z[329]}{$_[0]}=$bm;}}if($hc{$z[51]})
{while($bm=~//i){my$qt=$1;
my$qu=$qt;$qu=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$gb{$1}/eg;
unless($qu){$bm=~s///;next;
}if($qu=~m!^/!){;}else{if($_[4]){$qu="$_[4]$qu";}else{$qu=($fy
=~m!(.*/)!)[0].$qu;}}my$qv;if(not$ab{$z[135]}{$z[821]}{$qu}++)
{my$qy;if(-e"$qu"){$qy++;}else{foreach(grep/^templatedir/,sort
keys%ab){if(-e"$ab{$_}/$qu"){$qy++;last;}}}if($qy){$qv=&bn($qu,
$_[1],"$_[2] inside_ssi",$z[822],$_[4]);}else{$qv="[ Program Error - Could not include file \"$qu\" via template include ]";
}}else{$qv="[ Program Error - Cyclic Include - The file '$qu' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]";
}$bm=~s//$qv/;delete$ab{$z[135]}{$z[821]}{$qu};
}}else{$bm=~s///gi;}$bm=~s//$1/gi;
$bm=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$fo=defined$ad{$1}
?$ad{$1}:$gb{$1};if($2 eq$z[338]){$fo=&hd($fo);}if($2 eq$z[339])
{$fo=&he($fo);}if($2 eq$z[340]){$fo=&he($fo);$fo=~s/ / /g;
}if($2 eq$z[341]){$fo=&hf($fo);}$fo;]ge;return$bm;}sub mt{use
Socket;my$AH="\015\012";my($nb,$qz,$ra)=@_;$nb=~s|\w+://||g;
my($gw,$kn,$fy)=$nb=~m|^(.*?)(?::(\d+))?([/?].*)?$|;$fy||=$z[62];
$qz->{$z[545]}=$gw;$qz->{$z[535]}=$z[823];$gw=&kq($gw);unless
(grep/^User-Agent$/i,keys%{$qz}){$qz->{$z[824]}="Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)";
}my($rb,$rc,$rd);if($ra){if($fy=~s/\?(.*)//){$rb=$1;}unless
(grep/^Content-Type$/i,keys%{$qz}){$qz->{$z[542]}=$z[825];}
unless(grep/^Content-Length$/i,keys%{$qz}){$qz->{$z[538]}=length
$rb;}$rd=$z[318];}else{$rd=$z[322];}my($re,@rf);foreach$re(split(/,\s*/,
$af{$z[331]}{$z[826]})){@rf=grep/^$re$/i,keys%{$qz};for(@rf)
{delete$qz->{$_};}}my$rg;$rg.=$rd.$z[748].$fy.$z[827].$AH;foreach
(keys%{$qz}){$rg.=$_.$z[828].$qz->{$_}.$AH;}$rg.=$AH;$rg.=$rb
.$AH.$AH if$ra;my$rh=<();my$kt=gethostbyname($gw)||die"Unknown host: $!";
socket($rh,AF_INET,SOCK_STREAM,0)||die"No Socket: $!";connect($rh,pack
"SnA4x8",AF_INET,$kn||80,$kt)||die"Can't connect : $!";select((select($rh),$|++)[0]);
print$rh $rg;my$ri;while(<$rh>){$ri.=$_;}close($rh);my($rj,
$mr,$rk)=$ri=~/^(.*?(?:\r\n|\n))(.*?(?:\r\n|\n)(?:\r\n|\n))?(.*)$/s;
if(wantarray){return($rj,$mr,$rk);}else{return$rk;}}sub cp{
my($iv,$cf,$qp)=@_;$iv=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi;
$iv=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[569])
{$cf->{$z[121].$1}}else{my%rl;$rl{$z[829]}=$2||$af{$z[830]}{$z[831]}
||$z[832];$rl{$z[833]}=$cf->{$z[121].$1};$rl{$z[834]}=$cf->{$z[122]
.$1};$rl{$z[835]}=$cf->{$z[67].$1};$rl{$z[836]}=$cf->{$z[68]
.$1};&cs($qp.($rl{$z[834]}ne''?$z[834]:$z[837]),\%rl);}]eigo;
return$iv;}sub vw{my($ar,$cf,$qp,$rm,$rn,@ro)=@_;$ar->{$z[87]}
=&cp($rm,$cf,$qp);$ar->{$z[89]}=&cp($rn,$cf,$qp);my$dz;for$dz
(1..$ab{$z[5]}){$ar->{$z[123].$dz}=&cp($ro[$dz-1],$cf,$qp);
}}sub vx{my($ar,$rm,$rn,@ro)=@_;($ar->{$z[87]}=$rm)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;
($ar->{$z[89]}=$rn)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;
my$dz;for$dz(1..$ab{$z[5]}){($ar->{$z[123].$dz}=$ro[$dz-1])
=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub vy{my$bm=shift;
my$iw=$ad{$z[148]}||&cn($ab{$z[146]},$ac{$z[148]}||$^T);my$rp
=$z[838].$ab{$z[662]}.$z[45];$$bm=$z[839].$iw.$z[840]."\n\n"
.$$bm;unless($$bm=~s/(]+>)/$rp\n$1/is){$$bm=~s/(]*>)/$1\n$rp\n/i;
}}sub ij{my$jz;eval{local$SIG{$z[841]}=undef;local$SIG{$z[842]}
=undef;$jz=timelocal(@_);};if($@){$jz=0;}return$jz;}sub ii{
my$jz;eval{local$SIG{$z[841]}=undef;local$SIG{$z[842]}=undef;
$jz=timegm(@_);};if($@){$jz=0;}return$jz;}sub vz{if(!$ac{$z[843]}
||(scalar(@{$ab{$z[844]}})<1)){return;}my$cf=shift;my%rq=%{$cf};
my($rr,$rs,$rt,$ru)=(1..4);if($ab{$z[493]}){if(scalar(@{$ab{$z[844]}})
>1){my%rv=map{$_,1}("$rr,$rs","$rs,$rt","$rs,$ru");my$rw=join($z[845],
sort{$a<=>$b}@{$ab{$z[844]}});unless(exists$rv{$rw}){&ak("Invalid notification events combination: $rw");
}}}my%rx;@rx{$z[582],$z[692]}=(split(/\s*,\s*/,$af{$z[846]}{$z[847]}));
$rx{$z[582]}||=$z[582];$rx{$z[692]}||=$z[692];my@ry=($z[848],
split(/\s*,\s*/,$af{$z[846]}{$z[849]}));$ry[1]||=$z[850];$ry[2]
||=$z[851];$ry[3]||=$z[65];$ry[4]||=$z[604];my%cb;&oe($ae{$z[20]},
\%cb,$rq{$z[20]});my$rz=$cb{$z[69]}?$cb{$z[13]}:$ac{$z[13]};
my(@cm,$cc);$rq{$z[852]}=$ai{$z[46]};$rq{$z[853]}=(grep/^$rr$/,
@{$ab{$z[844]}})?$rx{$z[582]}:$rx{$z[692]};$rq{$z[80]}=(grep
/^$ru$/,@{$ab{$z[844]}})?$ry[4]:$ry[$cf->{$z[80]}];foreach(keys
%rq){$rq{$z[86].$_}=$rq{$_};}foreach(1..$ab{$z[5]}){$rq{$z[123]
.$_}=$rq{$z[91].$_};}$rq{$z[854]}=$ac{$z[855]};$rq{$z[13]}=
$rz;$rq{$z[74]}=$rz.$ac{$z[856]}.$z[33].$ac{$z[34]};$rq{$z[39]}
=$ac{$z[32]}.$z[33].$ac{$z[34]};$rq{$z[40]}=$ac{$z[857]}.$z[33]
.$ac{$z[34]};$rq{$z[31]}=$ac{$z[32]}.$rq{$z[858]}.$z[33].$ac{$z[34]};
;$rq{$z[35]}=$ac{$z[36]}.$rq{$z[858]}.$z[33].$ac{$z[34]};$rq{$z[859]}
=$ac{$z[860]}.$z[33].$ac{$z[34]};$rq{$z[861]}=$ac{$z[862]}.
$z[33].$ac{$z[34]};$rq{$z[106]}=$rz.($ac{$z[107]}&&$rq{$z[108]}
?$ac{$z[109]}.$rq{$z[108]}:$ac{$z[109]}.$rq{$z[22]}).$z[33]
.$ac{$z[34]};$rq{$z[148]}=&cn($ab{$z[146]},&cy($ac{$z[148]}))
if($ac{$z[148]});@cm=($rq{$z[25]},$rq{$z[26]}-1,$rq{$z[27]},
$rq{$z[93]}+($rq{$z[94]}eq$z[95]?12:0),$rq{$z[96]});$rq{$z[97]}
=&cn($ab{$z[98]},@cm);$rq{$z[99]}=&cn($ab{$z[100]},@cm);$rq{$z[101]}
=$cb{$z[46]};$rq{$z[102]}=&sa($cb{$z[22]});$cc=$cb{$z[71]}?
$cb{$z[72]}:$ac{$z[73]}.$rq{$z[858]};$rq{$z[110]}=$ac{$z[13]}
.$cc.$z[33].$ac{$z[34]};$rq{$z[23]}=$rq{$z[858]};$rq{$z[147]}
=$ac{$z[147]};if($cf->{$z[80]}==2){if($cf->{$z[118]}==1){$rq{$z[863]}
=$rq{$z[111]}=$rz.($ac{$z[107]}&&$rq{$z[864]}?$rq{$z[108]}:
$ac{$z[112]}.$rq{$z[115]}).$z[33].$ac{$z[34]};}else{$rq{$z[863]}
=$rq{$z[111]}=$rq{$z[110]}.$z[780].$cf->{$z[22]};}}else{$rq{$z[863]}
=$rq{$z[111]}=$rq{$z[110]};}$rq{$z[865]}=$ac{$z[865]};$rq{$z[866]}
=$ac{$z[866]}||$ac{$z[865]};my$pl;local(*AJ);open(AJ,"<$ab{'templatedir1'}/email/notify.txt")
||&ak("Unable to open email template");read(AJ,$pl,-s AJ);close(AJ);
my($pm,$pn);if($pl=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si)
{$pm=$1;$ab{$z[135]}{$z[329]}{$z[867]}=$3;$pm=~s/\$(.*?)\$/$rq{$1}/g;
$pn=&an($z[867],\%rq,$z[329]);}else{&ak($z[868]);}my$sb=$cf->{$z[20]};
my$sc=$z[869];my@sd;my$as=sub{my$se=shift;if($se->{$z[870]}
||$se->{$z[871]}=~/(^|,)$sb(,|$)/){if($se->{$z[640]}==1){return;
}if(!$se->{$z[846]}||!&pk($se->{$z[846]})){return;}$se->{$z[46]}
||=$se->{$z[846]};my$sf;foreach$sf(split(/,/,$se->{$z[872]}))
{if(grep/^$sf$/,@{$ab{$z[844]}}){push(@sd,qq|"$se->{'name'}" <$se->{'email'}>|);
last;}}}};&bk($ae{$z[200]},$as);if(scalar(@sd)){my$sg;if(length($af{$z[846]}{$z[873]}))
{$sg=qq|To: $af{'email'}{'notifications_to_field'}\n|;}my$sh
=$af{$z[846]}{$z[874]}||";";$sh.=" ";my$si=join($sh,@sd);$sg
.=qq|Bcc: $si|;my$po=qq|From: "$rq{'mail_sender_name'}" <$rq{'mail_sender_email'}>\n$sg\nSubject: $pm\n$sc\n|
;&pp("$po\n$pn");}}sub wa{my$nd=shift;if($nd->{$z[46]}eq$z[16])
{my$sj=(caller)[2];die("Don't call custom_ui_erase to erase an article! Use art_erase instead. Line number of caller: $sj.");
}my$ba;if($ag{$z[875]}){$ba=$ag{$z[22]};}elsif($ag{$z[876]})
{$ba=$ag{$z[876]};}my%cb;&oe($ae{$z[20]},\%cb,$ba);my$sk=$cb{$z[69]}
?$cb{$z[602]}:$ac{$z[602]};my$ar=&sl($nd,$sk);&np($nd,$ar);
}sub sl{my$nd=shift;my$sk=shift;$sk||=$ac{$z[602]};$ad{$z[586]}
=$nd->{$z[150]};$ad{$z[587]}=$nd->{$z[46]};&an($nd->{$z[152]},
{});my($ll)=$ag{$z[22]}||$ag{$nd->{$z[46]}.$z[600]};my$ar={};
&dp();&oe($nd,$ar,$ll)||&ak($z[597],$ll);&og($nd,$ll)||die($z[601].$ll);
&dr();&oh($ar,$sk);if(defined&{$nd->{$z[176]}}){&{$nd->{$z[176]}}($ll,
$z[178],$ar);}return$ar;}sub wb{my($oa)=$_[0]->{$z[46]}||die($z[605]);
my($ll)=int($ag{$z[22]});my(%oa)=%{$_[1]||{}};my$sk=$_[2]||
$ac{$z[602]};my(%fy,%gs,$fm,%ns,%ar);if(!$sk){die("custom_ui_save_uploads: No upload directory has been defined in setup options or provided by caller!\n");
}if(!-d$sk){die("custom_ui_save_uploads: Upload directory '$sk' doesn't exist!\n");
}if(!-w$sk){die("custom_ui_save_uploads: Upload directory isn't writable!\n");
}%fy=&bs($sk);foreach(split(/ |\,/,$ac{$z[606]})){$gs{$_}++
if$_;}foreach$fm(split(/ /,$_[0]->{$z[76]})){if($fm!~/^ufile/)
{next;}if($ag{$fm}){if($ac{$z[607]}&&length($ag{$fm})>$ac{$z[608]}*1000)
{my$oi=length($ag{$fm});$ns{$z[609]}.=qq|$ag{$fm."_file"} ($oi bytes, file too large)
\n|;
$ag{$fm}=$oa{$fm};next;}if(!$gs{lc$ag{$fm.$z[321]}}){$ns{$z[609]}
.=qq|$ag{$fm."_file"} ('$ag{$fm.'_ext'}' files not accepted)
\n|;
$ag{$fm}=$oa{$fm};next;}if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$sk$oa{$fm}");
}my($oj);my($ok)=lc$ag{$fm.$z[320]};my($ol)=lc$ag{$fm.$z[321]};
my($om)=$z[610];$ok=~s/\.[^\.]*$//g;$ok=~s/[^a-z0-9_\-]/_/g;
$ol=~s/[^a-z0-9_\-]/_/g;$oj="$ok.$ol";if(-e"$sk$oj"){do{$om
=sprintf($z[415],++$om);$oj=$ok."_$om.$ol";}while(-e"$sk$oj");
}open(AB,">$sk$oj")||die($z[877]."$oj $!\n");binmode AB;print
AB$ag{$fm};close(AB);if($oj=~/\.(gif|jpg|jpeg|png)$/i){my($jw,$jx,$on)
=&oo("$sk$oj");if(($ac{$z[612]}&&$jx>$ac{$z[612]})||($ac{$z[613]}
&&$jw>$ac{$z[613]})){unlink("$sk$oj");$ns{$z[609]}.=qq|$ag{$fm."_file"} (${jx}x$jw, image too big)
\n|;
$ag{$fm}=$oa{$fm};next;}}$ag{$fm}=$oj;}elsif($ag{$fm.$z[320]})
{if($oa{$fm}&&$fy{$oa{$fm}}){unlink("$sk$oa{$fm}");}$oa{$fm}
='';}else{$ag{$fm}=$oa{$fm};}}return\%ns;}sub wc{my($nd,$nq,
$sk)=@_;$sk||=$ac{$z[602]};my($ll)=int($ag{$z[22]});$ag{$z[582]}
=$ll?$nq->{$z[582]}:$^T;$ag{$z[593]}=$ll?$nq->{$z[593]}:$ai{$z[22]};
$ag{$z[614]}=$ll?$nq->{$z[614]}:$ai{$z[22]};$ag{$z[64]}=$^T;
$ag{$z[594]}=$ai{$z[22]};my$op;foreach$op($nd->{$z[76]}=~/\bufile([^ ]*)\b/g)
{if($nd->{$z[76]}=~/\bimagewidth\Q$op\E\b/){($ag{$z[615].$op},
$ag{$z[616].$op})=&oo($sk.$ag{$z[617].$op});}}}1;;sub bi{my
$bh;if($af{$z[878]}){$bh=$af{$z[878]};}else{$bh=$ac{$z[13]};
$bh=~s|https?://[^/]+||;}$ad{$z[879]}=$ac{$z[52]};$ad{$z[880]}
=$bh;$ad{$z[854]}=$ac{$z[855]};$ad{$z[13]}=$ac{$z[13]};$ad{$z[74]}
=$ac{$z[13]}.$ac{$z[856]}.$z[33].$ac{$z[34]};$ad{$z[39]}=$ac{$z[32]}
.$z[33].$ac{$z[34]};$ad{$z[40]}=$ac{$z[857]}.$z[33].$ac{$z[34]};
$ad{$z[859]}=$ac{$z[860]}.$z[33].$ac{$z[34]};$ad{$z[861]}=$ac{$z[862]}
.$z[33].$ac{$z[34]};$ad{$z[881]}=$bh.$ac{$z[32]}.$z[33].$ac{$z[34]};
$ad{$z[882]}=$bh.$ac{$z[857]}.$z[33].$ac{$z[34]};$ad{$z[883]}
=$bh.$ac{$z[860]}.$z[33].$ac{$z[34]};$ad{$z[884]}=$bh.$ac{$z[862]}
.$z[33].$ac{$z[34]};$ad{$z[148]}=&cn($ab{$z[146]},&cy($ac{$z[148]}))
if($ac{$z[148]});$ad{$z[147]}=$ac{$z[147]};return$bh;}sub ax
{my$sm=shift;my$dn={};my$as=sub{my$fi=shift;%{$dn->{$fi->{$z[22]}
}}=%$fi;};&bk($ae{$sm},$as);return$dn;}sub co{my$sb=shift;my
$sn=$ab{$z[506]}{$z[885]}||={};if(keys%$sn){return$sn->{$sb};
}&an($z[886],{});my$aw=&ax($z[20]);for(keys%$aw){my$ba=$_;my
$so=$aw->{$ba}{$z[71]}?$aw->{$ba}{$z[72]}:$ac{$z[73]}.$aw->{$ba}{$z[22]};
$aw->{$ba}{$z[110]}=$ac{$z[13]}.$so.$z[33].$ac{$z[34]};$aw->{$ba}{$z[23]}
=$aw->{$ba}{$z[22]};$aw->{$ba}{$z[101]}=$aw->{$ba}{$z[46]};
$aw->{$ba}{$z[145]}=&cn($ab{$z[146]},&cy($aw->{$ba}{$z[64]}));
$aw->{$ba}{$z[103]}=$ac{$z[70]}.$aw->{$ba}{$z[66]};$aw->{$ba}{$z[105]}
=$aw->{$ba}{$z[68]};$aw->{$ba}{$z[104]}=$aw->{$ba}{$z[67]};
$aw->{$ba}{$z[887]}=&cs($z[888],$aw->{$ba});$aw->{$ba}{$z[889]}
=&cs($z[890],$aw->{$ba});}do{&bi();my$sp={};$sp->{$z[110]}=
$ad{$z[74]};$sp->{$z[23]}=0;$sp->{$z[101]}=$ad{$z[147]};$sp->{$z[145]}
=$ad{$z[148]};my$sq=&cs($z[890],$sp);$sn->{$z[355]}=$sq;};my
$sr=&cs($z[891],{});for(keys%$aw){my$ba=$_;my$ay=$aw->{$ba};
&bi();my$sq=$ay->{$z[889]};my$ss=$ay->{$z[682]};my$st=0;while
($ss){if($st++>99){last;}my$su=$aw->{$ss};$sq=$su->{$z[887]}
.$sr.$sq;$ss=$su->{$z[682]};}$sn->{$ba}=$sq;}return$sn->{$sb};
}sub bj{my$sv=shift;my$sw=shift;if($sv!~/^(nohidden|article_editor|article_list)$/)
{die"Invalid list type '$sv'";}my%sx;foreach(@$sw){$sx{$_}=
1;}my$aw=&ax($z[20]);my$sy;my@sz=sort{$aw->{$a}{$z[892]}<=>
$aw->{$b}{$z[892]}}keys%$aw;foreach(@sz){my$fi=$aw->{$_};my
$ba=$fi->{$z[22]};my$ta=&sa($ba);my$tb=&tc($fi->{$z[46]},$fi->{$z[765]});
my$td=$ba;my$te="";if($sx{$fi->{$z[22]}}){$te="selected";}my
$tf=($ai{$z[640]}==9||$ai{$z[893]}||$ab{$z[894]}{$ba});if($sv
eq$z[830]){if($fi->{$z[895]}){next;}if(not$tf){next;}$sy.=qq|\n|;
}if($sv eq$z[128]){if(not$tf){next;}$sy.=qq|\n|;
}if($sv eq$z[42]){if($fi->{$z[65]}){next;}$sy.=qq|\n|;
}}return$sy;}sub sa{my$sb=shift;my$sn=$ab{$z[506]}{$z[896]}
||={};if(keys%$sn){return$sn->{$sb};}my$aw=&ax($z[20]);for(sort
keys%$aw){my$tg=$_;my$th=0;my$sq=$aw->{$tg}{$z[46]};my$ti=$aw->{$tg}{$z[682]};
while($ti&&$th++<99){$sq="$aw->{$ti}{'name'} \t $sq";$ti=$aw->{$ti}{$z[682]};
}my$tj=$af{$z[897]}{$z[898]};if($tj&&$tj<5){$tj=5;}my$tk;if
(length$sq<=$tj){$tk=$sq;}else{my@tl=split(/ \t /,$sq);my$tm
=$tl[$#tl];$tk="... $sq";while(length($tk)>$tj){my$ci=$tk=~
s/^.*? \t /... /s;if(not$ci){last;}}if(length$tk>$tj){my$tn
=$tj-4;if($tk=~/\s(.{1,$tn})$/s){$tk="... $1";}elsif($tk=~/(.{1,$tn})$/s)
{$tk="...$1";}else{die"unable to truncate breadcrumb name!";
}}}$tk=~s/ \t / : /gs;$sn->{$tg}=$tk;}return$sn->{$sb};}sub
tc{my$tm=shift;my$to=shift;if($to>0){$to--;}if(!$to){return
$tm;}my$tp=$af{$z[897]}{$z[899]}x$to;$tp.=$af{$z[897]}{$z[900]};
$tp.=$tm;return$tp;}sub cr{my($hb,$jf,@tq)=@_;my$ts;foreach
$ts(@tq){if(defined$ab{$z[135]}{$z[136]}{$hb.$ts}){$hb.=$ts;
}else{last;}}&cs($hb,$jf);}sub wd{my$tt=shift;foreach(grep/^templatedir/,
sort keys%ab){if(-e"$ab{$_}/$tt"){return 1;}}return 0;}sub
ap{my@tu;my$dz;foreach$dz(1..3){my$tv=$ac{"sort${dz}field"};
next unless$tv;$tv="#$tv#"if$ac{"sort${dz}numeric"};$tv="-$tv"
if$ac{"sort${dz}reverse"};push@tu,$tv;}$ae{$z[16]}{$z[174]}
=join($z[748],@tu);}sub ak{my($tw)=$ad{$z[133]};my($gh,$tx,$ty)
=@_;my(%tz,$ns,$ua,$ub,$ud,$ue);$tx=&gl($tx);$ad{$z[901]}||=
"#336699";my($uf,$ug)=(1,2);%tz=($z[597]=>[("Can't find record # $tx",
"The program can't find the specified record number in the database. This is usually because the record has already been erased. Reload the record list and try again.",
$uf)],$z[808]=>[("Warning: File/Directory not writeable!","This web application needs to be able to create and update it's data files. Please ask your server administrator to make the following files and directories writeable:
$tx
Please ask your server administrator to make sure the publish directory and publish file(s) are writable.",
$ug)],$z[906]=>[("Program doesn't support mod_perl","Your server is running $ENV{MOD_PERL}
This program doesn't support mod_perl. Please ask your server administrator to disable mod_perl for this program.",
$uf)],$z[907]=>[($z[908],$z[909],$uf)],$z[910]=>[("No such file or directory",
"The program can't find the file or directory it's looking for. Please make sure the following file or directory exists:
$tx",
$uf)],$z[911]=>[("Permission denied","The program doesn't have permission to access a required file. Please make sure the program has read and write access to the following directories and files:
$tx",
$ug)],$z[301]=>[("File System Error!","The program is unable to access a required file. Please contact your server administrator or technical support for assistance.
\n/g;}my$ui=$z[912]if$ab{$z[733]};
$ue=qq||;$ud=qq| |;
if($tz{$gh}[2]==$ug){$ub=$ud;}else{$ub=$ue;}if(!$ENV{$z[913]})
{$ns=~s/(<.*?>)+/\n/g;print"\n\nFatal Error: $ua\n\n$ns\n\n";
exit;}if($ab{$z[493]}){$ns.="
";$ns
.="";
my$dz=0;while(my($fy,$ez,$gk)=(caller($dz++))[1,2,3]){$fy=~
s/^.*[\/\\]//;$gk=~s/^main:://;unless($gk=~s/__ANON__/(anonymous)/)
{$gk=$z[309].$gk;}$ns.=qq!
!;
$ns.=qq! !;
$ns.=qq! !;
$ns.=qq! !;
$ns.=qq!\n!;}$ns.="
";
}if(!$ab{$z[686]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n";
print"Content-type: text/html\n\n";}print qq|\n \n $ab{'debug_output'}"if($ab{$z[310]});print"
";
}&pf();exit;}1;;%af=&uj("$dc/config.ini");$ad{$z[901]}=$af{$z[579]}{$z[914]}
||"#336699";$ab{$z[807]}=$af{$z[807]}||$z[915];$ab{$z[513]}
=$af{$z[513]}||$z[916];$ab{$z[146]}=$af{$z[579]}{$z[146]}||
$z[917];$ab{$z[98]}=$af{$z[579]}{$z[98]}||$z[918];$ab{$z[100]}
=$af{$z[579]}{$z[100]}||$z[431];$af{$z[897]}{$z[898]}||=55;
$af{$z[897]}{$z[899]}||=" ";&ak($z[919])
if!$ENV{$z[913]};&ak("macftp")if"¡"ne"\xA1";&ak($z[906])if
$ENV{$z[920]}&&!$af{$z[921]};%ab=(%ab,$z[517]=>$dc,$z[922]=>
$da,$z[923]=>$da,$z[61]=>$z[924],$z[925]=>$z[926],$z[927]=>
$z[928],$z[686]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive))
{if(ref($ab{$_})){next;}$ab{$_}="$dc/$ab{$_}"if(index($ab{$_},$z[33])
==0);$ab{$_}=~s|\\|/|g;1 while$ab{$_}=~s|/[^/]+/\.\./|/|;}&oe($ae{$z[207]},
\%ac,1);if(!$ac{$z[929]}){&ak($z[930]);}foreach(grep/^dir_/,
keys%ac){$ac{$_}="$dc/$ac{$_}"if index($ac{$_},$z[33])==0;$ac{$_}
=~tr|\\|/|;1 while$ac{$_}=~s|/[^/]+/\.\.||;}foreach(qw(cgidir cgiurl))
{$ad{$z[576].$_}=$ab{$_};}foreach(qw(url_help reg1 reg2 reg3))
{$ad{$z[576].$_}=$ac{$_};}$ad{$z[783]}=$ac{$z[784]};$ad{$z[931]}
=$ac{$z[786]};$ad{$z[932]}=$ab{$z[1]};$ad{$z[933]}=$af{$z[934]};
$ad{$z[935]}=$af{$z[936]};$ad{$z[937]}=$af{$z[938]};$ad{$z[13]}
=$ac{$z[13]};$ad{$z[785]}=$ac{$z[786]};$ad{$z[787]}=$ac{$z[711]};
%ag=&uk();%ah=&ul();}
# ----------------------------------------------------------------------------
# end of file