#!/usr/bin/perl

# dsirc: dumb-mode small irc client in perl
# by orabidoo <roger.espel.llima@pobox.com>
#
# Copyright (C) 1995-1997 Roger Espel Llima
#
# for a full-screen termcap interface, use this with ssfe
#
# use: dsirc [options] [nick [server[:port[:password]]]]
# options are:
#	-p = specify port number
#	-i = specify IRCNAME
#	-n = specify nickname (quite useless as an option)
#	-s = specify server (quite useless as an option)
#	-l = specify file to be loaded instead of ~/.sircrc.pl
#	-L = specify file to be loaded instead of ~/.sircrc
#	-H = specify virtual host to bind to
#	-q = don't load ~/.sircrc or ~/.sircrc.pl
#	-Q = don't load system sircrc or sircrc.pl
#	-R = run in restricted (secure) mode
#	-r = raw mode (no control-char filtering)
#	-8 = 8-bit mode
#       -S = connect using SSL

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation. See the file LICENSE for more details.
#
# If you make improvements to sirc, please send me the modifications
# (context diffs appreciated) and they might make it to the next release.
#
# For bug reports, comments, questions, email roger.espel.llima@pobox.com
#
# You can always find the latest version of sirc at the following URL:
# http://www.eleves.ens.fr:8080/home/espel/sirc/sirc.html

# Concerning the use in ksirc you'll find a mail from the author below:
#
# Subject:   Re: dsirc in kde
#    Date:   Thu, 7 Sep 2000 13:16:30 -0400
#    From:   Roger Espel Llima <espel@iagora.net>
#      To:   Harri Porten <porten@kde.org>
#
# On Thu, Sep 07, 2000 at 07:12:33PM +0200, Harri Porten wrote:
# [....]
# > Ok. Your dsirc script is used in ksirc. I haven't checked how it is
# > invoked and what legal ramifications that would have licensing wise but
# > I would like to "officially" ask you anyway:
# > 
# > Do you have oppose to your code being used this way in the past and in
# > the future ? Do you "forgive" us [for use in prev. versions of KDE] ? :)
#
# I "officially" find it perfectly fine that dsirc is used in KDE.  I knew
# of ksirc when it started, and found it very flattering that someone
# would write 200k of C++ to interface with my 62k of perl :=)

$version='2.211';
$date='10 Mar 1998';
$add_ons='';

$libdir=$ENV{"SIRCLIB"} || ".";
push(@INC, $libdir, $ENV{"HOME"});
@loadpath=($ENV{"HOME"}."/.sirc", $libdir, ".");
$ENV{"SIRCWAIT"} or $ready=1;

$|=1;

$publicAway = 1;

if (!eval "require 'getopts.pl';") {
  print "\n\n\
Your perl interpreter is *really* screwed up: the getopts.pl library is not
even there! Have you even bothered to run 'install'?\n";
  exit;
}

if ($] >= 5 && (eval "use Socket;", $@ eq '')) {
    $sock6 = eval ("require Socket6;") and eval("use Socket6;");
} elsif (-f "$libdir/sircsock.ph") {
  do "$libdir/sircsock.ph";
} elsif (-f $ENV{'HOME'}."/sircsock.ph") {
  do $ENV{'HOME'}."/sircsock.ph";
} elsif (!eval "require 'sys/socket.ph';") {
    print "\n\n\
Your perl installation is wrong somewhere, the sys/socket.ph include file
couldn't be found. Have you even bothered to run 'install'?\n";
    exit;
}

$hasPOSIX = 1;
eval "use POSIX;";
if($@) {
  $hasPOSIX = 0;
  print "*** No Posix library, falling back to blocking IO (dcc will suck)\n";
}
    

&Getopts('n:s:p:u:i:l:L:H:rqQR78S');

%set=("LOGFILE", "", "LOG", "off", "PRINTUH", "none", "PRINTCHAN", "off",
 	"LOCALHOST", "", "CTCP", "noflood", "SENDAHEAD", 4096,
	"USERINFO", "", "FINGER", "", "IRCNAME", "", "EIGHT_BIT", "on",
	"LOADPATH", join(":", @loadpath), "CTRL_T", "/next");

$raw_mode=$opt_r || (!-t STDOUT);
$ansi=!$raw_mode && $ENV{"TERM"} =~ /^vt|^xterm|^ansi/i;
$server=$opt_s || $ARGV[1] || $ENV{"SIRCSERVER"} || $ENV{"IRCSERVER"} ||
                  "irc.primenet.com";
$port0=$opt_p || $ENV{"SIRCPORT"} || $ENV{"IRCPORT"} || 6667;
$username=$opt_u || $ENV{"SIRCUSER"} || $ENV{"IRCUSER"} || (getpwuid($<))[0] ||
                $ENV{"USER"} || "blah";
$set{"IRCNAME"}=$opt_i || $ENV{"SIRCNAME"} || $ENV{"IRCNAME"} || "sirc user";
$nick=$opt_n || $ARGV[0] || $ENV{"SIRCNICK"} || $ENV{"IRCNICK"} || $username;
$set{"FINGER"}=$ENV{"IRCFINGER"} || "keep your fingers to yourself";
$set{"USERINFO"}=$ENV{"USERINFO"} || "yep, I'm a user";
if ($server =~ /^\[([^\]]+)\]:([0-9]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?([^:]*)$/)

]*):?([^:]*)$/
    or $server =~ /^([^:]+):([0-9]*):?